From 789792ebb409fe8a326d7463196d149c3167c4ed Mon Sep 17 00:00:00 2001 From: Maikiwi Date: Sat, 5 Feb 2022 10:16:01 -0800 Subject: [PATCH 001/573] Lossless Brand removal --- src/i18n/README.md | 4 ++-- src/i18n/en_US.jsonc | 5 +++-- src/i18n/ja_JP.jsonc | 5 +++-- src/i18n/zh_CN.jsonc | 3 +++ src/i18n/zh_TW.jsonc | 5 +++-- src/main/base/store.ts | 2 +- src/renderer/index.js | 2 +- src/renderer/views/pages/settings.ejs | 11 ++++++----- yarn.lock | 1 + 9 files changed, 23 insertions(+), 15 deletions(-) create mode 100644 yarn.lock diff --git a/src/i18n/README.md b/src/i18n/README.md index d774930b..4e77d616 100644 --- a/src/i18n/README.md +++ b/src/i18n/README.md @@ -54,5 +54,5 @@ Update 05/02/2022 09:00 UTC * `settings.header.audio.quality.hireslossless.description`: Added for `en_US`. * `settings.header.audio.quality.lossless`: Added for `en_US`. * `settings.header.audio.quality.lossless.description`: Added for `en_US`. -* `settings.option.audio.enableAdvancedFunctionality.decryptLLPW`: Added for `en_US`. -* `settings.option.audio.enableAdvancedFunctionality.decryptLLPW.description`: Added for `en_US`. \ No newline at end of file +* `settings.option.audio.enableAdvancedFunctionality.ciderPPE`: Added for `en_US`. +* `settings.option.audio.enableAdvancedFunctionality.ciderPPE.description`: Added for `en_US`. \ No newline at end of file diff --git a/src/i18n/en_US.jsonc b/src/i18n/en_US.jsonc index 30d65ef1..61e9ca20 100644 --- a/src/i18n/en_US.jsonc +++ b/src/i18n/en_US.jsonc @@ -236,14 +236,15 @@ "settings.header.audio.quality.hireslossless.description": "(up to 24-bit/192 kHz)", "settings.header.audio.quality.lossless": "Lossless", "settings.header.audio.quality.lossless.description": "(up to 24-bit/48 kHz)", + "settings.header.audio.quality.enhanced": "Enhanced", "settings.header.audio.quality.high": "High", "settings.header.audio.quality.low": "Low", "settings.header.audio.quality.auto": "Auto", "settings.option.audio.seamlessTransition": "Seamless Audio Transition", // Toggle "settings.option.audio.enableAdvancedFunctionality": "Enable Advanced Functionality", // Toggle "settings.option.audio.enableAdvancedFunctionality.description": "Enabling AudioContext functionality will allow for extended audio features like Audio Normalization , Equalizers and Visualizers, however on some systems this may cause stuttering in audio tracks.", - "settings.option.audio.enableAdvancedFunctionality.decryptLLPW": "Decrypt Lossless Playback Workflow", // Toggle - "settings.option.audio.enableAdvancedFunctionality.decryptLLPW.description": "Enables the ability for Cider to decrypt Lossless Audio Files. A minor performance hit will occur.", + "settings.option.audio.enableAdvancedFunctionality.ciderPPE": "Cider Psychoacoustic Processing Engine", // Toggle + "settings.option.audio.enableAdvancedFunctionality.ciderPPE.description": "Processing workflow that tricks your brain into thinking that the files are higher-quality sounding.", "settings.option.audio.enableAdvancedFunctionality.audioNormalization": "Audio Normalization", // Toggle "settings.option.audio.enableAdvancedFunctionality.audioNormalization.description": "Normalizes peak volume for individual tracks to create a more uniform listening experience.", "settings.option.audio.enableAdvancedFunctionality.audioSpatialization": "Audio Spatialization", // Toggle diff --git a/src/i18n/ja_JP.jsonc b/src/i18n/ja_JP.jsonc index 485cf2cc..315fde66 100644 --- a/src/i18n/ja_JP.jsonc +++ b/src/i18n/ja_JP.jsonc @@ -201,14 +201,15 @@ "settings.header.audio.quality.hireslossless.description": "(最大解像度 24 ビット/192 kHz)", "settings.header.audio.quality.lossless": "ロスレス", "settings.header.audio.quality.lossless.description": "(最大解像度 24 ビット/48 kHz)", + "settings.header.audio.quality.enhanced": "エンハンスド", "settings.header.audio.quality.high": "高品質", "settings.header.audio.quality.low": "高効率", "settings.header.audio.quality.auto": "自動", "settings.option.audio.seamlessTransition": "曲間なしで再生", // Toggle "settings.option.audio.enableAdvancedFunctionality": "先進的な機能", // Toggle "settings.option.audio.enableAdvancedFunctionality.description": "AudioContext 機能を有効にすると、オーディオノーマライズ、空間オーディオ、イコライザーなどの機能を使用できますが、音が途切れるかもしれません。", // Toggle - "settings.option.audio.enableAdvancedFunctionality.decryptLLPW": "ロスレスオーディオ", // Toggle - "settings.option.audio.enableAdvancedFunctionality.decryptLLPW.description": "ロスレスオーディオを有効にする", // Toggle + "settings.option.audio.enableAdvancedFunctionality.ciderPPE": "Cider PPE", // Toggle + "settings.option.audio.enableAdvancedFunctionality.ciderPPE.description": "圧縮音源を高解像度に処理することによって、ロスレス相当の音質に向上させます。", // Toggle "settings.option.audio.enableAdvancedFunctionality.audioNormalization": "オーディオノーマライズ", // Toggle "settings.option.audio.enableAdvancedFunctionality.audioNormalization.description": "さまざまな曲の音量を均一にし、より整った音を楽しめるようにする機能です。", "settings.option.audio.enableAdvancedFunctionality.audioSpatialization": "オーディオ空間化", // Toggle diff --git a/src/i18n/zh_CN.jsonc b/src/i18n/zh_CN.jsonc index c0e9c0cc..cb323812 100644 --- a/src/i18n/zh_CN.jsonc +++ b/src/i18n/zh_CN.jsonc @@ -201,12 +201,15 @@ "settings.header.audio.quality.hireslossless.description": "(最高 24 位/192 kHz)", "settings.header.audio.quality.lossless": "无损", "settings.header.audio.quality.lossless.description": "(最高 24 位/48 kHz)", + "settings.header.audio.quality.enhanced": "数字增强", "settings.header.audio.quality.high": "高音质", "settings.header.audio.quality.low": "高效率", "settings.header.audio.quality.auto": "自动", "settings.option.audio.seamlessTransition": "无缝播放", // Toggle "settings.option.audio.enableAdvancedFunctionality": "进阶功能", // Toggle "settings.option.audio.enableAdvancedFunctionality.description": "启用 AudioContext 将解锁例如音量标准化和音频空间化的功能,但可能会在小部分设备上出现音频上的卡顿。", + "settings.option.audio.enableAdvancedFunctionality.ciderPPE": "Cider 数字增强引擎", // Toggle + "settings.option.audio.enableAdvancedFunctionality.ciderPPE.description": "将欺骗您的大脑来感知到近似无损音频的效果。", "settings.option.audio.enableAdvancedFunctionality.audioNormalization": "音量标准化", // Toggle "settings.option.audio.enableAdvancedFunctionality.audioNormalization.description": "使所感知到的音频响度统一", "settings.option.audio.enableAdvancedFunctionality.audioSpatialization": "音频空间化", // Toggle diff --git a/src/i18n/zh_TW.jsonc b/src/i18n/zh_TW.jsonc index 21379a5f..801cd5a4 100644 --- a/src/i18n/zh_TW.jsonc +++ b/src/i18n/zh_TW.jsonc @@ -202,14 +202,15 @@ "settings.header.audio.quality.hireslossless.description": "(高達 24-bit/192 kHz)", "settings.header.audio.quality.lossless": "無損壓縮", "settings.header.audio.quality.lossless.description": "(高達 24-bit/48 kHz)", + "settings.header.audio.quality.enhanced": "數位增强", "settings.header.audio.quality.high": "高品質", "settings.header.audio.quality.low": "高效率", "settings.header.audio.quality.auto": "自動", "settings.option.audio.seamlessTransition": "無間斷播放", // Toggle "settings.option.audio.enableAdvancedFunctionality": "進階機能", // Toggle "settings.option.audio.enableAdvancedFunctionality.description": "啟用 AudioContext 將解鎖類似音訊標準化和等化器的進階機能。但是會在部分電腦造成音樂卡頓。", - "settings.option.audio.enableAdvancedFunctionality.decryptLLPW": "無損壓縮解碼", // Toggle - "settings.option.audio.enableAdvancedFunctionality.decryptLLPW.description": "提供 Cider 解碼無損壓縮檔案的能力,但相應地也會對電腦硬體提升使用率。", + "settings.option.audio.enableAdvancedFunctionality.ciderPPE": "Cider 數位增强音訊處理", // Toggle + "settings.option.audio.enableAdvancedFunctionality.ciderPPE.description": "將欺騙您的大腦使其感受近似保真壓縮的音質。", "settings.option.audio.enableAdvancedFunctionality.audioNormalization": "音訊標準化", // Toggle "settings.option.audio.enableAdvancedFunctionality.audioNormalization.description": "將平衡輕柔和響亮的歌曲,建立更統一的聆聽體驗。", "settings.option.audio.enableAdvancedFunctionality.audioSpatialization": "音訊空間化", // Toggle diff --git a/src/main/base/store.ts b/src/main/base/store.ts index 266cc7f4..e0fa604d 100644 --- a/src/main/base/store.ts +++ b/src/main/base/store.ts @@ -31,7 +31,7 @@ export class Store { "quality": "256", "seamless_audio": true, "normalization": false, - "decryptLLPW": false, + "ciderPPE": false, "spatial": false, "maxVolume": 1, "volumePrecision": 0.1, diff --git a/src/renderer/index.js b/src/renderer/index.js index dcc68a24..4d0faad6 100644 --- a/src/renderer/index.js +++ b/src/renderer/index.js @@ -2350,7 +2350,7 @@ const app = new Vue({ }, async losslessBadge() { const songID = (this.mk.nowPlayingItem != null) ? this.mk.nowPlayingItem["_songId"] ?? -1 : -1; - if (app.cfg.audio.quality == 2304 && app.cfg.advanced.decryptLLPW && songID != -1) { + if (app.cfg.audio.quality == 2304 && app.cfg.advanced.ciderPPE && songID != -1) { let extendedAssets = await app.mk.api.song(songID, {extend : 'extendedAssetUrls'}) if (extendedAssets.attributes.audioTraits.includes('lossless')) { app.mk.nowPlayingItem['attributes']['lossless'] = true diff --git a/src/renderer/views/pages/settings.ejs b/src/renderer/views/pages/settings.ejs index e12d006e..809187a7 100644 --- a/src/renderer/views/pages/settings.ejs +++ b/src/renderer/views/pages/settings.ejs @@ -36,7 +36,8 @@ +
@@ -779,7 +780,7 @@ CiderAudio.spatialOn() } } else { - app.cfg.advanced.decryptLLPW = false; + app.cfg.advanced.ciderPPE = false; CiderAudio.off(); } }, diff --git a/yarn.lock b/yarn.lock new file mode 100644 index 00000000..8b137891 --- /dev/null +++ b/yarn.lock @@ -0,0 +1 @@ + From 188615f5ad39e5cef75de847f1db9a38389dae36 Mon Sep 17 00:00:00 2001 From: Maikiwi Date: Sat, 5 Feb 2022 10:20:20 -0800 Subject: [PATCH 002/573] oops --- src/renderer/index.js | 2 +- yarn.lock | 8690 +++++++++++++++++++++++++++++++++++++++++ 2 files changed, 8691 insertions(+), 1 deletion(-) diff --git a/src/renderer/index.js b/src/renderer/index.js index 4d0faad6..72c2f46e 100644 --- a/src/renderer/index.js +++ b/src/renderer/index.js @@ -2355,7 +2355,7 @@ const app = new Vue({ if (extendedAssets.attributes.audioTraits.includes('lossless')) { app.mk.nowPlayingItem['attributes']['lossless'] = true CiderAudio.audioNodes.llpwEnabled = 1 - console.log("[Cider][Lossless] Audio being decrypted...") + console.log("[Cider][Enhance] Audio being enhanced...") } else { CiderAudio.audioNodes.llpwEnabled = 0 diff --git a/yarn.lock b/yarn.lock index 8b137891..fc4235f7 100644 --- a/yarn.lock +++ b/yarn.lock @@ -1 +1,8691 @@ +# THIS IS AN AUTOGENERATED FILE. DO NOT EDIT THIS FILE DIRECTLY. +# yarn lockfile v1 + +"7zip-bin@~5.1.1": + version "5.1.1" + resolved "https://registry.yarnpkg.com/7zip-bin/-/7zip-bin-5.1.1.tgz#9274ec7460652f9c632c59addf24efb1684ef876" + integrity sha512-sAP4LldeWNz0lNzmTird3uWfFDWWTeg6V/MsmyyLR9X1idwKBWIgt/ZvinqQldJm3LecKEs1emkbquO6PCiLVQ== + +"7zip@0.0.6": + version "0.0.6" + resolved "https://registry.yarnpkg.com/7zip/-/7zip-0.0.6.tgz#9cafb171af82329490353b4816f03347aa150a30" + integrity sha1-nK+xca+CMpSQNTtIFvAzR6oVCjA= + +"@ampproject/remapping@^2.0.0": + version "2.0.3" + resolved "https://registry.yarnpkg.com/@ampproject/remapping/-/remapping-2.0.3.tgz#899999b5b7a5ce570d6d9bafdcc1e62cea466cf3" + integrity sha512-DmIAguV77yFP0MGVFWknCMgSLAtsLR3VlRTteR6xgMpIfYtwaZuMvjGv5YlpiqN7S/5q87DHyuIx8oa15kiyag== + dependencies: + "@jridgewell/sourcemap-codec" "^1.4.9" + "@jridgewell/trace-mapping" "^0.2.7" + +"@babel/code-frame@^7.12.13", "@babel/code-frame@^7.14.5", "@babel/code-frame@^7.16.7": + version "7.16.7" + resolved "https://registry.yarnpkg.com/@babel/code-frame/-/code-frame-7.16.7.tgz#44416b6bd7624b998f5b1af5d470856c40138789" + integrity sha512-iAXqUn8IIeBTNd72xsFlgaXHkMBMt6y4HJp1tIaK465CWLT/fG1aqB7ykr95gHHmlBdGbFeWWfyB4NJJ0nmeIg== + dependencies: + "@babel/highlight" "^7.16.7" + +"@babel/compat-data@^7.13.11", "@babel/compat-data@^7.16.4", "@babel/compat-data@^7.16.8": + version "7.17.0" + resolved "https://registry.yarnpkg.com/@babel/compat-data/-/compat-data-7.17.0.tgz#86850b8597ea6962089770952075dcaabb8dba34" + integrity sha512-392byTlpGWXMv4FbyWw3sAZ/FrW/DrwqLGXpy0mbyNe9Taqv1mg9yON5/o0cnr8XYCkFTZbC1eV+c+LAROgrng== + +"@babel/core@^7.14.8", "@babel/core@^7.9.0": + version "7.17.0" + resolved "https://registry.yarnpkg.com/@babel/core/-/core-7.17.0.tgz#16b8772b0a567f215839f689c5ded6bb20e864d5" + integrity sha512-x/5Ea+RO5MvF9ize5DeVICJoVrNv0Mi2RnIABrZEKYvPEpldXwauPkgvYA17cKa6WpU3LoYvYbuEMFtSNFsarA== + dependencies: + "@ampproject/remapping" "^2.0.0" + "@babel/code-frame" "^7.16.7" + "@babel/generator" "^7.17.0" + "@babel/helper-compilation-targets" "^7.16.7" + "@babel/helper-module-transforms" "^7.16.7" + "@babel/helpers" "^7.17.0" + "@babel/parser" "^7.17.0" + "@babel/template" "^7.16.7" + "@babel/traverse" "^7.17.0" + "@babel/types" "^7.17.0" + convert-source-map "^1.7.0" + debug "^4.1.0" + gensync "^1.0.0-beta.2" + json5 "^2.1.2" + semver "^6.3.0" + +"@babel/generator@^7.17.0": + version "7.17.0" + resolved "https://registry.yarnpkg.com/@babel/generator/-/generator-7.17.0.tgz#7bd890ba706cd86d3e2f727322346ffdbf98f65e" + integrity sha512-I3Omiv6FGOC29dtlZhkfXO6pgkmukJSlT26QjVvS1DGZe/NzSVCPG41X0tS21oZkJYlovfj9qDWgKP+Cn4bXxw== + dependencies: + "@babel/types" "^7.17.0" + jsesc "^2.5.1" + source-map "^0.5.0" + +"@babel/helper-annotate-as-pure@^7.16.7": + version "7.16.7" + resolved "https://registry.yarnpkg.com/@babel/helper-annotate-as-pure/-/helper-annotate-as-pure-7.16.7.tgz#bb2339a7534a9c128e3102024c60760a3a7f3862" + integrity sha512-s6t2w/IPQVTAET1HitoowRGXooX8mCgtuP5195wD/QJPV6wYjpujCGF7JuMODVX2ZAJOf1GT6DT9MHEZvLOFSw== + dependencies: + "@babel/types" "^7.16.7" + +"@babel/helper-builder-binary-assignment-operator-visitor@^7.16.7": + version "7.16.7" + resolved "https://registry.yarnpkg.com/@babel/helper-builder-binary-assignment-operator-visitor/-/helper-builder-binary-assignment-operator-visitor-7.16.7.tgz#38d138561ea207f0f69eb1626a418e4f7e6a580b" + integrity sha512-C6FdbRaxYjwVu/geKW4ZeQ0Q31AftgRcdSnZ5/jsH6BzCJbtvXvhpfkbkThYSuutZA7nCXpPR6AD9zd1dprMkA== + dependencies: + "@babel/helper-explode-assignable-expression" "^7.16.7" + "@babel/types" "^7.16.7" + +"@babel/helper-compilation-targets@^7.13.0", "@babel/helper-compilation-targets@^7.16.7": + version "7.16.7" + resolved "https://registry.yarnpkg.com/@babel/helper-compilation-targets/-/helper-compilation-targets-7.16.7.tgz#06e66c5f299601e6c7da350049315e83209d551b" + integrity sha512-mGojBwIWcwGD6rfqgRXVlVYmPAv7eOpIemUG3dGnDdCY4Pae70ROij3XmfrH6Fa1h1aiDylpglbZyktfzyo/hA== + dependencies: + "@babel/compat-data" "^7.16.4" + "@babel/helper-validator-option" "^7.16.7" + browserslist "^4.17.5" + semver "^6.3.0" + +"@babel/helper-create-class-features-plugin@^7.16.10", "@babel/helper-create-class-features-plugin@^7.16.7": + version "7.17.1" + resolved "https://registry.yarnpkg.com/@babel/helper-create-class-features-plugin/-/helper-create-class-features-plugin-7.17.1.tgz#9699f14a88833a7e055ce57dcd3ffdcd25186b21" + integrity sha512-JBdSr/LtyYIno/pNnJ75lBcqc3Z1XXujzPanHqjvvrhOA+DTceTFuJi8XjmWTZh4r3fsdfqaCMN0iZemdkxZHQ== + dependencies: + "@babel/helper-annotate-as-pure" "^7.16.7" + "@babel/helper-environment-visitor" "^7.16.7" + "@babel/helper-function-name" "^7.16.7" + "@babel/helper-member-expression-to-functions" "^7.16.7" + "@babel/helper-optimise-call-expression" "^7.16.7" + "@babel/helper-replace-supers" "^7.16.7" + "@babel/helper-split-export-declaration" "^7.16.7" + +"@babel/helper-create-regexp-features-plugin@^7.16.7": + version "7.17.0" + resolved "https://registry.yarnpkg.com/@babel/helper-create-regexp-features-plugin/-/helper-create-regexp-features-plugin-7.17.0.tgz#1dcc7d40ba0c6b6b25618997c5dbfd310f186fe1" + integrity sha512-awO2So99wG6KnlE+TPs6rn83gCz5WlEePJDTnLEqbchMVrBeAujURVphRdigsk094VhvZehFoNOihSlcBjwsXA== + dependencies: + "@babel/helper-annotate-as-pure" "^7.16.7" + regexpu-core "^5.0.1" + +"@babel/helper-define-polyfill-provider@^0.3.1": + version "0.3.1" + resolved "https://registry.yarnpkg.com/@babel/helper-define-polyfill-provider/-/helper-define-polyfill-provider-0.3.1.tgz#52411b445bdb2e676869e5a74960d2d3826d2665" + integrity sha512-J9hGMpJQmtWmj46B3kBHmL38UhJGhYX7eqkcq+2gsstyYt341HmPeWspihX43yVRA0mS+8GGk2Gckc7bY/HCmA== + dependencies: + "@babel/helper-compilation-targets" "^7.13.0" + "@babel/helper-module-imports" "^7.12.13" + "@babel/helper-plugin-utils" "^7.13.0" + "@babel/traverse" "^7.13.0" + debug "^4.1.1" + lodash.debounce "^4.0.8" + resolve "^1.14.2" + semver "^6.1.2" + +"@babel/helper-environment-visitor@^7.16.7": + version "7.16.7" + resolved "https://registry.yarnpkg.com/@babel/helper-environment-visitor/-/helper-environment-visitor-7.16.7.tgz#ff484094a839bde9d89cd63cba017d7aae80ecd7" + integrity sha512-SLLb0AAn6PkUeAfKJCCOl9e1R53pQlGAfc4y4XuMRZfqeMYLE0dM1LMhqbGAlGQY0lfw5/ohoYWAe9V1yibRag== + dependencies: + "@babel/types" "^7.16.7" + +"@babel/helper-explode-assignable-expression@^7.16.7": + version "7.16.7" + resolved "https://registry.yarnpkg.com/@babel/helper-explode-assignable-expression/-/helper-explode-assignable-expression-7.16.7.tgz#12a6d8522fdd834f194e868af6354e8650242b7a" + integrity sha512-KyUenhWMC8VrxzkGP0Jizjo4/Zx+1nNZhgocs+gLzyZyB8SHidhoq9KK/8Ato4anhwsivfkBLftky7gvzbZMtQ== + dependencies: + "@babel/types" "^7.16.7" + +"@babel/helper-function-name@^7.16.7": + version "7.16.7" + resolved "https://registry.yarnpkg.com/@babel/helper-function-name/-/helper-function-name-7.16.7.tgz#f1ec51551fb1c8956bc8dd95f38523b6cf375f8f" + integrity sha512-QfDfEnIUyyBSR3HtrtGECuZ6DAyCkYFp7GHl75vFtTnn6pjKeK0T1DB5lLkFvBea8MdaiUABx3osbgLyInoejA== + dependencies: + "@babel/helper-get-function-arity" "^7.16.7" + "@babel/template" "^7.16.7" + "@babel/types" "^7.16.7" + +"@babel/helper-get-function-arity@^7.16.7": + version "7.16.7" + resolved "https://registry.yarnpkg.com/@babel/helper-get-function-arity/-/helper-get-function-arity-7.16.7.tgz#ea08ac753117a669f1508ba06ebcc49156387419" + integrity sha512-flc+RLSOBXzNzVhcLu6ujeHUrD6tANAOU5ojrRx/as+tbzf8+stUCj7+IfRRoAbEZqj/ahXEMsjhOhgeZsrnTw== + dependencies: + "@babel/types" "^7.16.7" + +"@babel/helper-hoist-variables@^7.16.7": + version "7.16.7" + resolved "https://registry.yarnpkg.com/@babel/helper-hoist-variables/-/helper-hoist-variables-7.16.7.tgz#86bcb19a77a509c7b77d0e22323ef588fa58c246" + integrity sha512-m04d/0Op34H5v7pbZw6pSKP7weA6lsMvfiIAMeIvkY/R4xQtBSMFEigu9QTZ2qB/9l22vsxtM8a+Q8CzD255fg== + dependencies: + "@babel/types" "^7.16.7" + +"@babel/helper-member-expression-to-functions@^7.16.7": + version "7.16.7" + resolved "https://registry.yarnpkg.com/@babel/helper-member-expression-to-functions/-/helper-member-expression-to-functions-7.16.7.tgz#42b9ca4b2b200123c3b7e726b0ae5153924905b0" + integrity sha512-VtJ/65tYiU/6AbMTDwyoXGPKHgTsfRarivm+YbB5uAzKUyuPjgZSgAFeG87FCigc7KNHu2Pegh1XIT3lXjvz3Q== + dependencies: + "@babel/types" "^7.16.7" + +"@babel/helper-module-imports@7.0.0-beta.35": + version "7.0.0-beta.35" + resolved "https://registry.yarnpkg.com/@babel/helper-module-imports/-/helper-module-imports-7.0.0-beta.35.tgz#308e350e731752cdb4d0f058df1d704925c64e0a" + integrity sha512-vaC1KyIZSuyWb3Lj277fX0pxivyHwuDU4xZsofqgYAbkDxNieMg2vuhzP5AgMweMY7fCQUMTi+BgPqTLjkxXFg== + dependencies: + "@babel/types" "7.0.0-beta.35" + lodash "^4.2.0" + +"@babel/helper-module-imports@^7.12.13", "@babel/helper-module-imports@^7.16.7": + version "7.16.7" + resolved "https://registry.yarnpkg.com/@babel/helper-module-imports/-/helper-module-imports-7.16.7.tgz#25612a8091a999704461c8a222d0efec5d091437" + integrity sha512-LVtS6TqjJHFc+nYeITRo6VLXve70xmq7wPhWTqDJusJEgGmkAACWwMiTNrvfoQo6hEhFwAIixNkvB0jPXDL8Wg== + dependencies: + "@babel/types" "^7.16.7" + +"@babel/helper-module-transforms@^7.16.7": + version "7.16.7" + resolved "https://registry.yarnpkg.com/@babel/helper-module-transforms/-/helper-module-transforms-7.16.7.tgz#7665faeb721a01ca5327ddc6bba15a5cb34b6a41" + integrity sha512-gaqtLDxJEFCeQbYp9aLAefjhkKdjKcdh6DB7jniIGU3Pz52WAmP268zK0VgPz9hUNkMSYeH976K2/Y6yPadpng== + dependencies: + "@babel/helper-environment-visitor" "^7.16.7" + "@babel/helper-module-imports" "^7.16.7" + "@babel/helper-simple-access" "^7.16.7" + "@babel/helper-split-export-declaration" "^7.16.7" + "@babel/helper-validator-identifier" "^7.16.7" + "@babel/template" "^7.16.7" + "@babel/traverse" "^7.16.7" + "@babel/types" "^7.16.7" + +"@babel/helper-optimise-call-expression@^7.16.7": + version "7.16.7" + resolved "https://registry.yarnpkg.com/@babel/helper-optimise-call-expression/-/helper-optimise-call-expression-7.16.7.tgz#a34e3560605abbd31a18546bd2aad3e6d9a174f2" + integrity sha512-EtgBhg7rd/JcnpZFXpBy0ze1YRfdm7BnBX4uKMBd3ixa3RGAE002JZB66FJyNH7g0F38U05pXmA5P8cBh7z+1w== + dependencies: + "@babel/types" "^7.16.7" + +"@babel/helper-plugin-utils@^7.0.0", "@babel/helper-plugin-utils@^7.10.4", "@babel/helper-plugin-utils@^7.12.13", "@babel/helper-plugin-utils@^7.13.0", "@babel/helper-plugin-utils@^7.14.5", "@babel/helper-plugin-utils@^7.16.7", "@babel/helper-plugin-utils@^7.8.0", "@babel/helper-plugin-utils@^7.8.3": + version "7.16.7" + resolved "https://registry.yarnpkg.com/@babel/helper-plugin-utils/-/helper-plugin-utils-7.16.7.tgz#aa3a8ab4c3cceff8e65eb9e73d87dc4ff320b2f5" + integrity sha512-Qg3Nk7ZxpgMrsox6HreY1ZNKdBq7K72tDSliA6dCl5f007jR4ne8iD5UzuNnCJH2xBf2BEEVGr+/OL6Gdp7RxA== + +"@babel/helper-remap-async-to-generator@^7.16.8": + version "7.16.8" + resolved "https://registry.yarnpkg.com/@babel/helper-remap-async-to-generator/-/helper-remap-async-to-generator-7.16.8.tgz#29ffaade68a367e2ed09c90901986918d25e57e3" + integrity sha512-fm0gH7Flb8H51LqJHy3HJ3wnE1+qtYR2A99K06ahwrawLdOFsCEWjZOrYricXJHoPSudNKxrMBUPEIPxiIIvBw== + dependencies: + "@babel/helper-annotate-as-pure" "^7.16.7" + "@babel/helper-wrap-function" "^7.16.8" + "@babel/types" "^7.16.8" + +"@babel/helper-replace-supers@^7.16.7": + version "7.16.7" + resolved "https://registry.yarnpkg.com/@babel/helper-replace-supers/-/helper-replace-supers-7.16.7.tgz#e9f5f5f32ac90429c1a4bdec0f231ef0c2838ab1" + integrity sha512-y9vsWilTNaVnVh6xiJfABzsNpgDPKev9HnAgz6Gb1p6UUwf9NepdlsV7VXGCftJM+jqD5f7JIEubcpLjZj5dBw== + dependencies: + "@babel/helper-environment-visitor" "^7.16.7" + "@babel/helper-member-expression-to-functions" "^7.16.7" + "@babel/helper-optimise-call-expression" "^7.16.7" + "@babel/traverse" "^7.16.7" + "@babel/types" "^7.16.7" + +"@babel/helper-simple-access@^7.16.7": + version "7.16.7" + resolved "https://registry.yarnpkg.com/@babel/helper-simple-access/-/helper-simple-access-7.16.7.tgz#d656654b9ea08dbb9659b69d61063ccd343ff0f7" + integrity sha512-ZIzHVyoeLMvXMN/vok/a4LWRy8G2v205mNP0XOuf9XRLyX5/u9CnVulUtDgUTama3lT+bf/UqucuZjqiGuTS1g== + dependencies: + "@babel/types" "^7.16.7" + +"@babel/helper-skip-transparent-expression-wrappers@^7.16.0": + version "7.16.0" + resolved "https://registry.yarnpkg.com/@babel/helper-skip-transparent-expression-wrappers/-/helper-skip-transparent-expression-wrappers-7.16.0.tgz#0ee3388070147c3ae051e487eca3ebb0e2e8bb09" + integrity sha512-+il1gTy0oHwUsBQZyJvukbB4vPMdcYBrFHa0Uc4AizLxbq6BOYC51Rv4tWocX9BLBDLZ4kc6qUFpQ6HRgL+3zw== + dependencies: + "@babel/types" "^7.16.0" + +"@babel/helper-split-export-declaration@^7.16.7": + version "7.16.7" + resolved "https://registry.yarnpkg.com/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.16.7.tgz#0b648c0c42da9d3920d85ad585f2778620b8726b" + integrity sha512-xbWoy/PFoxSWazIToT9Sif+jJTlrMcndIsaOKvTA6u7QEo7ilkRZpjew18/W3c7nm8fXdUDXh02VXTbZ0pGDNw== + dependencies: + "@babel/types" "^7.16.7" + +"@babel/helper-validator-identifier@^7.16.7": + version "7.16.7" + resolved "https://registry.yarnpkg.com/@babel/helper-validator-identifier/-/helper-validator-identifier-7.16.7.tgz#e8c602438c4a8195751243da9031d1607d247cad" + integrity sha512-hsEnFemeiW4D08A5gUAZxLBTXpZ39P+a+DGDsHw1yxqyQ/jzFEnxf5uTEGp+3bzAbNOxU1paTgYS4ECU/IgfDw== + +"@babel/helper-validator-option@^7.16.7": + version "7.16.7" + resolved "https://registry.yarnpkg.com/@babel/helper-validator-option/-/helper-validator-option-7.16.7.tgz#b203ce62ce5fe153899b617c08957de860de4d23" + integrity sha512-TRtenOuRUVo9oIQGPC5G9DgK4743cdxvtOw0weQNpZXaS16SCBi5MNjZF8vba3ETURjZpTbVn7Vvcf2eAwFozQ== + +"@babel/helper-wrap-function@^7.16.8": + version "7.16.8" + resolved "https://registry.yarnpkg.com/@babel/helper-wrap-function/-/helper-wrap-function-7.16.8.tgz#58afda087c4cd235de92f7ceedebca2c41274200" + integrity sha512-8RpyRVIAW1RcDDGTA+GpPAwV22wXCfKOoM9bet6TLkGIFTkRQSkH1nMQ5Yet4MpoXe1ZwHPVtNasc2w0uZMqnw== + dependencies: + "@babel/helper-function-name" "^7.16.7" + "@babel/template" "^7.16.7" + "@babel/traverse" "^7.16.8" + "@babel/types" "^7.16.8" + +"@babel/helpers@^7.17.0": + version "7.17.0" + resolved "https://registry.yarnpkg.com/@babel/helpers/-/helpers-7.17.0.tgz#79cdf6c66a579f3a7b5e739371bc63ca0306886b" + integrity sha512-Xe/9NFxjPwELUvW2dsukcMZIp6XwPSbI4ojFBJuX5ramHuVE22SVcZIwqzdWo5uCgeTXW8qV97lMvSOjq+1+nQ== + dependencies: + "@babel/template" "^7.16.7" + "@babel/traverse" "^7.17.0" + "@babel/types" "^7.17.0" + +"@babel/highlight@^7.16.7": + version "7.16.10" + resolved "https://registry.yarnpkg.com/@babel/highlight/-/highlight-7.16.10.tgz#744f2eb81579d6eea753c227b0f570ad785aba88" + integrity sha512-5FnTQLSLswEj6IkgVw5KusNUUFY9ZGqe/TRFnP/BKYHYgfh7tc+C7mwiy95/yNP7Dh9x580Vv8r7u7ZfTBFxdw== + dependencies: + "@babel/helper-validator-identifier" "^7.16.7" + chalk "^2.0.0" + js-tokens "^4.0.0" + +"@babel/parser@^7.16.7", "@babel/parser@^7.17.0": + version "7.17.0" + resolved "https://registry.yarnpkg.com/@babel/parser/-/parser-7.17.0.tgz#f0ac33eddbe214e4105363bb17c3341c5ffcc43c" + integrity sha512-VKXSCQx5D8S04ej+Dqsr1CzYvvWgf20jIw2D+YhQCrIlr2UZGaDds23Y0xg75/skOxpLCRpUZvk/1EAVkGoDOw== + +"@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression@^7.16.7": + version "7.16.7" + resolved "https://registry.yarnpkg.com/@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression/-/plugin-bugfix-safari-id-destructuring-collision-in-function-expression-7.16.7.tgz#4eda6d6c2a0aa79c70fa7b6da67763dfe2141050" + integrity sha512-anv/DObl7waiGEnC24O9zqL0pSuI9hljihqiDuFHC8d7/bjr/4RLGPWuc8rYOff/QPzbEPSkzG8wGG9aDuhHRg== + dependencies: + "@babel/helper-plugin-utils" "^7.16.7" + +"@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining@^7.16.7": + version "7.16.7" + resolved "https://registry.yarnpkg.com/@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining/-/plugin-bugfix-v8-spread-parameters-in-optional-chaining-7.16.7.tgz#cc001234dfc139ac45f6bcf801866198c8c72ff9" + integrity sha512-di8vUHRdf+4aJ7ltXhaDbPoszdkh59AQtJM5soLsuHpQJdFQZOA4uGj0V2u/CZ8bJ/u8ULDL5yq6FO/bCXnKHw== + dependencies: + "@babel/helper-plugin-utils" "^7.16.7" + "@babel/helper-skip-transparent-expression-wrappers" "^7.16.0" + "@babel/plugin-proposal-optional-chaining" "^7.16.7" + +"@babel/plugin-proposal-async-generator-functions@^7.16.8": + version "7.16.8" + resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-async-generator-functions/-/plugin-proposal-async-generator-functions-7.16.8.tgz#3bdd1ebbe620804ea9416706cd67d60787504bc8" + integrity sha512-71YHIvMuiuqWJQkebWJtdhQTfd4Q4mF76q2IX37uZPkG9+olBxsX+rH1vkhFto4UeJZ9dPY2s+mDvhDm1u2BGQ== + dependencies: + "@babel/helper-plugin-utils" "^7.16.7" + "@babel/helper-remap-async-to-generator" "^7.16.8" + "@babel/plugin-syntax-async-generators" "^7.8.4" + +"@babel/plugin-proposal-class-properties@^7.14.5", "@babel/plugin-proposal-class-properties@^7.16.7": + version "7.16.7" + resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-class-properties/-/plugin-proposal-class-properties-7.16.7.tgz#925cad7b3b1a2fcea7e59ecc8eb5954f961f91b0" + integrity sha512-IobU0Xme31ewjYOShSIqd/ZGM/r/cuOz2z0MDbNrhF5FW+ZVgi0f2lyeoj9KFPDOAqsYxmLWZte1WOwlvY9aww== + dependencies: + "@babel/helper-create-class-features-plugin" "^7.16.7" + "@babel/helper-plugin-utils" "^7.16.7" + +"@babel/plugin-proposal-class-static-block@^7.16.7": + version "7.16.7" + resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-class-static-block/-/plugin-proposal-class-static-block-7.16.7.tgz#712357570b612106ef5426d13dc433ce0f200c2a" + integrity sha512-dgqJJrcZoG/4CkMopzhPJjGxsIe9A8RlkQLnL/Vhhx8AA9ZuaRwGSlscSh42hazc7WSrya/IK7mTeoF0DP9tEw== + dependencies: + "@babel/helper-create-class-features-plugin" "^7.16.7" + "@babel/helper-plugin-utils" "^7.16.7" + "@babel/plugin-syntax-class-static-block" "^7.14.5" + +"@babel/plugin-proposal-dynamic-import@^7.14.5", "@babel/plugin-proposal-dynamic-import@^7.16.7": + version "7.16.7" + resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-dynamic-import/-/plugin-proposal-dynamic-import-7.16.7.tgz#c19c897eaa46b27634a00fee9fb7d829158704b2" + integrity sha512-I8SW9Ho3/8DRSdmDdH3gORdyUuYnk1m4cMxUAdu5oy4n3OfN8flDEH+d60iG7dUfi0KkYwSvoalHzzdRzpWHTg== + dependencies: + "@babel/helper-plugin-utils" "^7.16.7" + "@babel/plugin-syntax-dynamic-import" "^7.8.3" + +"@babel/plugin-proposal-export-namespace-from@^7.14.5", "@babel/plugin-proposal-export-namespace-from@^7.16.7": + version "7.16.7" + resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-export-namespace-from/-/plugin-proposal-export-namespace-from-7.16.7.tgz#09de09df18445a5786a305681423ae63507a6163" + integrity sha512-ZxdtqDXLRGBL64ocZcs7ovt71L3jhC1RGSyR996svrCi3PYqHNkb3SwPJCs8RIzD86s+WPpt2S73+EHCGO+NUA== + dependencies: + "@babel/helper-plugin-utils" "^7.16.7" + "@babel/plugin-syntax-export-namespace-from" "^7.8.3" + +"@babel/plugin-proposal-json-strings@^7.16.7": + version "7.16.7" + resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-json-strings/-/plugin-proposal-json-strings-7.16.7.tgz#9732cb1d17d9a2626a08c5be25186c195b6fa6e8" + integrity sha512-lNZ3EEggsGY78JavgbHsK9u5P3pQaW7k4axlgFLYkMd7UBsiNahCITShLjNQschPyjtO6dADrL24757IdhBrsQ== + dependencies: + "@babel/helper-plugin-utils" "^7.16.7" + "@babel/plugin-syntax-json-strings" "^7.8.3" + +"@babel/plugin-proposal-logical-assignment-operators@^7.14.5", "@babel/plugin-proposal-logical-assignment-operators@^7.16.7": + version "7.16.7" + resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-logical-assignment-operators/-/plugin-proposal-logical-assignment-operators-7.16.7.tgz#be23c0ba74deec1922e639832904be0bea73cdea" + integrity sha512-K3XzyZJGQCr00+EtYtrDjmwX7o7PLK6U9bi1nCwkQioRFVUv6dJoxbQjtWVtP+bCPy82bONBKG8NPyQ4+i6yjg== + dependencies: + "@babel/helper-plugin-utils" "^7.16.7" + "@babel/plugin-syntax-logical-assignment-operators" "^7.10.4" + +"@babel/plugin-proposal-nullish-coalescing-operator@^7.14.5", "@babel/plugin-proposal-nullish-coalescing-operator@^7.16.7": + version "7.16.7" + resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-nullish-coalescing-operator/-/plugin-proposal-nullish-coalescing-operator-7.16.7.tgz#141fc20b6857e59459d430c850a0011e36561d99" + integrity sha512-aUOrYU3EVtjf62jQrCj63pYZ7k6vns2h/DQvHPWGmsJRYzWXZ6/AsfgpiRy6XiuIDADhJzP2Q9MwSMKauBQ+UQ== + dependencies: + "@babel/helper-plugin-utils" "^7.16.7" + "@babel/plugin-syntax-nullish-coalescing-operator" "^7.8.3" + +"@babel/plugin-proposal-numeric-separator@^7.14.5", "@babel/plugin-proposal-numeric-separator@^7.16.7": + version "7.16.7" + resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-numeric-separator/-/plugin-proposal-numeric-separator-7.16.7.tgz#d6b69f4af63fb38b6ca2558442a7fb191236eba9" + integrity sha512-vQgPMknOIgiuVqbokToyXbkY/OmmjAzr/0lhSIbG/KmnzXPGwW/AdhdKpi+O4X/VkWiWjnkKOBiqJrTaC98VKw== + dependencies: + "@babel/helper-plugin-utils" "^7.16.7" + "@babel/plugin-syntax-numeric-separator" "^7.10.4" + +"@babel/plugin-proposal-object-rest-spread@^7.16.7": + version "7.16.7" + resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-object-rest-spread/-/plugin-proposal-object-rest-spread-7.16.7.tgz#94593ef1ddf37021a25bdcb5754c4a8d534b01d8" + integrity sha512-3O0Y4+dw94HA86qSg9IHfyPktgR7q3gpNVAeiKQd+8jBKFaU5NQS1Yatgo4wY+UFNuLjvxcSmzcsHqrhgTyBUA== + dependencies: + "@babel/compat-data" "^7.16.4" + "@babel/helper-compilation-targets" "^7.16.7" + "@babel/helper-plugin-utils" "^7.16.7" + "@babel/plugin-syntax-object-rest-spread" "^7.8.3" + "@babel/plugin-transform-parameters" "^7.16.7" + +"@babel/plugin-proposal-optional-catch-binding@^7.16.7": + version "7.16.7" + resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-optional-catch-binding/-/plugin-proposal-optional-catch-binding-7.16.7.tgz#c623a430674ffc4ab732fd0a0ae7722b67cb74cf" + integrity sha512-eMOH/L4OvWSZAE1VkHbr1vckLG1WUcHGJSLqqQwl2GaUqG6QjddvrOaTUMNYiv77H5IKPMZ9U9P7EaHwvAShfA== + dependencies: + "@babel/helper-plugin-utils" "^7.16.7" + "@babel/plugin-syntax-optional-catch-binding" "^7.8.3" + +"@babel/plugin-proposal-optional-chaining@^7.14.5", "@babel/plugin-proposal-optional-chaining@^7.16.7": + version "7.16.7" + resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-optional-chaining/-/plugin-proposal-optional-chaining-7.16.7.tgz#7cd629564724816c0e8a969535551f943c64c39a" + integrity sha512-eC3xy+ZrUcBtP7x+sq62Q/HYd674pPTb/77XZMb5wbDPGWIdUbSr4Agr052+zaUPSb+gGRnjxXfKFvx5iMJ+DA== + dependencies: + "@babel/helper-plugin-utils" "^7.16.7" + "@babel/helper-skip-transparent-expression-wrappers" "^7.16.0" + "@babel/plugin-syntax-optional-chaining" "^7.8.3" + +"@babel/plugin-proposal-private-methods@^7.14.5", "@babel/plugin-proposal-private-methods@^7.16.11": + version "7.16.11" + resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-private-methods/-/plugin-proposal-private-methods-7.16.11.tgz#e8df108288555ff259f4527dbe84813aac3a1c50" + integrity sha512-F/2uAkPlXDr8+BHpZvo19w3hLFKge+k75XUprE6jaqKxjGkSYcK+4c+bup5PdW/7W/Rpjwql7FTVEDW+fRAQsw== + dependencies: + "@babel/helper-create-class-features-plugin" "^7.16.10" + "@babel/helper-plugin-utils" "^7.16.7" + +"@babel/plugin-proposal-private-property-in-object@^7.14.5", "@babel/plugin-proposal-private-property-in-object@^7.16.7": + version "7.16.7" + resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-private-property-in-object/-/plugin-proposal-private-property-in-object-7.16.7.tgz#b0b8cef543c2c3d57e59e2c611994861d46a3fce" + integrity sha512-rMQkjcOFbm+ufe3bTZLyOfsOUOxyvLXZJCTARhJr+8UMSoZmqTe1K1BgkFcrW37rAchWg57yI69ORxiWvUINuQ== + dependencies: + "@babel/helper-annotate-as-pure" "^7.16.7" + "@babel/helper-create-class-features-plugin" "^7.16.7" + "@babel/helper-plugin-utils" "^7.16.7" + "@babel/plugin-syntax-private-property-in-object" "^7.14.5" + +"@babel/plugin-proposal-unicode-property-regex@^7.16.7", "@babel/plugin-proposal-unicode-property-regex@^7.4.4": + version "7.16.7" + resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-unicode-property-regex/-/plugin-proposal-unicode-property-regex-7.16.7.tgz#635d18eb10c6214210ffc5ff4932552de08188a2" + integrity sha512-QRK0YI/40VLhNVGIjRNAAQkEHws0cswSdFFjpFyt943YmJIU1da9uW63Iu6NFV6CxTZW5eTDCrwZUstBWgp/Rg== + dependencies: + "@babel/helper-create-regexp-features-plugin" "^7.16.7" + "@babel/helper-plugin-utils" "^7.16.7" + +"@babel/plugin-syntax-async-generators@^7.8.4": + version "7.8.4" + resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-async-generators/-/plugin-syntax-async-generators-7.8.4.tgz#a983fb1aeb2ec3f6ed042a210f640e90e786fe0d" + integrity sha512-tycmZxkGfZaxhMRbXlPXuVFpdWlXpir2W4AMhSJgRKzk/eDlIXOhb2LHWoLpDF7TEHylV5zNhykX6KAgHJmTNw== + dependencies: + "@babel/helper-plugin-utils" "^7.8.0" + +"@babel/plugin-syntax-class-properties@^7.12.13": + version "7.12.13" + resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-class-properties/-/plugin-syntax-class-properties-7.12.13.tgz#b5c987274c4a3a82b89714796931a6b53544ae10" + integrity sha512-fm4idjKla0YahUNgFNLCB0qySdsoPiZP3iQE3rky0mBUtMZ23yDJ9SJdg6dXTSDnulOVqiF3Hgr9nbXvXTQZYA== + dependencies: + "@babel/helper-plugin-utils" "^7.12.13" + +"@babel/plugin-syntax-class-static-block@^7.14.5": + version "7.14.5" + resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-class-static-block/-/plugin-syntax-class-static-block-7.14.5.tgz#195df89b146b4b78b3bf897fd7a257c84659d406" + integrity sha512-b+YyPmr6ldyNnM6sqYeMWE+bgJcJpO6yS4QD7ymxgH34GBPNDM/THBh8iunyvKIZztiwLH4CJZ0RxTk9emgpjw== + dependencies: + "@babel/helper-plugin-utils" "^7.14.5" + +"@babel/plugin-syntax-dynamic-import@^7.8.3": + version "7.8.3" + resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-dynamic-import/-/plugin-syntax-dynamic-import-7.8.3.tgz#62bf98b2da3cd21d626154fc96ee5b3cb68eacb3" + integrity sha512-5gdGbFon+PszYzqs83S3E5mpi7/y/8M9eC90MRTZfduQOYW76ig6SOSPNe41IG5LoP3FGBn2N0RjVDSQiS94kQ== + dependencies: + "@babel/helper-plugin-utils" "^7.8.0" + +"@babel/plugin-syntax-export-namespace-from@^7.8.3": + version "7.8.3" + resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-export-namespace-from/-/plugin-syntax-export-namespace-from-7.8.3.tgz#028964a9ba80dbc094c915c487ad7c4e7a66465a" + integrity sha512-MXf5laXo6c1IbEbegDmzGPwGNTsHZmEy6QGznu5Sh2UCWvueywb2ee+CCE4zQiZstxU9BMoQO9i6zUFSY0Kj0Q== + dependencies: + "@babel/helper-plugin-utils" "^7.8.3" + +"@babel/plugin-syntax-json-strings@^7.8.3": + version "7.8.3" + resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-json-strings/-/plugin-syntax-json-strings-7.8.3.tgz#01ca21b668cd8218c9e640cb6dd88c5412b2c96a" + integrity sha512-lY6kdGpWHvjoe2vk4WrAapEuBR69EMxZl+RoGRhrFGNYVK8mOPAW8VfbT/ZgrFbXlDNiiaxQnAtgVCZ6jv30EA== + dependencies: + "@babel/helper-plugin-utils" "^7.8.0" + +"@babel/plugin-syntax-jsx@^7.16.7": + version "7.16.7" + resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-jsx/-/plugin-syntax-jsx-7.16.7.tgz#50b6571d13f764266a113d77c82b4a6508bbe665" + integrity sha512-Esxmk7YjA8QysKeT3VhTXvF6y77f/a91SIs4pWb4H2eWGQkCKFgQaG6hdoEVZtGsrAcb2K5BW66XsOErD4WU3Q== + dependencies: + "@babel/helper-plugin-utils" "^7.16.7" + +"@babel/plugin-syntax-logical-assignment-operators@^7.10.4": + version "7.10.4" + resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-logical-assignment-operators/-/plugin-syntax-logical-assignment-operators-7.10.4.tgz#ca91ef46303530448b906652bac2e9fe9941f699" + integrity sha512-d8waShlpFDinQ5MtvGU9xDAOzKH47+FFoney2baFIoMr952hKOLp1HR7VszoZvOsV/4+RRszNY7D17ba0te0ig== + dependencies: + "@babel/helper-plugin-utils" "^7.10.4" + +"@babel/plugin-syntax-nullish-coalescing-operator@^7.8.3": + version "7.8.3" + resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-nullish-coalescing-operator/-/plugin-syntax-nullish-coalescing-operator-7.8.3.tgz#167ed70368886081f74b5c36c65a88c03b66d1a9" + integrity sha512-aSff4zPII1u2QD7y+F8oDsz19ew4IGEJg9SVW+bqwpwtfFleiQDMdzA/R+UlWDzfnHFCxxleFT0PMIrR36XLNQ== + dependencies: + "@babel/helper-plugin-utils" "^7.8.0" + +"@babel/plugin-syntax-numeric-separator@^7.10.4": + version "7.10.4" + resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-numeric-separator/-/plugin-syntax-numeric-separator-7.10.4.tgz#b9b070b3e33570cd9fd07ba7fa91c0dd37b9af97" + integrity sha512-9H6YdfkcK/uOnY/K7/aA2xpzaAgkQn37yzWUMRK7OaPOqOpGS1+n0H5hxT9AUw9EsSjPW8SVyMJwYRtWs3X3ug== + dependencies: + "@babel/helper-plugin-utils" "^7.10.4" + +"@babel/plugin-syntax-object-rest-spread@^7.8.3": + version "7.8.3" + resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-object-rest-spread/-/plugin-syntax-object-rest-spread-7.8.3.tgz#60e225edcbd98a640332a2e72dd3e66f1af55871" + integrity sha512-XoqMijGZb9y3y2XskN+P1wUGiVwWZ5JmoDRwx5+3GmEplNyVM2s2Dg8ILFQm8rWM48orGy5YpI5Bl8U1y7ydlA== + dependencies: + "@babel/helper-plugin-utils" "^7.8.0" + +"@babel/plugin-syntax-optional-catch-binding@^7.8.3": + version "7.8.3" + resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-optional-catch-binding/-/plugin-syntax-optional-catch-binding-7.8.3.tgz#6111a265bcfb020eb9efd0fdfd7d26402b9ed6c1" + integrity sha512-6VPD0Pc1lpTqw0aKoeRTMiB+kWhAoT24PA+ksWSBrFtl5SIRVpZlwN3NNPQjehA2E/91FV3RjLWoVTglWcSV3Q== + dependencies: + "@babel/helper-plugin-utils" "^7.8.0" + +"@babel/plugin-syntax-optional-chaining@^7.8.3": + version "7.8.3" + resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-optional-chaining/-/plugin-syntax-optional-chaining-7.8.3.tgz#4f69c2ab95167e0180cd5336613f8c5788f7d48a" + integrity sha512-KoK9ErH1MBlCPxV0VANkXW2/dw4vlbGDrFgz8bmUsBGYkFRcbRwMh6cIJubdPrkxRwuGdtCk0v/wPTKbQgBjkg== + dependencies: + "@babel/helper-plugin-utils" "^7.8.0" + +"@babel/plugin-syntax-private-property-in-object@^7.14.5": + version "7.14.5" + resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-private-property-in-object/-/plugin-syntax-private-property-in-object-7.14.5.tgz#0dc6671ec0ea22b6e94a1114f857970cd39de1ad" + integrity sha512-0wVnp9dxJ72ZUJDV27ZfbSj6iHLoytYZmh3rFcxNnvsJF3ktkzLDZPy/mA17HGsaQT3/DQsWYX1f1QGWkCoVUg== + dependencies: + "@babel/helper-plugin-utils" "^7.14.5" + +"@babel/plugin-syntax-top-level-await@^7.14.5": + version "7.14.5" + resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-top-level-await/-/plugin-syntax-top-level-await-7.14.5.tgz#c1cfdadc35a646240001f06138247b741c34d94c" + integrity sha512-hx++upLv5U1rgYfwe1xBQUhRmU41NEvpUvrp8jkrSCdvGSnM5/qdRMtylJ6PG5OFkBaHkbTAKTnd3/YyESRHFw== + dependencies: + "@babel/helper-plugin-utils" "^7.14.5" + +"@babel/plugin-syntax-typescript@^7.16.7": + version "7.16.7" + resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-typescript/-/plugin-syntax-typescript-7.16.7.tgz#39c9b55ee153151990fb038651d58d3fd03f98f8" + integrity sha512-YhUIJHHGkqPgEcMYkPCKTyGUdoGKWtopIycQyjJH8OjvRgOYsXsaKehLVPScKJWAULPxMa4N1vCe6szREFlZ7A== + dependencies: + "@babel/helper-plugin-utils" "^7.16.7" + +"@babel/plugin-transform-arrow-functions@^7.16.7": + version "7.16.7" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-arrow-functions/-/plugin-transform-arrow-functions-7.16.7.tgz#44125e653d94b98db76369de9c396dc14bef4154" + integrity sha512-9ffkFFMbvzTvv+7dTp/66xvZAWASuPD5Tl9LK3Z9vhOmANo6j94rik+5YMBt4CwHVMWLWpMsriIc2zsa3WW3xQ== + dependencies: + "@babel/helper-plugin-utils" "^7.16.7" + +"@babel/plugin-transform-async-to-generator@^7.16.8": + version "7.16.8" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-async-to-generator/-/plugin-transform-async-to-generator-7.16.8.tgz#b83dff4b970cf41f1b819f8b49cc0cfbaa53a808" + integrity sha512-MtmUmTJQHCnyJVrScNzNlofQJ3dLFuobYn3mwOTKHnSCMtbNsqvF71GQmJfFjdrXSsAA7iysFmYWw4bXZ20hOg== + dependencies: + "@babel/helper-module-imports" "^7.16.7" + "@babel/helper-plugin-utils" "^7.16.7" + "@babel/helper-remap-async-to-generator" "^7.16.8" + +"@babel/plugin-transform-block-scoped-functions@^7.16.7": + version "7.16.7" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-block-scoped-functions/-/plugin-transform-block-scoped-functions-7.16.7.tgz#4d0d57d9632ef6062cdf354bb717102ee042a620" + integrity sha512-JUuzlzmF40Z9cXyytcbZEZKckgrQzChbQJw/5PuEHYeqzCsvebDx0K0jWnIIVcmmDOAVctCgnYs0pMcrYj2zJg== + dependencies: + "@babel/helper-plugin-utils" "^7.16.7" + +"@babel/plugin-transform-block-scoping@^7.16.7": + version "7.16.7" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-block-scoping/-/plugin-transform-block-scoping-7.16.7.tgz#f50664ab99ddeaee5bc681b8f3a6ea9d72ab4f87" + integrity sha512-ObZev2nxVAYA4bhyusELdo9hb3H+A56bxH3FZMbEImZFiEDYVHXQSJ1hQKFlDnlt8G9bBrCZ5ZpURZUrV4G5qQ== + dependencies: + "@babel/helper-plugin-utils" "^7.16.7" + +"@babel/plugin-transform-classes@^7.16.7": + version "7.16.7" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-classes/-/plugin-transform-classes-7.16.7.tgz#8f4b9562850cd973de3b498f1218796eb181ce00" + integrity sha512-WY7og38SFAGYRe64BrjKf8OrE6ulEHtr5jEYaZMwox9KebgqPi67Zqz8K53EKk1fFEJgm96r32rkKZ3qA2nCWQ== + dependencies: + "@babel/helper-annotate-as-pure" "^7.16.7" + "@babel/helper-environment-visitor" "^7.16.7" + "@babel/helper-function-name" "^7.16.7" + "@babel/helper-optimise-call-expression" "^7.16.7" + "@babel/helper-plugin-utils" "^7.16.7" + "@babel/helper-replace-supers" "^7.16.7" + "@babel/helper-split-export-declaration" "^7.16.7" + globals "^11.1.0" + +"@babel/plugin-transform-computed-properties@^7.16.7": + version "7.16.7" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-computed-properties/-/plugin-transform-computed-properties-7.16.7.tgz#66dee12e46f61d2aae7a73710f591eb3df616470" + integrity sha512-gN72G9bcmenVILj//sv1zLNaPyYcOzUho2lIJBMh/iakJ9ygCo/hEF9cpGb61SCMEDxbbyBoVQxrt+bWKu5KGw== + dependencies: + "@babel/helper-plugin-utils" "^7.16.7" + +"@babel/plugin-transform-destructuring@^7.16.7": + version "7.16.7" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-destructuring/-/plugin-transform-destructuring-7.16.7.tgz#ca9588ae2d63978a4c29d3f33282d8603f618e23" + integrity sha512-VqAwhTHBnu5xBVDCvrvqJbtLUa++qZaWC0Fgr2mqokBlulZARGyIvZDoqbPlPaKImQ9dKAcCzbv+ul//uqu70A== + dependencies: + "@babel/helper-plugin-utils" "^7.16.7" + +"@babel/plugin-transform-dotall-regex@^7.16.7", "@babel/plugin-transform-dotall-regex@^7.4.4": + version "7.16.7" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-dotall-regex/-/plugin-transform-dotall-regex-7.16.7.tgz#6b2d67686fab15fb6a7fd4bd895d5982cfc81241" + integrity sha512-Lyttaao2SjZF6Pf4vk1dVKv8YypMpomAbygW+mU5cYP3S5cWTfCJjG8xV6CFdzGFlfWK81IjL9viiTvpb6G7gQ== + dependencies: + "@babel/helper-create-regexp-features-plugin" "^7.16.7" + "@babel/helper-plugin-utils" "^7.16.7" + +"@babel/plugin-transform-duplicate-keys@^7.16.7": + version "7.16.7" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-duplicate-keys/-/plugin-transform-duplicate-keys-7.16.7.tgz#2207e9ca8f82a0d36a5a67b6536e7ef8b08823c9" + integrity sha512-03DvpbRfvWIXyK0/6QiR1KMTWeT6OcQ7tbhjrXyFS02kjuX/mu5Bvnh5SDSWHxyawit2g5aWhKwI86EE7GUnTw== + dependencies: + "@babel/helper-plugin-utils" "^7.16.7" + +"@babel/plugin-transform-exponentiation-operator@^7.16.7": + version "7.16.7" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-exponentiation-operator/-/plugin-transform-exponentiation-operator-7.16.7.tgz#efa9862ef97e9e9e5f653f6ddc7b665e8536fe9b" + integrity sha512-8UYLSlyLgRixQvlYH3J2ekXFHDFLQutdy7FfFAMm3CPZ6q9wHCwnUyiXpQCe3gVVnQlHc5nsuiEVziteRNTXEA== + dependencies: + "@babel/helper-builder-binary-assignment-operator-visitor" "^7.16.7" + "@babel/helper-plugin-utils" "^7.16.7" + +"@babel/plugin-transform-for-of@^7.16.7": + version "7.16.7" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-for-of/-/plugin-transform-for-of-7.16.7.tgz#649d639d4617dff502a9a158c479b3b556728d8c" + integrity sha512-/QZm9W92Ptpw7sjI9Nx1mbcsWz33+l8kuMIQnDwgQBG5s3fAfQvkRjQ7NqXhtNcKOnPkdICmUHyCaWW06HCsqg== + dependencies: + "@babel/helper-plugin-utils" "^7.16.7" + +"@babel/plugin-transform-function-name@^7.16.7": + version "7.16.7" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-function-name/-/plugin-transform-function-name-7.16.7.tgz#5ab34375c64d61d083d7d2f05c38d90b97ec65cf" + integrity sha512-SU/C68YVwTRxqWj5kgsbKINakGag0KTgq9f2iZEXdStoAbOzLHEBRYzImmA6yFo8YZhJVflvXmIHUO7GWHmxxA== + dependencies: + "@babel/helper-compilation-targets" "^7.16.7" + "@babel/helper-function-name" "^7.16.7" + "@babel/helper-plugin-utils" "^7.16.7" + +"@babel/plugin-transform-literals@^7.16.7": + version "7.16.7" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-literals/-/plugin-transform-literals-7.16.7.tgz#254c9618c5ff749e87cb0c0cef1a0a050c0bdab1" + integrity sha512-6tH8RTpTWI0s2sV6uq3e/C9wPo4PTqqZps4uF0kzQ9/xPLFQtipynvmT1g/dOfEJ+0EQsHhkQ/zyRId8J2b8zQ== + dependencies: + "@babel/helper-plugin-utils" "^7.16.7" + +"@babel/plugin-transform-member-expression-literals@^7.16.7": + version "7.16.7" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-member-expression-literals/-/plugin-transform-member-expression-literals-7.16.7.tgz#6e5dcf906ef8a098e630149d14c867dd28f92384" + integrity sha512-mBruRMbktKQwbxaJof32LT9KLy2f3gH+27a5XSuXo6h7R3vqltl0PgZ80C8ZMKw98Bf8bqt6BEVi3svOh2PzMw== + dependencies: + "@babel/helper-plugin-utils" "^7.16.7" + +"@babel/plugin-transform-modules-amd@^7.16.7": + version "7.16.7" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-modules-amd/-/plugin-transform-modules-amd-7.16.7.tgz#b28d323016a7daaae8609781d1f8c9da42b13186" + integrity sha512-KaaEtgBL7FKYwjJ/teH63oAmE3lP34N3kshz8mm4VMAw7U3PxjVwwUmxEFksbgsNUaO3wId9R2AVQYSEGRa2+g== + dependencies: + "@babel/helper-module-transforms" "^7.16.7" + "@babel/helper-plugin-utils" "^7.16.7" + babel-plugin-dynamic-import-node "^2.3.3" + +"@babel/plugin-transform-modules-commonjs@^7.14.5", "@babel/plugin-transform-modules-commonjs@^7.16.8": + version "7.16.8" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-modules-commonjs/-/plugin-transform-modules-commonjs-7.16.8.tgz#cdee19aae887b16b9d331009aa9a219af7c86afe" + integrity sha512-oflKPvsLT2+uKQopesJt3ApiaIS2HW+hzHFcwRNtyDGieAeC/dIHZX8buJQ2J2X1rxGPy4eRcUijm3qcSPjYcA== + dependencies: + "@babel/helper-module-transforms" "^7.16.7" + "@babel/helper-plugin-utils" "^7.16.7" + "@babel/helper-simple-access" "^7.16.7" + babel-plugin-dynamic-import-node "^2.3.3" + +"@babel/plugin-transform-modules-systemjs@^7.16.7": + version "7.16.7" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-modules-systemjs/-/plugin-transform-modules-systemjs-7.16.7.tgz#887cefaef88e684d29558c2b13ee0563e287c2d7" + integrity sha512-DuK5E3k+QQmnOqBR9UkusByy5WZWGRxfzV529s9nPra1GE7olmxfqO2FHobEOYSPIjPBTr4p66YDcjQnt8cBmw== + dependencies: + "@babel/helper-hoist-variables" "^7.16.7" + "@babel/helper-module-transforms" "^7.16.7" + "@babel/helper-plugin-utils" "^7.16.7" + "@babel/helper-validator-identifier" "^7.16.7" + babel-plugin-dynamic-import-node "^2.3.3" + +"@babel/plugin-transform-modules-umd@^7.16.7": + version "7.16.7" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-modules-umd/-/plugin-transform-modules-umd-7.16.7.tgz#23dad479fa585283dbd22215bff12719171e7618" + integrity sha512-EMh7uolsC8O4xhudF2F6wedbSHm1HHZ0C6aJ7K67zcDNidMzVcxWdGr+htW9n21klm+bOn+Rx4CBsAntZd3rEQ== + dependencies: + "@babel/helper-module-transforms" "^7.16.7" + "@babel/helper-plugin-utils" "^7.16.7" + +"@babel/plugin-transform-named-capturing-groups-regex@^7.16.8": + version "7.16.8" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-named-capturing-groups-regex/-/plugin-transform-named-capturing-groups-regex-7.16.8.tgz#7f860e0e40d844a02c9dcf9d84965e7dfd666252" + integrity sha512-j3Jw+n5PvpmhRR+mrgIh04puSANCk/T/UA3m3P1MjJkhlK906+ApHhDIqBQDdOgL/r1UYpz4GNclTXxyZrYGSw== + dependencies: + "@babel/helper-create-regexp-features-plugin" "^7.16.7" + +"@babel/plugin-transform-new-target@^7.16.7": + version "7.16.7" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-new-target/-/plugin-transform-new-target-7.16.7.tgz#9967d89a5c243818e0800fdad89db22c5f514244" + integrity sha512-xiLDzWNMfKoGOpc6t3U+etCE2yRnn3SM09BXqWPIZOBpL2gvVrBWUKnsJx0K/ADi5F5YC5f8APFfWrz25TdlGg== + dependencies: + "@babel/helper-plugin-utils" "^7.16.7" + +"@babel/plugin-transform-object-super@^7.16.7": + version "7.16.7" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-object-super/-/plugin-transform-object-super-7.16.7.tgz#ac359cf8d32cf4354d27a46867999490b6c32a94" + integrity sha512-14J1feiQVWaGvRxj2WjyMuXS2jsBkgB3MdSN5HuC2G5nRspa5RK9COcs82Pwy5BuGcjb+fYaUj94mYcOj7rCvw== + dependencies: + "@babel/helper-plugin-utils" "^7.16.7" + "@babel/helper-replace-supers" "^7.16.7" + +"@babel/plugin-transform-parameters@^7.16.7": + version "7.16.7" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-parameters/-/plugin-transform-parameters-7.16.7.tgz#a1721f55b99b736511cb7e0152f61f17688f331f" + integrity sha512-AT3MufQ7zZEhU2hwOA11axBnExW0Lszu4RL/tAlUJBuNoRak+wehQW8h6KcXOcgjY42fHtDxswuMhMjFEuv/aw== + dependencies: + "@babel/helper-plugin-utils" "^7.16.7" + +"@babel/plugin-transform-property-literals@^7.16.7": + version "7.16.7" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-property-literals/-/plugin-transform-property-literals-7.16.7.tgz#2dadac85155436f22c696c4827730e0fe1057a55" + integrity sha512-z4FGr9NMGdoIl1RqavCqGG+ZuYjfZ/hkCIeuH6Do7tXmSm0ls11nYVSJqFEUOSJbDab5wC6lRE/w6YjVcr6Hqw== + dependencies: + "@babel/helper-plugin-utils" "^7.16.7" + +"@babel/plugin-transform-react-jsx@^7.14.5": + version "7.16.7" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-react-jsx/-/plugin-transform-react-jsx-7.16.7.tgz#86a6a220552afd0e4e1f0388a68a372be7add0d4" + integrity sha512-8D16ye66fxiE8m890w0BpPpngG9o9OVBBy0gH2E+2AR7qMR2ZpTYJEqLxAsoroenMId0p/wMW+Blc0meDgu0Ag== + dependencies: + "@babel/helper-annotate-as-pure" "^7.16.7" + "@babel/helper-module-imports" "^7.16.7" + "@babel/helper-plugin-utils" "^7.16.7" + "@babel/plugin-syntax-jsx" "^7.16.7" + "@babel/types" "^7.16.7" + +"@babel/plugin-transform-regenerator@^7.16.7": + version "7.16.7" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-regenerator/-/plugin-transform-regenerator-7.16.7.tgz#9e7576dc476cb89ccc5096fff7af659243b4adeb" + integrity sha512-mF7jOgGYCkSJagJ6XCujSQg+6xC1M77/03K2oBmVJWoFGNUtnVJO4WHKJk3dnPC8HCcj4xBQP1Egm8DWh3Pb3Q== + dependencies: + regenerator-transform "^0.14.2" + +"@babel/plugin-transform-reserved-words@^7.16.7": + version "7.16.7" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-reserved-words/-/plugin-transform-reserved-words-7.16.7.tgz#1d798e078f7c5958eec952059c460b220a63f586" + integrity sha512-KQzzDnZ9hWQBjwi5lpY5v9shmm6IVG0U9pB18zvMu2i4H90xpT4gmqwPYsn8rObiadYe2M0gmgsiOIF5A/2rtg== + dependencies: + "@babel/helper-plugin-utils" "^7.16.7" + +"@babel/plugin-transform-shorthand-properties@^7.16.7": + version "7.16.7" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-shorthand-properties/-/plugin-transform-shorthand-properties-7.16.7.tgz#e8549ae4afcf8382f711794c0c7b6b934c5fbd2a" + integrity sha512-hah2+FEnoRoATdIb05IOXf+4GzXYTq75TVhIn1PewihbpyrNWUt2JbudKQOETWw6QpLe+AIUpJ5MVLYTQbeeUg== + dependencies: + "@babel/helper-plugin-utils" "^7.16.7" + +"@babel/plugin-transform-spread@^7.16.7": + version "7.16.7" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-spread/-/plugin-transform-spread-7.16.7.tgz#a303e2122f9f12e0105daeedd0f30fb197d8ff44" + integrity sha512-+pjJpgAngb53L0iaA5gU/1MLXJIfXcYepLgXB3esVRf4fqmj8f2cxM3/FKaHsZms08hFQJkFccEWuIpm429TXg== + dependencies: + "@babel/helper-plugin-utils" "^7.16.7" + "@babel/helper-skip-transparent-expression-wrappers" "^7.16.0" + +"@babel/plugin-transform-sticky-regex@^7.16.7": + version "7.16.7" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-sticky-regex/-/plugin-transform-sticky-regex-7.16.7.tgz#c84741d4f4a38072b9a1e2e3fd56d359552e8660" + integrity sha512-NJa0Bd/87QV5NZZzTuZG5BPJjLYadeSZ9fO6oOUoL4iQx+9EEuw/eEM92SrsT19Yc2jgB1u1hsjqDtH02c3Drw== + dependencies: + "@babel/helper-plugin-utils" "^7.16.7" + +"@babel/plugin-transform-template-literals@^7.16.7": + version "7.16.7" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-template-literals/-/plugin-transform-template-literals-7.16.7.tgz#f3d1c45d28967c8e80f53666fc9c3e50618217ab" + integrity sha512-VwbkDDUeenlIjmfNeDX/V0aWrQH2QiVyJtwymVQSzItFDTpxfyJh3EVaQiS0rIN/CqbLGr0VcGmuwyTdZtdIsA== + dependencies: + "@babel/helper-plugin-utils" "^7.16.7" + +"@babel/plugin-transform-typeof-symbol@^7.16.7": + version "7.16.7" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-typeof-symbol/-/plugin-transform-typeof-symbol-7.16.7.tgz#9cdbe622582c21368bd482b660ba87d5545d4f7e" + integrity sha512-p2rOixCKRJzpg9JB4gjnG4gjWkWa89ZoYUnl9snJ1cWIcTH/hvxZqfO+WjG6T8DRBpctEol5jw1O5rA8gkCokQ== + dependencies: + "@babel/helper-plugin-utils" "^7.16.7" + +"@babel/plugin-transform-typescript@^7.16.7": + version "7.16.8" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-typescript/-/plugin-transform-typescript-7.16.8.tgz#591ce9b6b83504903fa9dd3652c357c2ba7a1ee0" + integrity sha512-bHdQ9k7YpBDO2d0NVfkj51DpQcvwIzIusJ7mEUaMlbZq3Kt/U47j24inXZHQ5MDiYpCs+oZiwnXyKedE8+q7AQ== + dependencies: + "@babel/helper-create-class-features-plugin" "^7.16.7" + "@babel/helper-plugin-utils" "^7.16.7" + "@babel/plugin-syntax-typescript" "^7.16.7" + +"@babel/plugin-transform-unicode-escapes@^7.16.7": + version "7.16.7" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-unicode-escapes/-/plugin-transform-unicode-escapes-7.16.7.tgz#da8717de7b3287a2c6d659750c964f302b31ece3" + integrity sha512-TAV5IGahIz3yZ9/Hfv35TV2xEm+kaBDaZQCn2S/hG9/CZ0DktxJv9eKfPc7yYCvOYR4JGx1h8C+jcSOvgaaI/Q== + dependencies: + "@babel/helper-plugin-utils" "^7.16.7" + +"@babel/plugin-transform-unicode-regex@^7.16.7": + version "7.16.7" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-unicode-regex/-/plugin-transform-unicode-regex-7.16.7.tgz#0f7aa4a501198976e25e82702574c34cfebe9ef2" + integrity sha512-oC5tYYKw56HO75KZVLQ+R/Nl3Hro9kf8iG0hXoaHP7tjAyCpvqBiSNe6vGrZni1Z6MggmUOC6A7VP7AVmw225Q== + dependencies: + "@babel/helper-create-regexp-features-plugin" "^7.16.7" + "@babel/helper-plugin-utils" "^7.16.7" + +"@babel/preset-env@^7.9.0": + version "7.16.11" + resolved "https://registry.yarnpkg.com/@babel/preset-env/-/preset-env-7.16.11.tgz#5dd88fd885fae36f88fd7c8342475c9f0abe2982" + integrity sha512-qcmWG8R7ZW6WBRPZK//y+E3Cli151B20W1Rv7ln27vuPaXU/8TKms6jFdiJtF7UDTxcrb7mZd88tAeK9LjdT8g== + dependencies: + "@babel/compat-data" "^7.16.8" + "@babel/helper-compilation-targets" "^7.16.7" + "@babel/helper-plugin-utils" "^7.16.7" + "@babel/helper-validator-option" "^7.16.7" + "@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression" "^7.16.7" + "@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining" "^7.16.7" + "@babel/plugin-proposal-async-generator-functions" "^7.16.8" + "@babel/plugin-proposal-class-properties" "^7.16.7" + "@babel/plugin-proposal-class-static-block" "^7.16.7" + "@babel/plugin-proposal-dynamic-import" "^7.16.7" + "@babel/plugin-proposal-export-namespace-from" "^7.16.7" + "@babel/plugin-proposal-json-strings" "^7.16.7" + "@babel/plugin-proposal-logical-assignment-operators" "^7.16.7" + "@babel/plugin-proposal-nullish-coalescing-operator" "^7.16.7" + "@babel/plugin-proposal-numeric-separator" "^7.16.7" + "@babel/plugin-proposal-object-rest-spread" "^7.16.7" + "@babel/plugin-proposal-optional-catch-binding" "^7.16.7" + "@babel/plugin-proposal-optional-chaining" "^7.16.7" + "@babel/plugin-proposal-private-methods" "^7.16.11" + "@babel/plugin-proposal-private-property-in-object" "^7.16.7" + "@babel/plugin-proposal-unicode-property-regex" "^7.16.7" + "@babel/plugin-syntax-async-generators" "^7.8.4" + "@babel/plugin-syntax-class-properties" "^7.12.13" + "@babel/plugin-syntax-class-static-block" "^7.14.5" + "@babel/plugin-syntax-dynamic-import" "^7.8.3" + "@babel/plugin-syntax-export-namespace-from" "^7.8.3" + "@babel/plugin-syntax-json-strings" "^7.8.3" + "@babel/plugin-syntax-logical-assignment-operators" "^7.10.4" + "@babel/plugin-syntax-nullish-coalescing-operator" "^7.8.3" + "@babel/plugin-syntax-numeric-separator" "^7.10.4" + "@babel/plugin-syntax-object-rest-spread" "^7.8.3" + "@babel/plugin-syntax-optional-catch-binding" "^7.8.3" + "@babel/plugin-syntax-optional-chaining" "^7.8.3" + "@babel/plugin-syntax-private-property-in-object" "^7.14.5" + "@babel/plugin-syntax-top-level-await" "^7.14.5" + "@babel/plugin-transform-arrow-functions" "^7.16.7" + "@babel/plugin-transform-async-to-generator" "^7.16.8" + "@babel/plugin-transform-block-scoped-functions" "^7.16.7" + "@babel/plugin-transform-block-scoping" "^7.16.7" + "@babel/plugin-transform-classes" "^7.16.7" + "@babel/plugin-transform-computed-properties" "^7.16.7" + "@babel/plugin-transform-destructuring" "^7.16.7" + "@babel/plugin-transform-dotall-regex" "^7.16.7" + "@babel/plugin-transform-duplicate-keys" "^7.16.7" + "@babel/plugin-transform-exponentiation-operator" "^7.16.7" + "@babel/plugin-transform-for-of" "^7.16.7" + "@babel/plugin-transform-function-name" "^7.16.7" + "@babel/plugin-transform-literals" "^7.16.7" + "@babel/plugin-transform-member-expression-literals" "^7.16.7" + "@babel/plugin-transform-modules-amd" "^7.16.7" + "@babel/plugin-transform-modules-commonjs" "^7.16.8" + "@babel/plugin-transform-modules-systemjs" "^7.16.7" + "@babel/plugin-transform-modules-umd" "^7.16.7" + "@babel/plugin-transform-named-capturing-groups-regex" "^7.16.8" + "@babel/plugin-transform-new-target" "^7.16.7" + "@babel/plugin-transform-object-super" "^7.16.7" + "@babel/plugin-transform-parameters" "^7.16.7" + "@babel/plugin-transform-property-literals" "^7.16.7" + "@babel/plugin-transform-regenerator" "^7.16.7" + "@babel/plugin-transform-reserved-words" "^7.16.7" + "@babel/plugin-transform-shorthand-properties" "^7.16.7" + "@babel/plugin-transform-spread" "^7.16.7" + "@babel/plugin-transform-sticky-regex" "^7.16.7" + "@babel/plugin-transform-template-literals" "^7.16.7" + "@babel/plugin-transform-typeof-symbol" "^7.16.7" + "@babel/plugin-transform-unicode-escapes" "^7.16.7" + "@babel/plugin-transform-unicode-regex" "^7.16.7" + "@babel/preset-modules" "^0.1.5" + "@babel/types" "^7.16.8" + babel-plugin-polyfill-corejs2 "^0.3.0" + babel-plugin-polyfill-corejs3 "^0.5.0" + babel-plugin-polyfill-regenerator "^0.3.0" + core-js-compat "^3.20.2" + semver "^6.3.0" + +"@babel/preset-modules@^0.1.5": + version "0.1.5" + resolved "https://registry.yarnpkg.com/@babel/preset-modules/-/preset-modules-0.1.5.tgz#ef939d6e7f268827e1841638dc6ff95515e115d9" + integrity sha512-A57th6YRG7oR3cq/yt/Y84MvGgE0eJG2F1JLhKuyG+jFxEgrd/HAMJatiFtmOiZurz+0DkrvbheCLaV5f2JfjA== + dependencies: + "@babel/helper-plugin-utils" "^7.0.0" + "@babel/plugin-proposal-unicode-property-regex" "^7.4.4" + "@babel/plugin-transform-dotall-regex" "^7.4.4" + "@babel/types" "^7.4.4" + esutils "^2.0.2" + +"@babel/preset-typescript@^7.14.5": + version "7.16.7" + resolved "https://registry.yarnpkg.com/@babel/preset-typescript/-/preset-typescript-7.16.7.tgz#ab114d68bb2020afc069cd51b37ff98a046a70b9" + integrity sha512-WbVEmgXdIyvzB77AQjGBEyYPZx+8tTsO50XtfozQrkW8QB2rLJpH2lgx0TRw5EJrBxOZQ+wCcyPVQvS8tjEHpQ== + dependencies: + "@babel/helper-plugin-utils" "^7.16.7" + "@babel/helper-validator-option" "^7.16.7" + "@babel/plugin-transform-typescript" "^7.16.7" + +"@babel/runtime@^7.8.4": + version "7.17.0" + resolved "https://registry.yarnpkg.com/@babel/runtime/-/runtime-7.17.0.tgz#b8d142fc0f7664fb3d9b5833fd40dcbab89276c0" + integrity sha512-etcO/ohMNaNA2UBdaXBBSX/3aEzFMRrVfaPv8Ptc0k+cWpWW0QFiGZ2XnVqQZI1Cf734LbPGmqBKWESfW4x/dQ== + dependencies: + regenerator-runtime "^0.13.4" + +"@babel/template@^7.16.7": + version "7.16.7" + resolved "https://registry.yarnpkg.com/@babel/template/-/template-7.16.7.tgz#8d126c8701fde4d66b264b3eba3d96f07666d155" + integrity sha512-I8j/x8kHUrbYRTUxXrrMbfCa7jxkE7tZre39x3kjr9hvI82cK1FfqLygotcWN5kdPGWcLdWMHpSBavse5tWw3w== + dependencies: + "@babel/code-frame" "^7.16.7" + "@babel/parser" "^7.16.7" + "@babel/types" "^7.16.7" + +"@babel/traverse@^7.13.0", "@babel/traverse@^7.16.7", "@babel/traverse@^7.16.8", "@babel/traverse@^7.17.0": + version "7.17.0" + resolved "https://registry.yarnpkg.com/@babel/traverse/-/traverse-7.17.0.tgz#3143e5066796408ccc880a33ecd3184f3e75cd30" + integrity sha512-fpFIXvqD6kC7c7PUNnZ0Z8cQXlarCLtCUpt2S1Dx7PjoRtCFffvOkHHSom+m5HIxMZn5bIBVb71lhabcmjEsqg== + dependencies: + "@babel/code-frame" "^7.16.7" + "@babel/generator" "^7.17.0" + "@babel/helper-environment-visitor" "^7.16.7" + "@babel/helper-function-name" "^7.16.7" + "@babel/helper-hoist-variables" "^7.16.7" + "@babel/helper-split-export-declaration" "^7.16.7" + "@babel/parser" "^7.17.0" + "@babel/types" "^7.17.0" + debug "^4.1.0" + globals "^11.1.0" + +"@babel/types@7.0.0-beta.35": + version "7.0.0-beta.35" + resolved "https://registry.yarnpkg.com/@babel/types/-/types-7.0.0-beta.35.tgz#cf933a9a9a38484ca724b335b88d83726d5ab960" + integrity sha512-y9XT11CozHDgjWcTdxmhSj13rJVXpa5ZXwjjOiTedjaM0ba5ItqdS02t31EhPl7HtOWxsZkYCCUNrSfrOisA6w== + dependencies: + esutils "^2.0.2" + lodash "^4.2.0" + to-fast-properties "^2.0.0" + +"@babel/types@^7.16.0", "@babel/types@^7.16.7", "@babel/types@^7.16.8", "@babel/types@^7.17.0", "@babel/types@^7.4.4": + version "7.17.0" + resolved "https://registry.yarnpkg.com/@babel/types/-/types-7.17.0.tgz#a826e368bccb6b3d84acd76acad5c0d87342390b" + integrity sha512-TmKSNO4D5rzhL5bjWFcVHHLETzfQ/AmbKpKPOSjlP0WoHZ6L911fgoOKY4Alp/emzG4cHJdyN49zpgkbXFEHHw== + dependencies: + "@babel/helper-validator-identifier" "^7.16.7" + to-fast-properties "^2.0.0" + +"@develar/schema-utils@~2.6.5": + version "2.6.5" + resolved "https://registry.yarnpkg.com/@develar/schema-utils/-/schema-utils-2.6.5.tgz#3ece22c5838402419a6e0425f85742b961d9b6c6" + integrity sha512-0cp4PsWQ/9avqTVMCtZ+GirikIA36ikvjtHweU4/j8yLtgObI0+JUPhYFScgwlteveGB1rt3Cm8UhN04XayDig== + dependencies: + ajv "^6.12.0" + ajv-keywords "^3.4.1" + +"@electron/get@^1.13.0", "@electron/get@^1.6.0": + version "1.13.1" + resolved "https://registry.yarnpkg.com/@electron/get/-/get-1.13.1.tgz#42a0aa62fd1189638bd966e23effaebb16108368" + integrity sha512-U5vkXDZ9DwXtkPqlB45tfYnnYBN8PePp1z/XDCupnSpdrxT8/ThCv9WCwPLf9oqiSGZTkH6dx2jDUPuoXpjkcA== + dependencies: + debug "^4.1.1" + env-paths "^2.2.0" + fs-extra "^8.1.0" + got "^9.6.0" + progress "^2.0.3" + semver "^6.2.0" + sumchecker "^3.0.1" + optionalDependencies: + global-agent "^3.0.0" + global-tunnel-ng "^2.7.1" + +"@electron/universal@1.0.5": + version "1.0.5" + resolved "https://registry.yarnpkg.com/@electron/universal/-/universal-1.0.5.tgz#b812340e4ef21da2b3ee77b2b4d35c9b86defe37" + integrity sha512-zX9O6+jr2NMyAdSkwEUlyltiI4/EBLu2Ls/VD3pUQdi3cAYeYfdQnT2AJJ38HE4QxLccbU13LSpccw1IWlkyag== + dependencies: + "@malept/cross-spawn-promise" "^1.1.0" + asar "^3.0.3" + debug "^4.3.1" + dir-compare "^2.4.0" + fs-extra "^9.0.1" + +"@gar/promisify@^1.0.1": + version "1.1.2" + resolved "https://registry.yarnpkg.com/@gar/promisify/-/promisify-1.1.2.tgz#30aa825f11d438671d585bd44e7fd564535fc210" + integrity sha512-82cpyJyKRoQoRi+14ibCeGPu0CwypgtBAdBhq1WfvagpCZNKqwXbKwXllYSMG91DhmG4jt9gN8eP6lGOtozuaw== + +"@jest/types@^27.2.5", "@jest/types@^27.4.2": + version "27.4.2" + resolved "https://registry.yarnpkg.com/@jest/types/-/types-27.4.2.tgz#96536ebd34da6392c2b7c7737d693885b5dd44a5" + integrity sha512-j35yw0PMTPpZsUoOBiuHzr1zTYoad1cVIE0ajEjcrJONxxrko/IRGKkXx3os0Nsi4Hu3+5VmDbVfq5WhG/pWAg== + dependencies: + "@types/istanbul-lib-coverage" "^2.0.0" + "@types/istanbul-reports" "^3.0.0" + "@types/node" "*" + "@types/yargs" "^16.0.0" + chalk "^4.0.0" + +"@jridgewell/resolve-uri@^3.0.3": + version "3.0.4" + resolved "https://registry.yarnpkg.com/@jridgewell/resolve-uri/-/resolve-uri-3.0.4.tgz#b876e3feefb9c8d3aa84014da28b5e52a0640d72" + integrity sha512-cz8HFjOFfUBtvN+NXYSFMHYRdxZMaEl0XypVrhzxBgadKIXhIkRd8aMeHhmF56Sl7SuS8OnUpQ73/k9LE4VnLg== + +"@jridgewell/sourcemap-codec@^1.4.9": + version "1.4.9" + resolved "https://registry.yarnpkg.com/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.4.9.tgz#6963babca1e1b8a8dc1c379bd4bd2bf9c21c356a" + integrity sha512-iKsUDLGOrC5pSdVTyb8zJI/f55wItTzGtfGWiWPWTc8h2P4oucax7XOGSRq9V2aA1nwE8qMaGvwdXk3PZRtgjg== + +"@jridgewell/trace-mapping@^0.2.7": + version "0.2.7" + resolved "https://registry.yarnpkg.com/@jridgewell/trace-mapping/-/trace-mapping-0.2.7.tgz#d45be64544788e32c7ea5c8faa16a7000d840b5b" + integrity sha512-ZKfRhw6eK2vvdWqpU7DQq49+BZESqh5rmkYpNhuzkz01tapssl2sNNy6uMUIgrTtUWQDijomWJzJRCoevVrfgw== + dependencies: + "@jridgewell/resolve-uri" "^3.0.3" + "@jridgewell/sourcemap-codec" "^1.4.9" + +"@malept/cross-spawn-promise@^1.1.0": + version "1.1.1" + resolved "https://registry.yarnpkg.com/@malept/cross-spawn-promise/-/cross-spawn-promise-1.1.1.tgz#504af200af6b98e198bce768bc1730c6936ae01d" + integrity sha512-RTBGWL5FWQcg9orDOCcp4LvItNzUPcyEU9bwaeJX0rJ1IQxzucC48Y0/sQLp/g6t99IQgAlGIaesJS+gTn7tVQ== + dependencies: + cross-spawn "^7.0.1" + +"@malept/flatpak-bundler@^0.4.0": + version "0.4.0" + resolved "https://registry.yarnpkg.com/@malept/flatpak-bundler/-/flatpak-bundler-0.4.0.tgz#e8a32c30a95d20c2b1bb635cc580981a06389858" + integrity sha512-9QOtNffcOF/c1seMCDnjckb3R9WHcG34tky+FHpNKKCW0wc/scYLwMtO+ptyGUfMW0/b/n4qRiALlaFHc9Oj7Q== + dependencies: + debug "^4.1.1" + fs-extra "^9.0.0" + lodash "^4.17.15" + tmp-promise "^3.0.2" + +"@nornagon/put@0.0.8": + version "0.0.8" + resolved "https://registry.yarnpkg.com/@nornagon/put/-/put-0.0.8.tgz#9d497ec46c9364acc3f8b59aa3cf8ee4134ae337" + integrity sha512-ugvXJjwF5ldtUpa7D95kruNJ41yFQDEKyF5CW4TgKJnh+W/zmlBzXXeKTyqIgwMFrkePN2JqOBqcF0M0oOunow== + +"@npmcli/fs@^1.0.0": + version "1.1.0" + resolved "https://registry.yarnpkg.com/@npmcli/fs/-/fs-1.1.0.tgz#bec1d1b89c170d40e1b73ad6c943b0b75e7d2951" + integrity sha512-VhP1qZLXcrXRIaPoqb4YA55JQxLNF3jNR4T55IdOJa3+IFJKNYHtPvtXx8slmeMavj37vCzCfrqQM1vWLsYKLA== + dependencies: + "@gar/promisify" "^1.0.1" + semver "^7.3.5" + +"@npmcli/move-file@^1.0.1": + version "1.1.2" + resolved "https://registry.yarnpkg.com/@npmcli/move-file/-/move-file-1.1.2.tgz#1a82c3e372f7cae9253eb66d72543d6b8685c674" + integrity sha512-1SUf/Cg2GzGDyaf15aR9St9TWlb+XvbZXWpDx8YKs7MLzMH/BCeopv+y9vzrzgkfykCGuWOlSu3mZhj2+FQcrg== + dependencies: + mkdirp "^1.0.4" + rimraf "^3.0.2" + +"@playwright/test@^1.18.1": + version "1.18.1" + resolved "https://registry.yarnpkg.com/@playwright/test/-/test-1.18.1.tgz#efaa3aa9c7f8aebeb75cd45fd9737529e9b30fbd" + integrity sha512-v6jAM2GpRvf4MUvSLkrAXg101XT9mLu2X2NbCnEoj7GHBXwavDlAJDMwh4Hn8oipDxB6MS6FTcr7opXsIMNwrA== + dependencies: + "@babel/code-frame" "^7.14.5" + "@babel/core" "^7.14.8" + "@babel/plugin-proposal-class-properties" "^7.14.5" + "@babel/plugin-proposal-dynamic-import" "^7.14.5" + "@babel/plugin-proposal-export-namespace-from" "^7.14.5" + "@babel/plugin-proposal-logical-assignment-operators" "^7.14.5" + "@babel/plugin-proposal-nullish-coalescing-operator" "^7.14.5" + "@babel/plugin-proposal-numeric-separator" "^7.14.5" + "@babel/plugin-proposal-optional-chaining" "^7.14.5" + "@babel/plugin-proposal-private-methods" "^7.14.5" + "@babel/plugin-proposal-private-property-in-object" "^7.14.5" + "@babel/plugin-syntax-async-generators" "^7.8.4" + "@babel/plugin-syntax-json-strings" "^7.8.3" + "@babel/plugin-syntax-object-rest-spread" "^7.8.3" + "@babel/plugin-syntax-optional-catch-binding" "^7.8.3" + "@babel/plugin-transform-modules-commonjs" "^7.14.5" + "@babel/plugin-transform-react-jsx" "^7.14.5" + "@babel/preset-typescript" "^7.14.5" + babel-plugin-module-resolver "^4.1.0" + colors "1.4.0" + commander "^8.2.0" + debug "^4.1.1" + expect "=27.2.5" + jest-matcher-utils "=27.2.5" + jpeg-js "^0.4.2" + json5 "^2.2.0" + mime "^2.4.6" + minimatch "^3.0.3" + ms "^2.1.2" + open "^8.3.0" + pirates "^4.0.1" + pixelmatch "^5.2.1" + playwright-core "=1.18.1" + pngjs "^5.0.0" + rimraf "^3.0.2" + source-map-support "^0.4.18" + stack-utils "^2.0.3" + yazl "^2.5.1" + +"@sentry/browser@6.7.1": + version "6.7.1" + resolved "https://registry.yarnpkg.com/@sentry/browser/-/browser-6.7.1.tgz#e01144a08984a486ecc91d7922cc457e9c9bd6b7" + integrity sha512-R5PYx4TTvifcU790XkK6JVGwavKaXwycDU0MaAwfc4Vf7BLm5KCNJCsDySu1RPAap/017MVYf54p6dWvKiRviA== + dependencies: + "@sentry/core" "6.7.1" + "@sentry/types" "6.7.1" + "@sentry/utils" "6.7.1" + tslib "^1.9.3" + +"@sentry/core@6.7.1": + version "6.7.1" + resolved "https://registry.yarnpkg.com/@sentry/core/-/core-6.7.1.tgz#c3aaa6415d06bec65ac446b13b84f073805633e3" + integrity sha512-VAv8OR/7INn2JfiLcuop4hfDcyC7mfL9fdPndQEhlacjmw8gRrgXjR7qyhnCTgzFLkHI7V5bcdIzA83TRPYQpA== + dependencies: + "@sentry/hub" "6.7.1" + "@sentry/minimal" "6.7.1" + "@sentry/types" "6.7.1" + "@sentry/utils" "6.7.1" + tslib "^1.9.3" + +"@sentry/electron@^2.5.4": + version "2.5.4" + resolved "https://registry.yarnpkg.com/@sentry/electron/-/electron-2.5.4.tgz#337b2f7e228e805a3e4eb3611c7b12c6cf87c618" + integrity sha512-tCCK+P581TmdjsDpHBQz7qYcldzGdUk1Fd6FPxPy1JKGzeY4uf/uSLKzR80Lzs5kTpEZFOwiMHSA8yjwFp5qoA== + dependencies: + "@sentry/browser" "6.7.1" + "@sentry/core" "6.7.1" + "@sentry/minimal" "6.7.1" + "@sentry/node" "6.7.1" + "@sentry/types" "6.7.1" + "@sentry/utils" "6.7.1" + tslib "^2.2.0" + +"@sentry/hub@6.7.1": + version "6.7.1" + resolved "https://registry.yarnpkg.com/@sentry/hub/-/hub-6.7.1.tgz#d46d24deec67f0731a808ca16796e6765b371bc1" + integrity sha512-eVCTWvvcp6xa0A5GGNHMQEWslmKPlisE5rGmsV/kjvSUv3zSrI0eIDfb51ikdnCiBjHpK2NBWP8Vy8cZOEJegg== + dependencies: + "@sentry/types" "6.7.1" + "@sentry/utils" "6.7.1" + tslib "^1.9.3" + +"@sentry/integrations@^6.17.4": + version "6.17.4" + resolved "https://registry.yarnpkg.com/@sentry/integrations/-/integrations-6.17.4.tgz#a894526ce25020aea1dc9b2f2a4aa584c7de9b3a" + integrity sha512-NmFbv9w4AK1d4NYi0beTuJgn6t81bdiGZmkNZ9VKVI0mBfoZfwxIo7fGNrla3HMkeTwLHntXuzUu4v+w1EARqA== + dependencies: + "@sentry/types" "6.17.4" + "@sentry/utils" "6.17.4" + localforage "^1.8.1" + tslib "^1.9.3" + +"@sentry/minimal@6.7.1": + version "6.7.1" + resolved "https://registry.yarnpkg.com/@sentry/minimal/-/minimal-6.7.1.tgz#babf85ee2f167e9dcf150d750d7a0b250c98449c" + integrity sha512-HDDPEnQRD6hC0qaHdqqKDStcdE1KhkFh0RCtJNMCDn0zpav8Dj9AteF70x6kLSlliAJ/JFwi6AmQrLz+FxPexw== + dependencies: + "@sentry/hub" "6.7.1" + "@sentry/types" "6.7.1" + tslib "^1.9.3" + +"@sentry/node@6.7.1": + version "6.7.1" + resolved "https://registry.yarnpkg.com/@sentry/node/-/node-6.7.1.tgz#b09e2eca8e187168feba7bd865a23935bf0f5cc0" + integrity sha512-rtZo1O8ROv4lZwuljQz3iFZW89oXSlgXCG2VqkxQyRspPWu89abROpxLjYzsWwQ8djnur1XjFv51kOLDUTS6Qw== + dependencies: + "@sentry/core" "6.7.1" + "@sentry/hub" "6.7.1" + "@sentry/tracing" "6.7.1" + "@sentry/types" "6.7.1" + "@sentry/utils" "6.7.1" + cookie "^0.4.1" + https-proxy-agent "^5.0.0" + lru_map "^0.3.3" + tslib "^1.9.3" + +"@sentry/tracing@6.7.1": + version "6.7.1" + resolved "https://registry.yarnpkg.com/@sentry/tracing/-/tracing-6.7.1.tgz#b11f0c17a6c5dc14ef44733e5436afb686683268" + integrity sha512-wyS3nWNl5mzaC1qZ2AIp1hjXnfO9EERjMIJjCihs2LWBz1r3efxrHxJHs8wXlNWvrT3KLhq/7vvF5CdU82uPeQ== + dependencies: + "@sentry/hub" "6.7.1" + "@sentry/minimal" "6.7.1" + "@sentry/types" "6.7.1" + "@sentry/utils" "6.7.1" + tslib "^1.9.3" + +"@sentry/types@6.17.4": + version "6.17.4" + resolved "https://registry.yarnpkg.com/@sentry/types/-/types-6.17.4.tgz#36b78d7c4a6de19b2bbc631bb34893bcad30c0ba" + integrity sha512-RUyiXCKf61k2GIMP7FQX0naoSew4zLxe+UrtbjwVcWU4AFPZfH7tLNtTpVE85zAKbxsaiq3OD2FPtTZarHcwxQ== + +"@sentry/types@6.7.1": + version "6.7.1" + resolved "https://registry.yarnpkg.com/@sentry/types/-/types-6.7.1.tgz#c8263e1886df5e815570c4668eb40a1cfaa1c88b" + integrity sha512-9AO7HKoip2MBMNQJEd6+AKtjj2+q9Ze4ooWUdEvdOVSt5drg7BGpK221/p9JEOyJAZwEPEXdcMd3VAIMiOb4MA== + +"@sentry/utils@6.17.4": + version "6.17.4" + resolved "https://registry.yarnpkg.com/@sentry/utils/-/utils-6.17.4.tgz#4f109629d2e7f16c5595b4367445ef47bfe96b61" + integrity sha512-+ENzZbrlVL1JJ+FoK2EOS27nbA/yToeaJPFlyVOnbthUxVyN3TTi9Uzn9F05fIE/2BTkOEk89wPtgcHafgrD6A== + dependencies: + "@sentry/types" "6.17.4" + tslib "^1.9.3" + +"@sentry/utils@6.7.1": + version "6.7.1" + resolved "https://registry.yarnpkg.com/@sentry/utils/-/utils-6.7.1.tgz#909184ad580f0f6375e1e4d4a6ffd33dfe64a4d1" + integrity sha512-Tq2otdbWlHAkctD+EWTYKkEx6BL1Qn3Z/imkO06/PvzpWvVhJWQ5qHAzz5XnwwqNHyV03KVzYB6znq1Bea9HuA== + dependencies: + "@sentry/types" "6.7.1" + tslib "^1.9.3" + +"@sindresorhus/is@^0.14.0": + version "0.14.0" + resolved "https://registry.yarnpkg.com/@sindresorhus/is/-/is-0.14.0.tgz#9fb3a3cf3132328151f353de4632e01e52102bea" + integrity sha512-9NET910DNaIPngYnLLPeg+Ogzqsi9uM4mSboU5y6p8S5DzMTVEsJZrawi+BoDNUVBa2DhJqQYUFvMDfgU062LQ== + +"@sindresorhus/is@^4.0.0": + version "4.4.0" + resolved "https://registry.yarnpkg.com/@sindresorhus/is/-/is-4.4.0.tgz#e277e5bdbdf7cb1e20d320f02f5e2ed113cd3185" + integrity sha512-QppPM/8l3Mawvh4rn9CNEYIU9bxpXUCRMaX9yUpvBk1nMKusLKpfXGDEKExKaPhLzcn3lzil7pR6rnJ11HgeRQ== + +"@szmarczak/http-timer@^1.1.2": + version "1.1.2" + resolved "https://registry.yarnpkg.com/@szmarczak/http-timer/-/http-timer-1.1.2.tgz#b1665e2c461a2cd92f4c1bbf50d5454de0d4b421" + integrity sha512-XIB2XbzHTN6ieIjfIMV9hlVcfPU26s2vafYWQcZHWXHOxiaRZYEDKEwdl129Zyg50+foYV2jCgtrqSA6qNuNSA== + dependencies: + defer-to-connect "^1.0.1" + +"@szmarczak/http-timer@^4.0.5": + version "4.0.6" + resolved "https://registry.yarnpkg.com/@szmarczak/http-timer/-/http-timer-4.0.6.tgz#b4a914bb62e7c272d4e5989fe4440f812ab1d807" + integrity sha512-4BAffykYOgO+5nzBWYwE3W90sBgLJoUPRWWcL8wlyiM8IB8ipJz3UMJ9KXQd1RKQXpKp8Tutn80HZtWsu2u76w== + dependencies: + defer-to-connect "^2.0.0" + +"@tokenizer/token@^0.3.0": + version "0.3.0" + resolved "https://registry.yarnpkg.com/@tokenizer/token/-/token-0.3.0.tgz#fe98a93fe789247e998c75e74e9c7c63217aa276" + integrity sha512-OvjF+z51L3ov0OyAU0duzsYuvO01PH7x4t6DJx+guahgTnBHkhJdG7soQeTSFLWN3efnHyibZ4Z8l2EuWwJN3A== + +"@tootallnate/once@1": + version "1.1.2" + resolved "https://registry.yarnpkg.com/@tootallnate/once/-/once-1.1.2.tgz#ccb91445360179a04e7fe6aff78c00ffc1eeaf82" + integrity sha512-RbzJvlNzmRq5c3O09UipeuXno4tA1FE6ikOjxZK0tuxVv3412l64l5t1W5pj4+rJq9vpkm/kwiR07aZXnsKPxw== + +"@types/body-parser@*": + version "1.19.2" + resolved "https://registry.yarnpkg.com/@types/body-parser/-/body-parser-1.19.2.tgz#aea2059e28b7658639081347ac4fab3de166e6f0" + integrity sha512-ALYone6pm6QmwZoAgeyNksccT9Q4AWZQ6PvfwR37GT6r6FWUPguq6sUmNGSMV2Wr761oQoBxwGGa6DR5o1DC9g== + dependencies: + "@types/connect" "*" + "@types/node" "*" + +"@types/cacheable-request@^6.0.1": + version "6.0.2" + resolved "https://registry.yarnpkg.com/@types/cacheable-request/-/cacheable-request-6.0.2.tgz#c324da0197de0a98a2312156536ae262429ff6b9" + integrity sha512-B3xVo+dlKM6nnKTcmm5ZtY/OL8bOAOd2Olee9M1zft65ox50OzjEHW91sDiU9j6cvW8Ejg1/Qkf4xd2kugApUA== + dependencies: + "@types/http-cache-semantics" "*" + "@types/keyv" "*" + "@types/node" "*" + "@types/responselike" "*" + +"@types/connect@*": + version "3.4.35" + resolved "https://registry.yarnpkg.com/@types/connect/-/connect-3.4.35.tgz#5fcf6ae445e4021d1fc2219a4873cc73a3bb2ad1" + integrity sha512-cdeYyv4KWoEgpBISTxWvqYsVy444DOqehiF3fM3ne10AmJ62RSyNkUnxMJXHQWRQQX2eR94m5y1IZyDwBjV9FQ== + dependencies: + "@types/node" "*" + +"@types/debug@^4.1.6": + version "4.1.7" + resolved "https://registry.yarnpkg.com/@types/debug/-/debug-4.1.7.tgz#7cc0ea761509124709b8b2d1090d8f6c17aadb82" + integrity sha512-9AonUzyTjXXhEOa0DnqpzZi6VHlqKMswga9EXjpXnnqxwLtdvPPtlO8evrI5D9S6asFRCQ6v+wpiUKbw+vKqyg== + dependencies: + "@types/ms" "*" + +"@types/discord-rpc@^4.0.0": + version "4.0.0" + resolved "https://registry.yarnpkg.com/@types/discord-rpc/-/discord-rpc-4.0.0.tgz#29080812b9092996046af1a21138fb488d180f87" + integrity sha512-a5HiKOcBkB43g/lN6fBYw8FyGc6Ue9CYucxxHxXlELXpb1CxCa2NA2pGK2Ub88pi4uY5+HQeSFbYtH6DJtV3Qw== + +"@types/eslint-scope@^3.7.0": + version "3.7.3" + resolved "https://registry.yarnpkg.com/@types/eslint-scope/-/eslint-scope-3.7.3.tgz#125b88504b61e3c8bc6f870882003253005c3224" + integrity sha512-PB3ldyrcnAicT35TWPs5IcwKD8S333HMaa2VVv4+wdvebJkjWuW/xESoB8IwRcog8HYVYamb1g/R31Qv5Bx03g== + dependencies: + "@types/eslint" "*" + "@types/estree" "*" + +"@types/eslint@*": + version "8.4.1" + resolved "https://registry.yarnpkg.com/@types/eslint/-/eslint-8.4.1.tgz#c48251553e8759db9e656de3efc846954ac32304" + integrity sha512-GE44+DNEyxxh2Kc6ro/VkIj+9ma0pO0bwv9+uHSyBrikYOHr8zYcdPvnBOp1aw8s+CjRvuSx7CyWqRrNFQ59mA== + dependencies: + "@types/estree" "*" + "@types/json-schema" "*" + +"@types/estree@*", "@types/estree@^0.0.50": + version "0.0.50" + resolved "https://registry.yarnpkg.com/@types/estree/-/estree-0.0.50.tgz#1e0caa9364d3fccd2931c3ed96fdbeaa5d4cca83" + integrity sha512-C6N5s2ZFtuZRj54k2/zyRhNDjJwwcViAM3Nbm8zjBpbqAdZ00mr0CFxvSKeO8Y/e03WVFLpQMdHYVfUd6SB+Hw== + +"@types/express-serve-static-core@^4.17.18": + version "4.17.28" + resolved "https://registry.yarnpkg.com/@types/express-serve-static-core/-/express-serve-static-core-4.17.28.tgz#c47def9f34ec81dc6328d0b1b5303d1ec98d86b8" + integrity sha512-P1BJAEAW3E2DJUlkgq4tOL3RyMunoWXqbSCygWo5ZIWTjUgN1YnaXWW4VWl/oc8vs/XoYibEGBKP0uZyF4AHig== + dependencies: + "@types/node" "*" + "@types/qs" "*" + "@types/range-parser" "*" + +"@types/express@^4.17.13": + version "4.17.13" + resolved "https://registry.yarnpkg.com/@types/express/-/express-4.17.13.tgz#a76e2995728999bab51a33fabce1d705a3709034" + integrity sha512-6bSZTPaTIACxn48l50SR+axgrqm6qXFIxrdAKaG6PaJk3+zuUr35hBlgT7vOmJcum+OEaIBLtHV/qloEAFITeA== + dependencies: + "@types/body-parser" "*" + "@types/express-serve-static-core" "^4.17.18" + "@types/qs" "*" + "@types/serve-static" "*" + +"@types/fs-extra@^9.0.11": + version "9.0.13" + resolved "https://registry.yarnpkg.com/@types/fs-extra/-/fs-extra-9.0.13.tgz#7594fbae04fe7f1918ce8b3d213f74ff44ac1f45" + integrity sha512-nEnwB++1u5lVDM2UI4c1+5R+FYaKfaAzS4OococimjVm3nQw3TuzH5UNsocrcTBbhnerblyHj4A49qXbIiZdpA== + dependencies: + "@types/node" "*" + +"@types/glob@^7.1.1": + version "7.2.0" + resolved "https://registry.yarnpkg.com/@types/glob/-/glob-7.2.0.tgz#bc1b5bf3aa92f25bd5dd39f35c57361bdce5b2eb" + integrity sha512-ZUxbzKl0IfJILTS6t7ip5fQQM/J3TJYubDm3nMbgubNNYS62eXeUpoLUC8/7fJNiFYHTrGPQn7hspDUzIHX3UA== + dependencies: + "@types/minimatch" "*" + "@types/node" "*" + +"@types/html-minifier-terser@^5.0.0": + version "5.1.2" + resolved "https://registry.yarnpkg.com/@types/html-minifier-terser/-/html-minifier-terser-5.1.2.tgz#693b316ad323ea97eed6b38ed1a3cc02b1672b57" + integrity sha512-h4lTMgMJctJybDp8CQrxTUiiYmedihHWkjnF/8Pxseu2S6Nlfcy8kwboQ8yejh456rP2yWoEVm1sS/FVsfM48w== + +"@types/http-cache-semantics@*": + version "4.0.1" + resolved "https://registry.yarnpkg.com/@types/http-cache-semantics/-/http-cache-semantics-4.0.1.tgz#0ea7b61496902b95890dc4c3a116b60cb8dae812" + integrity sha512-SZs7ekbP8CN0txVG2xVRH6EgKmEm31BOxA07vkFaETzZz1xh+cbt8BcI0slpymvwhx5dlFnQG2rTlPVQn+iRPQ== + +"@types/istanbul-lib-coverage@*", "@types/istanbul-lib-coverage@^2.0.0": + version "2.0.4" + resolved "https://registry.yarnpkg.com/@types/istanbul-lib-coverage/-/istanbul-lib-coverage-2.0.4.tgz#8467d4b3c087805d63580480890791277ce35c44" + integrity sha512-z/QT1XN4K4KYuslS23k62yDIDLwLFkzxOuMplDtObz0+y7VqJCaO2o+SPwHCvLFZh7xazvvoor2tA/hPz9ee7g== + +"@types/istanbul-lib-report@*": + version "3.0.0" + resolved "https://registry.yarnpkg.com/@types/istanbul-lib-report/-/istanbul-lib-report-3.0.0.tgz#c14c24f18ea8190c118ee7562b7ff99a36552686" + integrity sha512-plGgXAPfVKFoYfa9NpYDAkseG+g6Jr294RqeqcqDixSbU34MZVJRi/P+7Y8GDpzkEwLaGZZOpKIEmeVZNtKsrg== + dependencies: + "@types/istanbul-lib-coverage" "*" + +"@types/istanbul-reports@^3.0.0": + version "3.0.1" + resolved "https://registry.yarnpkg.com/@types/istanbul-reports/-/istanbul-reports-3.0.1.tgz#9153fe98bba2bd565a63add9436d6f0d7f8468ff" + integrity sha512-c3mAZEuK0lvBp8tmuL74XRKn1+y2dcwOUpH7x4WrF6gk1GIgiluDRgMYQtw2OFcBvAJWlt6ASU3tSqxp0Uu0Aw== + dependencies: + "@types/istanbul-lib-report" "*" + +"@types/json-schema@*", "@types/json-schema@^7.0.5", "@types/json-schema@^7.0.8": + version "7.0.9" + resolved "https://registry.yarnpkg.com/@types/json-schema/-/json-schema-7.0.9.tgz#97edc9037ea0c38585320b28964dde3b39e4660d" + integrity sha512-qcUXuemtEu+E5wZSJHNxUXeCZhAfXKQ41D+duX+VYPde7xyEVZci+/oXKJL13tnRs9lR2pr4fod59GT6/X1/yQ== + +"@types/keyv@*": + version "3.1.3" + resolved "https://registry.yarnpkg.com/@types/keyv/-/keyv-3.1.3.tgz#1c9aae32872ec1f20dcdaee89a9f3ba88f465e41" + integrity sha512-FXCJgyyN3ivVgRoml4h94G/p3kY+u/B86La+QptcqJaWtBWtmc6TtkNfS40n9bIvyLteHh7zXOtgbobORKPbDg== + dependencies: + "@types/node" "*" + +"@types/mime@^1": + version "1.3.2" + resolved "https://registry.yarnpkg.com/@types/mime/-/mime-1.3.2.tgz#93e25bf9ee75fe0fd80b594bc4feb0e862111b5a" + integrity sha512-YATxVxgRqNH6nHEIsvg6k2Boc1JHI9ZbH5iWFFv/MTkchz3b1ieGDa5T0a9RznNdI0KhVbdbWSN+KWWrQZRxTw== + +"@types/minimatch@*": + version "3.0.5" + resolved "https://registry.yarnpkg.com/@types/minimatch/-/minimatch-3.0.5.tgz#1001cc5e6a3704b83c236027e77f2f58ea010f40" + integrity sha512-Klz949h02Gz2uZCMGwDUSDS1YBlTdDDgbWHi+81l29tQALUtvz4rAYi5uoVhE5Lagoq6DeqAUlbrHvW/mXDgdQ== + +"@types/ms@*": + version "0.7.31" + resolved "https://registry.yarnpkg.com/@types/ms/-/ms-0.7.31.tgz#31b7ca6407128a3d2bbc27fe2d21b345397f6197" + integrity sha512-iiUgKzV9AuaEkZqkOLDIvlQiL6ltuZd9tGcW3gwpnX8JbuiuhFlEGmmFXEXkN50Cvq7Os88IY2v0dkDqXYWVgA== + +"@types/node@*": + version "17.0.15" + resolved "https://registry.yarnpkg.com/@types/node/-/node-17.0.15.tgz#97779282c09c09577120a2162e71d8380003590a" + integrity sha512-zWt4SDDv1S9WRBNxLFxFRHxdD9tvH8f5/kg5/IaLFdnSNXsDY4eL3Q3XXN+VxUnWIhyVFDwcsmAprvwXoM/ClA== + +"@types/node@^14.6.2": + version "14.18.10" + resolved "https://registry.yarnpkg.com/@types/node/-/node-14.18.10.tgz#774f43868964f3cfe4ced1f5417fe15818a4eaea" + integrity sha512-6iihJ/Pp5fsFJ/aEDGyvT4pHGmCpq7ToQ/yf4bl5SbVAvwpspYJ+v3jO7n8UyjhQVHTy+KNszOozDdv+O6sovQ== + +"@types/plist@^3.0.1": + version "3.0.2" + resolved "https://registry.yarnpkg.com/@types/plist/-/plist-3.0.2.tgz#61b3727bba0f5c462fe333542534a0c3e19ccb01" + integrity sha512-ULqvZNGMv0zRFvqn8/4LSPtnmN4MfhlPNtJCTpKuIIxGVGZ2rYWzFXrvEBoh9CVyqSE7D6YFRJ1hydLHI6kbWw== + dependencies: + "@types/node" "*" + xmlbuilder ">=11.0.1" + +"@types/qrcode-terminal@^0.12.0": + version "0.12.0" + resolved "https://registry.yarnpkg.com/@types/qrcode-terminal/-/qrcode-terminal-0.12.0.tgz#cee13a96db9346e3240e2128290465db56799961" + integrity sha512-g0fQKl3IVnUePV8tLkiBTduxAVSZsXts444T2aMfjOEGxd7XoeSIs16/AmRe2NlcJLqbvsOBSXov7dKSo4wigA== + +"@types/qs@*": + version "6.9.7" + resolved "https://registry.yarnpkg.com/@types/qs/-/qs-6.9.7.tgz#63bb7d067db107cc1e457c303bc25d511febf6cb" + integrity sha512-FGa1F62FT09qcrueBA6qYTrJPVDzah9a+493+o2PCXsesWHIn27G98TsSMs3WPNbZIEj4+VJf6saSFpvD+3Zsw== + +"@types/range-parser@*": + version "1.2.4" + resolved "https://registry.yarnpkg.com/@types/range-parser/-/range-parser-1.2.4.tgz#cd667bcfdd025213aafb7ca5915a932590acdcdc" + integrity sha512-EEhsLsD6UsDM1yFhAvy0Cjr6VwmpMWqFBCb9w07wVugF7w9nfajxLuVmngTIpgS6svCnm6Vaw+MZhoDCKnOfsw== + +"@types/responselike@*", "@types/responselike@^1.0.0": + version "1.0.0" + resolved "https://registry.yarnpkg.com/@types/responselike/-/responselike-1.0.0.tgz#251f4fe7d154d2bad125abe1b429b23afd262e29" + integrity sha512-85Y2BjiufFzaMIlvJDvTTB8Fxl2xfLo4HgmHzVBz08w4wDePCTjYw66PdrolO0kzli3yam/YCgRufyo1DdQVTA== + dependencies: + "@types/node" "*" + +"@types/semver@^7.3.6": + version "7.3.9" + resolved "https://registry.yarnpkg.com/@types/semver/-/semver-7.3.9.tgz#152c6c20a7688c30b967ec1841d31ace569863fc" + integrity sha512-L/TMpyURfBkf+o/526Zb6kd/tchUP3iBDEPjqjb+U2MAJhVRxxrmr2fwpe08E7QsV7YLcpq0tUaQ9O9x97ZIxQ== + +"@types/serve-static@*": + version "1.13.10" + resolved "https://registry.yarnpkg.com/@types/serve-static/-/serve-static-1.13.10.tgz#f5e0ce8797d2d7cc5ebeda48a52c96c4fa47a8d9" + integrity sha512-nCkHGI4w7ZgAdNkrEu0bv+4xNV/XDqW+DydknebMOQwkpDGx8G+HTlj7R7ABI8i8nKxVw0wtKPi1D+lPOkh4YQ== + dependencies: + "@types/mime" "^1" + "@types/node" "*" + +"@types/source-list-map@*": + version "0.1.2" + resolved "https://registry.yarnpkg.com/@types/source-list-map/-/source-list-map-0.1.2.tgz#0078836063ffaf17412349bba364087e0ac02ec9" + integrity sha512-K5K+yml8LTo9bWJI/rECfIPrGgxdpeNbj+d53lwN4QjW1MCwlkhUms+gtdzigTeUyBr09+u8BwOIY3MXvHdcsA== + +"@types/stack-utils@^2.0.0": + version "2.0.1" + resolved "https://registry.yarnpkg.com/@types/stack-utils/-/stack-utils-2.0.1.tgz#20f18294f797f2209b5f65c8e3b5c8e8261d127c" + integrity sha512-Hl219/BT5fLAaz6NDkSuhzasy49dwQS/DSdu4MdggFB8zcXv7vflBI3xp7FEmkmdDkBUI2bPUNeMttp2knYdxw== + +"@types/tapable@^1", "@types/tapable@^1.0.5": + version "1.0.8" + resolved "https://registry.yarnpkg.com/@types/tapable/-/tapable-1.0.8.tgz#b94a4391c85666c7b73299fd3ad79d4faa435310" + integrity sha512-ipixuVrh2OdNmauvtT51o3d8z12p6LtFW9in7U79der/kwejjdNchQC5UMn5u/KxNoM7VHHOs/l8KS8uHxhODQ== + +"@types/uglify-js@*": + version "3.13.1" + resolved "https://registry.yarnpkg.com/@types/uglify-js/-/uglify-js-3.13.1.tgz#5e889e9e81e94245c75b6450600e1c5ea2878aea" + integrity sha512-O3MmRAk6ZuAKa9CHgg0Pr0+lUOqoMLpc9AS4R8ano2auvsg7IE8syF3Xh/NPr26TWklxYcqoEEFdzLLs1fV9PQ== + dependencies: + source-map "^0.6.1" + +"@types/verror@^1.10.3": + version "1.10.5" + resolved "https://registry.yarnpkg.com/@types/verror/-/verror-1.10.5.tgz#2a1413aded46e67a1fe2386800e291123ed75eb1" + integrity sha512-9UjMCHK5GPgQRoNbqdLIAvAy0EInuiqbW0PBMtVP6B5B2HQJlvoJHM+KodPZMEjOa5VkSc+5LH7xy+cUzQdmHw== + +"@types/webpack-env@^1.15.1": + version "1.16.3" + resolved "https://registry.yarnpkg.com/@types/webpack-env/-/webpack-env-1.16.3.tgz#b776327a73e561b71e7881d0cd6d34a1424db86a" + integrity sha512-9gtOPPkfyNoEqCQgx4qJKkuNm/x0R2hKR7fdl7zvTJyHnIisuE/LfvXOsYWL0o3qq6uiBnKZNNNzi3l0y/X+xw== + +"@types/webpack-sources@*": + version "3.2.0" + resolved "https://registry.yarnpkg.com/@types/webpack-sources/-/webpack-sources-3.2.0.tgz#16d759ba096c289034b26553d2df1bf45248d38b" + integrity sha512-Ft7YH3lEVRQ6ls8k4Ff1oB4jN6oy/XmU6tQISKdhfh+1mR+viZFphS6WL0IrtDOzvefmJg5a0s7ZQoRXwqTEFg== + dependencies: + "@types/node" "*" + "@types/source-list-map" "*" + source-map "^0.7.3" + +"@types/webpack@^4.41.8": + version "4.41.32" + resolved "https://registry.yarnpkg.com/@types/webpack/-/webpack-4.41.32.tgz#a7bab03b72904070162b2f169415492209e94212" + integrity sha512-cb+0ioil/7oz5//7tZUSwbrSAN/NWHrQylz5cW8G0dWTcF/g+/dSdMlKVZspBYuMAN1+WnwHrkxiRrLcwd0Heg== + dependencies: + "@types/node" "*" + "@types/tapable" "^1" + "@types/uglify-js" "*" + "@types/webpack-sources" "*" + anymatch "^3.0.0" + source-map "^0.6.0" + +"@types/ws@^8.2.2": + version "8.2.2" + resolved "https://registry.yarnpkg.com/@types/ws/-/ws-8.2.2.tgz#7c5be4decb19500ae6b3d563043cd407bf366c21" + integrity sha512-NOn5eIcgWLOo6qW8AcuLZ7G8PycXu0xTxxkS6Q18VWFxgPUSOwV0pBj2a/4viNZVu25i7RIB7GttdkAIUUXOOg== + dependencies: + "@types/node" "*" + +"@types/yargs-parser@*": + version "20.2.1" + resolved "https://registry.yarnpkg.com/@types/yargs-parser/-/yargs-parser-20.2.1.tgz#3b9ce2489919d9e4fea439b76916abc34b2df129" + integrity sha512-7tFImggNeNBVMsn0vLrpn1H1uPrUBdnARPTpZoitY37ZrdJREzf7I16tMrlK3hen349gr1NYh8CmZQa7CTG6Aw== + +"@types/yargs@^16.0.0": + version "16.0.4" + resolved "https://registry.yarnpkg.com/@types/yargs/-/yargs-16.0.4.tgz#26aad98dd2c2a38e421086ea9ad42b9e51642977" + integrity sha512-T8Yc9wt/5LbJyCaLiHPReJa0kApcIgJ7Bn735GjItUfh08Z1pJvu8QZqb9s+mMvKV6WUQRV7K2R46YbjMXTTJw== + dependencies: + "@types/yargs-parser" "*" + +"@types/yargs@^17.0.1": + version "17.0.8" + resolved "https://registry.yarnpkg.com/@types/yargs/-/yargs-17.0.8.tgz#d23a3476fd3da8a0ea44b5494ca7fa677b9dad4c" + integrity sha512-wDeUwiUmem9FzsyysEwRukaEdDNcwbROvQ9QGRKaLI6t+IltNzbn4/i4asmB10auvZGQCzSQ6t0GSczEThlUXw== + dependencies: + "@types/yargs-parser" "*" + +"@types/yauzl@^2.9.1": + version "2.9.2" + resolved "https://registry.yarnpkg.com/@types/yauzl/-/yauzl-2.9.2.tgz#c48e5d56aff1444409e39fa164b0b4d4552a7b7a" + integrity sha512-8uALY5LTvSuHgloDVUvWP3pIauILm+8/0pDMokuDYIoNsOkSwd5AiHBTSEJjKTDcZr5z8UpgOWZkxBF4iJftoA== + dependencies: + "@types/node" "*" + +"@webassemblyjs/ast@1.11.1": + version "1.11.1" + resolved "https://registry.yarnpkg.com/@webassemblyjs/ast/-/ast-1.11.1.tgz#2bfd767eae1a6996f432ff7e8d7fc75679c0b6a7" + integrity sha512-ukBh14qFLjxTQNTXocdyksN5QdM28S1CxHt2rdskFyL+xFV7VremuBLVbmCePj+URalXBENx/9Lm7lnhihtCSw== + dependencies: + "@webassemblyjs/helper-numbers" "1.11.1" + "@webassemblyjs/helper-wasm-bytecode" "1.11.1" + +"@webassemblyjs/floating-point-hex-parser@1.11.1": + version "1.11.1" + resolved "https://registry.yarnpkg.com/@webassemblyjs/floating-point-hex-parser/-/floating-point-hex-parser-1.11.1.tgz#f6c61a705f0fd7a6aecaa4e8198f23d9dc179e4f" + integrity sha512-iGRfyc5Bq+NnNuX8b5hwBrRjzf0ocrJPI6GWFodBFzmFnyvrQ83SHKhmilCU/8Jv67i4GJZBMhEzltxzcNagtQ== + +"@webassemblyjs/helper-api-error@1.11.1": + version "1.11.1" + resolved "https://registry.yarnpkg.com/@webassemblyjs/helper-api-error/-/helper-api-error-1.11.1.tgz#1a63192d8788e5c012800ba6a7a46c705288fd16" + integrity sha512-RlhS8CBCXfRUR/cwo2ho9bkheSXG0+NwooXcc3PAILALf2QLdFyj7KGsKRbVc95hZnhnERon4kW/D3SZpp6Tcg== + +"@webassemblyjs/helper-buffer@1.11.1": + version "1.11.1" + resolved "https://registry.yarnpkg.com/@webassemblyjs/helper-buffer/-/helper-buffer-1.11.1.tgz#832a900eb444884cde9a7cad467f81500f5e5ab5" + integrity sha512-gwikF65aDNeeXa8JxXa2BAk+REjSyhrNC9ZwdT0f8jc4dQQeDQ7G4m0f2QCLPJiMTTO6wfDmRmj/pW0PsUvIcA== + +"@webassemblyjs/helper-numbers@1.11.1": + version "1.11.1" + resolved "https://registry.yarnpkg.com/@webassemblyjs/helper-numbers/-/helper-numbers-1.11.1.tgz#64d81da219fbbba1e3bd1bfc74f6e8c4e10a62ae" + integrity sha512-vDkbxiB8zfnPdNK9Rajcey5C0w+QJugEglN0of+kmO8l7lDb77AnlKYQF7aarZuCrv+l0UvqL+68gSDr3k9LPQ== + dependencies: + "@webassemblyjs/floating-point-hex-parser" "1.11.1" + "@webassemblyjs/helper-api-error" "1.11.1" + "@xtuc/long" "4.2.2" + +"@webassemblyjs/helper-wasm-bytecode@1.11.1": + version "1.11.1" + resolved "https://registry.yarnpkg.com/@webassemblyjs/helper-wasm-bytecode/-/helper-wasm-bytecode-1.11.1.tgz#f328241e41e7b199d0b20c18e88429c4433295e1" + integrity sha512-PvpoOGiJwXeTrSf/qfudJhwlvDQxFgelbMqtq52WWiXC6Xgg1IREdngmPN3bs4RoO83PnL/nFrxucXj1+BX62Q== + +"@webassemblyjs/helper-wasm-section@1.11.1": + version "1.11.1" + resolved "https://registry.yarnpkg.com/@webassemblyjs/helper-wasm-section/-/helper-wasm-section-1.11.1.tgz#21ee065a7b635f319e738f0dd73bfbda281c097a" + integrity sha512-10P9No29rYX1j7F3EVPX3JvGPQPae+AomuSTPiF9eBQeChHI6iqjMIwR9JmOJXwpnn/oVGDk7I5IlskuMwU/pg== + dependencies: + "@webassemblyjs/ast" "1.11.1" + "@webassemblyjs/helper-buffer" "1.11.1" + "@webassemblyjs/helper-wasm-bytecode" "1.11.1" + "@webassemblyjs/wasm-gen" "1.11.1" + +"@webassemblyjs/ieee754@1.11.1": + version "1.11.1" + resolved "https://registry.yarnpkg.com/@webassemblyjs/ieee754/-/ieee754-1.11.1.tgz#963929e9bbd05709e7e12243a099180812992614" + integrity sha512-hJ87QIPtAMKbFq6CGTkZYJivEwZDbQUgYd3qKSadTNOhVY7p+gfP6Sr0lLRVTaG1JjFj+r3YchoqRYxNH3M0GQ== + dependencies: + "@xtuc/ieee754" "^1.2.0" + +"@webassemblyjs/leb128@1.11.1": + version "1.11.1" + resolved "https://registry.yarnpkg.com/@webassemblyjs/leb128/-/leb128-1.11.1.tgz#ce814b45574e93d76bae1fb2644ab9cdd9527aa5" + integrity sha512-BJ2P0hNZ0u+Th1YZXJpzW6miwqQUGcIHT1G/sf72gLVD9DZ5AdYTqPNbHZh6K1M5VmKvFXwGSWZADz+qBWxeRw== + dependencies: + "@xtuc/long" "4.2.2" + +"@webassemblyjs/utf8@1.11.1": + version "1.11.1" + resolved "https://registry.yarnpkg.com/@webassemblyjs/utf8/-/utf8-1.11.1.tgz#d1f8b764369e7c6e6bae350e854dec9a59f0a3ff" + integrity sha512-9kqcxAEdMhiwQkHpkNiorZzqpGrodQQ2IGrHHxCy+Ozng0ofyMA0lTqiLkVs1uzTRejX+/O0EOT7KxqVPuXosQ== + +"@webassemblyjs/wasm-edit@1.11.1": + version "1.11.1" + resolved "https://registry.yarnpkg.com/@webassemblyjs/wasm-edit/-/wasm-edit-1.11.1.tgz#ad206ebf4bf95a058ce9880a8c092c5dec8193d6" + integrity sha512-g+RsupUC1aTHfR8CDgnsVRVZFJqdkFHpsHMfJuWQzWU3tvnLC07UqHICfP+4XyL2tnr1amvl1Sdp06TnYCmVkA== + dependencies: + "@webassemblyjs/ast" "1.11.1" + "@webassemblyjs/helper-buffer" "1.11.1" + "@webassemblyjs/helper-wasm-bytecode" "1.11.1" + "@webassemblyjs/helper-wasm-section" "1.11.1" + "@webassemblyjs/wasm-gen" "1.11.1" + "@webassemblyjs/wasm-opt" "1.11.1" + "@webassemblyjs/wasm-parser" "1.11.1" + "@webassemblyjs/wast-printer" "1.11.1" + +"@webassemblyjs/wasm-gen@1.11.1": + version "1.11.1" + resolved "https://registry.yarnpkg.com/@webassemblyjs/wasm-gen/-/wasm-gen-1.11.1.tgz#86c5ea304849759b7d88c47a32f4f039ae3c8f76" + integrity sha512-F7QqKXwwNlMmsulj6+O7r4mmtAlCWfO/0HdgOxSklZfQcDu0TpLiD1mRt/zF25Bk59FIjEuGAIyn5ei4yMfLhA== + dependencies: + "@webassemblyjs/ast" "1.11.1" + "@webassemblyjs/helper-wasm-bytecode" "1.11.1" + "@webassemblyjs/ieee754" "1.11.1" + "@webassemblyjs/leb128" "1.11.1" + "@webassemblyjs/utf8" "1.11.1" + +"@webassemblyjs/wasm-opt@1.11.1": + version "1.11.1" + resolved "https://registry.yarnpkg.com/@webassemblyjs/wasm-opt/-/wasm-opt-1.11.1.tgz#657b4c2202f4cf3b345f8a4c6461c8c2418985f2" + integrity sha512-VqnkNqnZlU5EB64pp1l7hdm3hmQw7Vgqa0KF/KCNO9sIpI6Fk6brDEiX+iCOYrvMuBWDws0NkTOxYEb85XQHHw== + dependencies: + "@webassemblyjs/ast" "1.11.1" + "@webassemblyjs/helper-buffer" "1.11.1" + "@webassemblyjs/wasm-gen" "1.11.1" + "@webassemblyjs/wasm-parser" "1.11.1" + +"@webassemblyjs/wasm-parser@1.11.1": + version "1.11.1" + resolved "https://registry.yarnpkg.com/@webassemblyjs/wasm-parser/-/wasm-parser-1.11.1.tgz#86ca734534f417e9bd3c67c7a1c75d8be41fb199" + integrity sha512-rrBujw+dJu32gYB7/Lup6UhdkPx9S9SnobZzRVL7VcBH9Bt9bCBLEuX/YXOOtBsOZ4NQrRykKhffRWHvigQvOA== + dependencies: + "@webassemblyjs/ast" "1.11.1" + "@webassemblyjs/helper-api-error" "1.11.1" + "@webassemblyjs/helper-wasm-bytecode" "1.11.1" + "@webassemblyjs/ieee754" "1.11.1" + "@webassemblyjs/leb128" "1.11.1" + "@webassemblyjs/utf8" "1.11.1" + +"@webassemblyjs/wast-printer@1.11.1": + version "1.11.1" + resolved "https://registry.yarnpkg.com/@webassemblyjs/wast-printer/-/wast-printer-1.11.1.tgz#d0c73beda8eec5426f10ae8ef55cee5e7084c2f0" + integrity sha512-IQboUWM4eKzWW+N/jij2sRatKMh99QEelo3Eb2q0qXkvPRISAj8Qxtmw5itwqK+TTkBuUIE45AxYPToqPtL5gg== + dependencies: + "@webassemblyjs/ast" "1.11.1" + "@xtuc/long" "4.2.2" + +"@xtuc/ieee754@^1.2.0": + version "1.2.0" + resolved "https://registry.yarnpkg.com/@xtuc/ieee754/-/ieee754-1.2.0.tgz#eef014a3145ae477a1cbc00cd1e552336dceb790" + integrity sha512-DX8nKgqcGwsc0eJSqYt5lwP4DH5FlHnmuWWBRy7X0NcaGR0ZtuyeESgMwTYVEtxmsNGY+qit4QYT/MIYTOTPeA== + +"@xtuc/long@4.2.2": + version "4.2.2" + resolved "https://registry.yarnpkg.com/@xtuc/long/-/long-4.2.2.tgz#d291c6a4e97989b5c61d9acf396ae4fe133a718d" + integrity sha512-NuHqBY1PB/D8xU6s/thBgOAiAP7HOYDQ32+BFZILJ8ivkUkAHQnWfn6WhL79Owj1qmUnoN/YPhktdIoucipkAQ== + +abbrev@1: + version "1.1.1" + resolved "https://registry.yarnpkg.com/abbrev/-/abbrev-1.1.1.tgz#f8f2c887ad10bf67f634f005b6987fed3179aac8" + integrity sha512-nne9/IiQ/hzIhY6pdDnbBtz7DjPTKrY00P/zvPSm5pOFkl6xuGrGnXn/VtTNNfNtAfZ9/1RtehkszU9qcTii0Q== + +abstract-socket@^2.0.0: + version "2.1.1" + resolved "https://registry.yarnpkg.com/abstract-socket/-/abstract-socket-2.1.1.tgz#243a7e6e6ff65bb9eab16a22fa90699b91e528f7" + integrity sha512-YZJizsvS1aBua5Gd01woe4zuyYBGgSMeqDOB6/ChwdTI904KP6QGtJswXl4hcqWxbz86hQBe++HWV0hF1aGUtA== + dependencies: + bindings "^1.2.1" + nan "^2.12.1" + +accepts@~1.3.4, accepts@~1.3.5, accepts@~1.3.7: + version "1.3.8" + resolved "https://registry.yarnpkg.com/accepts/-/accepts-1.3.8.tgz#0bf0be125b67014adcb0b0921e62db7bffe16b2e" + integrity sha512-PYAthTa2m2VKxuvSD3DPC/Gy+U+sOA1LAuT8mkmRuvw+NACSaeXEQ+NHcVF7rONl6qcaxV3Uuemwawk+7+SJLw== + dependencies: + mime-types "~2.1.34" + negotiator "0.6.3" + +acorn-import-assertions@^1.7.6: + version "1.8.0" + resolved "https://registry.yarnpkg.com/acorn-import-assertions/-/acorn-import-assertions-1.8.0.tgz#ba2b5939ce62c238db6d93d81c9b111b29b855e9" + integrity sha512-m7VZ3jwz4eK6A4Vtt8Ew1/mNbP24u0FhdyfA7fSvnJR6LMdfOYnmuIrrJAgrYfYJ10F/otaHTtrtrtmHdMNzEw== + +acorn@^8.4.1: + version "8.7.0" + resolved "https://registry.yarnpkg.com/acorn/-/acorn-8.7.0.tgz#90951fde0f8f09df93549481e5fc141445b791cf" + integrity sha512-V/LGr1APy+PXIwKebEWrkZPwoeoF+w1jiOBUmuxuiUIaOHtob8Qc9BTrYo7VuI5fR8tqsy+buA2WFooR5olqvQ== + +agent-base@6, agent-base@^6.0.2: + version "6.0.2" + resolved "https://registry.yarnpkg.com/agent-base/-/agent-base-6.0.2.tgz#49fff58577cfee3f37176feab4c22e00f86d7f77" + integrity sha512-RZNwNclF7+MS/8bDg70amg32dyeZGZxiDuQmZxKLAlQjr3jGyLx+4Kkk58UO7D2QdgFIQCovuSuZESne6RG6XQ== + dependencies: + debug "4" + +agentkeepalive@^4.1.3: + version "4.2.0" + resolved "https://registry.yarnpkg.com/agentkeepalive/-/agentkeepalive-4.2.0.tgz#616ce94ccb41d1a39a45d203d8076fe98713062d" + integrity sha512-0PhAp58jZNw13UJv7NVdTGb0ZcghHUb3DrZ046JiiJY/BOaTTpbwdHq2VObPCBV8M2GPh7sgrJ3AQ8Ey468LJw== + dependencies: + debug "^4.1.0" + depd "^1.1.2" + humanize-ms "^1.2.1" + +aggregate-error@^3.0.0: + version "3.1.0" + resolved "https://registry.yarnpkg.com/aggregate-error/-/aggregate-error-3.1.0.tgz#92670ff50f5359bdb7a3e0d40d0ec30c5737687a" + integrity sha512-4I7Td01quW/RpocfNayFdFVk1qSuoh0E7JrbRJ16nH01HhKFQ88INq9Sd+nd72zqRySlr9BmDA8xlEJ6vJMrYA== + dependencies: + clean-stack "^2.0.0" + indent-string "^4.0.0" + +ajv-errors@^1.0.0: + version "1.0.1" + resolved "https://registry.yarnpkg.com/ajv-errors/-/ajv-errors-1.0.1.tgz#f35986aceb91afadec4102fbd85014950cefa64d" + integrity sha512-DCRfO/4nQ+89p/RK43i8Ezd41EqdGIU4ld7nGF8OQ14oc/we5rEntLCUa7+jrn3nn83BosfwZA0wb4pon2o8iQ== + +ajv-formats@^2.1.1: + version "2.1.1" + resolved "https://registry.yarnpkg.com/ajv-formats/-/ajv-formats-2.1.1.tgz#6e669400659eb74973bbf2e33327180a0996b520" + integrity sha512-Wx0Kx52hxE7C18hkMEggYlEifqWZtYaRgouJor+WMdPnQyEK13vgEWyVNup7SoeeoLMsr4kf5h6dOW11I15MUA== + dependencies: + ajv "^8.0.0" + +ajv-keywords@^3.1.0, ajv-keywords@^3.4.1, ajv-keywords@^3.5.2: + version "3.5.2" + resolved "https://registry.yarnpkg.com/ajv-keywords/-/ajv-keywords-3.5.2.tgz#31f29da5ab6e00d1c2d329acf7b5929614d5014d" + integrity sha512-5p6WTN0DdTGVQk6VjcEju19IgaHudalcfabD7yhDGeA6bcQnmL+CpveLJq/3hvfwd1aof6L386Ougkx6RfyMIQ== + +ajv@^6.1.0, ajv@^6.10.0, ajv@^6.10.1, ajv@^6.12.0, ajv@^6.12.4, ajv@^6.12.5: + version "6.12.6" + resolved "https://registry.yarnpkg.com/ajv/-/ajv-6.12.6.tgz#baf5a62e802b07d977034586f8c3baf5adf26df4" + integrity sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g== + dependencies: + fast-deep-equal "^3.1.1" + fast-json-stable-stringify "^2.0.0" + json-schema-traverse "^0.4.1" + uri-js "^4.2.2" + +ajv@^8.0.0, ajv@^8.6.3: + version "8.10.0" + resolved "https://registry.yarnpkg.com/ajv/-/ajv-8.10.0.tgz#e573f719bd3af069017e3b66538ab968d040e54d" + integrity sha512-bzqAEZOjkrUMl2afH8dknrq5KEk2SrwdBROR+vH1EKVQTqaUbJVPdc/gEdggTMM0Se+s+Ja4ju4TlNcStKl2Hw== + dependencies: + fast-deep-equal "^3.1.1" + json-schema-traverse "^1.0.0" + require-from-string "^2.0.2" + uri-js "^4.2.2" + +ansi-align@^3.0.0: + version "3.0.1" + resolved "https://registry.yarnpkg.com/ansi-align/-/ansi-align-3.0.1.tgz#0cdf12e111ace773a86e9a1fad1225c43cb19a59" + integrity sha512-IOfwwBF5iczOjp/WeY4YxyjqAFMQoZufdQWDd19SEExbVLNXqvpzSJ/M7Za4/sCPmQ0+GRquoA7bGcINcxew6w== + dependencies: + string-width "^4.1.0" + +ansi-colors@^3.0.0: + version "3.2.4" + resolved "https://registry.yarnpkg.com/ansi-colors/-/ansi-colors-3.2.4.tgz#e3a3da4bfbae6c86a9c285625de124a234026fbf" + integrity sha512-hHUXGagefjN2iRrID63xckIvotOXOojhQKWIPUZ4mNUZ9nLZW+7FMNoE1lOkEhNWYsx/7ysGIuJYCiMAA9FnrA== + +ansi-html-community@0.0.8: + version "0.0.8" + resolved "https://registry.yarnpkg.com/ansi-html-community/-/ansi-html-community-0.0.8.tgz#69fbc4d6ccbe383f9736934ae34c3f8290f1bf41" + integrity sha512-1APHAyr3+PCamwNw3bXCPp4HFLONZt/yIH0sZp0/469KWNTEy+qN5jQ3GVX6DMZ1UXAi34yVwtTeaG/HpBuuzw== + +ansi-regex@^2.0.0: + version "2.1.1" + resolved "https://registry.yarnpkg.com/ansi-regex/-/ansi-regex-2.1.1.tgz#c3b33ab5ee360d86e0e628f0468ae7ef27d654df" + integrity sha1-w7M6te42DYbg5ijwRorn7yfWVN8= + +ansi-regex@^4.1.0: + version "4.1.0" + resolved "https://registry.yarnpkg.com/ansi-regex/-/ansi-regex-4.1.0.tgz#8b9f8f08cf1acb843756a839ca8c7e3168c51997" + integrity sha512-1apePfXM1UOSqw0o9IiFAovVz9M5S1Dg+4TrDwfMewQ6p/rmMueb7tWZjQ1rx4Loy1ArBggoqGpfqqdI4rondg== + +ansi-regex@^5.0.1: + version "5.0.1" + resolved "https://registry.yarnpkg.com/ansi-regex/-/ansi-regex-5.0.1.tgz#082cb2c89c9fe8659a311a53bd6a4dc5301db304" + integrity sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ== + +ansi-styles@^3.2.0, ansi-styles@^3.2.1: + version "3.2.1" + resolved "https://registry.yarnpkg.com/ansi-styles/-/ansi-styles-3.2.1.tgz#41fbb20243e50b12be0f04b8dedbf07520ce841d" + integrity sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA== + dependencies: + color-convert "^1.9.0" + +ansi-styles@^4.0.0, ansi-styles@^4.1.0: + version "4.3.0" + resolved "https://registry.yarnpkg.com/ansi-styles/-/ansi-styles-4.3.0.tgz#edd803628ae71c04c85ae7a0906edad34b648937" + integrity sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg== + dependencies: + color-convert "^2.0.1" + +ansi-styles@^5.0.0: + version "5.2.0" + resolved "https://registry.yarnpkg.com/ansi-styles/-/ansi-styles-5.2.0.tgz#07449690ad45777d1924ac2abb2fc8895dba836b" + integrity sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA== + +anymatch@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/anymatch/-/anymatch-2.0.0.tgz#bcb24b4f37934d9aa7ac17b4adaf89e7c76ef2eb" + integrity sha512-5teOsQWABXHHBFP9y3skS5P3d/WfWXpv3FUpy+LorMrNYaT9pI4oLMQX7jzQ2KklNpGpWHzdCXTDT2Y3XGlZBw== + dependencies: + micromatch "^3.1.4" + normalize-path "^2.1.1" + +anymatch@^3.0.0: + version "3.1.2" + resolved "https://registry.yarnpkg.com/anymatch/-/anymatch-3.1.2.tgz#c0557c096af32f106198f4f4e2a383537e378716" + integrity sha512-P43ePfOAIupkguHUycrc4qJ9kz8ZiuOUijaETwX7THt0Y/GNK7v0aa8rY816xWjZ7rJdA5XdMcpVFTKMq+RvWg== + dependencies: + normalize-path "^3.0.0" + picomatch "^2.0.4" + +app-builder-bin@3.7.1: + version "3.7.1" + resolved "https://registry.yarnpkg.com/app-builder-bin/-/app-builder-bin-3.7.1.tgz#cb0825c5e12efc85b196ac3ed9c89f076c61040e" + integrity sha512-ql93vEUq6WsstGXD+SBLSIQw6SNnhbDEM0swzgugytMxLp3rT24Ag/jcC80ZHxiPRTdew1niuR7P3/FCrDqIjw== + +app-builder-lib@22.14.5: + version "22.14.5" + resolved "https://registry.yarnpkg.com/app-builder-lib/-/app-builder-lib-22.14.5.tgz#a61a50b132b858e98fdc70b6b88994ae99b4f96d" + integrity sha512-k3VwKP4kpsnUaXoUkm1s4zaSHPHIMFnN4kPMU9yXaKmE1LfHHqBaEah5bXeTAX5V/BC41wFdg8CF5vOjvgy8Rg== + dependencies: + "7zip-bin" "~5.1.1" + "@develar/schema-utils" "~2.6.5" + "@electron/universal" "1.0.5" + "@malept/flatpak-bundler" "^0.4.0" + async-exit-hook "^2.0.1" + bluebird-lst "^1.0.9" + builder-util "22.14.5" + builder-util-runtime "8.9.1" + chromium-pickle-js "^0.2.0" + debug "^4.3.2" + ejs "^3.1.6" + electron-osx-sign "^0.5.0" + electron-publish "22.14.5" + form-data "^4.0.0" + fs-extra "^10.0.0" + hosted-git-info "^4.0.2" + is-ci "^3.0.0" + isbinaryfile "^4.0.8" + js-yaml "^4.1.0" + lazy-val "^1.0.5" + minimatch "^3.0.4" + read-config-file "6.2.0" + sanitize-filename "^1.6.3" + semver "^7.3.5" + temp-file "^3.4.0" + +"aproba@^1.0.3 || ^2.0.0": + version "2.0.0" + resolved "https://registry.yarnpkg.com/aproba/-/aproba-2.0.0.tgz#52520b8ae5b569215b354efc0caa3fe1e45a8adc" + integrity sha512-lYe4Gx7QT+MKGbDsA+Z+he/Wtef0BiwDOlK/XkBrdfsh9J/jPPXbX0tE9x9cl27Tmu5gg3QUbUrQYa/y+KOHPQ== + +aproba@^1.1.1: + version "1.2.0" + resolved "https://registry.yarnpkg.com/aproba/-/aproba-1.2.0.tgz#6802e6264efd18c790a1b0d517f0f2627bf2c94a" + integrity sha512-Y9J6ZjXtoYh8RnXVCMOU/ttDmk1aBjunq9vO0ta5x85WDQiQfUF9sIPBITdbiiIVcBo03Hi3jMxigBtsddlXRw== + +are-we-there-yet@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/are-we-there-yet/-/are-we-there-yet-2.0.0.tgz#372e0e7bd279d8e94c653aaa1f67200884bf3e1c" + integrity sha512-Ci/qENmwHnsYo9xKIcUJN5LeDKdJ6R1Z1j9V/J5wyq8nh/mYPEpIKJbBZXtZjG04HiK7zV/p6Vs9952MrMeUIw== + dependencies: + delegates "^1.0.0" + readable-stream "^3.6.0" + +argparse@^1.0.7: + version "1.0.10" + resolved "https://registry.yarnpkg.com/argparse/-/argparse-1.0.10.tgz#bcd6791ea5ae09725e17e5ad988134cd40b3d911" + integrity sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg== + dependencies: + sprintf-js "~1.0.2" + +argparse@^2.0.1: + version "2.0.1" + resolved "https://registry.yarnpkg.com/argparse/-/argparse-2.0.1.tgz#246f50f3ca78a3240f6c997e8a9bd1eac49e4b38" + integrity sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q== + +arr-diff@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/arr-diff/-/arr-diff-4.0.0.tgz#d6461074febfec71e7e15235761a329a5dc7c520" + integrity sha1-1kYQdP6/7HHn4VI1dhoyml3HxSA= + +arr-flatten@^1.1.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/arr-flatten/-/arr-flatten-1.1.0.tgz#36048bbff4e7b47e136644316c99669ea5ae91f1" + integrity sha512-L3hKV5R/p5o81R7O02IGnwpDmkp6E982XhtbuwSe3O4qOtMMMtodicASA1Cny2U+aCXcNpml+m4dPsvsJ3jatg== + +arr-union@^3.1.0: + version "3.1.0" + resolved "https://registry.yarnpkg.com/arr-union/-/arr-union-3.1.0.tgz#e39b09aea9def866a8f206e288af63919bae39c4" + integrity sha1-45sJrqne+Gao8gbiiK9jkZuuOcQ= + +array-flatten@1.1.1: + version "1.1.1" + resolved "https://registry.yarnpkg.com/array-flatten/-/array-flatten-1.1.1.tgz#9a5f699051b1e7073328f2a008968b64ea2955d2" + integrity sha1-ml9pkFGx5wczKPKgCJaLZOopVdI= + +array-flatten@^2.1.0: + version "2.1.2" + resolved "https://registry.yarnpkg.com/array-flatten/-/array-flatten-2.1.2.tgz#24ef80a28c1a893617e2149b0c6d0d788293b099" + integrity sha512-hNfzcOV8W4NdualtqBFPyVO+54DSJuZGY9qT4pRroB6S9e3iiido2ISIC5h9R2sPJ8H3FHCIiEnsv1lPXO3KtQ== + +array-union@^1.0.1: + version "1.0.2" + resolved "https://registry.yarnpkg.com/array-union/-/array-union-1.0.2.tgz#9a34410e4f4e3da23dea375be5be70f24778ec39" + integrity sha1-mjRBDk9OPaI96jdb5b5w8kd47Dk= + dependencies: + array-uniq "^1.0.1" + +array-uniq@^1.0.1: + version "1.0.3" + resolved "https://registry.yarnpkg.com/array-uniq/-/array-uniq-1.0.3.tgz#af6ac877a25cc7f74e058894753858dfdb24fdb6" + integrity sha1-r2rId6Jcx/dOBYiUdThY39sk/bY= + +array-unique@^0.3.2: + version "0.3.2" + resolved "https://registry.yarnpkg.com/array-unique/-/array-unique-0.3.2.tgz#a894b75d4bc4f6cd679ef3244a9fd8f46ae2d428" + integrity sha1-qJS3XUvE9s1nnvMkSp/Y9Gri1Cg= + +asar@^3.0.3, asar@^3.1.0: + version "3.1.0" + resolved "https://registry.yarnpkg.com/asar/-/asar-3.1.0.tgz#70b0509449fe3daccc63beb4d3c7d2e24d3c6473" + integrity sha512-vyxPxP5arcAqN4F/ebHd/HhwnAiZtwhglvdmc7BR2f0ywbVNTOpSeyhLDbGXtE/y58hv1oC75TaNIXutnsOZsQ== + dependencies: + chromium-pickle-js "^0.2.0" + commander "^5.0.0" + glob "^7.1.6" + minimatch "^3.0.4" + optionalDependencies: + "@types/glob" "^7.1.1" + +assert-plus@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/assert-plus/-/assert-plus-1.0.0.tgz#f12e0f3c5d77b0b1cdd9146942e4e96c1e4dd525" + integrity sha1-8S4PPF13sLHN2RRpQuTpbB5N1SU= + +assign-symbols@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/assign-symbols/-/assign-symbols-1.0.0.tgz#59667f41fadd4f20ccbc2bb96b8d4f7f78ec0367" + integrity sha1-WWZ/QfrdTyDMvCu5a41Pf3jsA2c= + +astral-regex@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/astral-regex/-/astral-regex-2.0.0.tgz#483143c567aeed4785759c0865786dc77d7d2e31" + integrity sha512-Z7tMw1ytTXt5jqMcOP+OQteU1VuNK9Y02uuJtKQ1Sv69jXQKKg5cibLwGJow8yzZP+eAc18EmLGPal0bp36rvQ== + +async-each@^1.0.1: + version "1.0.3" + resolved "https://registry.yarnpkg.com/async-each/-/async-each-1.0.3.tgz#b727dbf87d7651602f06f4d4ac387f47d91b0cbf" + integrity sha512-z/WhQ5FPySLdvREByI2vZiTWwCnF0moMJ1hK9YQwDTHKh6I7/uSckMetoRGb5UBZPC1z0jlw+n/XCgjeH7y1AQ== + +async-exit-hook@^2.0.1: + version "2.0.1" + resolved "https://registry.yarnpkg.com/async-exit-hook/-/async-exit-hook-2.0.1.tgz#8bd8b024b0ec9b1c01cccb9af9db29bd717dfaf3" + integrity sha512-NW2cX8m1Q7KPA7a5M2ULQeZ2wR5qI5PAbw5L0UOMxdioVk9PMZ0h1TmyZEkPYrCvYjDlFICusOu1dlEKAAeXBw== + +async-limiter@~1.0.0: + version "1.0.1" + resolved "https://registry.yarnpkg.com/async-limiter/-/async-limiter-1.0.1.tgz#dd379e94f0db8310b08291f9d64c3209766617fd" + integrity sha512-csOlWGAcRFJaI6m+F2WKdnMKr4HhdhFVBk0H/QbJFMCr+uO2kwohwXQPxw/9OCxp05r5ghVBFSyioixx3gfkNQ== + +async@0.9.x: + version "0.9.2" + resolved "https://registry.yarnpkg.com/async/-/async-0.9.2.tgz#aea74d5e61c1f899613bf64bda66d4c78f2fd17d" + integrity sha1-rqdNXmHB+JlhO/ZL2mbUx48v0X0= + +async@^2.6.2: + version "2.6.3" + resolved "https://registry.yarnpkg.com/async/-/async-2.6.3.tgz#d72625e2344a3656e3a3ad4fa749fa83299d82ff" + integrity sha512-zflvls11DCy+dQWzTW2dzuilv8Z5X/pjfmZOWba6TNIVDm+2UDaJmXSOXlasHKfNBs8oo3M0aT50fDEWfKZjXg== + dependencies: + lodash "^4.17.14" + +asynckit@^0.4.0: + version "0.4.0" + resolved "https://registry.yarnpkg.com/asynckit/-/asynckit-0.4.0.tgz#c79ed97f7f34cb8f2ba1bc9790bcc366474b4b79" + integrity sha1-x57Zf380y48robyXkLzDZkdLS3k= + +at-least-node@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/at-least-node/-/at-least-node-1.0.0.tgz#602cd4b46e844ad4effc92a8011a3c46e0238dc2" + integrity sha512-+q/t7Ekv1EDY2l6Gda6LLiX14rU9TV20Wa3ofeQmwPFZbOMo9DXrLbOjFaaclkXKWidIaopwAObQDqwWtGUjqg== + +atob@^2.1.2: + version "2.1.2" + resolved "https://registry.yarnpkg.com/atob/-/atob-2.1.2.tgz#6d9517eb9e030d2436666651e86bd9f6f13533c9" + integrity sha512-Wm6ukoaOGJi/73p/cl2GvLjTI5JM1k/O14isD73YML8StrH/7/lRFgmg8nICZgD3bZZvjwCGxtMOD3wWNAu8cg== + +atomically@^1.7.0: + version "1.7.0" + resolved "https://registry.yarnpkg.com/atomically/-/atomically-1.7.0.tgz#c07a0458432ea6dbc9a3506fffa424b48bccaafe" + integrity sha512-Xcz9l0z7y9yQ9rdDaxlmaI4uJHf/T8g9hOEzJcsEqX2SjCj4J20uK7+ldkDHMbpJDK76wF7xEIgxc/vSlsfw5w== + +author-regex@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/author-regex/-/author-regex-1.0.0.tgz#d08885be6b9bbf9439fe087c76287245f0a81450" + integrity sha1-0IiFvmubv5Q5/gh8dihyRfCoFFA= + +babel-loader@^8.1.0: + version "8.2.3" + resolved "https://registry.yarnpkg.com/babel-loader/-/babel-loader-8.2.3.tgz#8986b40f1a64cacfcb4b8429320085ef68b1342d" + integrity sha512-n4Zeta8NC3QAsuyiizu0GkmRcQ6clkV9WFUnUf1iXP//IeSKbWjofW3UHyZVwlOB4y039YQKefawyTn64Zwbuw== + dependencies: + find-cache-dir "^3.3.1" + loader-utils "^1.4.0" + make-dir "^3.1.0" + schema-utils "^2.6.5" + +babel-plugin-component@^1.1.1: + version "1.1.1" + resolved "https://registry.yarnpkg.com/babel-plugin-component/-/babel-plugin-component-1.1.1.tgz#9b023a23ff5c9aae0fd56c5a18b9cab8c4d45eea" + integrity sha512-WUw887kJf2GH80Ng/ZMctKZ511iamHNqPhd9uKo14yzisvV7Wt1EckIrb8oq/uCz3B3PpAW7Xfl7AkTLDYT6ag== + dependencies: + "@babel/helper-module-imports" "7.0.0-beta.35" + +babel-plugin-dynamic-import-node@^2.3.3: + version "2.3.3" + resolved "https://registry.yarnpkg.com/babel-plugin-dynamic-import-node/-/babel-plugin-dynamic-import-node-2.3.3.tgz#84fda19c976ec5c6defef57f9427b3def66e17a3" + integrity sha512-jZVI+s9Zg3IqA/kdi0i6UDCybUI3aSBLnglhYbSSjKlV7yF1F/5LWv8MakQmvYpnbJDS6fcBL2KzHSxNCMtWSQ== + dependencies: + object.assign "^4.1.0" + +babel-plugin-module-resolver@^4.1.0: + version "4.1.0" + resolved "https://registry.yarnpkg.com/babel-plugin-module-resolver/-/babel-plugin-module-resolver-4.1.0.tgz#22a4f32f7441727ec1fbf4967b863e1e3e9f33e2" + integrity sha512-MlX10UDheRr3lb3P0WcaIdtCSRlxdQsB1sBqL7W0raF070bGl1HQQq5K3T2vf2XAYie+ww+5AKC/WrkjRO2knA== + dependencies: + find-babel-config "^1.2.0" + glob "^7.1.6" + pkg-up "^3.1.0" + reselect "^4.0.0" + resolve "^1.13.1" + +babel-plugin-polyfill-corejs2@^0.3.0: + version "0.3.1" + resolved "https://registry.yarnpkg.com/babel-plugin-polyfill-corejs2/-/babel-plugin-polyfill-corejs2-0.3.1.tgz#440f1b70ccfaabc6b676d196239b138f8a2cfba5" + integrity sha512-v7/T6EQcNfVLfcN2X8Lulb7DjprieyLWJK/zOWH5DUYcAgex9sP3h25Q+DLsX9TloXe3y1O8l2q2Jv9q8UVB9w== + dependencies: + "@babel/compat-data" "^7.13.11" + "@babel/helper-define-polyfill-provider" "^0.3.1" + semver "^6.1.1" + +babel-plugin-polyfill-corejs3@^0.5.0: + version "0.5.2" + resolved "https://registry.yarnpkg.com/babel-plugin-polyfill-corejs3/-/babel-plugin-polyfill-corejs3-0.5.2.tgz#aabe4b2fa04a6e038b688c5e55d44e78cd3a5f72" + integrity sha512-G3uJih0XWiID451fpeFaYGVuxHEjzKTHtc9uGFEjR6hHrvNzeS/PX+LLLcetJcytsB5m4j+K3o/EpXJNb/5IEQ== + dependencies: + "@babel/helper-define-polyfill-provider" "^0.3.1" + core-js-compat "^3.21.0" + +babel-plugin-polyfill-regenerator@^0.3.0: + version "0.3.1" + resolved "https://registry.yarnpkg.com/babel-plugin-polyfill-regenerator/-/babel-plugin-polyfill-regenerator-0.3.1.tgz#2c0678ea47c75c8cc2fbb1852278d8fb68233990" + integrity sha512-Y2B06tvgHYt1x0yz17jGkGeeMr5FeKUu+ASJ+N6nB5lQ8Dapfg42i0OVrf8PNGJ3zKL4A23snMi1IRwrqqND7A== + dependencies: + "@babel/helper-define-polyfill-provider" "^0.3.1" + +balanced-match@^1.0.0: + version "1.0.2" + resolved "https://registry.yarnpkg.com/balanced-match/-/balanced-match-1.0.2.tgz#e83e3a7e3f300b34cb9d87f615fa0cbf357690ee" + integrity sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw== + +base64-js@^1.3.1, base64-js@^1.5.1: + version "1.5.1" + resolved "https://registry.yarnpkg.com/base64-js/-/base64-js-1.5.1.tgz#1b1b440160a5bf7ad40b650f095963481903930a" + integrity sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA== + +base@^0.11.1: + version "0.11.2" + resolved "https://registry.yarnpkg.com/base/-/base-0.11.2.tgz#7bde5ced145b6d551a90db87f83c558b4eb48a8f" + integrity sha512-5T6P4xPgpp0YDFvSWwEZ4NoE3aM4QBQXDzmVbraCkFj8zHM+mba8SyqB5DbZWyR7mYHo6Y7BdQo3MoA4m0TeQg== + dependencies: + cache-base "^1.0.1" + class-utils "^0.3.5" + component-emitter "^1.2.1" + define-property "^1.0.0" + isobject "^3.0.1" + mixin-deep "^1.2.0" + pascalcase "^0.1.1" + +batch@0.6.1: + version "0.6.1" + resolved "https://registry.yarnpkg.com/batch/-/batch-0.6.1.tgz#dc34314f4e679318093fc760272525f94bf25c16" + integrity sha1-3DQxT05nkxgJP8dgJyUl+UvyXBY= + +big.js@^5.2.2: + version "5.2.2" + resolved "https://registry.yarnpkg.com/big.js/-/big.js-5.2.2.tgz#65f0af382f578bcdc742bd9c281e9cb2d7768328" + integrity sha512-vyL2OymJxmarO8gxMr0mhChsO9QGwhynfuu4+MHTAW6czfq9humCB7rKpUjDd9YUiDPU4mzpyupFSvOClAwbmQ== + +binary-extensions@^1.0.0: + version "1.13.1" + resolved "https://registry.yarnpkg.com/binary-extensions/-/binary-extensions-1.13.1.tgz#598afe54755b2868a5330d2aff9d4ebb53209b65" + integrity sha512-Un7MIEDdUC5gNpcGDV97op1Ywk748MpHcFTHoYs6qnj1Z3j7I53VG3nwZhKzoBZmbdRNnb6WRdFlwl7tSDuZGw== + +bindings@^1.2.1, bindings@^1.3.0, bindings@^1.5.0: + version "1.5.0" + resolved "https://registry.yarnpkg.com/bindings/-/bindings-1.5.0.tgz#10353c9e945334bc0511a6d90b38fbc7c9c504df" + integrity sha512-p2q/t/mhvuOj/UeLlV6566GD/guowlr0hHxClI0W9m7MWYkL1F0hLo+0Aexs9HSPCtR1SXQ0TD3MMKrXZajbiQ== + dependencies: + file-uri-to-path "1.0.0" + +bluebird-lst@^1.0.9: + version "1.0.9" + resolved "https://registry.yarnpkg.com/bluebird-lst/-/bluebird-lst-1.0.9.tgz#a64a0e4365658b9ab5fe875eb9dfb694189bb41c" + integrity sha512-7B1Rtx82hjnSD4PGLAjVWeYH3tHAcVUmChh85a3lltKQm6FresXh9ErQo6oAv6CqxttczC3/kEg8SY5NluPuUw== + dependencies: + bluebird "^3.5.5" + +bluebird@^3.1.1, bluebird@^3.5.0, bluebird@^3.5.5, bluebird@^3.7.2: + version "3.7.2" + resolved "https://registry.yarnpkg.com/bluebird/-/bluebird-3.7.2.tgz#9f229c15be272454ffa973ace0dbee79a1b0c36f" + integrity sha512-XpNj6GDQzdfW+r2Wnn7xiSAd7TM3jzkxGXBGTtWKuSXv1xUV+azxAm8jdWZN06QTQk+2N2XB9jRDkvbmQmcRtg== + +body-parser@1.19.1: + version "1.19.1" + resolved "https://registry.yarnpkg.com/body-parser/-/body-parser-1.19.1.tgz#1499abbaa9274af3ecc9f6f10396c995943e31d4" + integrity sha512-8ljfQi5eBk8EJfECMrgqNGWPEY5jWP+1IzkzkGdFFEwFQZZyaZ21UqdaHktgiMlH0xLHqIFtE/u2OYE5dOtViA== + dependencies: + bytes "3.1.1" + content-type "~1.0.4" + debug "2.6.9" + depd "~1.1.2" + http-errors "1.8.1" + iconv-lite "0.4.24" + on-finished "~2.3.0" + qs "6.9.6" + raw-body "2.4.2" + type-is "~1.6.18" + +bonjour@^3.5.0: + version "3.5.0" + resolved "https://registry.yarnpkg.com/bonjour/-/bonjour-3.5.0.tgz#8e890a183d8ee9a2393b3844c691a42bcf7bc9f5" + integrity sha1-jokKGD2O6aI5OzhExpGkK897yfU= + dependencies: + array-flatten "^2.1.0" + deep-equal "^1.0.1" + dns-equal "^1.0.0" + dns-txt "^2.0.2" + multicast-dns "^6.0.1" + multicast-dns-service-types "^1.1.0" + +boolbase@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/boolbase/-/boolbase-1.0.0.tgz#68dff5fbe60c51eb37725ea9e3ed310dcc1e776e" + integrity sha1-aN/1++YMUes3cl6p4+0xDcwed24= + +boolean@^3.0.1: + version "3.1.4" + resolved "https://registry.yarnpkg.com/boolean/-/boolean-3.1.4.tgz#f51a2fb5838a99e06f9b6ec1edb674de67026435" + integrity sha512-3hx0kwU3uzG6ReQ3pnaFQPSktpBw6RHN3/ivDKEuU8g1XSfafowyvDnadjv1xp8IZqhtSukxlwv9bF6FhX8m0w== + +boxen@^5.0.0: + version "5.1.2" + resolved "https://registry.yarnpkg.com/boxen/-/boxen-5.1.2.tgz#788cb686fc83c1f486dfa8a40c68fc2b831d2b50" + integrity sha512-9gYgQKXx+1nP8mP7CzFyaUARhg7D3n1dF/FnErWmu9l6JvGpNUN278h0aSb+QjoiKSWG+iZ3uHrcqk0qrY9RQQ== + dependencies: + ansi-align "^3.0.0" + camelcase "^6.2.0" + chalk "^4.1.0" + cli-boxes "^2.2.1" + string-width "^4.2.2" + type-fest "^0.20.2" + widest-line "^3.1.0" + wrap-ansi "^7.0.0" + +brace-expansion@^1.1.7: + version "1.1.11" + resolved "https://registry.yarnpkg.com/brace-expansion/-/brace-expansion-1.1.11.tgz#3c7fcbf529d87226f3d2f52b966ff5271eb441dd" + integrity sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA== + dependencies: + balanced-match "^1.0.0" + concat-map "0.0.1" + +braces@^2.3.1, braces@^2.3.2: + version "2.3.2" + resolved "https://registry.yarnpkg.com/braces/-/braces-2.3.2.tgz#5979fd3f14cd531565e5fa2df1abfff1dfaee729" + integrity sha512-aNdbnj9P8PjdXU4ybaWLK2IF3jc/EoDYbC7AazW6to3TRsfXxscC9UXOB5iDiEQrkyIbWp2SLQda4+QAa7nc3w== + dependencies: + arr-flatten "^1.1.0" + array-unique "^0.3.2" + extend-shallow "^2.0.1" + fill-range "^4.0.0" + isobject "^3.0.1" + repeat-element "^1.1.2" + snapdragon "^0.8.1" + snapdragon-node "^2.0.1" + split-string "^3.0.2" + to-regex "^3.0.1" + +braces@^3.0.1: + version "3.0.2" + resolved "https://registry.yarnpkg.com/braces/-/braces-3.0.2.tgz#3454e1a462ee8d599e236df336cd9ea4f8afe107" + integrity sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A== + dependencies: + fill-range "^7.0.1" + +browserslist@^4.14.5, browserslist@^4.17.5, browserslist@^4.19.1: + version "4.19.1" + resolved "https://registry.yarnpkg.com/browserslist/-/browserslist-4.19.1.tgz#4ac0435b35ab655896c31d53018b6dd5e9e4c9a3" + integrity sha512-u2tbbG5PdKRTUoctO3NBD8FQ5HdPh1ZXPHzp1rwaa5jTc+RV9/+RlWiAIKmjRPQF+xbGM9Kklj5bZQFa2s/38A== + dependencies: + caniuse-lite "^1.0.30001286" + electron-to-chromium "^1.4.17" + escalade "^3.1.1" + node-releases "^2.0.1" + picocolors "^1.0.0" + +buffer-alloc-unsafe@^1.1.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/buffer-alloc-unsafe/-/buffer-alloc-unsafe-1.1.0.tgz#bd7dc26ae2972d0eda253be061dba992349c19f0" + integrity sha512-TEM2iMIEQdJ2yjPJoSIsldnleVaAk1oW3DBVUykyOLsEsFmEc9kn+SFFPz+gl54KQNxlDnAwCXosOS9Okx2xAg== + +buffer-alloc@^1.2.0: + version "1.2.0" + resolved "https://registry.yarnpkg.com/buffer-alloc/-/buffer-alloc-1.2.0.tgz#890dd90d923a873e08e10e5fd51a57e5b7cce0ec" + integrity sha512-CFsHQgjtW1UChdXgbyJGtnm+O/uLQeZdtbDo8mfUgYXCHSM1wgrVxXm6bSyrUuErEb+4sYVGCzASBRot7zyrow== + dependencies: + buffer-alloc-unsafe "^1.1.0" + buffer-fill "^1.0.0" + +buffer-crc32@~0.2.3: + version "0.2.13" + resolved "https://registry.yarnpkg.com/buffer-crc32/-/buffer-crc32-0.2.13.tgz#0d333e3f00eac50aa1454abd30ef8c2a5d9a7242" + integrity sha1-DTM+PwDqxQqhRUq9MO+MKl2ackI= + +buffer-equal@1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/buffer-equal/-/buffer-equal-1.0.0.tgz#59616b498304d556abd466966b22eeda3eca5fbe" + integrity sha1-WWFrSYME1Var1GaWayLu2j7KX74= + +buffer-fill@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/buffer-fill/-/buffer-fill-1.0.0.tgz#f8f78b76789888ef39f205cd637f68e702122b2c" + integrity sha1-+PeLdniYiO858gXNY39o5wISKyw= + +buffer-from@^1.0.0: + version "1.1.2" + resolved "https://registry.yarnpkg.com/buffer-from/-/buffer-from-1.1.2.tgz#2b146a6fd72e80b4f55d255f35ed59a3a9a41bd5" + integrity sha512-E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ== + +buffer-indexof@^1.0.0: + version "1.1.1" + resolved "https://registry.yarnpkg.com/buffer-indexof/-/buffer-indexof-1.1.1.tgz#52fabcc6a606d1a00302802648ef68f639da268c" + integrity sha512-4/rOEg86jivtPTeOUUT61jJO1Ya1TrR/OkqCSZDyq84WJh3LuuiphBYJN+fm5xufIk4XAFcEwte/8WzC8If/1g== + +buffer@^5.1.0: + version "5.7.1" + resolved "https://registry.yarnpkg.com/buffer/-/buffer-5.7.1.tgz#ba62e7c13133053582197160851a8f648e99eed0" + integrity sha512-EHcyIPBQ4BSGlvjB16k5KgAJ27CIsHY/2JBmCRReo48y9rQ3MaUzWX3KVlBa4U7MyX02HdVj0K7C3WaB3ju7FQ== + dependencies: + base64-js "^1.3.1" + ieee754 "^1.1.13" + +builder-util-runtime@8.9.1: + version "8.9.1" + resolved "https://registry.yarnpkg.com/builder-util-runtime/-/builder-util-runtime-8.9.1.tgz#25f066b3fbc20b3e6236a9b956b1ebb0e33ff66a" + integrity sha512-c8a8J3wK6BIVLW7ls+7TRK9igspTbzWmUqxFbgK0m40Ggm6efUbxtWVCGIjc+dtchyr5qAMAUL6iEGRdS/6vwg== + dependencies: + debug "^4.3.2" + sax "^1.2.4" + +builder-util@22.14.5: + version "22.14.5" + resolved "https://registry.yarnpkg.com/builder-util/-/builder-util-22.14.5.tgz#42a18608d2a566c0846e91266464776c8bfb0cc9" + integrity sha512-zqIHDFJwmA7jV7SC9aI+33MWwT2mWoijH+Ol9IntNAwuuRXoS+7XeJwnhLBXOhcDBzXT4kDzHnRk4JKeaygEYA== + dependencies: + "7zip-bin" "~5.1.1" + "@types/debug" "^4.1.6" + "@types/fs-extra" "^9.0.11" + app-builder-bin "3.7.1" + bluebird-lst "^1.0.9" + builder-util-runtime "8.9.1" + chalk "^4.1.1" + cross-spawn "^7.0.3" + debug "^4.3.2" + fs-extra "^10.0.0" + is-ci "^3.0.0" + js-yaml "^4.1.0" + source-map-support "^0.5.19" + stat-mode "^1.0.0" + temp-file "^3.4.0" + +bytes@3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/bytes/-/bytes-3.0.0.tgz#d32815404d689699f85a4ea4fa8755dd13a96048" + integrity sha1-0ygVQE1olpn4Wk6k+odV3ROpYEg= + +bytes@3.1.1: + version "3.1.1" + resolved "https://registry.yarnpkg.com/bytes/-/bytes-3.1.1.tgz#3f018291cb4cbad9accb6e6970bca9c8889e879a" + integrity sha512-dWe4nWO/ruEOY7HkUJ5gFt1DCFV9zPRoJr8pV0/ASQermOZjtq8jMjOprC0Kd10GLN+l7xaUPvxzJFWtxGu8Fg== + +cacache@^13.0.1: + version "13.0.1" + resolved "https://registry.yarnpkg.com/cacache/-/cacache-13.0.1.tgz#a8000c21697089082f85287a1aec6e382024a71c" + integrity sha512-5ZvAxd05HDDU+y9BVvcqYu2LLXmPnQ0hW62h32g4xBTgL/MppR4/04NHfj/ycM2y6lmTnbw6HVi+1eN0Psba6w== + dependencies: + chownr "^1.1.2" + figgy-pudding "^3.5.1" + fs-minipass "^2.0.0" + glob "^7.1.4" + graceful-fs "^4.2.2" + infer-owner "^1.0.4" + lru-cache "^5.1.1" + minipass "^3.0.0" + minipass-collect "^1.0.2" + minipass-flush "^1.0.5" + minipass-pipeline "^1.2.2" + mkdirp "^0.5.1" + move-concurrently "^1.0.1" + p-map "^3.0.0" + promise-inflight "^1.0.1" + rimraf "^2.7.1" + ssri "^7.0.0" + unique-filename "^1.1.1" + +cacache@^15.2.0: + version "15.3.0" + resolved "https://registry.yarnpkg.com/cacache/-/cacache-15.3.0.tgz#dc85380fb2f556fe3dda4c719bfa0ec875a7f1eb" + integrity sha512-VVdYzXEn+cnbXpFgWs5hTT7OScegHVmLhJIR8Ufqk3iFD6A6j5iSX1KuBTfNEv4tdJWE2PzA6IVFtcLC7fN9wQ== + dependencies: + "@npmcli/fs" "^1.0.0" + "@npmcli/move-file" "^1.0.1" + chownr "^2.0.0" + fs-minipass "^2.0.0" + glob "^7.1.4" + infer-owner "^1.0.4" + lru-cache "^6.0.0" + minipass "^3.1.1" + minipass-collect "^1.0.2" + minipass-flush "^1.0.5" + minipass-pipeline "^1.2.2" + mkdirp "^1.0.3" + p-map "^4.0.0" + promise-inflight "^1.0.1" + rimraf "^3.0.2" + ssri "^8.0.1" + tar "^6.0.2" + unique-filename "^1.1.1" + +cache-base@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/cache-base/-/cache-base-1.0.1.tgz#0a7f46416831c8b662ee36fe4e7c59d76f666ab2" + integrity sha512-AKcdTnFSWATd5/GCPRxr2ChwIJ85CeyrEyjRHlKxQ56d4XJMGym0uAiKn0xbLOGOl3+yRpOTi484dVCEc5AUzQ== + dependencies: + collection-visit "^1.0.0" + component-emitter "^1.2.1" + get-value "^2.0.6" + has-value "^1.0.0" + isobject "^3.0.1" + set-value "^2.0.0" + to-object-path "^0.3.0" + union-value "^1.0.0" + unset-value "^1.0.0" + +cacheable-lookup@^5.0.3: + version "5.0.4" + resolved "https://registry.yarnpkg.com/cacheable-lookup/-/cacheable-lookup-5.0.4.tgz#5a6b865b2c44357be3d5ebc2a467b032719a7005" + integrity sha512-2/kNscPhpcxrOigMZzbiWF7dz8ilhb/nIHU3EyZiXWXpeq/au8qJ8VhdftMkty3n7Gj6HIGalQG8oiBNB3AJgA== + +cacheable-request@^6.0.0: + version "6.1.0" + resolved "https://registry.yarnpkg.com/cacheable-request/-/cacheable-request-6.1.0.tgz#20ffb8bd162ba4be11e9567d823db651052ca912" + integrity sha512-Oj3cAGPCqOZX7Rz64Uny2GYAZNliQSqfbePrgAQ1wKAihYmCUnraBtJtKcGR4xz7wF+LoJC+ssFZvv5BgF9Igg== + dependencies: + clone-response "^1.0.2" + get-stream "^5.1.0" + http-cache-semantics "^4.0.0" + keyv "^3.0.0" + lowercase-keys "^2.0.0" + normalize-url "^4.1.0" + responselike "^1.0.2" + +cacheable-request@^7.0.2: + version "7.0.2" + resolved "https://registry.yarnpkg.com/cacheable-request/-/cacheable-request-7.0.2.tgz#ea0d0b889364a25854757301ca12b2da77f91d27" + integrity sha512-pouW8/FmiPQbuGpkXQ9BAPv/Mo5xDGANgSNXzTzJ8DrKGuXOssM4wIQRjfanNRh3Yu5cfYPvcorqbhg2KIJtew== + dependencies: + clone-response "^1.0.2" + get-stream "^5.1.0" + http-cache-semantics "^4.0.0" + keyv "^4.0.0" + lowercase-keys "^2.0.0" + normalize-url "^6.0.1" + responselike "^2.0.0" + +call-bind@^1.0.0, call-bind@^1.0.2: + version "1.0.2" + resolved "https://registry.yarnpkg.com/call-bind/-/call-bind-1.0.2.tgz#b1d4e89e688119c3c9a903ad30abb2f6a919be3c" + integrity sha512-7O+FbCihrB5WGbFYesctwmTKae6rOiIzmz1icreWJ+0aA7LJfuqhEso2T9ncpcFtzMQtzXf2QGGueWJGTYsqrA== + dependencies: + function-bind "^1.1.1" + get-intrinsic "^1.0.2" + +camel-case@^4.1.1: + version "4.1.2" + resolved "https://registry.yarnpkg.com/camel-case/-/camel-case-4.1.2.tgz#9728072a954f805228225a6deea6b38461e1bd5a" + integrity sha512-gxGWBrTT1JuMx6R+o5PTXMmUnhnVzLQ9SNutD4YqKtI6ap897t3tKECYla6gCWEkplXnlNybEkZg9GEGxKFCgw== + dependencies: + pascal-case "^3.1.2" + tslib "^2.0.3" + +camelcase@^5.0.0, camelcase@^5.3.1: + version "5.3.1" + resolved "https://registry.yarnpkg.com/camelcase/-/camelcase-5.3.1.tgz#e3c9b31569e106811df242f715725a1f4c494320" + integrity sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg== + +camelcase@^6.2.0: + version "6.3.0" + resolved "https://registry.yarnpkg.com/camelcase/-/camelcase-6.3.0.tgz#5685b95eb209ac9c0c177467778c9c84df58ba9a" + integrity sha512-Gmy6FhYlCY7uOElZUSbxo2UCDH8owEk996gkbrpsgGtrJLM3J7jGxl9Ic7Qwwj4ivOE5AWZWRMecDdF7hqGjFA== + +caniuse-lite@^1.0.30001286: + version "1.0.30001307" + resolved "https://registry.yarnpkg.com/caniuse-lite/-/caniuse-lite-1.0.30001307.tgz#27a67f13ebc4aa9c977e6b8256a11d5eafb30f27" + integrity sha512-+MXEMczJ4FuxJAUp0jvAl6Df0NI/OfW1RWEE61eSmzS7hw6lz4IKutbhbXendwq8BljfFuHtu26VWsg4afQ7Ng== + +chalk@^2.0.0, chalk@^2.4.2: + version "2.4.2" + resolved "https://registry.yarnpkg.com/chalk/-/chalk-2.4.2.tgz#cd42541677a54333cf541a49108c1432b44c9424" + integrity sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ== + dependencies: + ansi-styles "^3.2.1" + escape-string-regexp "^1.0.5" + supports-color "^5.3.0" + +chalk@^4.0.0, chalk@^4.1.0, chalk@^4.1.1: + version "4.1.2" + resolved "https://registry.yarnpkg.com/chalk/-/chalk-4.1.2.tgz#aac4e2b7734a740867aeb16bf02aad556a1e7a01" + integrity sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA== + dependencies: + ansi-styles "^4.1.0" + supports-color "^7.1.0" + +chokidar@^2.1.8: + version "2.1.8" + resolved "https://registry.yarnpkg.com/chokidar/-/chokidar-2.1.8.tgz#804b3a7b6a99358c3c5c61e71d8728f041cff917" + integrity sha512-ZmZUazfOzf0Nve7duiCKD23PFSCs4JPoYyccjUFF3aQkQadqBhfzhjkwBH2mNOG9cTBwhamM37EIsIkZw3nRgg== + dependencies: + anymatch "^2.0.0" + async-each "^1.0.1" + braces "^2.3.2" + glob-parent "^3.1.0" + inherits "^2.0.3" + is-binary-path "^1.0.0" + is-glob "^4.0.0" + normalize-path "^3.0.0" + path-is-absolute "^1.0.0" + readdirp "^2.2.1" + upath "^1.1.1" + optionalDependencies: + fsevents "^1.2.7" + +chownr@^1.1.2: + version "1.1.4" + resolved "https://registry.yarnpkg.com/chownr/-/chownr-1.1.4.tgz#6fc9d7b42d32a583596337666e7d08084da2cc6b" + integrity sha512-jJ0bqzaylmJtVnNgzTeSOs8DPavpbYgEr/b0YL8/2GO3xJEhInFmhKMUnEJQjZumK7KXGFhUy89PrsJWlakBVg== + +chownr@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/chownr/-/chownr-2.0.0.tgz#15bfbe53d2eab4cf70f18a8cd68ebe5b3cb1dece" + integrity sha512-bIomtDF5KGpdogkLd9VspvFzk9KfpyyGlS8YFVZl7TGPBHL5snIOnxeshwVgPteQ9b4Eydl+pVbIyE1DcvCWgQ== + +chrome-trace-event@^1.0.2: + version "1.0.3" + resolved "https://registry.yarnpkg.com/chrome-trace-event/-/chrome-trace-event-1.0.3.tgz#1015eced4741e15d06664a957dbbf50d041e26ac" + integrity sha512-p3KULyQg4S7NIHixdwbGX+nFHkoBiA4YQmyWtjb8XngSKV124nJmRysgAeujbUVb15vh+RvFUfCPqU7rXk+hZg== + +chromium-pickle-js@^0.2.0: + version "0.2.0" + resolved "https://registry.yarnpkg.com/chromium-pickle-js/-/chromium-pickle-js-0.2.0.tgz#04a106672c18b085ab774d983dfa3ea138f22205" + integrity sha1-BKEGZywYsIWrd02YPfo+oTjyIgU= + +ci-info@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/ci-info/-/ci-info-2.0.0.tgz#67a9e964be31a51e15e5010d58e6f12834002f46" + integrity sha512-5tK7EtrZ0N+OLFMthtqOj4fI2Jeb88C4CAZPu25LDVUgXJ0A3Js4PMGqrn0JU1W0Mh1/Z8wZzYPxqUrXeBboCQ== + +ci-info@^3.2.0: + version "3.3.0" + resolved "https://registry.yarnpkg.com/ci-info/-/ci-info-3.3.0.tgz#b4ed1fb6818dea4803a55c623041f9165d2066b2" + integrity sha512-riT/3vI5YpVH6/qomlDnJow6TBee2PBKSEpx3O32EGPYbWGIRsIlGRms3Sm74wYE1JMo8RnO04Hb12+v1J5ICw== + +class-utils@^0.3.5: + version "0.3.6" + resolved "https://registry.yarnpkg.com/class-utils/-/class-utils-0.3.6.tgz#f93369ae8b9a7ce02fd41faad0ca83033190c463" + integrity sha512-qOhPa/Fj7s6TY8H8esGu5QNpMMQxz79h+urzrNYN6mn+9BnxlDGf5QZ+XeCDsxSjPqsSR56XOZOJmpeurnLMeg== + dependencies: + arr-union "^3.1.0" + define-property "^0.2.5" + isobject "^3.0.0" + static-extend "^0.1.1" + +clean-css@^4.2.3: + version "4.2.4" + resolved "https://registry.yarnpkg.com/clean-css/-/clean-css-4.2.4.tgz#733bf46eba4e607c6891ea57c24a989356831178" + integrity sha512-EJUDT7nDVFDvaQgAo2G/PJvxmp1o/c6iXLbswsBbUFXi1Nr+AjA2cKmfbKDMjMvzEe75g3P6JkaDDAKk96A85A== + dependencies: + source-map "~0.6.0" + +clean-stack@^2.0.0: + version "2.2.0" + resolved "https://registry.yarnpkg.com/clean-stack/-/clean-stack-2.2.0.tgz#ee8472dbb129e727b31e8a10a427dee9dfe4008b" + integrity sha512-4diC9HaTE+KRAMWhDhrGOECgWZxoevMc5TlkObMqNSsVU62PYzXZ/SMTjzyGAFF1YusgxGcSWTEXBhp0CPwQ1A== + +cli-boxes@^2.2.1: + version "2.2.1" + resolved "https://registry.yarnpkg.com/cli-boxes/-/cli-boxes-2.2.1.tgz#ddd5035d25094fce220e9cab40a45840a440318f" + integrity sha512-y4coMcylgSCdVinjiDBuR8PCC2bLjyGTwEmPb9NHR/QaNU6EUOXcTY/s6VjGMD6ENSEaeQYHCY0GNGS5jfMwPw== + +cli-truncate@^2.1.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/cli-truncate/-/cli-truncate-2.1.0.tgz#c39e28bf05edcde5be3b98992a22deed5a2b93c7" + integrity sha512-n8fOixwDD6b/ObinzTrp1ZKFzbgvKZvuz/TvejnLn1aQfC6r52XEx85FmuC+3HI+JM7coBRXUvNqEU2PHVrHpg== + dependencies: + slice-ansi "^3.0.0" + string-width "^4.2.0" + +cliui@^5.0.0: + version "5.0.0" + resolved "https://registry.yarnpkg.com/cliui/-/cliui-5.0.0.tgz#deefcfdb2e800784aa34f46fa08e06851c7bbbc5" + integrity sha512-PYeGSEmmHM6zvoef2w8TPzlrnNpXIjTipYK780YswmIP9vjxmd6Y2a3CB2Ks6/AU8NHjZugXvo8w3oWM2qnwXA== + dependencies: + string-width "^3.1.0" + strip-ansi "^5.2.0" + wrap-ansi "^5.1.0" + +cliui@^6.0.0: + version "6.0.0" + resolved "https://registry.yarnpkg.com/cliui/-/cliui-6.0.0.tgz#511d702c0c4e41ca156d7d0e96021f23e13225b1" + integrity sha512-t6wbgtoCXvAzst7QgXxJYqPt0usEfbgQdftEPbLL/cvv6HPE5VgvqCuAIDR0NgU52ds6rFwqrgakNLrHEjCbrQ== + dependencies: + string-width "^4.2.0" + strip-ansi "^6.0.0" + wrap-ansi "^6.2.0" + +cliui@^7.0.2: + version "7.0.4" + resolved "https://registry.yarnpkg.com/cliui/-/cliui-7.0.4.tgz#a0265ee655476fc807aea9df3df8df7783808b4f" + integrity sha512-OcRE68cOsVMXp1Yvonl/fzkQOyjLSu/8bhPDfQt0e0/Eb283TKP20Fs2MqoPsr9SwA595rRCA+QMzYc9nBP+JQ== + dependencies: + string-width "^4.2.0" + strip-ansi "^6.0.0" + wrap-ansi "^7.0.0" + +clone-response@^1.0.2: + version "1.0.2" + resolved "https://registry.yarnpkg.com/clone-response/-/clone-response-1.0.2.tgz#d1dc973920314df67fbeb94223b4ee350239e96b" + integrity sha1-0dyXOSAxTfZ/vrlCI7TuNQI56Ws= + dependencies: + mimic-response "^1.0.0" + +collection-visit@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/collection-visit/-/collection-visit-1.0.0.tgz#4bc0373c164bc3291b4d368c829cf1a80a59dca0" + integrity sha1-S8A3PBZLwykbTTaMgpzxqApZ3KA= + dependencies: + map-visit "^1.0.0" + object-visit "^1.0.0" + +color-convert@^1.9.0: + version "1.9.3" + resolved "https://registry.yarnpkg.com/color-convert/-/color-convert-1.9.3.tgz#bb71850690e1f136567de629d2d5471deda4c1e8" + integrity sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg== + dependencies: + color-name "1.1.3" + +color-convert@^2.0.1: + version "2.0.1" + resolved "https://registry.yarnpkg.com/color-convert/-/color-convert-2.0.1.tgz#72d3a68d598c9bdb3af2ad1e84f21d896abd4de3" + integrity sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ== + dependencies: + color-name "~1.1.4" + +color-name@1.1.3: + version "1.1.3" + resolved "https://registry.yarnpkg.com/color-name/-/color-name-1.1.3.tgz#a7d0558bd89c42f795dd42328f740831ca53bc25" + integrity sha1-p9BVi9icQveV3UIyj3QIMcpTvCU= + +color-name@~1.1.4: + version "1.1.4" + resolved "https://registry.yarnpkg.com/color-name/-/color-name-1.1.4.tgz#c2a09a87acbde69543de6f63fa3995c826c536a2" + integrity sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA== + +color-support@^1.1.2: + version "1.1.3" + resolved "https://registry.yarnpkg.com/color-support/-/color-support-1.1.3.tgz#93834379a1cc9a0c61f82f52f0d04322251bd5a2" + integrity sha512-qiBjkpbMLO/HL68y+lh4q0/O1MZFj2RX6X/KmMa3+gJD3z+WwI1ZzDHysvqHGS3mP6mznPckpXmw1nI9cJjyRg== + +colors@1.0.3: + version "1.0.3" + resolved "https://registry.yarnpkg.com/colors/-/colors-1.0.3.tgz#0433f44d809680fdeb60ed260f1b0c262e82a40b" + integrity sha1-BDP0TYCWgP3rYO0mDxsMJi6CpAs= + +colors@1.4.0: + version "1.4.0" + resolved "https://registry.yarnpkg.com/colors/-/colors-1.4.0.tgz#c50491479d4c1bdaed2c9ced32cf7c7dc2360f78" + integrity sha512-a+UqTh4kgZg/SlGvfbzDHpgRu7AAQOmmqRHJnxhRZICKFUT91brVhNNt58CMWU9PsBbv3PDCZUHbVxuDiH2mtA== + +combined-stream@^1.0.8: + version "1.0.8" + resolved "https://registry.yarnpkg.com/combined-stream/-/combined-stream-1.0.8.tgz#c3d45a8b34fd730631a110a8a2520682b31d5a7f" + integrity sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg== + dependencies: + delayed-stream "~1.0.0" + +commander@2.9.0: + version "2.9.0" + resolved "https://registry.yarnpkg.com/commander/-/commander-2.9.0.tgz#9c99094176e12240cb22d6c5146098400fe0f7d4" + integrity sha1-nJkJQXbhIkDLItbFFGCYQA/g99Q= + dependencies: + graceful-readlink ">= 1.0.0" + +commander@^2.20.0: + version "2.20.3" + resolved "https://registry.yarnpkg.com/commander/-/commander-2.20.3.tgz#fd485e84c03eb4881c20722ba48035e8531aeb33" + integrity sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ== + +commander@^4.1.1: + version "4.1.1" + resolved "https://registry.yarnpkg.com/commander/-/commander-4.1.1.tgz#9fd602bd936294e9e9ef46a3f4d6964044b18068" + integrity sha512-NOKm8xhkzAjzFx8B2v5OAHT+u5pRQc2UCa2Vq9jYL/31o2wi9mxBA7LIFs3sV5VSC49z6pEhfbMULvShKj26WA== + +commander@^5.0.0: + version "5.1.0" + resolved "https://registry.yarnpkg.com/commander/-/commander-5.1.0.tgz#46abbd1652f8e059bddaef99bbdcb2ad9cf179ae" + integrity sha512-P0CysNDQ7rtVw4QIQtm+MRxV66vKFSvlsQvGYXZWR3qFU0jlMKHZZZgw8e+8DSah4UDKMqnknRDQz+xuQXQ/Zg== + +commander@^8.2.0: + version "8.3.0" + resolved "https://registry.yarnpkg.com/commander/-/commander-8.3.0.tgz#4837ea1b2da67b9c616a67afbb0fafee567bca66" + integrity sha512-OkTL9umf+He2DZkUq8f8J9of7yL6RJKI24dVITBmNfZBmri9zYZQrKkuXiKhyfPSu8tUhnVBB1iKXevvnlR4Ww== + +commondir@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/commondir/-/commondir-1.0.1.tgz#ddd800da0c66127393cca5950ea968a3aaf1253b" + integrity sha1-3dgA2gxmEnOTzKWVDqloo6rxJTs= + +compare-version@^0.1.2: + version "0.1.2" + resolved "https://registry.yarnpkg.com/compare-version/-/compare-version-0.1.2.tgz#0162ec2d9351f5ddd59a9202cba935366a725080" + integrity sha1-AWLsLZNR9d3VmpICy6k1NmpyUIA= + +component-emitter@^1.2.1: + version "1.3.0" + resolved "https://registry.yarnpkg.com/component-emitter/-/component-emitter-1.3.0.tgz#16e4070fba8ae29b679f2215853ee181ab2eabc0" + integrity sha512-Rd3se6QB+sO1TwqZjscQrurpEPIfO0/yYnSin6Q/rD3mOutHvUrCAhJub3r90uNb+SESBuE0QYoB90YdfatsRg== + +compressible@~2.0.16: + version "2.0.18" + resolved "https://registry.yarnpkg.com/compressible/-/compressible-2.0.18.tgz#af53cca6b070d4c3c0750fbd77286a6d7cc46fba" + integrity sha512-AF3r7P5dWxL8MxyITRMlORQNaOA2IkAFaTr4k7BUumjPtRpGDTZpl0Pb1XCO6JeDCBdp126Cgs9sMxqSjgYyRg== + dependencies: + mime-db ">= 1.43.0 < 2" + +compression@^1.7.4: + version "1.7.4" + resolved "https://registry.yarnpkg.com/compression/-/compression-1.7.4.tgz#95523eff170ca57c29a0ca41e6fe131f41e5bb8f" + integrity sha512-jaSIDzP9pZVS4ZfQ+TzvtiWhdpFhE2RDHz8QJkpX9SIpLq88VueF5jJw6t+6CUQcAoA6t+x89MLrWAqpfDE8iQ== + dependencies: + accepts "~1.3.5" + bytes "3.0.0" + compressible "~2.0.16" + debug "2.6.9" + on-headers "~1.0.2" + safe-buffer "5.1.2" + vary "~1.1.2" + +concat-map@0.0.1: + version "0.0.1" + resolved "https://registry.yarnpkg.com/concat-map/-/concat-map-0.0.1.tgz#d8a96bd77fd68df7793a73036a3ba0d5405d477b" + integrity sha1-2Klr13/Wjfd5OnMDajug1UBdR3s= + +concat-stream@^1.6.2: + version "1.6.2" + resolved "https://registry.yarnpkg.com/concat-stream/-/concat-stream-1.6.2.tgz#904bdf194cd3122fc675c77fc4ac3d4ff0fd1a34" + integrity sha512-27HBghJxjiZtIk3Ycvn/4kbJk/1uZuJFfuPEns6LaEvpvG1f0hTea8lilrouyo9mVc2GWdcEZ8OLoGmSADlrCw== + dependencies: + buffer-from "^1.0.0" + inherits "^2.0.3" + readable-stream "^2.2.2" + typedarray "^0.0.6" + +conf@^10.0.3: + version "10.1.1" + resolved "https://registry.yarnpkg.com/conf/-/conf-10.1.1.tgz#ff08046d5aeeee0eaff55d57f5b4319193c3dfda" + integrity sha512-z2civwq/k8TMYtcn3SVP0Peso4otIWnHtcTuHhQ0zDZDdP4NTxqEc8owfkz4zBsdMYdn/LFcE+ZhbCeqkhtq3Q== + dependencies: + ajv "^8.6.3" + ajv-formats "^2.1.1" + atomically "^1.7.0" + debounce-fn "^4.0.0" + dot-prop "^6.0.1" + env-paths "^2.2.1" + json-schema-typed "^7.0.3" + onetime "^5.1.2" + pkg-up "^3.1.0" + semver "^7.3.5" + +config-chain@^1.1.11: + version "1.1.13" + resolved "https://registry.yarnpkg.com/config-chain/-/config-chain-1.1.13.tgz#fad0795aa6a6cdaff9ed1b68e9dff94372c232f4" + integrity sha512-qj+f8APARXHrM0hraqXYb2/bOVSV4PvJQlNZ/DVj0QrmNM2q2euizkeuVckQ57J+W0mRH6Hvi+k50M4Jul2VRQ== + dependencies: + ini "^1.3.4" + proto-list "~1.2.1" + +configstore@^5.0.1: + version "5.0.1" + resolved "https://registry.yarnpkg.com/configstore/-/configstore-5.0.1.tgz#d365021b5df4b98cdd187d6a3b0e3f6a7cc5ed96" + integrity sha512-aMKprgk5YhBNyH25hj8wGt2+D52Sw1DRRIzqBwLp2Ya9mFmY8KPvvtvmna8SxVR9JMZ4kzMD68N22vlaRpkeFA== + dependencies: + dot-prop "^5.2.0" + graceful-fs "^4.1.2" + make-dir "^3.0.0" + unique-string "^2.0.0" + write-file-atomic "^3.0.0" + xdg-basedir "^4.0.0" + +connect-history-api-fallback@^1.6.0: + version "1.6.0" + resolved "https://registry.yarnpkg.com/connect-history-api-fallback/-/connect-history-api-fallback-1.6.0.tgz#8b32089359308d111115d81cad3fceab888f97bc" + integrity sha512-e54B99q/OUoH64zYYRf3HBP5z24G38h5D3qXu23JGRoigpX5Ss4r9ZnDk3g0Z8uQC2x2lPaJ+UlWBc1ZWBWdLg== + +console-control-strings@^1.0.0, console-control-strings@^1.1.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/console-control-strings/-/console-control-strings-1.1.0.tgz#3d7cf4464db6446ea644bf4b39507f9851008e8e" + integrity sha1-PXz0Rk22RG6mRL9LOVB/mFEAjo4= + +content-disposition@0.5.4: + version "0.5.4" + resolved "https://registry.yarnpkg.com/content-disposition/-/content-disposition-0.5.4.tgz#8b82b4efac82512a02bb0b1dcec9d2c5e8eb5bfe" + integrity sha512-FveZTNuGw04cxlAiWbzi6zTAL/lhehaWbTtgluJh4/E95DqMwTmha3KZN1aAWA8cFIhHzMZUvLevkw5Rqk+tSQ== + dependencies: + safe-buffer "5.2.1" + +content-type@^1.0.4, content-type@~1.0.4: + version "1.0.4" + resolved "https://registry.yarnpkg.com/content-type/-/content-type-1.0.4.tgz#e138cc75e040c727b1966fe5e5f8c9aee256fe3b" + integrity sha512-hIP3EEPs8tB9AT1L+NUqtwOAps4mk2Zob89MWXMHjHWg9milF/j4osnnQLXBCBFBk/tvIG/tUc9mOUJiPBhPXA== + +convert-source-map@^1.7.0: + version "1.8.0" + resolved "https://registry.yarnpkg.com/convert-source-map/-/convert-source-map-1.8.0.tgz#f3373c32d21b4d780dd8004514684fb791ca4369" + integrity sha512-+OQdjP49zViI/6i7nIJpA8rAl4sV/JdPfU9nZs3VqOwGIgizICvuN2ru6fMd+4llL0tar18UYJXfZ/TWtmhUjA== + dependencies: + safe-buffer "~5.1.1" + +cookie-signature@1.0.6: + version "1.0.6" + resolved "https://registry.yarnpkg.com/cookie-signature/-/cookie-signature-1.0.6.tgz#e303a882b342cc3ee8ca513a79999734dab3ae2c" + integrity sha1-4wOogrNCzD7oylE6eZmXNNqzriw= + +cookie@0.4.1: + version "0.4.1" + resolved "https://registry.yarnpkg.com/cookie/-/cookie-0.4.1.tgz#afd713fe26ebd21ba95ceb61f9a8116e50a537d1" + integrity sha512-ZwrFkGJxUR3EIoXtO+yVE69Eb7KlixbaeAWfBQB9vVsNn/o+Yw69gBWSSDK825hQNdN+wF8zELf3dFNl/kxkUA== + +cookie@^0.4.1: + version "0.4.2" + resolved "https://registry.yarnpkg.com/cookie/-/cookie-0.4.2.tgz#0e41f24de5ecf317947c82fc789e06a884824432" + integrity sha512-aSWTXFzaKWkvHO1Ny/s+ePFpvKsPnjc551iI41v3ny/ow6tBG5Vd+FuqGNhh1LxOmVzOlGUriIlOaokOvhaStA== + +copy-concurrently@^1.0.0: + version "1.0.5" + resolved "https://registry.yarnpkg.com/copy-concurrently/-/copy-concurrently-1.0.5.tgz#92297398cae34937fcafd6ec8139c18051f0b5e0" + integrity sha512-f2domd9fsVDFtaFcbaRZuYXwtdmnzqbADSwhSWYxYB/Q8zsdUUFMXVRwXGDMWmbEzAn1kdRrtI1T/KTFOL4X2A== + dependencies: + aproba "^1.1.1" + fs-write-stream-atomic "^1.0.8" + iferr "^0.1.5" + mkdirp "^0.5.1" + rimraf "^2.5.4" + run-queue "^1.0.0" + +copy-descriptor@^0.1.0: + version "0.1.1" + resolved "https://registry.yarnpkg.com/copy-descriptor/-/copy-descriptor-0.1.1.tgz#676f6eb3c39997c2ee1ac3a924fd6124748f578d" + integrity sha1-Z29us8OZl8LuGsOpJP1hJHSPV40= + +core-js-compat@^3.20.2, core-js-compat@^3.21.0: + version "3.21.0" + resolved "https://registry.yarnpkg.com/core-js-compat/-/core-js-compat-3.21.0.tgz#bcc86aa5a589cee358e7a7fa0a4979d5a76c3885" + integrity sha512-OSXseNPSK2OPJa6GdtkMz/XxeXx8/CJvfhQWTqd6neuUraujcL4jVsjkLQz1OWnax8xVQJnRPe0V2jqNWORA+A== + dependencies: + browserslist "^4.19.1" + semver "7.0.0" + +core-util-is@1.0.2: + version "1.0.2" + resolved "https://registry.yarnpkg.com/core-util-is/-/core-util-is-1.0.2.tgz#b5fd54220aa2bc5ab57aab7140c940754503c1a7" + integrity sha1-tf1UIgqivFq1eqtxQMlAdUUDwac= + +core-util-is@~1.0.0: + version "1.0.3" + resolved "https://registry.yarnpkg.com/core-util-is/-/core-util-is-1.0.3.tgz#a6042d3634c2b27e9328f837b965fac83808db85" + integrity sha512-ZQBvi1DcpJ4GDqanjucZ2Hj3wEO5pZDS89BWbkcrvdxksJorwUDDZamX9ldFkp9aw2lmBDLgkObEA4DWNJ9FYQ== + +crc@^3.8.0: + version "3.8.0" + resolved "https://registry.yarnpkg.com/crc/-/crc-3.8.0.tgz#ad60269c2c856f8c299e2c4cc0de4556914056c6" + integrity sha512-iX3mfgcTMIq3ZKLIsVFAbv7+Mc10kxabAGQb8HvjA1o3T1PIYprbakQ65d3I+2HGHt6nSKkM9PYjgoJO2KcFBQ== + dependencies: + buffer "^5.1.0" + +crocket@^0.9.11: + version "0.9.11" + resolved "https://registry.yarnpkg.com/crocket/-/crocket-0.9.11.tgz#288fca11ef0d3dd239b62c488265f30c8edfb0c5" + integrity sha1-KI/KEe8NPdI5tixIgmXzDI7fsMU= + dependencies: + xpipe "*" + +cross-spawn-windows-exe@^1.1.0, cross-spawn-windows-exe@^1.2.0: + version "1.2.0" + resolved "https://registry.yarnpkg.com/cross-spawn-windows-exe/-/cross-spawn-windows-exe-1.2.0.tgz#46253b0f497676e766faf4a7061004618b5ac5ec" + integrity sha512-mkLtJJcYbDCxEG7Js6eUnUNndWjyUZwJ3H7bErmmtOYU/Zb99DyUkpamuIZE0b3bhmJyZ7D90uS6f+CGxRRjOw== + dependencies: + "@malept/cross-spawn-promise" "^1.1.0" + is-wsl "^2.2.0" + which "^2.0.2" + +cross-spawn@^6.0.0, cross-spawn@^6.0.5: + version "6.0.5" + resolved "https://registry.yarnpkg.com/cross-spawn/-/cross-spawn-6.0.5.tgz#4a5ec7c64dfae22c3a14124dbacdee846d80cbc4" + integrity sha512-eTVLrBSt7fjbDygz805pMnstIs2VTBNkRm0qxZd+M7A5XDdxVRWO5MxGBXZhjY4cqLYLdtrGqRf8mBPmzwSpWQ== + dependencies: + nice-try "^1.0.4" + path-key "^2.0.1" + semver "^5.5.0" + shebang-command "^1.2.0" + which "^1.2.9" + +cross-spawn@^7.0.1, cross-spawn@^7.0.3: + version "7.0.3" + resolved "https://registry.yarnpkg.com/cross-spawn/-/cross-spawn-7.0.3.tgz#f73a85b9d5d41d045551c177e2882d4ac85728a6" + integrity sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w== + dependencies: + path-key "^3.1.0" + shebang-command "^2.0.0" + which "^2.0.1" + +cross-unzip@0.0.2: + version "0.0.2" + resolved "https://registry.yarnpkg.com/cross-unzip/-/cross-unzip-0.0.2.tgz#5183bc47a09559befcf98cc4657964999359372f" + integrity sha1-UYO8R6CVWb78+YzEZXlkmZNZNy8= + +crypto-random-string@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/crypto-random-string/-/crypto-random-string-2.0.0.tgz#ef2a7a966ec11083388369baa02ebead229b30d5" + integrity sha512-v1plID3y9r/lPhviJ1wrXpLeyUIGAZ2SHNYTEapm7/8A9nLPoyvVp3RK/EPFqn5kEznyWgYZNsRtYYIWbuG8KA== + +css-hot-loader@^1.4.4: + version "1.4.4" + resolved "https://registry.yarnpkg.com/css-hot-loader/-/css-hot-loader-1.4.4.tgz#ae784932cd8b7d092f7f15702af08b3ec9436052" + integrity sha512-J/qXHz+r7FOT92qMIJfxUk0LC9fecQNZVr0MswQ4FOpKLyOCBjofVMfc6R268bh/5ktkTShrweMr0wWqerC92g== + dependencies: + loader-utils "^1.1.0" + lodash "^4.17.5" + normalize-url "^1.9.1" + +css-loader@^3.4.2: + version "3.6.0" + resolved "https://registry.yarnpkg.com/css-loader/-/css-loader-3.6.0.tgz#2e4b2c7e6e2d27f8c8f28f61bffcd2e6c91ef645" + integrity sha512-M5lSukoWi1If8dhQAUCvj4H8vUt3vOnwbQBH9DdTm/s4Ym2B/3dPMtYZeJmq7Q3S3Pa+I94DcZ7pc9bP14cWIQ== + dependencies: + camelcase "^5.3.1" + cssesc "^3.0.0" + icss-utils "^4.1.1" + loader-utils "^1.2.3" + normalize-path "^3.0.0" + postcss "^7.0.32" + postcss-modules-extract-imports "^2.0.0" + postcss-modules-local-by-default "^3.0.2" + postcss-modules-scope "^2.2.0" + postcss-modules-values "^3.0.0" + postcss-value-parser "^4.1.0" + schema-utils "^2.7.0" + semver "^6.3.0" + +css-select@^4.1.3: + version "4.2.1" + resolved "https://registry.yarnpkg.com/css-select/-/css-select-4.2.1.tgz#9e665d6ae4c7f9d65dbe69d0316e3221fb274cdd" + integrity sha512-/aUslKhzkTNCQUB2qTX84lVmfia9NyjP3WpDGtj/WxhwBzWBYUV3DgUpurHTme8UTPcPlAD1DJ+b0nN/t50zDQ== + dependencies: + boolbase "^1.0.0" + css-what "^5.1.0" + domhandler "^4.3.0" + domutils "^2.8.0" + nth-check "^2.0.1" + +css-what@^5.1.0: + version "5.1.0" + resolved "https://registry.yarnpkg.com/css-what/-/css-what-5.1.0.tgz#3f7b707aadf633baf62c2ceb8579b545bb40f7fe" + integrity sha512-arSMRWIIFY0hV8pIxZMEfmMI47Wj3R/aWpZDDxWYCPEiOMv6tfOrnpDtgxBYPEQD4V0Y/958+1TdC3iWTFcUPw== + +cssesc@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/cssesc/-/cssesc-3.0.0.tgz#37741919903b868565e1c09ea747445cd18983ee" + integrity sha512-/Tb/JcjK111nNScGob5MNtsntNM1aCNUDipB/TkwZFhyDrrE47SOx/18wF2bbjgc3ZzCSKW1T5nt5EbFoAz/Vg== + +dbus-next@^0.9.2: + version "0.9.2" + resolved "https://registry.yarnpkg.com/dbus-next/-/dbus-next-0.9.2.tgz#d69a24ea5b54d90ab6bd543c7b81bcb965a99f93" + integrity sha512-tzQq/+wrTZ2yU+U5PoeXc97KABhX2v55C/T0finH3tSKYuI8H/SqppIFymBBrUHcK13LvEGY3vdj3ikPPenL5g== + dependencies: + "@nornagon/put" "0.0.8" + event-stream "3.3.4" + hexy "^0.2.10" + jsbi "^2.0.5" + long "^4.0.0" + safe-buffer "^5.1.1" + xml2js "^0.4.17" + optionalDependencies: + abstract-socket "^2.0.0" + +debounce-fn@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/debounce-fn/-/debounce-fn-4.0.0.tgz#ed76d206d8a50e60de0dd66d494d82835ffe61c7" + integrity sha512-8pYCQiL9Xdcg0UPSD3d+0KMlOjp+KGU5EPwYddgzQ7DATsg4fuUDjQtsYLmWjnk2obnNHgV3vE2Y4jejSOJVBQ== + dependencies: + mimic-fn "^3.0.0" + +debug@2.6.9, debug@^2.1.0, debug@^2.2.0, debug@^2.3.3, debug@^2.6.8, debug@^2.6.9: + version "2.6.9" + resolved "https://registry.yarnpkg.com/debug/-/debug-2.6.9.tgz#5d128515df134ff327e90a4c93f4e077a536341f" + integrity sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA== + dependencies: + ms "2.0.0" + +debug@4, debug@^4.0.1, debug@^4.1.0, debug@^4.1.1, debug@^4.3.1, debug@^4.3.2, debug@^4.3.3: + version "4.3.3" + resolved "https://registry.yarnpkg.com/debug/-/debug-4.3.3.tgz#04266e0b70a98d4462e6e288e38259213332b664" + integrity sha512-/zxw5+vh1Tfv+4Qn7a5nsbcJKPaSvCDhojn6FEl9vupwK2VCSDtEiEtqr8DFtzYFOdz63LBkxec7DYuc2jon6Q== + dependencies: + ms "2.1.2" + +debug@^3.1.0, debug@^3.1.1, debug@^3.2.6: + version "3.2.7" + resolved "https://registry.yarnpkg.com/debug/-/debug-3.2.7.tgz#72580b7e9145fb39b6676f9c5e5fb100b934179a" + integrity sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ== + dependencies: + ms "^2.1.1" + +decamelize@^1.2.0: + version "1.2.0" + resolved "https://registry.yarnpkg.com/decamelize/-/decamelize-1.2.0.tgz#f6534d15148269b20352e7bee26f501f9a191290" + integrity sha1-9lNNFRSCabIDUue+4m9QH5oZEpA= + +decode-uri-component@^0.2.0: + version "0.2.0" + resolved "https://registry.yarnpkg.com/decode-uri-component/-/decode-uri-component-0.2.0.tgz#eb3913333458775cb84cd1a1fae062106bb87545" + integrity sha1-6zkTMzRYd1y4TNGh+uBiEGu4dUU= + +decompress-response@^3.3.0: + version "3.3.0" + resolved "https://registry.yarnpkg.com/decompress-response/-/decompress-response-3.3.0.tgz#80a4dd323748384bfa248083622aedec982adff3" + integrity sha1-gKTdMjdIOEv6JICDYirt7Jgq3/M= + dependencies: + mimic-response "^1.0.0" + +decompress-response@^6.0.0: + version "6.0.0" + resolved "https://registry.yarnpkg.com/decompress-response/-/decompress-response-6.0.0.tgz#ca387612ddb7e104bd16d85aab00d5ecf09c66fc" + integrity sha512-aW35yZM6Bb/4oJlZncMH2LCoZtJXTRxES17vE3hoRiowU2kWHaJKFkSBDnDR+cm9J+9QhXmREyIfv0pji9ejCQ== + dependencies: + mimic-response "^3.1.0" + +deep-equal@^1.0.1: + version "1.1.1" + resolved "https://registry.yarnpkg.com/deep-equal/-/deep-equal-1.1.1.tgz#b5c98c942ceffaf7cb051e24e1434a25a2e6076a" + integrity sha512-yd9c5AdiqVcR+JjcwUQb9DkhJc8ngNr0MahEBGvDiJw8puWab2yZlh+nkasOnZP+EGTAP6rRp2JzJhJZzvNF8g== + dependencies: + is-arguments "^1.0.4" + is-date-object "^1.0.1" + is-regex "^1.0.4" + object-is "^1.0.1" + object-keys "^1.1.1" + regexp.prototype.flags "^1.2.0" + +deep-extend@^0.6.0: + version "0.6.0" + resolved "https://registry.yarnpkg.com/deep-extend/-/deep-extend-0.6.0.tgz#c4fa7c95404a17a9c3e8ca7e1537312b736330ac" + integrity sha512-LOHxIOaPYdHlJRtCQfDIVZtfw/ufM8+rVj649RIHzcm/vGwQRXFt6OPqIFWsm2XEMrNIEtWR64sY1LEKD2vAOA== + +default-gateway@^4.2.0: + version "4.2.0" + resolved "https://registry.yarnpkg.com/default-gateway/-/default-gateway-4.2.0.tgz#167104c7500c2115f6dd69b0a536bb8ed720552b" + integrity sha512-h6sMrVB1VMWVrW13mSc6ia/DwYYw5MN6+exNu1OaJeFac5aSAvwM7lZ0NVfTABuSkQelr4h5oebg3KB1XPdjgA== + dependencies: + execa "^1.0.0" + ip-regex "^2.1.0" + +defer-to-connect@^1.0.1: + version "1.1.3" + resolved "https://registry.yarnpkg.com/defer-to-connect/-/defer-to-connect-1.1.3.tgz#331ae050c08dcf789f8c83a7b81f0ed94f4ac591" + integrity sha512-0ISdNousHvZT2EiFlZeZAHBUvSxmKswVCEf8hW7KWgG4a8MVEu/3Vb6uWYozkjylyCxe0JBIiRB1jV45S70WVQ== + +defer-to-connect@^2.0.0: + version "2.0.1" + resolved "https://registry.yarnpkg.com/defer-to-connect/-/defer-to-connect-2.0.1.tgz#8016bdb4143e4632b77a3449c6236277de520587" + integrity sha512-4tvttepXG1VaYGrRibk5EwJd1t4udunSOVMdLSAL6mId1ix438oPwPZMALY41FCijukO1L0twNcGsdzS7dHgDg== + +define-lazy-prop@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/define-lazy-prop/-/define-lazy-prop-2.0.0.tgz#3f7ae421129bcaaac9bc74905c98a0009ec9ee7f" + integrity sha512-Ds09qNh8yw3khSjiJjiUInaGX9xlqZDY7JVryGxdxV7NPeuqQfplOpQ66yJFZut3jLa5zOwkXw1g9EI2uKh4Og== + +define-properties@^1.1.2, define-properties@^1.1.3: + version "1.1.3" + resolved "https://registry.yarnpkg.com/define-properties/-/define-properties-1.1.3.tgz#cf88da6cbee26fe6db7094f61d870cbd84cee9f1" + integrity sha512-3MqfYKj2lLzdMSf8ZIZE/V+Zuy+BgD6f164e8K2w7dgnpKArBDerGYpM46IYYcjnkdPNMjPk9A6VFB8+3SKlXQ== + dependencies: + object-keys "^1.0.12" + +define-property@^0.2.5: + version "0.2.5" + resolved "https://registry.yarnpkg.com/define-property/-/define-property-0.2.5.tgz#c35b1ef918ec3c990f9a5bc57be04aacec5c8116" + integrity sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY= + dependencies: + is-descriptor "^0.1.0" + +define-property@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/define-property/-/define-property-1.0.0.tgz#769ebaaf3f4a63aad3af9e8d304c9bbe79bfb0e6" + integrity sha1-dp66rz9KY6rTr56NMEybvnm/sOY= + dependencies: + is-descriptor "^1.0.0" + +define-property@^2.0.2: + version "2.0.2" + resolved "https://registry.yarnpkg.com/define-property/-/define-property-2.0.2.tgz#d459689e8d654ba77e02a817f8710d702cb16e9d" + integrity sha512-jwK2UV4cnPpbcG7+VRARKTZPUWowwXA8bzH5NP6ud0oeAxyYPuGZUAC7hMugpCdz4BeSZl2Dl9k66CHJ/46ZYQ== + dependencies: + is-descriptor "^1.0.2" + isobject "^3.0.1" + +del@^4.1.1: + version "4.1.1" + resolved "https://registry.yarnpkg.com/del/-/del-4.1.1.tgz#9e8f117222ea44a31ff3a156c049b99052a9f0b4" + integrity sha512-QwGuEUouP2kVwQenAsOof5Fv8K9t3D8Ca8NxcXKrIpEHjTXK5J2nXLdP+ALI1cgv8wj7KuwBhTwBkOZSJKM5XQ== + dependencies: + "@types/glob" "^7.1.1" + globby "^6.1.0" + is-path-cwd "^2.0.0" + is-path-in-cwd "^2.0.0" + p-map "^2.0.0" + pify "^4.0.1" + rimraf "^2.6.3" + +delayed-stream@~1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/delayed-stream/-/delayed-stream-1.0.0.tgz#df3ae199acadfb7d440aaae0b29e2272b24ec619" + integrity sha1-3zrhmayt+31ECqrgsp4icrJOxhk= + +delegates@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/delegates/-/delegates-1.0.0.tgz#84c6e159b81904fdca59a0ef44cd870d31250f9a" + integrity sha1-hMbhWbgZBP3KWaDvRM2HDTElD5o= + +depd@^1.1.2, depd@~1.1.2: + version "1.1.2" + resolved "https://registry.yarnpkg.com/depd/-/depd-1.1.2.tgz#9bcd52e14c097763e749b274c4346ed2e560b5a9" + integrity sha1-m81S4UwJd2PnSbJ0xDRu0uVgtak= + +destroy@~1.0.4: + version "1.0.4" + resolved "https://registry.yarnpkg.com/destroy/-/destroy-1.0.4.tgz#978857442c44749e4206613e37946205826abd80" + integrity sha1-l4hXRCxEdJ5CBmE+N5RiBYJqvYA= + +detect-file@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/detect-file/-/detect-file-1.0.0.tgz#f0d66d03672a825cb1b73bdb3fe62310c8e552b7" + integrity sha1-8NZtA2cqglyxtzvbP+YjEMjlUrc= + +detect-node@^2.0.4: + version "2.1.0" + resolved "https://registry.yarnpkg.com/detect-node/-/detect-node-2.1.0.tgz#c9c70775a49c3d03bc2c06d9a73be550f978f8b1" + integrity sha512-T0NIuQpnTvFDATNuHN5roPwSBG83rFsuO+MXXH9/3N1eFbn4wcPjttvjMLEPWJ0RGUYgQE7cGgS3tNxbqCGM7g== + +diff-sequences@^27.4.0: + version "27.4.0" + resolved "https://registry.yarnpkg.com/diff-sequences/-/diff-sequences-27.4.0.tgz#d783920ad8d06ec718a060d00196dfef25b132a5" + integrity sha512-YqiQzkrsmHMH5uuh8OdQFU9/ZpADnwzml8z0O5HvRNda+5UZsaX/xN+AAxfR2hWq1Y7HZnAzO9J5lJXOuDz2Ww== + +dijkstrajs@^1.0.1: + version "1.0.2" + resolved "https://registry.yarnpkg.com/dijkstrajs/-/dijkstrajs-1.0.2.tgz#2e48c0d3b825462afe75ab4ad5e829c8ece36257" + integrity sha512-QV6PMaHTCNmKSeP6QoXhVTw9snc9VD8MulTT0Bd99Pacp4SS1cjcrYPgBPmibqKVtMJJfqC6XvOXgPMEEPH/fg== + +dir-compare@^2.4.0: + version "2.4.0" + resolved "https://registry.yarnpkg.com/dir-compare/-/dir-compare-2.4.0.tgz#785c41dc5f645b34343a4eafc50b79bac7f11631" + integrity sha512-l9hmu8x/rjVC9Z2zmGzkhOEowZvW7pmYws5CWHutg8u1JgvsKWMx7Q/UODeu4djLZ4FgW5besw5yvMQnBHzuCA== + dependencies: + buffer-equal "1.0.0" + colors "1.0.3" + commander "2.9.0" + minimatch "3.0.4" + +discord-rpc@^4.0.1: + version "4.0.1" + resolved "https://registry.yarnpkg.com/discord-rpc/-/discord-rpc-4.0.1.tgz#a89aa04a048aa83ad4f347d53fa0162501eae0d8" + integrity sha512-HOvHpbq5STRZJjQIBzwoKnQ0jHplbEWFWlPDwXXKm/bILh4nzjcg7mNqll0UY7RsjFoaXA7e/oYb/4lvpda2zA== + dependencies: + node-fetch "^2.6.1" + ws "^7.3.1" + optionalDependencies: + register-scheme "github:devsnek/node-register-scheme" + +dmg-builder@22.14.5: + version "22.14.5" + resolved "https://registry.yarnpkg.com/dmg-builder/-/dmg-builder-22.14.5.tgz#137c0b55e639badcc0b119eb060e6fa4ed61d948" + integrity sha512-1GvFGQE332bvPamcMwZDqWqfWfJTyyDLOsHMcGi0zs+Jh7JOn6/zuBkHJIWHdsj2QJbhzLVyd2/ZqttOKv7I8w== + dependencies: + app-builder-lib "22.14.5" + builder-util "22.14.5" + builder-util-runtime "8.9.1" + fs-extra "^10.0.0" + iconv-lite "^0.6.2" + js-yaml "^4.1.0" + optionalDependencies: + dmg-license "^1.0.9" + +dmg-license@^1.0.9: + version "1.0.10" + resolved "https://registry.yarnpkg.com/dmg-license/-/dmg-license-1.0.10.tgz#89f52afae25d827fce8d818c13aff30af1c16bcc" + integrity sha512-SVeeyiOeinV5JCPHXMdKOgK1YVbak/4+8WL2rBnfqRYpA5FaeFaQnQWb25x628am1w70CbipGDv9S51biph63A== + dependencies: + "@types/plist" "^3.0.1" + "@types/verror" "^1.10.3" + ajv "^6.10.0" + crc "^3.8.0" + iconv-corefoundation "^1.1.7" + plist "^3.0.4" + smart-buffer "^4.0.2" + verror "^1.10.0" + +dns-equal@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/dns-equal/-/dns-equal-1.0.0.tgz#b39e7f1da6eb0a75ba9c17324b34753c47e0654d" + integrity sha1-s55/HabrCnW6nBcySzR1PEfgZU0= + +"dns-js@github:bitfocus/node-dns-js#v0.2.2": + version "0.2.2" + resolved "https://codeload.github.com/bitfocus/node-dns-js/tar.gz/e5f0c3da63653398005bf36f66ad0b77770dcad6" + dependencies: + debug "^2.1.0" + qap "^3.1.2" + +dns-packet@^1.3.1: + version "1.3.4" + resolved "https://registry.yarnpkg.com/dns-packet/-/dns-packet-1.3.4.tgz#e3455065824a2507ba886c55a89963bb107dec6f" + integrity sha512-BQ6F4vycLXBvdrJZ6S3gZewt6rcrks9KBgM9vrhW+knGRqc8uEdT7fuCwloc7nny5xNoMJ17HGH0R/6fpo8ECA== + dependencies: + ip "^1.1.0" + safe-buffer "^5.0.1" + +dns-txt@^2.0.2: + version "2.0.2" + resolved "https://registry.yarnpkg.com/dns-txt/-/dns-txt-2.0.2.tgz#b91d806f5d27188e4ab3e7d107d881a1cc4642b6" + integrity sha1-uR2Ab10nGI5Ks+fRB9iBocxGQrY= + dependencies: + buffer-indexof "^1.0.0" + +dom-converter@^0.2.0: + version "0.2.0" + resolved "https://registry.yarnpkg.com/dom-converter/-/dom-converter-0.2.0.tgz#6721a9daee2e293682955b6afe416771627bb768" + integrity sha512-gd3ypIPfOMr9h5jIKq8E3sHOTCjeirnl0WK5ZdS1AW0Odt0b1PaWaHdJ4Qk4klv+YB9aJBS7mESXjFoDQPu6DA== + dependencies: + utila "~0.4" + +dom-serializer@^1.0.1: + version "1.3.2" + resolved "https://registry.yarnpkg.com/dom-serializer/-/dom-serializer-1.3.2.tgz#6206437d32ceefaec7161803230c7a20bc1b4d91" + integrity sha512-5c54Bk5Dw4qAxNOI1pFEizPSjVsx5+bpJKmL2kPn8JhBUq2q09tTCa3mjijun2NfK78NMouDYNMBkOrPZiS+ig== + dependencies: + domelementtype "^2.0.1" + domhandler "^4.2.0" + entities "^2.0.0" + +domelementtype@^2.0.1, domelementtype@^2.2.0: + version "2.2.0" + resolved "https://registry.yarnpkg.com/domelementtype/-/domelementtype-2.2.0.tgz#9a0b6c2782ed6a1c7323d42267183df9bd8b1d57" + integrity sha512-DtBMo82pv1dFtUmHyr48beiuq792Sxohr+8Hm9zoxklYPfa6n0Z3Byjj2IV7bmr2IyqClnqEQhfgHJJ5QF0R5A== + +domhandler@^3.0.0: + version "3.3.0" + resolved "https://registry.yarnpkg.com/domhandler/-/domhandler-3.3.0.tgz#6db7ea46e4617eb15cf875df68b2b8524ce0037a" + integrity sha512-J1C5rIANUbuYK+FuFL98650rihynUOEzRLxW+90bKZRWB6A1X1Tf82GxR1qAWLyfNPRvjqfip3Q5tdYlmAa9lA== + dependencies: + domelementtype "^2.0.1" + +domhandler@^4.0.0, domhandler@^4.2.0, domhandler@^4.3.0: + version "4.3.0" + resolved "https://registry.yarnpkg.com/domhandler/-/domhandler-4.3.0.tgz#16c658c626cf966967e306f966b431f77d4a5626" + integrity sha512-fC0aXNQXqKSFTr2wDNZDhsEYjCiYsDWl3D01kwt25hm1YIPyDGHvvi3rw+PLqHAl/m71MaiF7d5zvBr0p5UB2g== + dependencies: + domelementtype "^2.2.0" + +domutils@^2.0.0, domutils@^2.5.2, domutils@^2.8.0: + version "2.8.0" + resolved "https://registry.yarnpkg.com/domutils/-/domutils-2.8.0.tgz#4437def5db6e2d1f5d6ee859bd95ca7d02048135" + integrity sha512-w96Cjofp72M5IIhpjgobBimYEfoPjx1Vx0BSX9P30WBdZW2WIKU0T1Bd0kz2eNZ9ikjKgHbEyKx8BB6H1L3h3A== + dependencies: + dom-serializer "^1.0.1" + domelementtype "^2.2.0" + domhandler "^4.2.0" + +dot-case@^3.0.4: + version "3.0.4" + resolved "https://registry.yarnpkg.com/dot-case/-/dot-case-3.0.4.tgz#9b2b670d00a431667a8a75ba29cd1b98809ce751" + integrity sha512-Kv5nKlh6yRrdrGvxeJ2e5y2eRUpkUosIW4A2AS38zwSz27zu7ufDwQPi5Jhs3XAlGNetl3bmnGhQsMtkKJnj3w== + dependencies: + no-case "^3.0.4" + tslib "^2.0.3" + +dot-prop@^5.2.0: + version "5.3.0" + resolved "https://registry.yarnpkg.com/dot-prop/-/dot-prop-5.3.0.tgz#90ccce708cd9cd82cc4dc8c3ddd9abdd55b20e88" + integrity sha512-QM8q3zDe58hqUqjraQOmzZ1LIH9SWQJTlEKCH4kJ2oQvLZk7RbQXvtDM2XEq3fwkV9CCvvH4LA0AV+ogFsBM2Q== + dependencies: + is-obj "^2.0.0" + +dot-prop@^6.0.1: + version "6.0.1" + resolved "https://registry.yarnpkg.com/dot-prop/-/dot-prop-6.0.1.tgz#fc26b3cf142b9e59b74dbd39ed66ce620c681083" + integrity sha512-tE7ztYzXHIeyvc7N+hR3oi7FIbf/NIjVP9hmAt3yMXzrQ072/fpjGLx2GxNxGxUl5V73MEqYzioOMoVhGMJ5cA== + dependencies: + is-obj "^2.0.0" + +dotenv-expand@^5.1.0: + version "5.1.0" + resolved "https://registry.yarnpkg.com/dotenv-expand/-/dotenv-expand-5.1.0.tgz#3fbaf020bfd794884072ea26b1e9791d45a629f0" + integrity sha512-YXQl1DSa4/PQyRfgrv6aoNjhasp/p4qs9FjJ4q4cQk+8m4r6k4ZSiEyytKG8f8W9gi8WsQtIObNmKd+tMzNTmA== + +dotenv@^8.0.0, dotenv@^8.2.0: + version "8.6.0" + resolved "https://registry.yarnpkg.com/dotenv/-/dotenv-8.6.0.tgz#061af664d19f7f4d8fc6e4ff9b584ce237adcb8b" + integrity sha512-IrPdXQsk2BbzvCBGBOTmmSH5SodmqZNt4ERAZDmW4CT+tL8VtvinqywuANaFu4bOMWki16nqf0e4oC0QIaDr/g== + +dotenv@^9.0.2: + version "9.0.2" + resolved "https://registry.yarnpkg.com/dotenv/-/dotenv-9.0.2.tgz#dacc20160935a37dea6364aa1bef819fb9b6ab05" + integrity sha512-I9OvvrHp4pIARv4+x9iuewrWycX6CcZtoAu1XrzPxc5UygMJXJZYmBsynku8IkrJwgypE5DGNjDPmPRhDCptUg== + +duplexer3@^0.1.4: + version "0.1.4" + resolved "https://registry.yarnpkg.com/duplexer3/-/duplexer3-0.1.4.tgz#ee01dd1cac0ed3cbc7fdbea37dc0a8f1ce002ce2" + integrity sha1-7gHdHKwO08vH/b6jfcCo8c4ALOI= + +duplexer@~0.1.1: + version "0.1.2" + resolved "https://registry.yarnpkg.com/duplexer/-/duplexer-0.1.2.tgz#3abe43aef3835f8ae077d136ddce0f276b0400e6" + integrity sha512-jtD6YG370ZCIi/9GTaJKQxWTZD045+4R4hTk/x1UyoqadyJ9x9CgSi1RlVDQF8U2sxLLSnFkCaMihqljHIWgMg== + +ee-first@1.1.1: + version "1.1.1" + resolved "https://registry.yarnpkg.com/ee-first/-/ee-first-1.1.1.tgz#590c61156b0ae2f4f0255732a158b266bc56b21d" + integrity sha1-WQxhFWsK4vTwJVcyoViyZrxWsh0= + +ejs@^3.1.6: + version "3.1.6" + resolved "https://registry.yarnpkg.com/ejs/-/ejs-3.1.6.tgz#5bfd0a0689743bb5268b3550cceeebbc1702822a" + integrity sha512-9lt9Zse4hPucPkoP7FHDF0LQAlGyF9JVpnClFLFH3aSSbxmyoqINRpp/9wePWJTUl4KOQwRL72Iw3InHPDkoGw== + dependencies: + jake "^10.6.1" + +electron-builder@^22.14.5: + version "22.14.5" + resolved "https://registry.yarnpkg.com/electron-builder/-/electron-builder-22.14.5.tgz#3a25547bd4fe3728d4704da80956a794c5c31496" + integrity sha512-N73hSbXFz6Mz5Z6h6C5ly6CB+dUN6k1LuCDJjI8VF47bMXv/QE0HE+Kkb0GPKqTqM7Hsk/yIYX+kHCfSkR5FGg== + dependencies: + "@types/yargs" "^17.0.1" + app-builder-lib "22.14.5" + builder-util "22.14.5" + builder-util-runtime "8.9.1" + chalk "^4.1.1" + dmg-builder "22.14.5" + fs-extra "^10.0.0" + is-ci "^3.0.0" + lazy-val "^1.0.5" + read-config-file "6.2.0" + update-notifier "^5.1.0" + yargs "^17.0.1" + +electron-devtools-installer@^2.2.4: + version "2.2.4" + resolved "https://registry.yarnpkg.com/electron-devtools-installer/-/electron-devtools-installer-2.2.4.tgz#261a50337e37121d338b966f07922eb4939a8763" + integrity sha512-b5kcM3hmUqn64+RUcHjjr8ZMpHS2WJ5YO0pnG9+P/RTdx46of/JrEjuciHWux6pE+On6ynWhHJF53j/EDJN0PA== + dependencies: + "7zip" "0.0.6" + cross-unzip "0.0.2" + rimraf "^2.5.2" + semver "^5.3.0" + +electron-fetch@^1.7.4: + version "1.7.4" + resolved "https://registry.yarnpkg.com/electron-fetch/-/electron-fetch-1.7.4.tgz#af975ab92a14798bfaa025f88dcd2e54a7b0b769" + integrity sha512-+fBLXEy4CJWQ5bz8dyaeSG1hD6JJ15kBZyj3eh24pIVrd3hLM47H/umffrdQfS6GZ0falF0g9JT9f3Rs6AVUhw== + dependencies: + encoding "^0.1.13" + +electron-log@^4.4.5: + version "4.4.5" + resolved "https://registry.yarnpkg.com/electron-log/-/electron-log-4.4.5.tgz#5fcfd0c2dc5fbda915ee0a9d802705dc57930786" + integrity sha512-Cfa2CKnwBhlUfIl/qr2GF5SCqfoA9yPBqTJ6/wPs+PEn36M2+EZ3RpGSaOhYQ1BZpolL1CWyeu3gMG8epLl3Ng== + +electron-notarize@^1.1.1: + version "1.1.1" + resolved "https://registry.yarnpkg.com/electron-notarize/-/electron-notarize-1.1.1.tgz#3ed274b36158c1beb1dbef14e7faf5927e028629" + integrity sha512-kufsnqh86CTX89AYNG3NCPoboqnku/+32RxeJ2+7A4Rbm4bbOx0Nc7XTy3/gAlBfpj9xPAxHfhZLOHgfi6cJVw== + dependencies: + debug "^4.1.1" + fs-extra "^9.0.1" + +electron-osx-sign@^0.5.0: + version "0.5.0" + resolved "https://registry.yarnpkg.com/electron-osx-sign/-/electron-osx-sign-0.5.0.tgz#fc258c5e896859904bbe3d01da06902c04b51c3a" + integrity sha512-icoRLHzFz/qxzDh/N4Pi2z4yVHurlsCAYQvsCSG7fCedJ4UJXBS6PoQyGH71IfcqKupcKeK7HX/NkyfG+v6vlQ== + dependencies: + bluebird "^3.5.0" + compare-version "^0.1.2" + debug "^2.6.8" + isbinaryfile "^3.0.2" + minimist "^1.2.0" + plist "^3.0.1" + +electron-packager@^15.4.0: + version "15.4.0" + resolved "https://registry.yarnpkg.com/electron-packager/-/electron-packager-15.4.0.tgz#07ea036b70cde2062d4c8dce4d907d793b303998" + integrity sha512-JrrLcBP15KGrPj0cZ/ALKGmaQ4gJkn3mocf0E3bRKdR3kxKWYcDRpCvdhksYDXw/r3I6tMEcZ7XzyApWFXdVpw== + dependencies: + "@electron/get" "^1.6.0" + asar "^3.1.0" + cross-spawn-windows-exe "^1.2.0" + debug "^4.0.1" + electron-notarize "^1.1.1" + electron-osx-sign "^0.5.0" + extract-zip "^2.0.0" + filenamify "^4.1.0" + fs-extra "^9.0.0" + galactus "^0.2.1" + get-package-info "^1.0.0" + junk "^3.1.0" + parse-author "^2.0.0" + plist "^3.0.0" + rcedit "^3.0.1" + resolve "^1.1.6" + semver "^7.1.3" + yargs-parser "^20.0.0" + +electron-publish@22.14.5: + version "22.14.5" + resolved "https://registry.yarnpkg.com/electron-publish/-/electron-publish-22.14.5.tgz#34bcdce671f0e651330db20040d6919c77c94bd6" + integrity sha512-h+NANRdaA0PqGF15GKvorseWPzh1PXa/zx4I37//PIokW8eKIov8ky23foUSb55ZFWUHGpxQJux7y2NCfBtQeg== + dependencies: + "@types/fs-extra" "^9.0.11" + builder-util "22.14.5" + builder-util-runtime "8.9.1" + chalk "^4.1.1" + fs-extra "^10.0.0" + lazy-val "^1.0.5" + mime "^2.5.2" + +electron-store@^8.0.1: + version "8.0.1" + resolved "https://registry.yarnpkg.com/electron-store/-/electron-store-8.0.1.tgz#9b598c1d2edeffebee9d8c1cd957ad368c528925" + integrity sha512-ZyLvNywiqSpbwC/pp89O/AycVWY/UJIkmtyzF2Bd0Nm/rLmcFc0NTGuLdg6+LE8mS8qsiK5JMoe4PnrecLHH5w== + dependencies: + conf "^10.0.3" + type-fest "^1.0.2" + +electron-to-chromium@^1.4.17: + version "1.4.65" + resolved "https://registry.yarnpkg.com/electron-to-chromium/-/electron-to-chromium-1.4.65.tgz#c0820db06e268e0a2fd4dbce38fb5376d38ca449" + integrity sha512-0/d8Skk8sW3FxXP0Dd6MnBlrwx7Qo9cqQec3BlIAlvKnrmS3pHsIbaroEi+nd0kZkGpQ6apMEre7xndzjlEnLw== + +electron-updater@^4.6.1: + version "4.6.1" + resolved "https://registry.yarnpkg.com/electron-updater/-/electron-updater-4.6.1.tgz#80ca805c4f51b2e682aac29d18fed75d6a533d32" + integrity sha512-YsU1mHqXLrXXmBMsxhxy24PrbaB8rnpZDPmFa2gOkTYk/Ch13+R0fjsRSpPYvqtskVVY0ux8fu+HnUkVkqc7og== + dependencies: + "@types/semver" "^7.3.6" + builder-util-runtime "8.9.1" + fs-extra "^10.0.0" + js-yaml "^4.1.0" + lazy-val "^1.0.5" + lodash.escaperegexp "^4.1.2" + lodash.isequal "^4.5.0" + semver "^7.3.5" + +electron-webpack-js@~2.4.1: + version "2.4.1" + resolved "https://registry.yarnpkg.com/electron-webpack-js/-/electron-webpack-js-2.4.1.tgz#5389cc22f34c71f6416d5ba1e043f9b0fd6130af" + integrity sha512-NPbcI4nnuclkLEKmwRI8sui2GNe37NKm0pCQR6KZA7YSV3KQdH4I7wOgIZ2AkeCpyeUHrBSMGQY+VqhPD7OtMA== + dependencies: + "@babel/core" "^7.9.0" + "@babel/plugin-syntax-dynamic-import" "^7.8.3" + "@babel/preset-env" "^7.9.0" + babel-loader "^8.1.0" + babel-plugin-component "^1.1.1" + +electron-webpack@^2.8.2: + version "2.8.2" + resolved "https://registry.yarnpkg.com/electron-webpack/-/electron-webpack-2.8.2.tgz#5a0357ce8f7d147e5f559294a08bb072d1092b0a" + integrity sha512-rR7hxoOlZIcJf6R08mVl/4TBtFY+HW6sv4Z28TdMWETvcM4ZBIBdGNGylxF0gNwB8gkTgo8UkkDbXGX48K4Vow== + dependencies: + "@types/webpack-env" "^1.15.1" + async-exit-hook "^2.0.1" + bluebird "^3.7.2" + chalk "^4.0.0" + crocket "^0.9.11" + css-hot-loader "^1.4.4" + css-loader "^3.4.2" + debug "^4.1.1" + dotenv "^8.2.0" + dotenv-expand "^5.1.0" + electron-devtools-installer "^2.2.4" + electron-webpack-js "~2.4.1" + file-loader "^6.0.0" + fs-extra "^9.0.0" + html-loader "^1.1.0" + html-webpack-plugin "^4.0.4" + lazy-val "^1.0.4" + mini-css-extract-plugin "^0.9.0" + node-loader "^0.6.0" + read-config-file "~4.0.1" + semver "^7.1.3" + source-map-support "^0.5.16" + style-loader "^1.1.3" + terser-webpack-plugin "^2.3.5" + url-loader "^4.0.0" + webpack-cli "^3.3.11" + webpack-dev-server "^3.10.3" + webpack-merge "^4.2.2" + yargs "^15.3.1" + +electron-window-state@^5.0.3: + version "5.0.3" + resolved "https://registry.yarnpkg.com/electron-window-state/-/electron-window-state-5.0.3.tgz#4f36d09e3f953d87aff103bf010f460056050aa8" + integrity sha512-1mNTwCfkolXl3kMf50yW3vE2lZj0y92P/HYWFBrb+v2S/pCka5mdwN3cagKm458A7NjndSwijynXgcLWRodsVg== + dependencies: + jsonfile "^4.0.0" + mkdirp "^0.5.1" + +"electron@git+https://github.com/castlabs/electron-releases.git": + version "18.0.0-alpha.1" + resolved "git+https://github.com/castlabs/electron-releases.git#513890a7edda1f9723fbf410a4806b4cabd88827" + dependencies: + "@electron/get" "^1.13.0" + "@types/node" "^14.6.2" + extract-zip "^1.0.3" + +emoji-regex@^7.0.1: + version "7.0.3" + resolved "https://registry.yarnpkg.com/emoji-regex/-/emoji-regex-7.0.3.tgz#933a04052860c85e83c122479c4748a8e4c72156" + integrity sha512-CwBLREIQ7LvYFB0WyRvwhq5N5qPhc6PMjD6bYggFlI5YyDgl+0vxq5VHbMOFqLg7hfWzmu8T5Z1QofhmTIhItA== + +emoji-regex@^8.0.0: + version "8.0.0" + resolved "https://registry.yarnpkg.com/emoji-regex/-/emoji-regex-8.0.0.tgz#e818fd69ce5ccfcb404594f842963bf53164cc37" + integrity sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A== + +emojis-list@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/emojis-list/-/emojis-list-3.0.0.tgz#5570662046ad29e2e916e71aae260abdff4f6a78" + integrity sha512-/kyM18EfinwXZbno9FyUGeFh87KC8HRQBQGildHZbEuRyWFOmv1U10o9BBp8XVZDVNNuQKyIGIu5ZYAAXJ0V2Q== + +encode-utf8@^1.0.3: + version "1.0.3" + resolved "https://registry.yarnpkg.com/encode-utf8/-/encode-utf8-1.0.3.tgz#f30fdd31da07fb596f281beb2f6b027851994cda" + integrity sha512-ucAnuBEhUK4boH2HjVYG5Q2mQyPorvv0u/ocS+zhdw0S8AlHYY+GOFhP1Gio5z4icpP2ivFSvhtFjQi8+T9ppw== + +encodeurl@^1.0.2, encodeurl@~1.0.2: + version "1.0.2" + resolved "https://registry.yarnpkg.com/encodeurl/-/encodeurl-1.0.2.tgz#ad3ff4c86ec2d029322f5a02c3a9a606c95b3f59" + integrity sha1-rT/0yG7C0CkyL1oCw6mmBslbP1k= + +encoding@^0.1.12, encoding@^0.1.13: + version "0.1.13" + resolved "https://registry.yarnpkg.com/encoding/-/encoding-0.1.13.tgz#56574afdd791f54a8e9b2785c0582a2d26210fa9" + integrity sha512-ETBauow1T35Y/WZMkio9jiM0Z5xjHHmJ4XmjZOq1l/dXz3lr2sRn87nJy20RupqSh1F2m3HHPSp8ShIPQJrJ3A== + dependencies: + iconv-lite "^0.6.2" + +end-of-stream@^1.1.0: + version "1.4.4" + resolved "https://registry.yarnpkg.com/end-of-stream/-/end-of-stream-1.4.4.tgz#5ae64a5f45057baf3626ec14da0ca5e4b2431eb0" + integrity sha512-+uw1inIHVPQoaVuHzRyXd21icM+cnt4CzD5rW+NC1wjOUSTOs+Te7FOv7AhN7vS9x/oIyhLP5PR1H+phQAHu5Q== + dependencies: + once "^1.4.0" + +enhanced-resolve@^4.1.1: + version "4.5.0" + resolved "https://registry.yarnpkg.com/enhanced-resolve/-/enhanced-resolve-4.5.0.tgz#2f3cfd84dbe3b487f18f2db2ef1e064a571ca5ec" + integrity sha512-Nv9m36S/vxpsI+Hc4/ZGRs0n9mXqSWGGq49zxb/cJfPAQMbUtttJAlNPS4AQzaBdw/pKskw5bMbekT/Y7W/Wlg== + dependencies: + graceful-fs "^4.1.2" + memory-fs "^0.5.0" + tapable "^1.0.0" + +enhanced-resolve@^5.8.3: + version "5.8.3" + resolved "https://registry.yarnpkg.com/enhanced-resolve/-/enhanced-resolve-5.8.3.tgz#6d552d465cce0423f5b3d718511ea53826a7b2f0" + integrity sha512-EGAbGvH7j7Xt2nc0E7D99La1OiEs8LnyimkRgwExpUMScN6O+3x9tIWs7PLQZVNx4YD+00skHXPXi1yQHpAmZA== + dependencies: + graceful-fs "^4.2.4" + tapable "^2.2.0" + +entities@^2.0.0: + version "2.2.0" + resolved "https://registry.yarnpkg.com/entities/-/entities-2.2.0.tgz#098dc90ebb83d8dffa089d55256b351d34c4da55" + integrity sha512-p92if5Nz619I0w+akJrLZH0MX0Pb5DX39XOwQTtXSdQQOaYH03S1uIQp4mhOZtAXrxq4ViO67YTiLBo2638o9A== + +env-paths@^2.2.0, env-paths@^2.2.1: + version "2.2.1" + resolved "https://registry.yarnpkg.com/env-paths/-/env-paths-2.2.1.tgz#420399d416ce1fbe9bc0a07c62fa68d67fd0f8f2" + integrity sha512-+h1lkLKhZMTYjog1VEpJNG7NZJWcuc2DDk/qsqSTRRCOXiLjeQ1d1/udrUGhqMxUgAlwKNZ0cf2uqan5GLuS2A== + +err-code@^2.0.2: + version "2.0.3" + resolved "https://registry.yarnpkg.com/err-code/-/err-code-2.0.3.tgz#23c2f3b756ffdfc608d30e27c9a941024807e7f9" + integrity sha512-2bmlRpNKBxT/CRmPOlyISQpNj+qSeYvcym/uT0Jx2bMOlKLtSy1ZmLuVxSEKKyor/N5yhvp/ZiG1oE3DEYMSFA== + +errno@^0.1.3: + version "0.1.8" + resolved "https://registry.yarnpkg.com/errno/-/errno-0.1.8.tgz#8bb3e9c7d463be4976ff888f76b4809ebc2e811f" + integrity sha512-dJ6oBr5SQ1VSd9qkk7ByRgb/1SH4JZjCHSW/mr63/QcXO9zLVxvJ6Oy13nio03rxpSnVDDjFor75SjVeZWPW/A== + dependencies: + prr "~1.0.1" + +error-ex@^1.2.0, error-ex@^1.3.1: + version "1.3.2" + resolved "https://registry.yarnpkg.com/error-ex/-/error-ex-1.3.2.tgz#b4ac40648107fdcdcfae242f428bea8a14d4f1bf" + integrity sha512-7dFHNmqeFSEt2ZBsCriorKnn3Z2pj+fd9kmI6QoWw4//DL+icEBfc0U7qJCisqrTsKTjw4fNFy2pW9OqStD84g== + dependencies: + is-arrayish "^0.2.1" + +es-abstract@^1.19.1: + version "1.19.1" + resolved "https://registry.yarnpkg.com/es-abstract/-/es-abstract-1.19.1.tgz#d4885796876916959de78edaa0df456627115ec3" + integrity sha512-2vJ6tjA/UfqLm2MPs7jxVybLoB8i1t1Jd9R3kISld20sIxPcTbLuggQOUxeWeAvIUkduv/CfMjuh4WmiXr2v9w== + dependencies: + call-bind "^1.0.2" + es-to-primitive "^1.2.1" + function-bind "^1.1.1" + get-intrinsic "^1.1.1" + get-symbol-description "^1.0.0" + has "^1.0.3" + has-symbols "^1.0.2" + internal-slot "^1.0.3" + is-callable "^1.2.4" + is-negative-zero "^2.0.1" + is-regex "^1.1.4" + is-shared-array-buffer "^1.0.1" + is-string "^1.0.7" + is-weakref "^1.0.1" + object-inspect "^1.11.0" + object-keys "^1.1.1" + object.assign "^4.1.2" + string.prototype.trimend "^1.0.4" + string.prototype.trimstart "^1.0.4" + unbox-primitive "^1.0.1" + +es-module-lexer@^0.9.0: + version "0.9.3" + resolved "https://registry.yarnpkg.com/es-module-lexer/-/es-module-lexer-0.9.3.tgz#6f13db00cc38417137daf74366f535c8eb438f19" + integrity sha512-1HQ2M2sPtxwnvOvT1ZClHyQDiggdNjURWpY2we6aMKCQiUVxTmVs2UYPLIrD84sS+kMdUwfBSylbJPwNnBrnHQ== + +es-to-primitive@^1.2.1: + version "1.2.1" + resolved "https://registry.yarnpkg.com/es-to-primitive/-/es-to-primitive-1.2.1.tgz#e55cd4c9cdc188bcefb03b366c736323fc5c898a" + integrity sha512-QCOllgZJtaUo9miYBcLChTUaHNjJF3PYs1VidD7AwiEj1kYxKeQTctLAezAOH5ZKRH0g2IgPn6KwB4IT8iRpvA== + dependencies: + is-callable "^1.1.4" + is-date-object "^1.0.1" + is-symbol "^1.0.2" + +es6-error@^4.1.1: + version "4.1.1" + resolved "https://registry.yarnpkg.com/es6-error/-/es6-error-4.1.1.tgz#9e3af407459deed47e9a91f9b885a84eb05c561d" + integrity sha512-Um/+FxMr9CISWh0bi5Zv0iOD+4cFh5qLeks1qhAopKVAJw3drgKbKySikp7wGhDL0HPeaja0P5ULZrxLkniUVg== + +escalade@^3.1.1: + version "3.1.1" + resolved "https://registry.yarnpkg.com/escalade/-/escalade-3.1.1.tgz#d8cfdc7000965c5a0174b4a82eaa5c0552742e40" + integrity sha512-k0er2gUkLf8O0zKJiAhmkTnJlTvINGv7ygDNPbeIsX/TJjGJZHuh9B2UxbsaEkmlEo9MfhrSzmhIlhRlI2GXnw== + +escape-goat@^2.0.0: + version "2.1.1" + resolved "https://registry.yarnpkg.com/escape-goat/-/escape-goat-2.1.1.tgz#1b2dc77003676c457ec760b2dc68edb648188675" + integrity sha512-8/uIhbG12Csjy2JEW7D9pHbreaVaS/OpN3ycnyvElTdwM5n6GY6W6e2IPemfvGZeUMqZ9A/3GqIZMgKnBhAw/Q== + +escape-html@~1.0.3: + version "1.0.3" + resolved "https://registry.yarnpkg.com/escape-html/-/escape-html-1.0.3.tgz#0258eae4d3d0c0974de1c169188ef0051d1d1988" + integrity sha1-Aljq5NPQwJdN4cFpGI7wBR0dGYg= + +escape-string-regexp@^1.0.2, escape-string-regexp@^1.0.5: + version "1.0.5" + resolved "https://registry.yarnpkg.com/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz#1b61c0562190a8dff6ae3bb2cf0200ca130b86d4" + integrity sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ= + +escape-string-regexp@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/escape-string-regexp/-/escape-string-regexp-2.0.0.tgz#a30304e99daa32e23b2fd20f51babd07cffca344" + integrity sha512-UpzcLCXolUWcNu5HtVMHYdXJjArjsF9C0aNnquZYY4uW/Vu0miy5YoWvbV345HauVvcAUnpRuhMMcqTcGOY2+w== + +escape-string-regexp@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz#14ba83a5d373e3d311e5afca29cf5bfad965bf34" + integrity sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA== + +eslint-scope@5.1.1: + version "5.1.1" + resolved "https://registry.yarnpkg.com/eslint-scope/-/eslint-scope-5.1.1.tgz#e786e59a66cb92b3f6c1fb0d508aab174848f48c" + integrity sha512-2NxwbF/hZ0KpepYN0cNbo+FN6XoK7GaHlQhgx/hIZl6Va0bF45RQOOwhLIy8lQDbuCiadSLCBnH2CFYquit5bw== + dependencies: + esrecurse "^4.3.0" + estraverse "^4.1.1" + +esprima@^4.0.0: + version "4.0.1" + resolved "https://registry.yarnpkg.com/esprima/-/esprima-4.0.1.tgz#13b04cdb3e6c5d19df91ab6987a8695619b0aa71" + integrity sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A== + +esrecurse@^4.3.0: + version "4.3.0" + resolved "https://registry.yarnpkg.com/esrecurse/-/esrecurse-4.3.0.tgz#7ad7964d679abb28bee72cec63758b1c5d2c9921" + integrity sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag== + dependencies: + estraverse "^5.2.0" + +estraverse@^4.1.1: + version "4.3.0" + resolved "https://registry.yarnpkg.com/estraverse/-/estraverse-4.3.0.tgz#398ad3f3c5a24948be7725e83d11a7de28cdbd1d" + integrity sha512-39nnKffWz8xN1BU/2c79n9nB9HDzo0niYUqx6xyqUnyoAnQyyWpOTdZEeiCch8BBu515t4wp9ZmgVfVhn9EBpw== + +estraverse@^5.2.0: + version "5.3.0" + resolved "https://registry.yarnpkg.com/estraverse/-/estraverse-5.3.0.tgz#2eea5290702f26ab8fe5370370ff86c965d21123" + integrity sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA== + +esutils@^2.0.2: + version "2.0.3" + resolved "https://registry.yarnpkg.com/esutils/-/esutils-2.0.3.tgz#74d2eb4de0b8da1293711910d50775b9b710ef64" + integrity sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g== + +etag@~1.8.1: + version "1.8.1" + resolved "https://registry.yarnpkg.com/etag/-/etag-1.8.1.tgz#41ae2eeb65efa62268aebfea83ac7d79299b0887" + integrity sha1-Qa4u62XvpiJorr/qg6x9eSmbCIc= + +event-stream@3.3.4: + version "3.3.4" + resolved "https://registry.yarnpkg.com/event-stream/-/event-stream-3.3.4.tgz#4ab4c9a0f5a54db9338b4c34d86bfce8f4b35571" + integrity sha1-SrTJoPWlTbkzi0w02Gv86PSzVXE= + dependencies: + duplexer "~0.1.1" + from "~0" + map-stream "~0.1.0" + pause-stream "0.0.11" + split "0.3" + stream-combiner "~0.0.4" + through "~2.3.1" + +eventemitter3@^4.0.0: + version "4.0.7" + resolved "https://registry.yarnpkg.com/eventemitter3/-/eventemitter3-4.0.7.tgz#2de9b68f6528d5644ef5c59526a1b4a07306169f" + integrity sha512-8guHBZCwKnFhYdHr2ysuRWErTwhoN2X8XELRlrRwpmfeY2jjuUN4taQMsULKUVo1K4DvZl+0pgfyoysHxvmvEw== + +events@^3.2.0: + version "3.3.0" + resolved "https://registry.yarnpkg.com/events/-/events-3.3.0.tgz#31a95ad0a924e2d2c419a813aeb2c4e878ea7400" + integrity sha512-mQw+2fkQbALzQ7V0MY0IqdnXNOeTtP4r0lN9z7AAawCXgqea7bDii20AYrIBrFd/Hx0M2Ocz6S111CaFkUcb0Q== + +eventsource@^1.0.7: + version "1.1.0" + resolved "https://registry.yarnpkg.com/eventsource/-/eventsource-1.1.0.tgz#00e8ca7c92109e94b0ddf32dac677d841028cfaf" + integrity sha512-VSJjT5oCNrFvCS6igjzPAt5hBzQ2qPBFIbJ03zLI9SE0mxwZpMw6BfJrbFHm1a141AavMEB8JHmBhWAd66PfCg== + dependencies: + original "^1.0.0" + +execa@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/execa/-/execa-1.0.0.tgz#c6236a5bb4df6d6f15e88e7f017798216749ddd8" + integrity sha512-adbxcyWV46qiHyvSp50TKt05tB4tK3HcmF7/nxfAdhnox83seTDbwnaqKO4sXRy7roHAIFqJP/Rw/AuEbX61LA== + dependencies: + cross-spawn "^6.0.0" + get-stream "^4.0.0" + is-stream "^1.1.0" + npm-run-path "^2.0.0" + p-finally "^1.0.0" + signal-exit "^3.0.0" + strip-eof "^1.0.0" + +expand-brackets@^2.1.4: + version "2.1.4" + resolved "https://registry.yarnpkg.com/expand-brackets/-/expand-brackets-2.1.4.tgz#b77735e315ce30f6b6eff0f83b04151a22449622" + integrity sha1-t3c14xXOMPa27/D4OwQVGiJEliI= + dependencies: + debug "^2.3.3" + define-property "^0.2.5" + extend-shallow "^2.0.1" + posix-character-classes "^0.1.0" + regex-not "^1.0.0" + snapdragon "^0.8.1" + to-regex "^3.0.1" + +expand-tilde@^2.0.0, expand-tilde@^2.0.2: + version "2.0.2" + resolved "https://registry.yarnpkg.com/expand-tilde/-/expand-tilde-2.0.2.tgz#97e801aa052df02454de46b02bf621642cdc8502" + integrity sha1-l+gBqgUt8CRU3kawK/YhZCzchQI= + dependencies: + homedir-polyfill "^1.0.1" + +expect@=27.2.5: + version "27.2.5" + resolved "https://registry.yarnpkg.com/expect/-/expect-27.2.5.tgz#16154aaa60b4d9a5b0adacfea3e4d6178f4b93fd" + integrity sha512-ZrO0w7bo8BgGoP/bLz+HDCI+0Hfei9jUSZs5yI/Wyn9VkG9w8oJ7rHRgYj+MA7yqqFa0IwHA3flJzZtYugShJA== + dependencies: + "@jest/types" "^27.2.5" + ansi-styles "^5.0.0" + jest-get-type "^27.0.6" + jest-matcher-utils "^27.2.5" + jest-message-util "^27.2.5" + jest-regex-util "^27.0.6" + +express@^4.17.1, express@^4.17.2: + version "4.17.2" + resolved "https://registry.yarnpkg.com/express/-/express-4.17.2.tgz#c18369f265297319beed4e5558753cc8c1364cb3" + integrity sha512-oxlxJxcQlYwqPWKVJJtvQiwHgosH/LrLSPA+H4UxpyvSS6jC5aH+5MoHFM+KABgTOt0APue4w66Ha8jCUo9QGg== + dependencies: + accepts "~1.3.7" + array-flatten "1.1.1" + body-parser "1.19.1" + content-disposition "0.5.4" + content-type "~1.0.4" + cookie "0.4.1" + cookie-signature "1.0.6" + debug "2.6.9" + depd "~1.1.2" + encodeurl "~1.0.2" + escape-html "~1.0.3" + etag "~1.8.1" + finalhandler "~1.1.2" + fresh "0.5.2" + merge-descriptors "1.0.1" + methods "~1.1.2" + on-finished "~2.3.0" + parseurl "~1.3.3" + path-to-regexp "0.1.7" + proxy-addr "~2.0.7" + qs "6.9.6" + range-parser "~1.2.1" + safe-buffer "5.2.1" + send "0.17.2" + serve-static "1.14.2" + setprototypeof "1.2.0" + statuses "~1.5.0" + type-is "~1.6.18" + utils-merge "1.0.1" + vary "~1.1.2" + +extend-shallow@^2.0.1: + version "2.0.1" + resolved "https://registry.yarnpkg.com/extend-shallow/-/extend-shallow-2.0.1.tgz#51af7d614ad9a9f610ea1bafbb989d6b1c56890f" + integrity sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8= + dependencies: + is-extendable "^0.1.0" + +extend-shallow@^3.0.0, extend-shallow@^3.0.2: + version "3.0.2" + resolved "https://registry.yarnpkg.com/extend-shallow/-/extend-shallow-3.0.2.tgz#26a71aaf073b39fb2127172746131c2704028db8" + integrity sha1-Jqcarwc7OfshJxcnRhMcJwQCjbg= + dependencies: + assign-symbols "^1.0.0" + is-extendable "^1.0.1" + +extglob@^2.0.4: + version "2.0.4" + resolved "https://registry.yarnpkg.com/extglob/-/extglob-2.0.4.tgz#ad00fe4dc612a9232e8718711dc5cb5ab0285543" + integrity sha512-Nmb6QXkELsuBr24CJSkilo6UHHgbekK5UiZgfE6UHD3Eb27YC6oD+bhcT+tJ6cl8dmsgdQxnWlcry8ksBIBLpw== + dependencies: + array-unique "^0.3.2" + define-property "^1.0.0" + expand-brackets "^2.1.4" + extend-shallow "^2.0.1" + fragment-cache "^0.2.1" + regex-not "^1.0.0" + snapdragon "^0.8.1" + to-regex "^3.0.1" + +extract-zip@^1.0.3: + version "1.7.0" + resolved "https://registry.yarnpkg.com/extract-zip/-/extract-zip-1.7.0.tgz#556cc3ae9df7f452c493a0cfb51cc30277940927" + integrity sha512-xoh5G1W/PB0/27lXgMQyIhP5DSY/LhoCsOyZgb+6iMmRtCwVBo55uKaMoEYrDCKQhWvqEip5ZPKAc6eFNyf/MA== + dependencies: + concat-stream "^1.6.2" + debug "^2.6.9" + mkdirp "^0.5.4" + yauzl "^2.10.0" + +extract-zip@^2.0.0, extract-zip@^2.0.1: + version "2.0.1" + resolved "https://registry.yarnpkg.com/extract-zip/-/extract-zip-2.0.1.tgz#663dca56fe46df890d5f131ef4a06d22bb8ba13a" + integrity sha512-GDhU9ntwuKyGXdZBUgTIe+vXnWj0fppUEtMDL0+idd5Sta8TGpHssn/eusA9mrPr9qNDym6SxAYZjNvCn/9RBg== + dependencies: + debug "^4.1.1" + get-stream "^5.1.0" + yauzl "^2.10.0" + optionalDependencies: + "@types/yauzl" "^2.9.1" + +extsprintf@^1.2.0: + version "1.4.1" + resolved "https://registry.yarnpkg.com/extsprintf/-/extsprintf-1.4.1.tgz#8d172c064867f235c0c84a596806d279bf4bcc07" + integrity sha512-Wrk35e8ydCKDj/ArClo1VrPVmN8zph5V4AtHwIuHhvMXsKf73UT3BOD+azBIW+3wOJ4FhEH7zyaJCFvChjYvMA== + +fast-deep-equal@^3.1.1: + version "3.1.3" + resolved "https://registry.yarnpkg.com/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz#3a7d56b559d6cbc3eb512325244e619a65c6c525" + integrity sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q== + +fast-json-stable-stringify@^2.0.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz#874bf69c6f404c2b5d99c481341399fd55892633" + integrity sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw== + +fast-safe-stringify@^2.0.6: + version "2.1.1" + resolved "https://registry.yarnpkg.com/fast-safe-stringify/-/fast-safe-stringify-2.1.1.tgz#c406a83b6e70d9e35ce3b30a81141df30aeba884" + integrity sha512-W+KJc2dmILlPplD/H4K9l9LcAHAfPtP6BY84uVLXQ6Evcz9Lcg33Y2z1IVblT6xdY54PXYVHEv+0Wpq8Io6zkA== + +faye-websocket@^0.11.3: + version "0.11.4" + resolved "https://registry.yarnpkg.com/faye-websocket/-/faye-websocket-0.11.4.tgz#7f0d9275cfdd86a1c963dc8b65fcc451edcbb1da" + integrity sha512-CzbClwlXAuiRQAlUyfqPgvPoNKTckTPGfwZV4ZdAhVcP2lh9KUxJg2b5GkE7XbjKQ3YJnQ9z6D9ntLAlB+tP8g== + dependencies: + websocket-driver ">=0.5.1" + +fd-slicer@~1.1.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/fd-slicer/-/fd-slicer-1.1.0.tgz#25c7c89cb1f9077f8891bbe61d8f390eae256f1e" + integrity sha1-JcfInLH5B3+IkbvmHY85Dq4lbx4= + dependencies: + pend "~1.2.0" + +figgy-pudding@^3.5.1: + version "3.5.2" + resolved "https://registry.yarnpkg.com/figgy-pudding/-/figgy-pudding-3.5.2.tgz#b4eee8148abb01dcf1d1ac34367d59e12fa61d6e" + integrity sha512-0btnI/H8f2pavGMN8w40mlSKOfTK2SVJmBfBeVIj3kNw0swwgzyRq0d5TJVOwodFmtvpPeWPN/MCcfuWF0Ezbw== + +file-loader@^6.0.0: + version "6.2.0" + resolved "https://registry.yarnpkg.com/file-loader/-/file-loader-6.2.0.tgz#baef7cf8e1840df325e4390b4484879480eebe4d" + integrity sha512-qo3glqyTa61Ytg4u73GultjHGjdRyig3tG6lPtyX/jOEJvHif9uB0/OCI2Kif6ctF3caQTW2G5gym21oAsI4pw== + dependencies: + loader-utils "^2.0.0" + schema-utils "^3.0.0" + +file-type@16.5.3: + version "16.5.3" + resolved "https://registry.yarnpkg.com/file-type/-/file-type-16.5.3.tgz#474b7e88c74724046abb505e9b8ed4db30c4fc06" + integrity sha512-uVsl7iFhHSOY4bEONLlTK47iAHtNsFHWP5YE4xJfZ4rnX7S1Q3wce09XgqSC7E/xh8Ncv/be1lNoyprlUH/x6A== + dependencies: + readable-web-to-node-stream "^3.0.0" + strtok3 "^6.2.4" + token-types "^4.1.1" + +file-uri-to-path@1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/file-uri-to-path/-/file-uri-to-path-1.0.0.tgz#553a7b8446ff6f684359c445f1e37a05dacc33dd" + integrity sha512-0Zt+s3L7Vf1biwWZ29aARiVYLx7iMGnEUl9x33fbB/j3jR81u/O2LbqK+Bm1CDSNDKVtJ/YjwY7TUd5SkeLQLw== + +filelist@^1.0.1: + version "1.0.2" + resolved "https://registry.yarnpkg.com/filelist/-/filelist-1.0.2.tgz#80202f21462d4d1c2e214119b1807c1bc0380e5b" + integrity sha512-z7O0IS8Plc39rTCq6i6iHxk43duYOn8uFJiWSewIq0Bww1RNybVHSCjahmcC87ZqAm4OTvFzlzeGu3XAzG1ctQ== + dependencies: + minimatch "^3.0.4" + +filename-reserved-regex@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/filename-reserved-regex/-/filename-reserved-regex-2.0.0.tgz#abf73dfab735d045440abfea2d91f389ebbfa229" + integrity sha1-q/c9+rc10EVECr/qLZHzieu/oik= + +filenamify@^4.1.0: + version "4.3.0" + resolved "https://registry.yarnpkg.com/filenamify/-/filenamify-4.3.0.tgz#62391cb58f02b09971c9d4f9d63b3cf9aba03106" + integrity sha512-hcFKyUG57yWGAzu1CMt/dPzYZuv+jAJUT85bL8mrXvNe6hWj6yEHEc4EdcgiA6Z3oi1/9wXJdZPXF2dZNgwgOg== + dependencies: + filename-reserved-regex "^2.0.0" + strip-outer "^1.0.1" + trim-repeated "^1.0.0" + +fill-range@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/fill-range/-/fill-range-4.0.0.tgz#d544811d428f98eb06a63dc402d2403c328c38f7" + integrity sha1-1USBHUKPmOsGpj3EAtJAPDKMOPc= + dependencies: + extend-shallow "^2.0.1" + is-number "^3.0.0" + repeat-string "^1.6.1" + to-regex-range "^2.1.0" + +fill-range@^7.0.1: + version "7.0.1" + resolved "https://registry.yarnpkg.com/fill-range/-/fill-range-7.0.1.tgz#1919a6a7c75fe38b2c7c77e5198535da9acdda40" + integrity sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ== + dependencies: + to-regex-range "^5.0.1" + +finalhandler@~1.1.2: + version "1.1.2" + resolved "https://registry.yarnpkg.com/finalhandler/-/finalhandler-1.1.2.tgz#b7e7d000ffd11938d0fdb053506f6ebabe9f587d" + integrity sha512-aAWcW57uxVNrQZqFXjITpW3sIUQmHGG3qSb9mUah9MgMC4NeWhNOlNjXEYq3HjRAvL6arUviZGGJsBg6z0zsWA== + dependencies: + debug "2.6.9" + encodeurl "~1.0.2" + escape-html "~1.0.3" + on-finished "~2.3.0" + parseurl "~1.3.3" + statuses "~1.5.0" + unpipe "~1.0.0" + +find-babel-config@^1.2.0: + version "1.2.0" + resolved "https://registry.yarnpkg.com/find-babel-config/-/find-babel-config-1.2.0.tgz#a9b7b317eb5b9860cda9d54740a8c8337a2283a2" + integrity sha512-jB2CHJeqy6a820ssiqwrKMeyC6nNdmrcgkKWJWmpoxpE8RKciYJXCcXRq1h2AzCo5I5BJeN2tkGEO3hLTuePRA== + dependencies: + json5 "^0.5.1" + path-exists "^3.0.0" + +find-cache-dir@^3.3.1: + version "3.3.2" + resolved "https://registry.yarnpkg.com/find-cache-dir/-/find-cache-dir-3.3.2.tgz#b30c5b6eff0730731aea9bbd9dbecbd80256d64b" + integrity sha512-wXZV5emFEjrridIgED11OoUKLxiYjAcqot/NJdAkOhlJ+vGzwhOAfcG5OX1jP+S0PcjEn8bdMJv+g2jwQ3Onig== + dependencies: + commondir "^1.0.1" + make-dir "^3.0.2" + pkg-dir "^4.1.0" + +find-up@^2.0.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/find-up/-/find-up-2.1.0.tgz#45d1b7e506c717ddd482775a2b77920a3c0c57a7" + integrity sha1-RdG35QbHF93UgndaK3eSCjwMV6c= + dependencies: + locate-path "^2.0.0" + +find-up@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/find-up/-/find-up-3.0.0.tgz#49169f1d7993430646da61ecc5ae355c21c97b73" + integrity sha512-1yD6RmLI1XBfxugvORwlck6f75tYL+iR0jqwsOrOxMZyGYqUuDhJ0l4AXdO1iX/FTs9cBAMEk1gWSEx1kSbylg== + dependencies: + locate-path "^3.0.0" + +find-up@^4.0.0, find-up@^4.1.0: + version "4.1.0" + resolved "https://registry.yarnpkg.com/find-up/-/find-up-4.1.0.tgz#97afe7d6cdc0bc5928584b7c8d7b16e8a9aa5d19" + integrity sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw== + dependencies: + locate-path "^5.0.0" + path-exists "^4.0.0" + +findup-sync@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/findup-sync/-/findup-sync-3.0.0.tgz#17b108f9ee512dfb7a5c7f3c8b27ea9e1a9c08d1" + integrity sha512-YbffarhcicEhOrm4CtrwdKBdCuz576RLdhJDsIfvNtxUuhdRet1qZcsMjqbePtAseKdAnDyM/IyXbu7PRPRLYg== + dependencies: + detect-file "^1.0.0" + is-glob "^4.0.0" + micromatch "^3.0.4" + resolve-dir "^1.0.1" + +flora-colossus@^1.0.0: + version "1.0.1" + resolved "https://registry.yarnpkg.com/flora-colossus/-/flora-colossus-1.0.1.tgz#aba198425a8185341e64f9d2a6a96fd9a3cbdb93" + integrity sha512-d+9na7t9FyH8gBJoNDSi28mE4NgQVGGvxQ4aHtFRetjyh5SXjuus+V5EZaxFmFdXVemSOrx0lsgEl/ZMjnOWJA== + dependencies: + debug "^4.1.1" + fs-extra "^7.0.0" + +follow-redirects@^1.0.0: + version "1.14.7" + resolved "https://registry.yarnpkg.com/follow-redirects/-/follow-redirects-1.14.7.tgz#2004c02eb9436eee9a21446a6477debf17e81685" + integrity sha512-+hbxoLbFMbRKDwohX8GkTataGqO6Jb7jGwpAlwgy2bIz25XtRm7KEzJM76R1WiNT5SwZkX4Y75SwBolkpmE7iQ== + +for-in@^1.0.2: + version "1.0.2" + resolved "https://registry.yarnpkg.com/for-in/-/for-in-1.0.2.tgz#81068d295a8142ec0ac726c6e2200c30fb6d5e80" + integrity sha1-gQaNKVqBQuwKxybG4iAMMPttXoA= + +form-data@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/form-data/-/form-data-4.0.0.tgz#93919daeaf361ee529584b9b31664dc12c9fa452" + integrity sha512-ETEklSGi5t0QMZuiXoA/Q6vcnxcLQP5vdugSpuAyi6SVGi2clPPp+xgEhuMaHC+zGgn31Kd235W35f7Hykkaww== + dependencies: + asynckit "^0.4.0" + combined-stream "^1.0.8" + mime-types "^2.1.12" + +forwarded@0.2.0: + version "0.2.0" + resolved "https://registry.yarnpkg.com/forwarded/-/forwarded-0.2.0.tgz#2269936428aad4c15c7ebe9779a84bf0b2a81811" + integrity sha512-buRG0fpBtRHSTCOASe6hD258tEubFoRLb4ZNA6NxMVHNw2gOcwHo9wyablzMzOA5z9xA9L1KNjk/Nt6MT9aYow== + +fragment-cache@^0.2.1: + version "0.2.1" + resolved "https://registry.yarnpkg.com/fragment-cache/-/fragment-cache-0.2.1.tgz#4290fad27f13e89be7f33799c6bc5a0abfff0d19" + integrity sha1-QpD60n8T6Jvn8zeZxrxaCr//DRk= + dependencies: + map-cache "^0.2.2" + +fresh@0.5.2: + version "0.5.2" + resolved "https://registry.yarnpkg.com/fresh/-/fresh-0.5.2.tgz#3d8cadd90d976569fa835ab1f8e4b23a105605a7" + integrity sha1-PYyt2Q2XZWn6g1qx+OSyOhBWBac= + +from@~0: + version "0.1.7" + resolved "https://registry.yarnpkg.com/from/-/from-0.1.7.tgz#83c60afc58b9c56997007ed1a768b3ab303a44fe" + integrity sha1-g8YK/Fi5xWmXAH7Rp2izqzA6RP4= + +fs-extra@^10.0.0: + version "10.0.0" + resolved "https://registry.yarnpkg.com/fs-extra/-/fs-extra-10.0.0.tgz#9ff61b655dde53fb34a82df84bb214ce802e17c1" + integrity sha512-C5owb14u9eJwizKGdchcDUQeFtlSHHthBk8pbX9Vc1PFZrLombudjDnNns88aYslCyF6IY5SUw3Roz6xShcEIQ== + dependencies: + graceful-fs "^4.2.0" + jsonfile "^6.0.1" + universalify "^2.0.0" + +fs-extra@^4.0.0: + version "4.0.3" + resolved "https://registry.yarnpkg.com/fs-extra/-/fs-extra-4.0.3.tgz#0d852122e5bc5beb453fb028e9c0c9bf36340c94" + integrity sha512-q6rbdDd1o2mAnQreO7YADIxf/Whx4AHBiRf6d+/cVT8h44ss+lHgxf1FemcqDnQt9X3ct4McHr+JMGlYSsK7Cg== + dependencies: + graceful-fs "^4.1.2" + jsonfile "^4.0.0" + universalify "^0.1.0" + +fs-extra@^7.0.0: + version "7.0.1" + resolved "https://registry.yarnpkg.com/fs-extra/-/fs-extra-7.0.1.tgz#4f189c44aa123b895f722804f55ea23eadc348e9" + integrity sha512-YJDaCJZEnBmcbw13fvdAM9AwNOJwOzrE4pqMqBq5nFiEqXUqHwlK4B+3pUw6JNvfSPtX05xFHtYy/1ni01eGCw== + dependencies: + graceful-fs "^4.1.2" + jsonfile "^4.0.0" + universalify "^0.1.0" + +fs-extra@^8.1.0: + version "8.1.0" + resolved "https://registry.yarnpkg.com/fs-extra/-/fs-extra-8.1.0.tgz#49d43c45a88cd9677668cb7be1b46efdb8d2e1c0" + integrity sha512-yhlQgA6mnOJUKOsRUFsgJdQCvkKhcz8tlZG5HBQfReYZy46OwLcY+Zia0mtdHsOo9y/hP+CxMN0TU9QxoOtG4g== + dependencies: + graceful-fs "^4.2.0" + jsonfile "^4.0.0" + universalify "^0.1.0" + +fs-extra@^9.0.0, fs-extra@^9.0.1: + version "9.1.0" + resolved "https://registry.yarnpkg.com/fs-extra/-/fs-extra-9.1.0.tgz#5954460c764a8da2094ba3554bf839e6b9a7c86d" + integrity sha512-hcg3ZmepS30/7BSFqRvoo3DOMQu7IjqxO5nCDt+zM9XWjb33Wg7ziNT+Qvqbuc3+gWpzO02JubVyk2G4Zvo1OQ== + dependencies: + at-least-node "^1.0.0" + graceful-fs "^4.2.0" + jsonfile "^6.0.1" + universalify "^2.0.0" + +fs-minipass@^2.0.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/fs-minipass/-/fs-minipass-2.1.0.tgz#7f5036fdbf12c63c169190cbe4199c852271f9fb" + integrity sha512-V/JgOLFCS+R6Vcq0slCuaeWEdNC3ouDlJMNIsacH2VtALiu9mV4LPrHc5cDl8k5aw6J8jwgWWpiTo5RYhmIzvg== + dependencies: + minipass "^3.0.0" + +fs-write-stream-atomic@^1.0.8: + version "1.0.10" + resolved "https://registry.yarnpkg.com/fs-write-stream-atomic/-/fs-write-stream-atomic-1.0.10.tgz#b47df53493ef911df75731e70a9ded0189db40c9" + integrity sha1-tH31NJPvkR33VzHnCp3tAYnbQMk= + dependencies: + graceful-fs "^4.1.2" + iferr "^0.1.5" + imurmurhash "^0.1.4" + readable-stream "1 || 2" + +fs.realpath@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/fs.realpath/-/fs.realpath-1.0.0.tgz#1504ad2523158caa40db4a2787cb01411994ea4f" + integrity sha1-FQStJSMVjKpA20onh8sBQRmU6k8= + +fsevents@^1.2.7: + version "1.2.13" + resolved "https://registry.yarnpkg.com/fsevents/-/fsevents-1.2.13.tgz#f325cb0455592428bcf11b383370ef70e3bfcc38" + integrity sha512-oWb1Z6mkHIskLzEJ/XWX0srkpkTQ7vaopMQkyaEIoq0fmtFVxOthb8cCxeT+p3ynTdkk/RZwbgG4brR5BeWECw== + dependencies: + bindings "^1.5.0" + nan "^2.12.1" + +function-bind@^1.1.1: + version "1.1.1" + resolved "https://registry.yarnpkg.com/function-bind/-/function-bind-1.1.1.tgz#a56899d3ea3c9bab874bb9773b7c5ede92f4895d" + integrity sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A== + +galactus@^0.2.1: + version "0.2.1" + resolved "https://registry.yarnpkg.com/galactus/-/galactus-0.2.1.tgz#cbed2d20a40c1f5679a35908e2b9415733e78db9" + integrity sha1-y+0tIKQMH1Z5o1kI4rlBVzPnjbk= + dependencies: + debug "^3.1.0" + flora-colossus "^1.0.0" + fs-extra "^4.0.0" + +gauge@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/gauge/-/gauge-4.0.0.tgz#afba07aa0374a93c6219603b1fb83eaa2264d8f8" + integrity sha512-F8sU45yQpjQjxKkm1UOAhf0U/O0aFt//Fl7hsrNVto+patMHjs7dPI9mFOGUKbhrgKm0S3EjW3scMFuQmWSROw== + dependencies: + ansi-regex "^5.0.1" + aproba "^1.0.3 || ^2.0.0" + color-support "^1.1.2" + console-control-strings "^1.0.0" + has-unicode "^2.0.1" + signal-exit "^3.0.0" + string-width "^4.2.3" + strip-ansi "^6.0.1" + wide-align "^1.1.2" + +gensync@^1.0.0-beta.2: + version "1.0.0-beta.2" + resolved "https://registry.yarnpkg.com/gensync/-/gensync-1.0.0-beta.2.tgz#32a6ee76c3d7f52d46b2b1ae5d93fea8580a25e0" + integrity sha512-3hN7NaskYvMDLQY55gnW3NQ+mesEAepTqlg+VEbj7zzqEMBVNhzcGYYeqFo/TlYz6eQiFcp1HcsCZO+nGgS8zg== + +get-caller-file@^2.0.1, get-caller-file@^2.0.5: + version "2.0.5" + resolved "https://registry.yarnpkg.com/get-caller-file/-/get-caller-file-2.0.5.tgz#4f94412a82db32f36e3b0b9741f8a97feb031f7e" + integrity sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg== + +get-intrinsic@^1.0.2, get-intrinsic@^1.1.0, get-intrinsic@^1.1.1: + version "1.1.1" + resolved "https://registry.yarnpkg.com/get-intrinsic/-/get-intrinsic-1.1.1.tgz#15f59f376f855c446963948f0d24cd3637b4abc6" + integrity sha512-kWZrnVM42QCiEA2Ig1bG8zjoIMOgxWwYCEeNdwY6Tv/cOSeGpcoX4pXHfKUxNKVoArnrEr2e9srnAxxGIraS9Q== + dependencies: + function-bind "^1.1.1" + has "^1.0.3" + has-symbols "^1.0.1" + +get-package-info@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/get-package-info/-/get-package-info-1.0.0.tgz#6432796563e28113cd9474dbbd00052985a4999c" + integrity sha1-ZDJ5ZWPigRPNlHTbvQAFKYWkmZw= + dependencies: + bluebird "^3.1.1" + debug "^2.2.0" + lodash.get "^4.0.0" + read-pkg-up "^2.0.0" + +get-port@^5.1.1: + version "5.1.1" + resolved "https://registry.yarnpkg.com/get-port/-/get-port-5.1.1.tgz#0469ed07563479de6efb986baf053dcd7d4e3193" + integrity sha512-g/Q1aTSDOxFpchXC4i8ZWvxA1lnPqx/JHqcpIw0/LX9T8x/GBbi6YnlN5nhaKIFkT8oFsscUKgDJYxfwfS6QsQ== + +get-stream@^4.0.0, get-stream@^4.1.0: + version "4.1.0" + resolved "https://registry.yarnpkg.com/get-stream/-/get-stream-4.1.0.tgz#c1b255575f3dc21d59bfc79cd3d2b46b1c3a54b5" + integrity sha512-GMat4EJ5161kIy2HevLlr4luNjBgvmj413KaQA7jt4V8B4RDsfpHk7WQ9GVqfYyyx8OS/L66Kox+rJRNklLK7w== + dependencies: + pump "^3.0.0" + +get-stream@^5.1.0: + version "5.2.0" + resolved "https://registry.yarnpkg.com/get-stream/-/get-stream-5.2.0.tgz#4966a1795ee5ace65e706c4b7beb71257d6e22d3" + integrity sha512-nBF+F1rAZVCu/p7rjzgA+Yb4lfYXrpl7a6VmJrU8wF9I1CKvP/QwPNZHnOlwbTkY6dvtFIzFMSyQXbLoTQPRpA== + dependencies: + pump "^3.0.0" + +get-symbol-description@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/get-symbol-description/-/get-symbol-description-1.0.0.tgz#7fdb81c900101fbd564dd5f1a30af5aadc1e58d6" + integrity sha512-2EmdH1YvIQiZpltCNgkuiUnyukzxM/R6NDJX31Ke3BG1Nq5b0S2PhX59UKi9vZpPDQVdqn+1IcaAwnzTT5vCjw== + dependencies: + call-bind "^1.0.2" + get-intrinsic "^1.1.1" + +get-value@^2.0.3, get-value@^2.0.6: + version "2.0.6" + resolved "https://registry.yarnpkg.com/get-value/-/get-value-2.0.6.tgz#dc15ca1c672387ca76bd37ac0a395ba2042a2c28" + integrity sha1-3BXKHGcjh8p2vTesCjlbogQqLCg= + +glob-parent@^3.1.0: + version "3.1.0" + resolved "https://registry.yarnpkg.com/glob-parent/-/glob-parent-3.1.0.tgz#9e6af6299d8d3bd2bd40430832bd113df906c5ae" + integrity sha1-nmr2KZ2NO9K9QEMIMr0RPfkGxa4= + dependencies: + is-glob "^3.1.0" + path-dirname "^1.0.0" + +glob-to-regexp@^0.4.1: + version "0.4.1" + resolved "https://registry.yarnpkg.com/glob-to-regexp/-/glob-to-regexp-0.4.1.tgz#c75297087c851b9a578bd217dd59a92f59fe546e" + integrity sha512-lkX1HJXwyMcprw/5YUZc2s7DrpAiHB21/V+E1rHUrVNokkvB6bqMzT0VfV6/86ZNabt1k14YOIaT7nDvOX3Iiw== + +glob@^7.0.3, glob@^7.1.3, glob@^7.1.4, glob@^7.1.6: + version "7.2.0" + resolved "https://registry.yarnpkg.com/glob/-/glob-7.2.0.tgz#d15535af7732e02e948f4c41628bd910293f6023" + integrity sha512-lmLf6gtyrPq8tTjSmrO94wBeQbFR3HbLHbuyD69wuyQkImp2hWqMGB47OX65FBkPffO641IP9jWa1z4ivqG26Q== + dependencies: + fs.realpath "^1.0.0" + inflight "^1.0.4" + inherits "2" + minimatch "^3.0.4" + once "^1.3.0" + path-is-absolute "^1.0.0" + +global-agent@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/global-agent/-/global-agent-3.0.0.tgz#ae7cd31bd3583b93c5a16437a1afe27cc33a1ab6" + integrity sha512-PT6XReJ+D07JvGoxQMkT6qji/jVNfX/h364XHZOWeRzy64sSFr+xJ5OX7LI3b4MPQzdL4H8Y8M0xzPpsVMwA8Q== + dependencies: + boolean "^3.0.1" + es6-error "^4.1.1" + matcher "^3.0.0" + roarr "^2.15.3" + semver "^7.3.2" + serialize-error "^7.0.1" + +global-dirs@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/global-dirs/-/global-dirs-3.0.0.tgz#70a76fe84ea315ab37b1f5576cbde7d48ef72686" + integrity sha512-v8ho2DS5RiCjftj1nD9NmnfaOzTdud7RRnVd9kFNOjqZbISlx5DQ+OrTkywgd0dIt7oFCvKetZSHoHcP3sDdiA== + dependencies: + ini "2.0.0" + +global-modules@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/global-modules/-/global-modules-1.0.0.tgz#6d770f0eb523ac78164d72b5e71a8877265cc3ea" + integrity sha512-sKzpEkf11GpOFuw0Zzjzmt4B4UZwjOcG757PPvrfhxcLFbq0wpsgpOqxpxtxFiCG4DtG93M6XRVbF2oGdev7bg== + dependencies: + global-prefix "^1.0.1" + is-windows "^1.0.1" + resolve-dir "^1.0.0" + +global-modules@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/global-modules/-/global-modules-2.0.0.tgz#997605ad2345f27f51539bea26574421215c7780" + integrity sha512-NGbfmJBp9x8IxyJSd1P+otYK8vonoJactOogrVfFRIAEY1ukil8RSKDz2Yo7wh1oihl51l/r6W4epkeKJHqL8A== + dependencies: + global-prefix "^3.0.0" + +global-prefix@^1.0.1: + version "1.0.2" + resolved "https://registry.yarnpkg.com/global-prefix/-/global-prefix-1.0.2.tgz#dbf743c6c14992593c655568cb66ed32c0122ebe" + integrity sha1-2/dDxsFJklk8ZVVoy2btMsASLr4= + dependencies: + expand-tilde "^2.0.2" + homedir-polyfill "^1.0.1" + ini "^1.3.4" + is-windows "^1.0.1" + which "^1.2.14" + +global-prefix@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/global-prefix/-/global-prefix-3.0.0.tgz#fc85f73064df69f50421f47f883fe5b913ba9b97" + integrity sha512-awConJSVCHVGND6x3tmMaKcQvwXLhjdkmomy2W+Goaui8YPgYgXJZewhg3fWC+DlfqqQuWg8AwqjGTD2nAPVWg== + dependencies: + ini "^1.3.5" + kind-of "^6.0.2" + which "^1.3.1" + +global-tunnel-ng@^2.7.1: + version "2.7.1" + resolved "https://registry.yarnpkg.com/global-tunnel-ng/-/global-tunnel-ng-2.7.1.tgz#d03b5102dfde3a69914f5ee7d86761ca35d57d8f" + integrity sha512-4s+DyciWBV0eK148wqXxcmVAbFVPqtc3sEtUE/GTQfuU80rySLcMhUmHKSHI7/LDj8q0gDYI1lIhRRB7ieRAqg== + dependencies: + encodeurl "^1.0.2" + lodash "^4.17.10" + npm-conf "^1.1.3" + tunnel "^0.0.6" + +globals@^11.1.0: + version "11.12.0" + resolved "https://registry.yarnpkg.com/globals/-/globals-11.12.0.tgz#ab8795338868a0babd8525758018c2a7eb95c42e" + integrity sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA== + +globalthis@^1.0.1: + version "1.0.2" + resolved "https://registry.yarnpkg.com/globalthis/-/globalthis-1.0.2.tgz#2a235d34f4d8036219f7e34929b5de9e18166b8b" + integrity sha512-ZQnSFO1la8P7auIOQECnm0sSuoMeaSq0EEdXMBFF2QJO4uNcwbyhSgG3MruWNbFTqCLmxVwGOl7LZ9kASvHdeQ== + dependencies: + define-properties "^1.1.3" + +globby@^6.1.0: + version "6.1.0" + resolved "https://registry.yarnpkg.com/globby/-/globby-6.1.0.tgz#f5a6d70e8395e21c858fb0489d64df02424d506c" + integrity sha1-9abXDoOV4hyFj7BInWTfAkJNUGw= + dependencies: + array-union "^1.0.1" + glob "^7.0.3" + object-assign "^4.0.1" + pify "^2.0.0" + pinkie-promise "^2.0.0" + +got@^11.8.3: + version "11.8.3" + resolved "https://registry.yarnpkg.com/got/-/got-11.8.3.tgz#f496c8fdda5d729a90b4905d2b07dbd148170770" + integrity sha512-7gtQ5KiPh1RtGS9/Jbv1ofDpBFuq42gyfEib+ejaRBJuj/3tQFeR5+gw57e4ipaU8c/rCjvX6fkQz2lyDlGAOg== + dependencies: + "@sindresorhus/is" "^4.0.0" + "@szmarczak/http-timer" "^4.0.5" + "@types/cacheable-request" "^6.0.1" + "@types/responselike" "^1.0.0" + cacheable-lookup "^5.0.3" + cacheable-request "^7.0.2" + decompress-response "^6.0.0" + http2-wrapper "^1.0.0-beta.5.2" + lowercase-keys "^2.0.0" + p-cancelable "^2.0.0" + responselike "^2.0.0" + +got@^9.6.0: + version "9.6.0" + resolved "https://registry.yarnpkg.com/got/-/got-9.6.0.tgz#edf45e7d67f99545705de1f7bbeeeb121765ed85" + integrity sha512-R7eWptXuGYxwijs0eV+v3o6+XH1IqVK8dJOEecQfTmkncw9AV4dcw/Dhxi8MdlqPthxxpZyizMzyg8RTmEsG+Q== + dependencies: + "@sindresorhus/is" "^0.14.0" + "@szmarczak/http-timer" "^1.1.2" + cacheable-request "^6.0.0" + decompress-response "^3.3.0" + duplexer3 "^0.1.4" + get-stream "^4.1.0" + lowercase-keys "^1.0.1" + mimic-response "^1.0.1" + p-cancelable "^1.0.0" + to-readable-stream "^1.0.0" + url-parse-lax "^3.0.0" + +graceful-fs@^4.1.11, graceful-fs@^4.1.15, graceful-fs@^4.1.2, graceful-fs@^4.1.6, graceful-fs@^4.2.0, graceful-fs@^4.2.2, graceful-fs@^4.2.4, graceful-fs@^4.2.6: + version "4.2.9" + resolved "https://registry.yarnpkg.com/graceful-fs/-/graceful-fs-4.2.9.tgz#041b05df45755e587a24942279b9d113146e1c96" + integrity sha512-NtNxqUcXgpW2iMrfqSfR73Glt39K+BLwWsPs94yR63v45T0Wbej7eRmL5cWfwEgqXnmjQp3zaJTshdRW/qC2ZQ== + +"graceful-readlink@>= 1.0.0": + version "1.0.1" + resolved "https://registry.yarnpkg.com/graceful-readlink/-/graceful-readlink-1.0.1.tgz#4cafad76bc62f02fa039b2f94e9a3dd3a391a725" + integrity sha1-TK+tdrxi8C+gObL5Tpo906ORpyU= + +handle-thing@^2.0.0: + version "2.0.1" + resolved "https://registry.yarnpkg.com/handle-thing/-/handle-thing-2.0.1.tgz#857f79ce359580c340d43081cc648970d0bb234e" + integrity sha512-9Qn4yBxelxoh2Ow62nP+Ka/kMnOXRi8BXnRaUwezLNhqelnN49xKz4F/dPP8OYLxLxq6JDtZb2i9XznUQbNPTg== + +has-bigints@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/has-bigints/-/has-bigints-1.0.1.tgz#64fe6acb020673e3b78db035a5af69aa9d07b113" + integrity sha512-LSBS2LjbNBTf6287JEbEzvJgftkF5qFkmCo9hDRpAzKhUOlJ+hx8dd4USs00SgsUNwc4617J9ki5YtEClM2ffA== + +has-flag@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/has-flag/-/has-flag-3.0.0.tgz#b5d454dc2199ae225699f3467e5a07f3b955bafd" + integrity sha1-tdRU3CGZriJWmfNGfloH87lVuv0= + +has-flag@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/has-flag/-/has-flag-4.0.0.tgz#944771fd9c81c81265c4d6941860da06bb59479b" + integrity sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ== + +has-symbols@^1.0.1, has-symbols@^1.0.2: + version "1.0.2" + resolved "https://registry.yarnpkg.com/has-symbols/-/has-symbols-1.0.2.tgz#165d3070c00309752a1236a479331e3ac56f1423" + integrity sha512-chXa79rL/UC2KlX17jo3vRGz0azaWEx5tGqZg5pO3NUyEJVB17dMruQlzCCOfUvElghKcm5194+BCRvi2Rv/Gw== + +has-tostringtag@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/has-tostringtag/-/has-tostringtag-1.0.0.tgz#7e133818a7d394734f941e73c3d3f9291e658b25" + integrity sha512-kFjcSNhnlGV1kyoGk7OXKSawH5JOb/LzUc5w9B02hOTO0dfFRjbHQKvg1d6cf3HbeUmtU9VbbV3qzZ2Teh97WQ== + dependencies: + has-symbols "^1.0.2" + +has-unicode@^2.0.1: + version "2.0.1" + resolved "https://registry.yarnpkg.com/has-unicode/-/has-unicode-2.0.1.tgz#e0e6fe6a28cf51138855e086d1691e771de2a8b9" + integrity sha1-4Ob+aijPUROIVeCG0Wkedx3iqLk= + +has-value@^0.3.1: + version "0.3.1" + resolved "https://registry.yarnpkg.com/has-value/-/has-value-0.3.1.tgz#7b1f58bada62ca827ec0a2078025654845995e1f" + integrity sha1-ex9YutpiyoJ+wKIHgCVlSEWZXh8= + dependencies: + get-value "^2.0.3" + has-values "^0.1.4" + isobject "^2.0.0" + +has-value@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/has-value/-/has-value-1.0.0.tgz#18b281da585b1c5c51def24c930ed29a0be6b177" + integrity sha1-GLKB2lhbHFxR3vJMkw7SmgvmsXc= + dependencies: + get-value "^2.0.6" + has-values "^1.0.0" + isobject "^3.0.0" + +has-values@^0.1.4: + version "0.1.4" + resolved "https://registry.yarnpkg.com/has-values/-/has-values-0.1.4.tgz#6d61de95d91dfca9b9a02089ad384bff8f62b771" + integrity sha1-bWHeldkd/Km5oCCJrThL/49it3E= + +has-values@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/has-values/-/has-values-1.0.0.tgz#95b0b63fec2146619a6fe57fe75628d5a39efe4f" + integrity sha1-lbC2P+whRmGab+V/51Yo1aOe/k8= + dependencies: + is-number "^3.0.0" + kind-of "^4.0.0" + +has-yarn@^2.1.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/has-yarn/-/has-yarn-2.1.0.tgz#137e11354a7b5bf11aa5cb649cf0c6f3ff2b2e77" + integrity sha512-UqBRqi4ju7T+TqGNdqAO0PaSVGsDGJUBQvk9eUWNGRY1CFGDzYhLWoM7JQEemnlvVcv/YEmc2wNW8BC24EnUsw== + +has@^1.0.3: + version "1.0.3" + resolved "https://registry.yarnpkg.com/has/-/has-1.0.3.tgz#722d7cbfc1f6aa8241f16dd814e011e1f41e8796" + integrity sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw== + dependencies: + function-bind "^1.1.1" + +he@^1.2.0: + version "1.2.0" + resolved "https://registry.yarnpkg.com/he/-/he-1.2.0.tgz#84ae65fa7eafb165fddb61566ae14baf05664f0f" + integrity sha512-F/1DnUGPopORZi0ni+CvrCgHQ5FyEAHRLSApuYWMmrbSwoN2Mn/7k+Gl38gJnR7yyDZk6WLXwiGod1JOWNDKGw== + +hexy@^0.2.10: + version "0.2.11" + resolved "https://registry.yarnpkg.com/hexy/-/hexy-0.2.11.tgz#9939c25cb6f86a91302f22b8a8a72573518e25b4" + integrity sha512-ciq6hFsSG/Bpt2DmrZJtv+56zpPdnq+NQ4ijEFrveKN0ZG1mhl/LdT1NQZ9se6ty1fACcI4d4vYqC9v8EYpH2A== + +homedir-polyfill@^1.0.1: + version "1.0.3" + resolved "https://registry.yarnpkg.com/homedir-polyfill/-/homedir-polyfill-1.0.3.tgz#743298cef4e5af3e194161fbadcc2151d3a058e8" + integrity sha512-eSmmWE5bZTK2Nou4g0AI3zZ9rswp7GRKoKXS1BLUkvPviOqs4YTN1djQIqrXy9k5gEtdLPy86JjRwsNM9tnDcA== + dependencies: + parse-passwd "^1.0.0" + +hosted-git-info@^2.1.4: + version "2.8.9" + resolved "https://registry.yarnpkg.com/hosted-git-info/-/hosted-git-info-2.8.9.tgz#dffc0bf9a21c02209090f2aa69429e1414daf3f9" + integrity sha512-mxIDAb9Lsm6DoOJ7xH+5+X4y1LU/4Hi50L9C5sIswK3JzULS4bwk1FvjdBgvYR4bzT4tuUQiC15FE2f5HbLvYw== + +hosted-git-info@^4.0.2: + version "4.1.0" + resolved "https://registry.yarnpkg.com/hosted-git-info/-/hosted-git-info-4.1.0.tgz#827b82867e9ff1c8d0c4d9d53880397d2c86d224" + integrity sha512-kyCuEOWjJqZuDbRHzL8V93NzQhwIB71oFWSyzVo+KPZI+pnQPPxucdkrOZvkLRnrf5URsQM+IJ09Dw29cRALIA== + dependencies: + lru-cache "^6.0.0" + +hpack.js@^2.1.6: + version "2.1.6" + resolved "https://registry.yarnpkg.com/hpack.js/-/hpack.js-2.1.6.tgz#87774c0949e513f42e84575b3c45681fade2a0b2" + integrity sha1-h3dMCUnlE/QuhFdbPEVoH63ioLI= + dependencies: + inherits "^2.0.1" + obuf "^1.0.0" + readable-stream "^2.0.1" + wbuf "^1.1.0" + +html-entities@^1.3.1: + version "1.4.0" + resolved "https://registry.yarnpkg.com/html-entities/-/html-entities-1.4.0.tgz#cfbd1b01d2afaf9adca1b10ae7dffab98c71d2dc" + integrity sha512-8nxjcBcd8wovbeKx7h3wTji4e6+rhaVuPNpMqwWgnHh+N9ToqsCs6XztWRBPQ+UtzsoMAdKZtUENoVzU/EMtZA== + +html-loader@^1.1.0: + version "1.3.2" + resolved "https://registry.yarnpkg.com/html-loader/-/html-loader-1.3.2.tgz#5a72ebba420d337083497c9aba7866c9e1aee340" + integrity sha512-DEkUwSd0sijK5PF3kRWspYi56XP7bTNkyg5YWSzBdjaSDmvCufep5c4Vpb3PBf6lUL0YPtLwBfy9fL0t5hBAGA== + dependencies: + html-minifier-terser "^5.1.1" + htmlparser2 "^4.1.0" + loader-utils "^2.0.0" + schema-utils "^3.0.0" + +html-minifier-terser@^5.0.1, html-minifier-terser@^5.1.1: + version "5.1.1" + resolved "https://registry.yarnpkg.com/html-minifier-terser/-/html-minifier-terser-5.1.1.tgz#922e96f1f3bb60832c2634b79884096389b1f054" + integrity sha512-ZPr5MNObqnV/T9akshPKbVgyOqLmy+Bxo7juKCfTfnjNniTAMdy4hz21YQqoofMBJD2kdREaqPPdThoR78Tgxg== + dependencies: + camel-case "^4.1.1" + clean-css "^4.2.3" + commander "^4.1.1" + he "^1.2.0" + param-case "^3.0.3" + relateurl "^0.2.7" + terser "^4.6.3" + +html-webpack-plugin@^4.0.4: + version "4.5.2" + resolved "https://registry.yarnpkg.com/html-webpack-plugin/-/html-webpack-plugin-4.5.2.tgz#76fc83fa1a0f12dd5f7da0404a54e2699666bc12" + integrity sha512-q5oYdzjKUIPQVjOosjgvCHQOv9Ett9CYYHlgvJeXG0qQvdSojnBq4vAdQBwn1+yGveAwHCoe/rMR86ozX3+c2A== + dependencies: + "@types/html-minifier-terser" "^5.0.0" + "@types/tapable" "^1.0.5" + "@types/webpack" "^4.41.8" + html-minifier-terser "^5.0.1" + loader-utils "^1.2.3" + lodash "^4.17.20" + pretty-error "^2.1.1" + tapable "^1.1.3" + util.promisify "1.0.0" + +htmlparser2@^4.1.0: + version "4.1.0" + resolved "https://registry.yarnpkg.com/htmlparser2/-/htmlparser2-4.1.0.tgz#9a4ef161f2e4625ebf7dfbe6c0a2f52d18a59e78" + integrity sha512-4zDq1a1zhE4gQso/c5LP1OtrhYTncXNSpvJYtWJBtXAETPlMfi3IFNjGuQbYLuVY4ZR0QMqRVvo4Pdy9KLyP8Q== + dependencies: + domelementtype "^2.0.1" + domhandler "^3.0.0" + domutils "^2.0.0" + entities "^2.0.0" + +htmlparser2@^6.1.0: + version "6.1.0" + resolved "https://registry.yarnpkg.com/htmlparser2/-/htmlparser2-6.1.0.tgz#c4d762b6c3371a05dbe65e94ae43a9f845fb8fb7" + integrity sha512-gyyPk6rgonLFEDGoeRgQNaEUvdJ4ktTmmUh/h2t7s+M8oPpIPxgNACWa+6ESR57kXstwqPiCut0V8NRpcwgU7A== + dependencies: + domelementtype "^2.0.1" + domhandler "^4.0.0" + domutils "^2.5.2" + entities "^2.0.0" + +http-cache-semantics@^4.0.0, http-cache-semantics@^4.1.0: + version "4.1.0" + resolved "https://registry.yarnpkg.com/http-cache-semantics/-/http-cache-semantics-4.1.0.tgz#49e91c5cbf36c9b94bcfcd71c23d5249ec74e390" + integrity sha512-carPklcUh7ROWRK7Cv27RPtdhYhUsela/ue5/jKzjegVvXDqM2ILE9Q2BGn9JZJh1g87cp56su/FgQSzcWS8cQ== + +http-deceiver@^1.2.7: + version "1.2.7" + resolved "https://registry.yarnpkg.com/http-deceiver/-/http-deceiver-1.2.7.tgz#fa7168944ab9a519d337cb0bec7284dc3e723d87" + integrity sha1-+nFolEq5pRnTN8sL7HKE3D5yPYc= + +http-errors@1.8.1: + version "1.8.1" + resolved "https://registry.yarnpkg.com/http-errors/-/http-errors-1.8.1.tgz#7c3f28577cbc8a207388455dbd62295ed07bd68c" + integrity sha512-Kpk9Sm7NmI+RHhnj6OIWDI1d6fIoFAtFt9RLaTMRlg/8w49juAStsrBgp0Dp4OdxdVbRIeKhtCUvoi/RuAhO4g== + dependencies: + depd "~1.1.2" + inherits "2.0.4" + setprototypeof "1.2.0" + statuses ">= 1.5.0 < 2" + toidentifier "1.0.1" + +http-errors@~1.6.2: + version "1.6.3" + resolved "https://registry.yarnpkg.com/http-errors/-/http-errors-1.6.3.tgz#8b55680bb4be283a0b5bf4ea2e38580be1d9320d" + integrity sha1-i1VoC7S+KDoLW/TqLjhYC+HZMg0= + dependencies: + depd "~1.1.2" + inherits "2.0.3" + setprototypeof "1.1.0" + statuses ">= 1.4.0 < 2" + +http-parser-js@>=0.5.1: + version "0.5.5" + resolved "https://registry.yarnpkg.com/http-parser-js/-/http-parser-js-0.5.5.tgz#d7c30d5d3c90d865b4a2e870181f9d6f22ac7ac5" + integrity sha512-x+JVEkO2PoM8qqpbPbOL3cqHPwerep7OwzK7Ay+sMQjKzaKCqWvjoXm5tqMP9tXWWTnTzAjIhXg+J99XYuPhPA== + +http-proxy-agent@^4.0.1: + version "4.0.1" + resolved "https://registry.yarnpkg.com/http-proxy-agent/-/http-proxy-agent-4.0.1.tgz#8a8c8ef7f5932ccf953c296ca8291b95aa74aa3a" + integrity sha512-k0zdNgqWTGA6aeIRVpvfVob4fL52dTfaehylg0Y4UvSySvOq/Y+BOyPrgpUrA7HylqvU8vIZGsRuXmspskV0Tg== + dependencies: + "@tootallnate/once" "1" + agent-base "6" + debug "4" + +http-proxy-middleware@0.19.1: + version "0.19.1" + resolved "https://registry.yarnpkg.com/http-proxy-middleware/-/http-proxy-middleware-0.19.1.tgz#183c7dc4aa1479150306498c210cdaf96080a43a" + integrity sha512-yHYTgWMQO8VvwNS22eLLloAkvungsKdKTLO8AJlftYIKNfJr3GK3zK0ZCfzDDGUBttdGc8xFy1mCitvNKQtC3Q== + dependencies: + http-proxy "^1.17.0" + is-glob "^4.0.0" + lodash "^4.17.11" + micromatch "^3.1.10" + +http-proxy@^1.17.0: + version "1.18.1" + resolved "https://registry.yarnpkg.com/http-proxy/-/http-proxy-1.18.1.tgz#401541f0534884bbf95260334e72f88ee3976549" + integrity sha512-7mz/721AbnJwIVbnaSv1Cz3Am0ZLT/UBwkC92VlxhXv/k/BBQfM2fXElQNC27BVGr0uwUpplYPQM9LnaBMR5NQ== + dependencies: + eventemitter3 "^4.0.0" + follow-redirects "^1.0.0" + requires-port "^1.0.0" + +http2-wrapper@^1.0.0-beta.5.2: + version "1.0.3" + resolved "https://registry.yarnpkg.com/http2-wrapper/-/http2-wrapper-1.0.3.tgz#b8f55e0c1f25d4ebd08b3b0c2c079f9590800b3d" + integrity sha512-V+23sDMr12Wnz7iTcDeJr3O6AIxlnvT/bmaAAAP/Xda35C90p9599p0F1eHR/N1KILWSoWVAiOMFjBBXaXSMxg== + dependencies: + quick-lru "^5.1.1" + resolve-alpn "^1.0.0" + +https-proxy-agent@^5.0.0: + version "5.0.0" + resolved "https://registry.yarnpkg.com/https-proxy-agent/-/https-proxy-agent-5.0.0.tgz#e2a90542abb68a762e0a0850f6c9edadfd8506b2" + integrity sha512-EkYm5BcKUGiduxzSt3Eppko+PiNWNEpa4ySk9vTC6wDsQJW9rHSa+UhGNJoRYp7bz6Ht1eaRIa6QaJqO5rCFbA== + dependencies: + agent-base "6" + debug "4" + +humanize-ms@^1.2.1: + version "1.2.1" + resolved "https://registry.yarnpkg.com/humanize-ms/-/humanize-ms-1.2.1.tgz#c46e3159a293f6b896da29316d8b6fe8bb79bbed" + integrity sha1-xG4xWaKT9riW2ikxbYtv6Lt5u+0= + dependencies: + ms "^2.0.0" + +iconv-corefoundation@^1.1.7: + version "1.1.7" + resolved "https://registry.yarnpkg.com/iconv-corefoundation/-/iconv-corefoundation-1.1.7.tgz#31065e6ab2c9272154c8b0821151e2c88f1b002a" + integrity sha512-T10qvkw0zz4wnm560lOEg0PovVqUXuOFhhHAkixw8/sycy7TJt7v/RrkEKEQnAw2viPSJu6iAkErxnzR0g8PpQ== + dependencies: + cli-truncate "^2.1.0" + node-addon-api "^1.6.3" + +iconv-lite@0.4.24: + version "0.4.24" + resolved "https://registry.yarnpkg.com/iconv-lite/-/iconv-lite-0.4.24.tgz#2022b4b25fbddc21d2f524974a474aafe733908b" + integrity sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA== + dependencies: + safer-buffer ">= 2.1.2 < 3" + +iconv-lite@^0.6.2: + version "0.6.3" + resolved "https://registry.yarnpkg.com/iconv-lite/-/iconv-lite-0.6.3.tgz#a52f80bf38da1952eb5c681790719871a1a72501" + integrity sha512-4fCk79wshMdzMp2rH06qWrJE4iolqLhCUH+OiuIgU++RB0+94NlDL81atO7GX55uUKueo0txHNtvEyI6D7WdMw== + dependencies: + safer-buffer ">= 2.1.2 < 3.0.0" + +icss-utils@^4.0.0, icss-utils@^4.1.1: + version "4.1.1" + resolved "https://registry.yarnpkg.com/icss-utils/-/icss-utils-4.1.1.tgz#21170b53789ee27447c2f47dd683081403f9a467" + integrity sha512-4aFq7wvWyMHKgxsH8QQtGpvbASCf+eM3wPRLI6R+MgAnTCZ6STYsRvttLvRWK0Nfif5piF394St3HeJDaljGPA== + dependencies: + postcss "^7.0.14" + +ieee754@^1.1.13, ieee754@^1.2.1: + version "1.2.1" + resolved "https://registry.yarnpkg.com/ieee754/-/ieee754-1.2.1.tgz#8eb7a10a63fff25d15a57b001586d177d1b0d352" + integrity sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA== + +iferr@^0.1.5: + version "0.1.5" + resolved "https://registry.yarnpkg.com/iferr/-/iferr-0.1.5.tgz#c60eed69e6d8fdb6b3104a1fcbca1c192dc5b501" + integrity sha1-xg7taebY/bazEEofy8ocGS3FtQE= + +immediate@~3.0.5: + version "3.0.6" + resolved "https://registry.yarnpkg.com/immediate/-/immediate-3.0.6.tgz#9db1dbd0faf8de6fbe0f5dd5e56bb606280de69b" + integrity sha1-nbHb0Pr43m++D13V5Wu2BigN5ps= + +import-lazy@^2.1.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/import-lazy/-/import-lazy-2.1.0.tgz#05698e3d45c88e8d7e9d92cb0584e77f096f3e43" + integrity sha1-BWmOPUXIjo1+nZLLBYTnfwlvPkM= + +import-local@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/import-local/-/import-local-2.0.0.tgz#55070be38a5993cf18ef6db7e961f5bee5c5a09d" + integrity sha512-b6s04m3O+s3CGSbqDIyP4R6aAwAeYlVq9+WUWep6iHa8ETRf9yei1U48C5MmfJmV9AiLYYBKPMq/W+/WRpQmCQ== + dependencies: + pkg-dir "^3.0.0" + resolve-cwd "^2.0.0" + +imurmurhash@^0.1.4: + version "0.1.4" + resolved "https://registry.yarnpkg.com/imurmurhash/-/imurmurhash-0.1.4.tgz#9218b9b2b928a238b13dc4fb6b6d576f231453ea" + integrity sha1-khi5srkoojixPcT7a21XbyMUU+o= + +indent-string@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/indent-string/-/indent-string-4.0.0.tgz#624f8f4497d619b2d9768531d58f4122854d7251" + integrity sha512-EdDDZu4A2OyIK7Lr/2zG+w5jmbuk1DVBnEwREQvBzspBJkCEbRa8GxU1lghYcaGJCnRWibjDXlq779X1/y5xwg== + +infer-owner@^1.0.4: + version "1.0.4" + resolved "https://registry.yarnpkg.com/infer-owner/-/infer-owner-1.0.4.tgz#c4cefcaa8e51051c2a40ba2ce8a3d27295af9467" + integrity sha512-IClj+Xz94+d7irH5qRyfJonOdfTzuDaifE6ZPWfx0N0+/ATZCbuTPq2prFl526urkQd90WyUKIh1DfBQ2hMz9A== + +inflight@^1.0.4: + version "1.0.6" + resolved "https://registry.yarnpkg.com/inflight/-/inflight-1.0.6.tgz#49bd6331d7d02d0c09bc910a1075ba8165b56df9" + integrity sha1-Sb1jMdfQLQwJvJEKEHW6gWW1bfk= + dependencies: + once "^1.3.0" + wrappy "1" + +inherits@2, inherits@2.0.4, inherits@^2.0.1, inherits@^2.0.3, inherits@^2.0.4, inherits@~2.0.3: + version "2.0.4" + resolved "https://registry.yarnpkg.com/inherits/-/inherits-2.0.4.tgz#0fa2c64f932917c3433a0ded55363aae37416b7c" + integrity sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ== + +inherits@2.0.3: + version "2.0.3" + resolved "https://registry.yarnpkg.com/inherits/-/inherits-2.0.3.tgz#633c2c83e3da42a502f52466022480f4208261de" + integrity sha1-Yzwsg+PaQqUC9SRmAiSA9CCCYd4= + +ini@2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/ini/-/ini-2.0.0.tgz#e5fd556ecdd5726be978fa1001862eacb0a94bc5" + integrity sha512-7PnF4oN3CvZF23ADhA5wRaYEQpJ8qygSkbtTXWBeXWXmEVRXK+1ITciHWwHhsjv1TmW0MgacIv6hEi5pX5NQdA== + +ini@^1.3.4, ini@^1.3.5, ini@~1.3.0: + version "1.3.8" + resolved "https://registry.yarnpkg.com/ini/-/ini-1.3.8.tgz#a29da425b48806f34767a4efce397269af28432c" + integrity sha512-JV/yugV2uzW5iMRSiZAyDtQd+nxtUnjeLt0acNdw98kKLrvuRVyB80tsREOE7yvGVgalhZ6RNXCmEHkUKBKxew== + +internal-ip@^4.3.0: + version "4.3.0" + resolved "https://registry.yarnpkg.com/internal-ip/-/internal-ip-4.3.0.tgz#845452baad9d2ca3b69c635a137acb9a0dad0907" + integrity sha512-S1zBo1D6zcsyuC6PMmY5+55YMILQ9av8lotMx447Bq6SAgo/sDK6y6uUKmuYhW7eacnIhFfsPmCNYdDzsnnDCg== + dependencies: + default-gateway "^4.2.0" + ipaddr.js "^1.9.0" + +internal-slot@^1.0.3: + version "1.0.3" + resolved "https://registry.yarnpkg.com/internal-slot/-/internal-slot-1.0.3.tgz#7347e307deeea2faac2ac6205d4bc7d34967f59c" + integrity sha512-O0DB1JC/sPyZl7cIo78n5dR7eUSwwpYPiXRhTzNxZVAMUuB8vlnRFyLxdrVToks6XPLVnFfbzaVd5WLjhgg+vA== + dependencies: + get-intrinsic "^1.1.0" + has "^1.0.3" + side-channel "^1.0.4" + +interpret@^1.4.0: + version "1.4.0" + resolved "https://registry.yarnpkg.com/interpret/-/interpret-1.4.0.tgz#665ab8bc4da27a774a40584e812e3e0fa45b1a1e" + integrity sha512-agE4QfB2Lkp9uICn7BAqoscw4SZP9kTE2hxiFI3jBPmXJfdqiahTbUuKGsMoN2GtqL9AxhYioAcVvgsb1HvRbA== + +ip-regex@^2.1.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/ip-regex/-/ip-regex-2.1.0.tgz#fa78bf5d2e6913c911ce9f819ee5146bb6d844e9" + integrity sha1-+ni/XS5pE8kRzp+BnuUUa7bYROk= + +ip@^1.1.0, ip@^1.1.5: + version "1.1.5" + resolved "https://registry.yarnpkg.com/ip/-/ip-1.1.5.tgz#bdded70114290828c0a039e72ef25f5aaec4354a" + integrity sha1-vd7XARQpCCjAoDnnLvJfWq7ENUo= + +ipaddr.js@1.9.1, ipaddr.js@^1.9.0: + version "1.9.1" + resolved "https://registry.yarnpkg.com/ipaddr.js/-/ipaddr.js-1.9.1.tgz#bff38543eeb8984825079ff3a2a8e6cbd46781b3" + integrity sha512-0KI/607xoxSToH7GjN1FfSbLoU0+btTicjsQSWQlh/hZykN8KpmMf7uYwPW3R+akZ6R/w18ZlXSHBYXiYUPO3g== + +is-absolute-url@^3.0.3: + version "3.0.3" + resolved "https://registry.yarnpkg.com/is-absolute-url/-/is-absolute-url-3.0.3.tgz#96c6a22b6a23929b11ea0afb1836c36ad4a5d698" + integrity sha512-opmNIX7uFnS96NtPmhWQgQx6/NYFgsUXYMllcfzwWKUMwfo8kku1TvE6hkNcH+Q1ts5cMVrsY7j0bxXQDciu9Q== + +is-accessor-descriptor@^0.1.6: + version "0.1.6" + resolved "https://registry.yarnpkg.com/is-accessor-descriptor/-/is-accessor-descriptor-0.1.6.tgz#a9e12cb3ae8d876727eeef3843f8a0897b5c98d6" + integrity sha1-qeEss66Nh2cn7u84Q/igiXtcmNY= + dependencies: + kind-of "^3.0.2" + +is-accessor-descriptor@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz#169c2f6d3df1f992618072365c9b0ea1f6878656" + integrity sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ== + dependencies: + kind-of "^6.0.0" + +is-arguments@^1.0.4: + version "1.1.1" + resolved "https://registry.yarnpkg.com/is-arguments/-/is-arguments-1.1.1.tgz#15b3f88fda01f2a97fec84ca761a560f123efa9b" + integrity sha512-8Q7EARjzEnKpt/PCD7e1cgUS0a6X8u5tdSiMqXhojOdoV9TsMsiO+9VLC5vAmO8N7/GmXn7yjR8qnA6bVAEzfA== + dependencies: + call-bind "^1.0.2" + has-tostringtag "^1.0.0" + +is-arrayish@^0.2.1: + version "0.2.1" + resolved "https://registry.yarnpkg.com/is-arrayish/-/is-arrayish-0.2.1.tgz#77c99840527aa8ecb1a8ba697b80645a7a926a9d" + integrity sha1-d8mYQFJ6qOyxqLppe4BkWnqSap0= + +is-bigint@^1.0.1: + version "1.0.4" + resolved "https://registry.yarnpkg.com/is-bigint/-/is-bigint-1.0.4.tgz#08147a1875bc2b32005d41ccd8291dffc6691df3" + integrity sha512-zB9CruMamjym81i2JZ3UMn54PKGsQzsJeo6xvN3HJJ4CAsQNB6iRutp2To77OfCNuoxspsIhzaPoO1zyCEhFOg== + dependencies: + has-bigints "^1.0.1" + +is-binary-path@^1.0.0: + version "1.0.1" + resolved "https://registry.yarnpkg.com/is-binary-path/-/is-binary-path-1.0.1.tgz#75f16642b480f187a711c814161fd3a4a7655898" + integrity sha1-dfFmQrSA8YenEcgUFh/TpKdlWJg= + dependencies: + binary-extensions "^1.0.0" + +is-boolean-object@^1.1.0: + version "1.1.2" + resolved "https://registry.yarnpkg.com/is-boolean-object/-/is-boolean-object-1.1.2.tgz#5c6dc200246dd9321ae4b885a114bb1f75f63719" + integrity sha512-gDYaKHJmnj4aWxyj6YHyXVpdQawtVLHU5cb+eztPGczf6cjuTdwve5ZIEfgXqH4e57An1D1AKf8CZ3kYrQRqYA== + dependencies: + call-bind "^1.0.2" + has-tostringtag "^1.0.0" + +is-buffer@^1.1.5: + version "1.1.6" + resolved "https://registry.yarnpkg.com/is-buffer/-/is-buffer-1.1.6.tgz#efaa2ea9daa0d7ab2ea13a97b2b8ad51fefbe8be" + integrity sha512-NcdALwpXkTm5Zvvbk7owOUSvVvBKDgKP5/ewfXEznmQFfs4ZRmanOeKBTjRVjka3QFoN6XJ+9F3USqfHqTaU5w== + +is-callable@^1.1.4, is-callable@^1.2.4: + version "1.2.4" + resolved "https://registry.yarnpkg.com/is-callable/-/is-callable-1.2.4.tgz#47301d58dd0259407865547853df6d61fe471945" + integrity sha512-nsuwtxZfMX67Oryl9LCQ+upnC0Z0BgpwntpS89m1H/TLF0zNfzfLMV/9Wa/6MZsj0acpEjAO0KF1xT6ZdLl95w== + +is-ci@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/is-ci/-/is-ci-2.0.0.tgz#6bc6334181810e04b5c22b3d589fdca55026404c" + integrity sha512-YfJT7rkpQB0updsdHLGWrvhBJfcfzNNawYDNIyQXJz0IViGf75O8EBPKSdvw2rF+LGCsX4FZ8tcr3b19LcZq4w== + dependencies: + ci-info "^2.0.0" + +is-ci@^3.0.0: + version "3.0.1" + resolved "https://registry.yarnpkg.com/is-ci/-/is-ci-3.0.1.tgz#db6ecbed1bd659c43dac0f45661e7674103d1867" + integrity sha512-ZYvCgrefwqoQ6yTyYUbQu64HsITZ3NfKX1lzaEYdkTDcfKzzCI/wthRRYKkdjHKFVgNiXKAKm65Zo1pk2as/QQ== + dependencies: + ci-info "^3.2.0" + +is-core-module@^2.8.1: + version "2.8.1" + resolved "https://registry.yarnpkg.com/is-core-module/-/is-core-module-2.8.1.tgz#f59fdfca701d5879d0a6b100a40aa1560ce27211" + integrity sha512-SdNCUs284hr40hFTFP6l0IfZ/RSrMXF3qgoRHd3/79unUTvrFO/JoXwkGm+5J/Oe3E/b5GsnG330uUNgRpu1PA== + dependencies: + has "^1.0.3" + +is-data-descriptor@^0.1.4: + version "0.1.4" + resolved "https://registry.yarnpkg.com/is-data-descriptor/-/is-data-descriptor-0.1.4.tgz#0b5ee648388e2c860282e793f1856fec3f301b56" + integrity sha1-C17mSDiOLIYCgueT8YVv7D8wG1Y= + dependencies: + kind-of "^3.0.2" + +is-data-descriptor@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz#d84876321d0e7add03990406abbbbd36ba9268c7" + integrity sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ== + dependencies: + kind-of "^6.0.0" + +is-date-object@^1.0.1: + version "1.0.5" + resolved "https://registry.yarnpkg.com/is-date-object/-/is-date-object-1.0.5.tgz#0841d5536e724c25597bf6ea62e1bd38298df31f" + integrity sha512-9YQaSxsAiSwcvS33MBk3wTCVnWK+HhF8VZR2jRxehM16QcVOdHqPn4VPHmRK4lSr38n9JriurInLcP90xsYNfQ== + dependencies: + has-tostringtag "^1.0.0" + +is-descriptor@^0.1.0: + version "0.1.6" + resolved "https://registry.yarnpkg.com/is-descriptor/-/is-descriptor-0.1.6.tgz#366d8240dde487ca51823b1ab9f07a10a78251ca" + integrity sha512-avDYr0SB3DwO9zsMov0gKCESFYqCnE4hq/4z3TdUlukEy5t9C0YRq7HLrsN52NAcqXKaepeCD0n+B0arnVG3Hg== + dependencies: + is-accessor-descriptor "^0.1.6" + is-data-descriptor "^0.1.4" + kind-of "^5.0.0" + +is-descriptor@^1.0.0, is-descriptor@^1.0.2: + version "1.0.2" + resolved "https://registry.yarnpkg.com/is-descriptor/-/is-descriptor-1.0.2.tgz#3b159746a66604b04f8c81524ba365c5f14d86ec" + integrity sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg== + dependencies: + is-accessor-descriptor "^1.0.0" + is-data-descriptor "^1.0.0" + kind-of "^6.0.2" + +is-docker@^2.0.0, is-docker@^2.1.1: + version "2.2.1" + resolved "https://registry.yarnpkg.com/is-docker/-/is-docker-2.2.1.tgz#33eeabe23cfe86f14bde4408a02c0cfb853acdaa" + integrity sha512-F+i2BKsFrH66iaUFc0woD8sLy8getkwTwtOBjvs56Cx4CgJDeKQeqfz8wAYiSb8JOprWhHH5p77PbmYCvvUuXQ== + +is-extendable@^0.1.0, is-extendable@^0.1.1: + version "0.1.1" + resolved "https://registry.yarnpkg.com/is-extendable/-/is-extendable-0.1.1.tgz#62b110e289a471418e3ec36a617d472e301dfc89" + integrity sha1-YrEQ4omkcUGOPsNqYX1HLjAd/Ik= + +is-extendable@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/is-extendable/-/is-extendable-1.0.1.tgz#a7470f9e426733d81bd81e1155264e3a3507cab4" + integrity sha512-arnXMxT1hhoKo9k1LZdmlNyJdDDfy2v0fXjFlmok4+i8ul/6WlbVge9bhM74OpNPQPMGUToDtz+KXa1PneJxOA== + dependencies: + is-plain-object "^2.0.4" + +is-extglob@^2.1.0, is-extglob@^2.1.1: + version "2.1.1" + resolved "https://registry.yarnpkg.com/is-extglob/-/is-extglob-2.1.1.tgz#a88c02535791f02ed37c76a1b9ea9773c833f8c2" + integrity sha1-qIwCU1eR8C7TfHahueqXc8gz+MI= + +is-fullwidth-code-point@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz#a3b30a5c4f199183167aaab93beefae3ddfb654f" + integrity sha1-o7MKXE8ZkYMWeqq5O+764937ZU8= + +is-fullwidth-code-point@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz#f116f8064fe90b3f7844a38997c0b75051269f1d" + integrity sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg== + +is-glob@^3.1.0: + version "3.1.0" + resolved "https://registry.yarnpkg.com/is-glob/-/is-glob-3.1.0.tgz#7ba5ae24217804ac70707b96922567486cc3e84a" + integrity sha1-e6WuJCF4BKxwcHuWkiVnSGzD6Eo= + dependencies: + is-extglob "^2.1.0" + +is-glob@^4.0.0: + version "4.0.3" + resolved "https://registry.yarnpkg.com/is-glob/-/is-glob-4.0.3.tgz#64f61e42cbbb2eec2071a9dac0b28ba1e65d5084" + integrity sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg== + dependencies: + is-extglob "^2.1.1" + +is-installed-globally@^0.4.0: + version "0.4.0" + resolved "https://registry.yarnpkg.com/is-installed-globally/-/is-installed-globally-0.4.0.tgz#9a0fd407949c30f86eb6959ef1b7994ed0b7b520" + integrity sha512-iwGqO3J21aaSkC7jWnHP/difazwS7SFeIqxv6wEtLU8Y5KlzFTjyqcSIT0d8s4+dDhKytsk9PJZ2BkS5eZwQRQ== + dependencies: + global-dirs "^3.0.0" + is-path-inside "^3.0.2" + +is-lambda@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/is-lambda/-/is-lambda-1.0.1.tgz#3d9877899e6a53efc0160504cde15f82e6f061d5" + integrity sha1-PZh3iZ5qU+/AFgUEzeFfgubwYdU= + +is-negative-zero@^2.0.1: + version "2.0.2" + resolved "https://registry.yarnpkg.com/is-negative-zero/-/is-negative-zero-2.0.2.tgz#7bf6f03a28003b8b3965de3ac26f664d765f3150" + integrity sha512-dqJvarLawXsFbNDeJW7zAz8ItJ9cd28YufuuFzh0G8pNHjJMnY08Dv7sYX2uF5UpQOwieAeOExEYAWWfu7ZZUA== + +is-npm@^5.0.0: + version "5.0.0" + resolved "https://registry.yarnpkg.com/is-npm/-/is-npm-5.0.0.tgz#43e8d65cc56e1b67f8d47262cf667099193f45a8" + integrity sha512-WW/rQLOazUq+ST/bCAVBp/2oMERWLsR7OrKyt052dNDk4DHcDE0/7QSXITlmi+VBcV13DfIbysG3tZJm5RfdBA== + +is-number-object@^1.0.4: + version "1.0.6" + resolved "https://registry.yarnpkg.com/is-number-object/-/is-number-object-1.0.6.tgz#6a7aaf838c7f0686a50b4553f7e54a96494e89f0" + integrity sha512-bEVOqiRcvo3zO1+G2lVMy+gkkEm9Yh7cDMRusKKu5ZJKPUYSJwICTKZrNKHA2EbSP0Tu0+6B/emsYNHZyn6K8g== + dependencies: + has-tostringtag "^1.0.0" + +is-number@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/is-number/-/is-number-3.0.0.tgz#24fd6201a4782cf50561c810276afc7d12d71195" + integrity sha1-JP1iAaR4LPUFYcgQJ2r8fRLXEZU= + dependencies: + kind-of "^3.0.2" + +is-number@^7.0.0: + version "7.0.0" + resolved "https://registry.yarnpkg.com/is-number/-/is-number-7.0.0.tgz#7535345b896734d5f80c4d06c50955527a14f12b" + integrity sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng== + +is-obj@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/is-obj/-/is-obj-2.0.0.tgz#473fb05d973705e3fd9620545018ca8e22ef4982" + integrity sha512-drqDG3cbczxxEJRoOXcOjtdp1J/lyp1mNn0xaznRs8+muBhgQcrnbspox5X5fOw0HnMnbfDzvnEMEtqDEJEo8w== + +is-path-cwd@^2.0.0: + version "2.2.0" + resolved "https://registry.yarnpkg.com/is-path-cwd/-/is-path-cwd-2.2.0.tgz#67d43b82664a7b5191fd9119127eb300048a9fdb" + integrity sha512-w942bTcih8fdJPJmQHFzkS76NEP8Kzzvmw92cXsazb8intwLqPibPPdXf4ANdKV3rYMuuQYGIWtvz9JilB3NFQ== + +is-path-in-cwd@^2.0.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/is-path-in-cwd/-/is-path-in-cwd-2.1.0.tgz#bfe2dca26c69f397265a4009963602935a053acb" + integrity sha512-rNocXHgipO+rvnP6dk3zI20RpOtrAM/kzbB258Uw5BWr3TpXi861yzjo16Dn4hUox07iw5AyeMLHWsujkjzvRQ== + dependencies: + is-path-inside "^2.1.0" + +is-path-inside@^2.1.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/is-path-inside/-/is-path-inside-2.1.0.tgz#7c9810587d659a40d27bcdb4d5616eab059494b2" + integrity sha512-wiyhTzfDWsvwAW53OBWF5zuvaOGlZ6PwYxAbPVDhpm+gM09xKQGjBq/8uYN12aDvMxnAnq3dxTyoSoRNmg5YFg== + dependencies: + path-is-inside "^1.0.2" + +is-path-inside@^3.0.2: + version "3.0.3" + resolved "https://registry.yarnpkg.com/is-path-inside/-/is-path-inside-3.0.3.tgz#d231362e53a07ff2b0e0ea7fed049161ffd16283" + integrity sha512-Fd4gABb+ycGAmKou8eMftCupSir5lRxqf4aD/vd0cD2qc4HL07OjCeuHMr8Ro4CoMaeCKDB0/ECBOVWjTwUvPQ== + +is-plain-obj@^1.0.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/is-plain-obj/-/is-plain-obj-1.1.0.tgz#71a50c8429dfca773c92a390a4a03b39fcd51d3e" + integrity sha1-caUMhCnfync8kqOQpKA7OfzVHT4= + +is-plain-object@^2.0.3, is-plain-object@^2.0.4: + version "2.0.4" + resolved "https://registry.yarnpkg.com/is-plain-object/-/is-plain-object-2.0.4.tgz#2c163b3fafb1b606d9d17928f05c2a1c38e07677" + integrity sha512-h5PpgXkWitc38BBMYawTYMWJHFZJVnBquFE57xFpjB8pJFiF6gZ+bU+WyI/yqXiFR5mdLsgYNaPe8uao6Uv9Og== + dependencies: + isobject "^3.0.1" + +is-regex@^1.0.4, is-regex@^1.1.4: + version "1.1.4" + resolved "https://registry.yarnpkg.com/is-regex/-/is-regex-1.1.4.tgz#eef5663cd59fa4c0ae339505323df6854bb15958" + integrity sha512-kvRdxDsxZjhzUX07ZnLydzS1TU/TJlTUHHY4YLL87e37oUA49DfkLqgy+VjFocowy29cKvcSiu+kIv728jTTVg== + dependencies: + call-bind "^1.0.2" + has-tostringtag "^1.0.0" + +is-shared-array-buffer@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/is-shared-array-buffer/-/is-shared-array-buffer-1.0.1.tgz#97b0c85fbdacb59c9c446fe653b82cf2b5b7cfe6" + integrity sha512-IU0NmyknYZN0rChcKhRO1X8LYz5Isj/Fsqh8NJOSf+N/hCOTwy29F32Ik7a+QszE63IdvmwdTPDd6cZ5pg4cwA== + +is-stream@^1.1.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/is-stream/-/is-stream-1.1.0.tgz#12d4a3dd4e68e0b79ceb8dbc84173ae80d91ca44" + integrity sha1-EtSj3U5o4Lec6428hBc66A2RykQ= + +is-string@^1.0.5, is-string@^1.0.7: + version "1.0.7" + resolved "https://registry.yarnpkg.com/is-string/-/is-string-1.0.7.tgz#0dd12bf2006f255bb58f695110eff7491eebc0fd" + integrity sha512-tE2UXzivje6ofPW7l23cjDOMa09gb7xlAqG6jG5ej6uPV32TlWP3NKPigtaGeHNu9fohccRYvIiZMfOOnOYUtg== + dependencies: + has-tostringtag "^1.0.0" + +is-symbol@^1.0.2, is-symbol@^1.0.3: + version "1.0.4" + resolved "https://registry.yarnpkg.com/is-symbol/-/is-symbol-1.0.4.tgz#a6dac93b635b063ca6872236de88910a57af139c" + integrity sha512-C/CPBqKWnvdcxqIARxyOh4v1UUEOCHpgDa0WYgpKDFMszcrPcffg5uhwSgPCLD2WWxmq6isisz87tzT01tuGhg== + dependencies: + has-symbols "^1.0.2" + +is-typedarray@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/is-typedarray/-/is-typedarray-1.0.0.tgz#e479c80858df0c1b11ddda6940f96011fcda4a9a" + integrity sha1-5HnICFjfDBsR3dppQPlgEfzaSpo= + +is-weakref@^1.0.1: + version "1.0.2" + resolved "https://registry.yarnpkg.com/is-weakref/-/is-weakref-1.0.2.tgz#9529f383a9338205e89765e0392efc2f100f06f2" + integrity sha512-qctsuLZmIQ0+vSSMfoVvyFe2+GSEvnmZ2ezTup1SBse9+twCCeial6EEi3Nc2KFcf6+qz2FBPnjXsk8xhKSaPQ== + dependencies: + call-bind "^1.0.2" + +is-windows@^1.0.1, is-windows@^1.0.2: + version "1.0.2" + resolved "https://registry.yarnpkg.com/is-windows/-/is-windows-1.0.2.tgz#d1850eb9791ecd18e6182ce12a30f396634bb19d" + integrity sha512-eXK1UInq2bPmjyX6e3VHIzMLobc4J94i4AWn+Hpq3OU5KkrRC96OAcR3PRJ/pGu6m8TRnBHP9dkXQVsT/COVIA== + +is-wsl@^1.1.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/is-wsl/-/is-wsl-1.1.0.tgz#1f16e4aa22b04d1336b66188a66af3c600c3a66d" + integrity sha1-HxbkqiKwTRM2tmGIpmrzxgDDpm0= + +is-wsl@^2.2.0: + version "2.2.0" + resolved "https://registry.yarnpkg.com/is-wsl/-/is-wsl-2.2.0.tgz#74a4c76e77ca9fd3f932f290c17ea326cd157271" + integrity sha512-fKzAra0rGJUUBwGBgNkHZuToZcn+TtXHpeCgmkMJMMYx1sQDYaCSyjJBSCa2nH1DGm7s3n1oBnohoVTBaN7Lww== + dependencies: + is-docker "^2.0.0" + +is-yarn-global@^0.3.0: + version "0.3.0" + resolved "https://registry.yarnpkg.com/is-yarn-global/-/is-yarn-global-0.3.0.tgz#d502d3382590ea3004893746754c89139973e232" + integrity sha512-VjSeb/lHmkoyd8ryPVIKvOCn4D1koMqY+vqyjjUfc3xyKtP4dYOxM44sZrnqQSzSds3xyOrUTLTC9LVCVgLngw== + +isarray@1.0.0, isarray@~1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/isarray/-/isarray-1.0.0.tgz#bb935d48582cba168c06834957a54a3e07124f11" + integrity sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE= + +isbinaryfile@^3.0.2: + version "3.0.3" + resolved "https://registry.yarnpkg.com/isbinaryfile/-/isbinaryfile-3.0.3.tgz#5d6def3edebf6e8ca8cae9c30183a804b5f8be80" + integrity sha512-8cJBL5tTd2OS0dM4jz07wQd5g0dCCqIhUxPIGtZfa5L6hWlvV5MHTITy/DBAsF+Oe2LS1X3krBUhNwaGUWpWxw== + dependencies: + buffer-alloc "^1.2.0" + +isbinaryfile@^4.0.8: + version "4.0.8" + resolved "https://registry.yarnpkg.com/isbinaryfile/-/isbinaryfile-4.0.8.tgz#5d34b94865bd4946633ecc78a026fc76c5b11fcf" + integrity sha512-53h6XFniq77YdW+spoRrebh0mnmTxRPTlcuIArO57lmMdq4uBKFKaeTjnb92oYWrSn/LVL+LT+Hap2tFQj8V+w== + +isexe@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/isexe/-/isexe-2.0.0.tgz#e8fbf374dc556ff8947a10dcb0572d633f2cfa10" + integrity sha1-6PvzdNxVb/iUehDcsFctYz8s+hA= + +isobject@^2.0.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/isobject/-/isobject-2.1.0.tgz#f065561096a3f1da2ef46272f815c840d87e0c89" + integrity sha1-8GVWEJaj8dou9GJy+BXIQNh+DIk= + dependencies: + isarray "1.0.0" + +isobject@^3.0.0, isobject@^3.0.1: + version "3.0.1" + resolved "https://registry.yarnpkg.com/isobject/-/isobject-3.0.1.tgz#4e431e92b11a9731636aa1f9c8d1ccbcfdab78df" + integrity sha1-TkMekrEalzFjaqH5yNHMvP2reN8= + +jake@^10.6.1: + version "10.8.2" + resolved "https://registry.yarnpkg.com/jake/-/jake-10.8.2.tgz#ebc9de8558160a66d82d0eadc6a2e58fbc500a7b" + integrity sha512-eLpKyrfG3mzvGE2Du8VoPbeSkRry093+tyNjdYaBbJS9v17knImYGNXQCUV0gLxQtF82m3E8iRb/wdSQZLoq7A== + dependencies: + async "0.9.x" + chalk "^2.4.2" + filelist "^1.0.1" + minimatch "^3.0.4" + +jest-diff@^27.2.5, jest-diff@^27.4.6: + version "27.4.6" + resolved "https://registry.yarnpkg.com/jest-diff/-/jest-diff-27.4.6.tgz#93815774d2012a2cbb6cf23f84d48c7a2618f98d" + integrity sha512-zjaB0sh0Lb13VyPsd92V7HkqF6yKRH9vm33rwBt7rPYrpQvS1nCvlIy2pICbKta+ZjWngYLNn4cCK4nyZkjS/w== + dependencies: + chalk "^4.0.0" + diff-sequences "^27.4.0" + jest-get-type "^27.4.0" + pretty-format "^27.4.6" + +jest-get-type@^27.0.6, jest-get-type@^27.4.0: + version "27.4.0" + resolved "https://registry.yarnpkg.com/jest-get-type/-/jest-get-type-27.4.0.tgz#7503d2663fffa431638337b3998d39c5e928e9b5" + integrity sha512-tk9o+ld5TWq41DkK14L4wox4s2D9MtTpKaAVzXfr5CUKm5ZK2ExcaFE0qls2W71zE/6R2TxxrK9w2r6svAFDBQ== + +jest-matcher-utils@=27.2.5: + version "27.2.5" + resolved "https://registry.yarnpkg.com/jest-matcher-utils/-/jest-matcher-utils-27.2.5.tgz#4684faaa8eb32bf15e6edaead6834031897e2980" + integrity sha512-qNR/kh6bz0Dyv3m68Ck2g1fLW5KlSOUNcFQh87VXHZwWc/gY6XwnKofx76Qytz3x5LDWT09/2+yXndTkaG4aWg== + dependencies: + chalk "^4.0.0" + jest-diff "^27.2.5" + jest-get-type "^27.0.6" + pretty-format "^27.2.5" + +jest-matcher-utils@^27.2.5: + version "27.4.6" + resolved "https://registry.yarnpkg.com/jest-matcher-utils/-/jest-matcher-utils-27.4.6.tgz#53ca7f7b58170638590e946f5363b988775509b8" + integrity sha512-XD4PKT3Wn1LQnRAq7ZsTI0VRuEc9OrCPFiO1XL7bftTGmfNF0DcEwMHRgqiu7NGf8ZoZDREpGrCniDkjt79WbA== + dependencies: + chalk "^4.0.0" + jest-diff "^27.4.6" + jest-get-type "^27.4.0" + pretty-format "^27.4.6" + +jest-message-util@^27.2.5: + version "27.4.6" + resolved "https://registry.yarnpkg.com/jest-message-util/-/jest-message-util-27.4.6.tgz#9fdde41a33820ded3127465e1a5896061524da31" + integrity sha512-0p5szriFU0U74czRSFjH6RyS7UYIAkn/ntwMuOwTGWrQIOh5NzXXrq72LOqIkJKKvFbPq+byZKuBz78fjBERBA== + dependencies: + "@babel/code-frame" "^7.12.13" + "@jest/types" "^27.4.2" + "@types/stack-utils" "^2.0.0" + chalk "^4.0.0" + graceful-fs "^4.2.4" + micromatch "^4.0.4" + pretty-format "^27.4.6" + slash "^3.0.0" + stack-utils "^2.0.3" + +jest-regex-util@^27.0.6: + version "27.4.0" + resolved "https://registry.yarnpkg.com/jest-regex-util/-/jest-regex-util-27.4.0.tgz#e4c45b52653128843d07ad94aec34393ea14fbca" + integrity sha512-WeCpMpNnqJYMQoOjm1nTtsgbR4XHAk1u00qDoNBQoykM280+/TmgA5Qh5giC1ecy6a5d4hbSsHzpBtu5yvlbEg== + +jest-worker@^25.4.0: + version "25.5.0" + resolved "https://registry.yarnpkg.com/jest-worker/-/jest-worker-25.5.0.tgz#2611d071b79cea0f43ee57a3d118593ac1547db1" + integrity sha512-/dsSmUkIy5EBGfv/IjjqmFxrNAUpBERfGs1oHROyD7yxjG/w+t0GOJDX8O1k32ySmd7+a5IhnJU2qQFcJ4n1vw== + dependencies: + merge-stream "^2.0.0" + supports-color "^7.0.0" + +jest-worker@^27.4.5: + version "27.4.6" + resolved "https://registry.yarnpkg.com/jest-worker/-/jest-worker-27.4.6.tgz#5d2d93db419566cb680752ca0792780e71b3273e" + integrity sha512-gHWJF/6Xi5CTG5QCvROr6GcmpIqNYpDJyc8A1h/DyXqH1tD6SnRCM0d3U5msV31D2LB/U+E0M+W4oyvKV44oNw== + dependencies: + "@types/node" "*" + merge-stream "^2.0.0" + supports-color "^8.0.0" + +jpeg-js@^0.4.2: + version "0.4.3" + resolved "https://registry.yarnpkg.com/jpeg-js/-/jpeg-js-0.4.3.tgz#6158e09f1983ad773813704be80680550eff977b" + integrity sha512-ru1HWKek8octvUHFHvE5ZzQ1yAsJmIvRdGWvSoKV52XKyuyYA437QWDttXT8eZXDSbuMpHlLzPDZUPd6idIz+Q== + +"js-tokens@^3.0.0 || ^4.0.0", js-tokens@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/js-tokens/-/js-tokens-4.0.0.tgz#19203fb59991df98e3a287050d4647cdeaf32499" + integrity sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ== + +js-yaml@^3.13.1: + version "3.14.1" + resolved "https://registry.yarnpkg.com/js-yaml/-/js-yaml-3.14.1.tgz#dae812fdb3825fa306609a8717383c50c36a0537" + integrity sha512-okMH7OXXJ7YrN9Ok3/SXrnu4iX9yOk+25nqX4imS2npuvTYDmo/QEZoqwZkYaIDk3jVvBOTOIEgEhaLOynBS9g== + dependencies: + argparse "^1.0.7" + esprima "^4.0.0" + +js-yaml@^4.1.0: + version "4.1.0" + resolved "https://registry.yarnpkg.com/js-yaml/-/js-yaml-4.1.0.tgz#c1fb65f8f5017901cdd2c951864ba18458a10602" + integrity sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA== + dependencies: + argparse "^2.0.1" + +jsbi@^2.0.5: + version "2.0.5" + resolved "https://registry.yarnpkg.com/jsbi/-/jsbi-2.0.5.tgz#82589011da87dc59b4b549d94dcef51a9155f6fe" + integrity sha512-TzO/62Hxeb26QMb4IGlI/5X+QLr9Uqp1FPkwp2+KOICW+Q+vSuFj61c8pkT6wAns4WcK56X7CmSHhJeDGWOqxQ== + +jsesc@^2.5.1: + version "2.5.2" + resolved "https://registry.yarnpkg.com/jsesc/-/jsesc-2.5.2.tgz#80564d2e483dacf6e8ef209650a67df3f0c283a4" + integrity sha512-OYu7XEzjkCQ3C5Ps3QIZsQfNpqoJyZZA99wd9aWd05NCtC5pWOkShK2mkL6HXQR6/Cy2lbNdPlZBpuQHXE63gA== + +jsesc@~0.5.0: + version "0.5.0" + resolved "https://registry.yarnpkg.com/jsesc/-/jsesc-0.5.0.tgz#e7dee66e35d6fc16f710fe91d5cf69f70f08911d" + integrity sha1-597mbjXW/Bb3EP6R1c9p9w8IkR0= + +json-buffer@3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/json-buffer/-/json-buffer-3.0.0.tgz#5b1f397afc75d677bde8bcfc0e47e1f9a3d9a898" + integrity sha1-Wx85evx11ne96Lz8Dkfh+aPZqJg= + +json-buffer@3.0.1: + version "3.0.1" + resolved "https://registry.yarnpkg.com/json-buffer/-/json-buffer-3.0.1.tgz#9338802a30d3b6605fbe0613e094008ca8c05a13" + integrity sha512-4bV5BfR2mqfQTJm+V5tPPdf+ZpuhiIvTuAB5g8kcrXOZpTT/QwwVRWBywX1ozr6lEuPdbHxwaJlm9G6mI2sfSQ== + +json-parse-better-errors@^1.0.1, json-parse-better-errors@^1.0.2: + version "1.0.2" + resolved "https://registry.yarnpkg.com/json-parse-better-errors/-/json-parse-better-errors-1.0.2.tgz#bb867cfb3450e69107c131d1c514bab3dc8bcaa9" + integrity sha512-mrqyZKfX5EhL7hvqcV6WG1yYjnjeuYDzDhhcAAUrq8Po85NBQBJP+ZDUT75qZQ98IkUoBqdkExkukOU7Ts2wrw== + +json-schema-traverse@^0.4.1: + version "0.4.1" + resolved "https://registry.yarnpkg.com/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz#69f6a87d9513ab8bb8fe63bdb0979c448e684660" + integrity sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg== + +json-schema-traverse@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/json-schema-traverse/-/json-schema-traverse-1.0.0.tgz#ae7bcb3656ab77a73ba5c49bf654f38e6b6860e2" + integrity sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug== + +json-schema-typed@^7.0.3: + version "7.0.3" + resolved "https://registry.yarnpkg.com/json-schema-typed/-/json-schema-typed-7.0.3.tgz#23ff481b8b4eebcd2ca123b4fa0409e66469a2d9" + integrity sha512-7DE8mpG+/fVw+dTpjbxnx47TaMnDfOI1jwft9g1VybltZCduyRQPJPvc+zzKY9WPHxhPWczyFuYa6I8Mw4iU5A== + +json-stringify-safe@^5.0.1: + version "5.0.1" + resolved "https://registry.yarnpkg.com/json-stringify-safe/-/json-stringify-safe-5.0.1.tgz#1296a2d58fd45f19a0f6ce01d65701e2c735b6eb" + integrity sha1-Epai1Y/UXxmg9s4B1lcB4sc1tus= + +json3@^3.3.3: + version "3.3.3" + resolved "https://registry.yarnpkg.com/json3/-/json3-3.3.3.tgz#7fc10e375fc5ae42c4705a5cc0aa6f62be305b81" + integrity sha512-c7/8mbUsKigAbLkD5B010BK4D9LZm7A1pNItkEwiUZRpIN66exu/e7YQWysGun+TRKaJp8MhemM+VkfWv42aCA== + +json5@^0.5.1: + version "0.5.1" + resolved "https://registry.yarnpkg.com/json5/-/json5-0.5.1.tgz#1eade7acc012034ad84e2396767ead9fa5495821" + integrity sha1-Hq3nrMASA0rYTiOWdn6tn6VJWCE= + +json5@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/json5/-/json5-1.0.1.tgz#779fb0018604fa854eacbf6252180d83543e3dbe" + integrity sha512-aKS4WQjPenRxiQsC93MNfjx+nbF4PAdYzmd/1JIj8HYzqfbu86beTuNgXDzPknWk0n0uARlyewZo4s++ES36Ow== + dependencies: + minimist "^1.2.0" + +json5@^2.1.0, json5@^2.1.2, json5@^2.2.0: + version "2.2.0" + resolved "https://registry.yarnpkg.com/json5/-/json5-2.2.0.tgz#2dfefe720c6ba525d9ebd909950f0515316c89a3" + integrity sha512-f+8cldu7X/y7RAJurMEJmdoKXGB/X550w2Nr3tTbezL6RwEE/iMcm+tZnXeoZtKuOq6ft8+CqzEkrIgx1fPoQA== + dependencies: + minimist "^1.2.5" + +jsonc@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/jsonc/-/jsonc-2.0.0.tgz#9e2a25100d164a9bb864c57517563717fa882551" + integrity sha512-B281bLCT2TRMQa+AQUQY5AGcqSOXBOKaYGP4wDzoA/+QswUfN8sODektbPEs9Baq7LGKun5jQbNFpzwGuVYKhw== + dependencies: + fast-safe-stringify "^2.0.6" + graceful-fs "^4.1.15" + mkdirp "^0.5.1" + parse-json "^4.0.0" + strip-bom "^4.0.0" + strip-json-comments "^3.0.1" + +jsonfile@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/jsonfile/-/jsonfile-4.0.0.tgz#8771aae0799b64076b76640fca058f9c10e33ecb" + integrity sha1-h3Gq4HmbZAdrdmQPygWPnBDjPss= + optionalDependencies: + graceful-fs "^4.1.6" + +jsonfile@^6.0.1: + version "6.1.0" + resolved "https://registry.yarnpkg.com/jsonfile/-/jsonfile-6.1.0.tgz#bc55b2634793c679ec6403094eb13698a6ec0aae" + integrity sha512-5dgndWOriYSm5cnYaJNhalLNDKOqFwyDB/rr1E9ZsGciGvKPs8R2xYGCacuf3z6K1YKDz182fd+fY3cn3pMqXQ== + dependencies: + universalify "^2.0.0" + optionalDependencies: + graceful-fs "^4.1.6" + +junk@^3.1.0: + version "3.1.0" + resolved "https://registry.yarnpkg.com/junk/-/junk-3.1.0.tgz#31499098d902b7e98c5d9b9c80f43457a88abfa1" + integrity sha512-pBxcB3LFc8QVgdggvZWyeys+hnrNWg4OcZIU/1X59k5jQdLBlCsYGRQaz234SqoRLTCgMH00fY0xRJH+F9METQ== + +keyv@^3.0.0: + version "3.1.0" + resolved "https://registry.yarnpkg.com/keyv/-/keyv-3.1.0.tgz#ecc228486f69991e49e9476485a5be1e8fc5c4d9" + integrity sha512-9ykJ/46SN/9KPM/sichzQ7OvXyGDYKGTaDlKMGCAlg2UK8KRy4jb0d8sFc+0Tt0YYnThq8X2RZgCg74RPxgcVA== + dependencies: + json-buffer "3.0.0" + +keyv@^4.0.0: + version "4.1.0" + resolved "https://registry.yarnpkg.com/keyv/-/keyv-4.1.0.tgz#8ab5ca4ae6a34e05c629531d9a7f871575af0d5b" + integrity sha512-YsY3wr6HabE11/sscee+3nZ03XjvkrPWGouAmJFBdZoK92wiOlJCzI5/sDEIKdJhdhHO144ei45U9gXfbu14Uw== + dependencies: + json-buffer "3.0.1" + +killable@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/killable/-/killable-1.0.1.tgz#4c8ce441187a061c7474fb87ca08e2a638194892" + integrity sha512-LzqtLKlUwirEUyl/nicirVmNiPvYs7l5n8wOPP7fyJVpUPkvCnW/vuiXGpylGUlnPDnB7311rARzAt3Mhswpjg== + +kind-of@^3.0.2, kind-of@^3.0.3, kind-of@^3.2.0: + version "3.2.2" + resolved "https://registry.yarnpkg.com/kind-of/-/kind-of-3.2.2.tgz#31ea21a734bab9bbb0f32466d893aea51e4a3c64" + integrity sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ= + dependencies: + is-buffer "^1.1.5" + +kind-of@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/kind-of/-/kind-of-4.0.0.tgz#20813df3d712928b207378691a45066fae72dd57" + integrity sha1-IIE989cSkosgc3hpGkUGb65y3Vc= + dependencies: + is-buffer "^1.1.5" + +kind-of@^5.0.0: + version "5.1.0" + resolved "https://registry.yarnpkg.com/kind-of/-/kind-of-5.1.0.tgz#729c91e2d857b7a419a1f9aa65685c4c33f5845d" + integrity sha512-NGEErnH6F2vUuXDh+OlbcKW7/wOcfdRHaZ7VWtqCztfHri/++YKmP51OdWeGPuqCOba6kk2OTe5d02VmTB80Pw== + +kind-of@^6.0.0, kind-of@^6.0.2: + version "6.0.3" + resolved "https://registry.yarnpkg.com/kind-of/-/kind-of-6.0.3.tgz#07c05034a6c349fa06e24fa35aa76db4580ce4dd" + integrity sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw== + +lastfm@0.8.x: + version "0.8.4" + resolved "https://registry.yarnpkg.com/lastfm/-/lastfm-0.8.4.tgz#4dddf08297a6fa23f84d4827052a0d282fe99688" + integrity sha1-Td3wgpem+iP4TUgnBSoNKC/plog= + dependencies: + underscore "" + +lastfmapi@^0.1.1: + version "0.1.1" + resolved "https://registry.yarnpkg.com/lastfmapi/-/lastfmapi-0.1.1.tgz#ce336dcf7cc81820c22dc40247c97b31133486fa" + integrity sha1-zjNtz3zIGCDCLcQCR8l7MRM0hvo= + dependencies: + lastfm "0.8.x" + +latest-version@^5.1.0: + version "5.1.0" + resolved "https://registry.yarnpkg.com/latest-version/-/latest-version-5.1.0.tgz#119dfe908fe38d15dfa43ecd13fa12ec8832face" + integrity sha512-weT+r0kTkRQdCdYCNtkMwWXQTMEswKrFBkm4ckQOMVhhqhIMI1UT2hMj+1iigIhgSZm5gTmrRXBNoGUgaTY1xA== + dependencies: + package-json "^6.3.0" + +lazy-val@^1.0.4, lazy-val@^1.0.5: + version "1.0.5" + resolved "https://registry.yarnpkg.com/lazy-val/-/lazy-val-1.0.5.tgz#6cf3b9f5bc31cee7ee3e369c0832b7583dcd923d" + integrity sha512-0/BnGCCfyUMkBpeDgWihanIAF9JmZhHBgUhEqzvf+adhNGLoP6TaiI5oF8oyb3I45P+PcnrqihSf01M0l0G5+Q== + +lie@3.1.1: + version "3.1.1" + resolved "https://registry.yarnpkg.com/lie/-/lie-3.1.1.tgz#9a436b2cc7746ca59de7a41fa469b3efb76bd87e" + integrity sha1-mkNrLMd0bKWd56QfpGmz77dr2H4= + dependencies: + immediate "~3.0.5" + +load-json-file@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/load-json-file/-/load-json-file-2.0.0.tgz#7947e42149af80d696cbf797bcaabcfe1fe29ca8" + integrity sha1-eUfkIUmvgNaWy/eXvKq8/h/inKg= + dependencies: + graceful-fs "^4.1.2" + parse-json "^2.2.0" + pify "^2.0.0" + strip-bom "^3.0.0" + +loader-runner@^4.2.0: + version "4.2.0" + resolved "https://registry.yarnpkg.com/loader-runner/-/loader-runner-4.2.0.tgz#d7022380d66d14c5fb1d496b89864ebcfd478384" + integrity sha512-92+huvxMvYlMzMt0iIOukcwYBFpkYJdpl2xsZ7LrlayO7E8SOv+JJUEK17B/dJIHAOLMfh2dZZ/Y18WgmGtYNw== + +loader-utils@^1.1.0, loader-utils@^1.2.3, loader-utils@^1.4.0: + version "1.4.0" + resolved "https://registry.yarnpkg.com/loader-utils/-/loader-utils-1.4.0.tgz#c579b5e34cb34b1a74edc6c1fb36bfa371d5a613" + integrity sha512-qH0WSMBtn/oHuwjy/NucEgbx5dbxxnxup9s4PVXJUDHZBQY+s0NWA9rJf53RBnQZxfch7euUui7hpoAPvALZdA== + dependencies: + big.js "^5.2.2" + emojis-list "^3.0.0" + json5 "^1.0.1" + +loader-utils@^2.0.0: + version "2.0.2" + resolved "https://registry.yarnpkg.com/loader-utils/-/loader-utils-2.0.2.tgz#d6e3b4fb81870721ae4e0868ab11dd638368c129" + integrity sha512-TM57VeHptv569d/GKh6TAYdzKblwDNiumOdkFnejjD0XwTH87K90w3O7AiJRqdQoXygvi1VQTJTLGhJl7WqA7A== + dependencies: + big.js "^5.2.2" + emojis-list "^3.0.0" + json5 "^2.1.2" + +localforage@^1.8.1: + version "1.10.0" + resolved "https://registry.yarnpkg.com/localforage/-/localforage-1.10.0.tgz#5c465dc5f62b2807c3a84c0c6a1b1b3212781dd4" + integrity sha512-14/H1aX7hzBBmmh7sGPd+AOMkkIrHM3Z1PAyGgZigA1H1p5O5ANnMyWzvpAETtG68/dC4pC0ncy3+PPGzXZHPg== + dependencies: + lie "3.1.1" + +locate-path@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/locate-path/-/locate-path-2.0.0.tgz#2b568b265eec944c6d9c0de9c3dbbbca0354cd8e" + integrity sha1-K1aLJl7slExtnA3pw9u7ygNUzY4= + dependencies: + p-locate "^2.0.0" + path-exists "^3.0.0" + +locate-path@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/locate-path/-/locate-path-3.0.0.tgz#dbec3b3ab759758071b58fe59fc41871af21400e" + integrity sha512-7AO748wWnIhNqAuaty2ZWHkQHRSNfPVIsPIfwEOWO22AmaoVrWavlOcMR5nzTLNYvp36X220/maaRsrec1G65A== + dependencies: + p-locate "^3.0.0" + path-exists "^3.0.0" + +locate-path@^5.0.0: + version "5.0.0" + resolved "https://registry.yarnpkg.com/locate-path/-/locate-path-5.0.0.tgz#1afba396afd676a6d42504d0a67a3a7eb9f62aa0" + integrity sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g== + dependencies: + p-locate "^4.1.0" + +lodash.debounce@^4.0.8: + version "4.0.8" + resolved "https://registry.yarnpkg.com/lodash.debounce/-/lodash.debounce-4.0.8.tgz#82d79bff30a67c4005ffd5e2515300ad9ca4d7af" + integrity sha1-gteb/zCmfEAF/9XiUVMArZyk168= + +lodash.escaperegexp@^4.1.2: + version "4.1.2" + resolved "https://registry.yarnpkg.com/lodash.escaperegexp/-/lodash.escaperegexp-4.1.2.tgz#64762c48618082518ac3df4ccf5d5886dae20347" + integrity sha1-ZHYsSGGAglGKw99Mz11YhtriA0c= + +lodash.get@^4.0.0: + version "4.4.2" + resolved "https://registry.yarnpkg.com/lodash.get/-/lodash.get-4.4.2.tgz#2d177f652fa31e939b4438d5341499dfa3825e99" + integrity sha1-LRd/ZS+jHpObRDjVNBSZ36OCXpk= + +lodash.isequal@^4.5.0: + version "4.5.0" + resolved "https://registry.yarnpkg.com/lodash.isequal/-/lodash.isequal-4.5.0.tgz#415c4478f2bcc30120c22ce10ed3226f7d3e18e0" + integrity sha1-QVxEePK8wwEgwizhDtMib30+GOA= + +lodash@^4.17.10, lodash@^4.17.11, lodash@^4.17.14, lodash@^4.17.15, lodash@^4.17.20, lodash@^4.17.21, lodash@^4.17.5, lodash@^4.2.0: + version "4.17.21" + resolved "https://registry.yarnpkg.com/lodash/-/lodash-4.17.21.tgz#679591c564c3bffaae8454cf0b3df370c3d6911c" + integrity sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg== + +loglevel@^1.6.8: + version "1.8.0" + resolved "https://registry.yarnpkg.com/loglevel/-/loglevel-1.8.0.tgz#e7ec73a57e1e7b419cb6c6ac06bf050b67356114" + integrity sha512-G6A/nJLRgWOuuwdNuA6koovfEV1YpqqAG4pRUlFaz3jj2QNZ8M4vBqnVA+HBTmU/AMNUtlOsMmSpF6NyOjztbA== + +long@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/long/-/long-4.0.0.tgz#9a7b71cfb7d361a194ea555241c92f7468d5bf28" + integrity sha512-XsP+KhQif4bjX1kbuSiySJFNAehNxgLb6hPRGJ9QsUr8ajHkuXGdrHmFUTUUXhDwVX2R5bY4JNZEwbUiMhV+MA== + +loose-envify@^1.1.0: + version "1.4.0" + resolved "https://registry.yarnpkg.com/loose-envify/-/loose-envify-1.4.0.tgz#71ee51fa7be4caec1a63839f7e682d8132d30caf" + integrity sha512-lyuxPGr/Wfhrlem2CL/UcnUc1zcqKAImBDzukY7Y5F/yQiNdko6+fRLevlw1HgMySw7f611UIY408EtxRSoK3Q== + dependencies: + js-tokens "^3.0.0 || ^4.0.0" + +lower-case@^2.0.2: + version "2.0.2" + resolved "https://registry.yarnpkg.com/lower-case/-/lower-case-2.0.2.tgz#6fa237c63dbdc4a82ca0fd882e4722dc5e634e28" + integrity sha512-7fm3l3NAF9WfN6W3JOmf5drwpVqX78JtoGJ3A6W0a6ZnldM41w2fV5D490psKFTpMds8TJse/eHLFFsNHHjHgg== + dependencies: + tslib "^2.0.3" + +lowercase-keys@^1.0.0, lowercase-keys@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/lowercase-keys/-/lowercase-keys-1.0.1.tgz#6f9e30b47084d971a7c820ff15a6c5167b74c26f" + integrity sha512-G2Lj61tXDnVFFOi8VZds+SoQjtQC3dgokKdDG2mTm1tx4m50NUHBOZSBwQQHyy0V12A0JTG4icfZQH+xPyh8VA== + +lowercase-keys@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/lowercase-keys/-/lowercase-keys-2.0.0.tgz#2603e78b7b4b0006cbca2fbcc8a3202558ac9479" + integrity sha512-tqNXrS78oMOE73NMxK4EMLQsQowWf8jKooH9g7xPavRT706R6bkQJ6DY2Te7QukaZsulxa30wQ7bk0pm4XiHmA== + +lru-cache@^5.1.1: + version "5.1.1" + resolved "https://registry.yarnpkg.com/lru-cache/-/lru-cache-5.1.1.tgz#1da27e6710271947695daf6848e847f01d84b920" + integrity sha512-KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w== + dependencies: + yallist "^3.0.2" + +lru-cache@^6.0.0: + version "6.0.0" + resolved "https://registry.yarnpkg.com/lru-cache/-/lru-cache-6.0.0.tgz#6d6fe6570ebd96aaf90fcad1dafa3b2566db3a94" + integrity sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA== + dependencies: + yallist "^4.0.0" + +lru_map@^0.3.3: + version "0.3.3" + resolved "https://registry.yarnpkg.com/lru_map/-/lru_map-0.3.3.tgz#b5c8351b9464cbd750335a79650a0ec0e56118dd" + integrity sha1-tcg1G5Rky9dQM1p5ZQoOwOVhGN0= + +make-dir@^3.0.0, make-dir@^3.0.2, make-dir@^3.1.0: + version "3.1.0" + resolved "https://registry.yarnpkg.com/make-dir/-/make-dir-3.1.0.tgz#415e967046b3a7f1d185277d84aa58203726a13f" + integrity sha512-g3FeP20LNwhALb/6Cz6Dd4F2ngze0jz7tbzrD2wAV+o9FeNHe4rL+yK2md0J/fiSf1sa1ADhXqi5+oVwOM/eGw== + dependencies: + semver "^6.0.0" + +make-fetch-happen@^9.1.0: + version "9.1.0" + resolved "https://registry.yarnpkg.com/make-fetch-happen/-/make-fetch-happen-9.1.0.tgz#53085a09e7971433e6765f7971bf63f4e05cb968" + integrity sha512-+zopwDy7DNknmwPQplem5lAZX/eCOzSvSNNcSKm5eVwTkOBzoktEfXsa9L23J/GIRhxRsaxzkPEhrJEpE2F4Gg== + dependencies: + agentkeepalive "^4.1.3" + cacache "^15.2.0" + http-cache-semantics "^4.1.0" + http-proxy-agent "^4.0.1" + https-proxy-agent "^5.0.0" + is-lambda "^1.0.1" + lru-cache "^6.0.0" + minipass "^3.1.3" + minipass-collect "^1.0.2" + minipass-fetch "^1.3.2" + minipass-flush "^1.0.5" + minipass-pipeline "^1.2.4" + negotiator "^0.6.2" + promise-retry "^2.0.1" + socks-proxy-agent "^6.0.0" + ssri "^8.0.0" + +map-cache@^0.2.2: + version "0.2.2" + resolved "https://registry.yarnpkg.com/map-cache/-/map-cache-0.2.2.tgz#c32abd0bd6525d9b051645bb4f26ac5dc98a0dbf" + integrity sha1-wyq9C9ZSXZsFFkW7TyasXcmKDb8= + +map-stream@~0.1.0: + version "0.1.0" + resolved "https://registry.yarnpkg.com/map-stream/-/map-stream-0.1.0.tgz#e56aa94c4c8055a16404a0674b78f215f7c8e194" + integrity sha1-5WqpTEyAVaFkBKBnS3jyFffI4ZQ= + +map-visit@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/map-visit/-/map-visit-1.0.0.tgz#ecdca8f13144e660f1b5bd41f12f3479d98dfb8f" + integrity sha1-7Nyo8TFE5mDxtb1B8S80edmN+48= + dependencies: + object-visit "^1.0.0" + +matcher@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/matcher/-/matcher-3.0.0.tgz#bd9060f4c5b70aa8041ccc6f80368760994f30ca" + integrity sha512-OkeDaAZ/bQCxeFAozM55PKcKU0yJMPGifLwV4Qgjitu+5MoAfSQN4lsLJeXZ1b8w0x+/Emda6MZgXS1jvsapng== + dependencies: + escape-string-regexp "^4.0.0" + +"mdns-js@git+https://github.com/bitfocus/node-mdns-js.git": + version "1.0.7" + resolved "git+https://github.com/bitfocus/node-mdns-js.git#1af6b83ce91e5538012f977e1dcadbda5dc0d3b5" + dependencies: + debug "^4.1.1" + dns-js "github:bitfocus/node-dns-js#v0.2.2" + semver "^7.2.3" + +media-typer@0.3.0: + version "0.3.0" + resolved "https://registry.yarnpkg.com/media-typer/-/media-typer-0.3.0.tgz#8710d7af0aa626f8fffa1ce00168545263255748" + integrity sha1-hxDXrwqmJvj/+hzgAWhUUmMlV0g= + +media-typer@^1.1.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/media-typer/-/media-typer-1.1.0.tgz#6ab74b8f2d3320f2064b2a87a38e7931ff3a5561" + integrity sha512-aisnrDP4GNe06UcKFnV5bfMNPBUw4jsLGaWwWfnH3v02GnBuXX2MCVn5RbrWo0j3pczUilYblq7fQ7Nw2t5XKw== + +memory-fs@^0.4.1: + version "0.4.1" + resolved "https://registry.yarnpkg.com/memory-fs/-/memory-fs-0.4.1.tgz#3a9a20b8462523e447cfbc7e8bb80ed667bfc552" + integrity sha1-OpoguEYlI+RHz7x+i7gO1me/xVI= + dependencies: + errno "^0.1.3" + readable-stream "^2.0.1" + +memory-fs@^0.5.0: + version "0.5.0" + resolved "https://registry.yarnpkg.com/memory-fs/-/memory-fs-0.5.0.tgz#324c01288b88652966d161db77838720845a8e3c" + integrity sha512-jA0rdU5KoQMC0e6ppoNRtpp6vjFq6+NY7r8hywnC7V+1Xj/MtHwGIbB1QaK/dunyjWteJzmkpd7ooeWg10T7GA== + dependencies: + errno "^0.1.3" + readable-stream "^2.0.1" + +merge-descriptors@1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/merge-descriptors/-/merge-descriptors-1.0.1.tgz#b00aaa556dd8b44568150ec9d1b953f3f90cbb61" + integrity sha1-sAqqVW3YtEVoFQ7J0blT8/kMu2E= + +merge-stream@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/merge-stream/-/merge-stream-2.0.0.tgz#52823629a14dd00c9770fb6ad47dc6310f2c1f60" + integrity sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w== + +methods@~1.1.2: + version "1.1.2" + resolved "https://registry.yarnpkg.com/methods/-/methods-1.1.2.tgz#5529a4d67654134edcc5266656835b0f851afcee" + integrity sha1-VSmk1nZUE07cxSZmVoNbD4Ua/O4= + +micromatch@^3.0.4, micromatch@^3.1.10, micromatch@^3.1.4: + version "3.1.10" + resolved "https://registry.yarnpkg.com/micromatch/-/micromatch-3.1.10.tgz#70859bc95c9840952f359a068a3fc49f9ecfac23" + integrity sha512-MWikgl9n9M3w+bpsY3He8L+w9eF9338xRl8IAO5viDizwSzziFEyUzo2xrrloB64ADbTf8uA8vRqqttDTOmccg== + dependencies: + arr-diff "^4.0.0" + array-unique "^0.3.2" + braces "^2.3.1" + define-property "^2.0.2" + extend-shallow "^3.0.2" + extglob "^2.0.4" + fragment-cache "^0.2.1" + kind-of "^6.0.2" + nanomatch "^1.2.9" + object.pick "^1.3.0" + regex-not "^1.0.0" + snapdragon "^0.8.1" + to-regex "^3.0.2" + +micromatch@^4.0.4: + version "4.0.4" + resolved "https://registry.yarnpkg.com/micromatch/-/micromatch-4.0.4.tgz#896d519dfe9db25fce94ceb7a500919bf881ebf9" + integrity sha512-pRmzw/XUcwXGpD9aI9q/0XOwLNygjETJ8y0ao0wdqprrzDa4YnxLcz7fQRZr8voh8V10kGhABbNcHVk5wHgWwg== + dependencies: + braces "^3.0.1" + picomatch "^2.2.3" + +mime-db@1.51.0, "mime-db@>= 1.43.0 < 2": + version "1.51.0" + resolved "https://registry.yarnpkg.com/mime-db/-/mime-db-1.51.0.tgz#d9ff62451859b18342d960850dc3cfb77e63fb0c" + integrity sha512-5y8A56jg7XVQx2mbv1lu49NR4dokRnhZYTtL+KGfaa27uq4pSTXkwQkFJl4pkRMyNFz/EtYDSkiiEHx3F7UN6g== + +mime-types@^2.1.12, mime-types@^2.1.27, mime-types@~2.1.17, mime-types@~2.1.24, mime-types@~2.1.34: + version "2.1.34" + resolved "https://registry.yarnpkg.com/mime-types/-/mime-types-2.1.34.tgz#5a712f9ec1503511a945803640fafe09d3793c24" + integrity sha512-6cP692WwGIs9XXdOO4++N+7qjqv0rqxxVvJ3VHPh/Sc9mVZcQP+ZGhkKiTvWMQRr2tbHkJP/Yn7Y0npb3ZBs4A== + dependencies: + mime-db "1.51.0" + +mime@1.6.0: + version "1.6.0" + resolved "https://registry.yarnpkg.com/mime/-/mime-1.6.0.tgz#32cd9e5c64553bd58d19a568af452acff04981b1" + integrity sha512-x0Vn8spI+wuJ1O6S7gnbaQg8Pxh4NNHb7KSINmEWKiPE4RKOplvijn+NkmYmmRgP68mc70j2EbeTFRsrswaQeg== + +mime@^2.4.4, mime@^2.4.6, mime@^2.5.2: + version "2.6.0" + resolved "https://registry.yarnpkg.com/mime/-/mime-2.6.0.tgz#a2a682a95cd4d0cb1d6257e28f83da7e35800367" + integrity sha512-USPkMeET31rOMiarsBNIHZKLGgvKc/LrjofAnBlOttf5ajRvqiRA8QsenbcooctK6d6Ts6aqZXBA+XbkKthiQg== + +mimic-fn@^2.1.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/mimic-fn/-/mimic-fn-2.1.0.tgz#7ed2c2ccccaf84d3ffcb7a69b57711fc2083401b" + integrity sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg== + +mimic-fn@^3.0.0: + version "3.1.0" + resolved "https://registry.yarnpkg.com/mimic-fn/-/mimic-fn-3.1.0.tgz#65755145bbf3e36954b949c16450427451d5ca74" + integrity sha512-Ysbi9uYW9hFyfrThdDEQuykN4Ey6BuwPD2kpI5ES/nFTDn/98yxYNLZJcgUAKPT/mcrLLKaGzJR9YVxJrIdASQ== + +mimic-response@^1.0.0, mimic-response@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/mimic-response/-/mimic-response-1.0.1.tgz#4923538878eef42063cb8a3e3b0798781487ab1b" + integrity sha512-j5EctnkH7amfV/q5Hgmoal1g2QHFJRraOtmx0JpIqkxhBhI/lJSl1nMpQ45hVarwNETOoWEimndZ4QK0RHxuxQ== + +mimic-response@^3.1.0: + version "3.1.0" + resolved "https://registry.yarnpkg.com/mimic-response/-/mimic-response-3.1.0.tgz#2d1d59af9c1b129815accc2c46a022a5ce1fa3c9" + integrity sha512-z0yWI+4FDrrweS8Zmt4Ej5HdJmky15+L2e6Wgn3+iK5fWzb6T3fhNFq2+MeTRb064c6Wr4N/wv0DzQTjNzHNGQ== + +mini-css-extract-plugin@^0.9.0: + version "0.9.0" + resolved "https://registry.yarnpkg.com/mini-css-extract-plugin/-/mini-css-extract-plugin-0.9.0.tgz#47f2cf07aa165ab35733b1fc97d4c46c0564339e" + integrity sha512-lp3GeY7ygcgAmVIcRPBVhIkf8Us7FZjA+ILpal44qLdSu11wmjKQ3d9k15lfD7pO4esu9eUIAW7qiYIBppv40A== + dependencies: + loader-utils "^1.1.0" + normalize-url "1.9.1" + schema-utils "^1.0.0" + webpack-sources "^1.1.0" + +minimalistic-assert@^1.0.0: + version "1.0.1" + resolved "https://registry.yarnpkg.com/minimalistic-assert/-/minimalistic-assert-1.0.1.tgz#2e194de044626d4a10e7f7fbc00ce73e83e4d5c7" + integrity sha512-UtJcAD4yEaGtjPezWuO9wC4nwUnVH/8/Im3yEHQP4b67cXlD/Qr9hdITCU1xDbSEXg2XKNaP8jsReV7vQd00/A== + +minimatch@3.0.4, minimatch@^3.0.3, minimatch@^3.0.4: + version "3.0.4" + resolved "https://registry.yarnpkg.com/minimatch/-/minimatch-3.0.4.tgz#5166e286457f03306064be5497e8dbb0c3d32083" + integrity sha512-yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA== + dependencies: + brace-expansion "^1.1.7" + +minimist@^1.2.0, minimist@^1.2.5: + version "1.2.5" + resolved "https://registry.yarnpkg.com/minimist/-/minimist-1.2.5.tgz#67d66014b66a6a8aaa0c083c5fd58df4e4e97602" + integrity sha512-FM9nNUYrRBAELZQT3xeZQ7fmMOBg6nWNmJKTcgsJeaLstP/UODVpGsr5OhXhhXg6f+qtJ8uiZ+PUxkDWcgIXLw== + +minipass-collect@^1.0.2: + version "1.0.2" + resolved "https://registry.yarnpkg.com/minipass-collect/-/minipass-collect-1.0.2.tgz#22b813bf745dc6edba2576b940022ad6edc8c617" + integrity sha512-6T6lH0H8OG9kITm/Jm6tdooIbogG9e0tLgpY6mphXSm/A9u8Nq1ryBG+Qspiub9LjWlBPsPS3tWQ/Botq4FdxA== + dependencies: + minipass "^3.0.0" + +minipass-fetch@^1.3.2: + version "1.4.1" + resolved "https://registry.yarnpkg.com/minipass-fetch/-/minipass-fetch-1.4.1.tgz#d75e0091daac1b0ffd7e9d41629faff7d0c1f1b6" + integrity sha512-CGH1eblLq26Y15+Azk7ey4xh0J/XfJfrCox5LDJiKqI2Q2iwOLOKrlmIaODiSQS8d18jalF6y2K2ePUm0CmShw== + dependencies: + minipass "^3.1.0" + minipass-sized "^1.0.3" + minizlib "^2.0.0" + optionalDependencies: + encoding "^0.1.12" + +minipass-flush@^1.0.5: + version "1.0.5" + resolved "https://registry.yarnpkg.com/minipass-flush/-/minipass-flush-1.0.5.tgz#82e7135d7e89a50ffe64610a787953c4c4cbb373" + integrity sha512-JmQSYYpPUqX5Jyn1mXaRwOda1uQ8HP5KAT/oDSLCzt1BYRhQU0/hDtsB1ufZfEEzMZ9aAVmsBw8+FWsIXlClWw== + dependencies: + minipass "^3.0.0" + +minipass-pipeline@^1.2.2, minipass-pipeline@^1.2.4: + version "1.2.4" + resolved "https://registry.yarnpkg.com/minipass-pipeline/-/minipass-pipeline-1.2.4.tgz#68472f79711c084657c067c5c6ad93cddea8214c" + integrity sha512-xuIq7cIOt09RPRJ19gdi4b+RiNvDFYe5JH+ggNvBqGqpQXcru3PcRmOZuHBKWK1Txf9+cQ+HMVN4d6z46LZP7A== + dependencies: + minipass "^3.0.0" + +minipass-sized@^1.0.3: + version "1.0.3" + resolved "https://registry.yarnpkg.com/minipass-sized/-/minipass-sized-1.0.3.tgz#70ee5a7c5052070afacfbc22977ea79def353b70" + integrity sha512-MbkQQ2CTiBMlA2Dm/5cY+9SWFEN8pzzOXi6rlM5Xxq0Yqbda5ZQy9sU75a673FE9ZK0Zsbr6Y5iP6u9nktfg2g== + dependencies: + minipass "^3.0.0" + +minipass@^3.0.0, minipass@^3.1.0, minipass@^3.1.1, minipass@^3.1.3: + version "3.1.6" + resolved "https://registry.yarnpkg.com/minipass/-/minipass-3.1.6.tgz#3b8150aa688a711a1521af5e8779c1d3bb4f45ee" + integrity sha512-rty5kpw9/z8SX9dmxblFA6edItUmwJgMeYDZRrwlIVN27i8gysGbznJwUggw2V/FVqFSDdWy040ZPS811DYAqQ== + dependencies: + yallist "^4.0.0" + +minizlib@^2.0.0, minizlib@^2.1.1: + version "2.1.2" + resolved "https://registry.yarnpkg.com/minizlib/-/minizlib-2.1.2.tgz#e90d3466ba209b932451508a11ce3d3632145931" + integrity sha512-bAxsR8BVfj60DWXHE3u30oHzfl4G7khkSuPW+qvpd7jFRHm7dLxOjUk1EHACJ/hxLY8phGJ0YhYHZo7jil7Qdg== + dependencies: + minipass "^3.0.0" + yallist "^4.0.0" + +mixin-deep@^1.2.0: + version "1.3.2" + resolved "https://registry.yarnpkg.com/mixin-deep/-/mixin-deep-1.3.2.tgz#1120b43dc359a785dce65b55b82e257ccf479566" + integrity sha512-WRoDn//mXBiJ1H40rqa3vH0toePwSsGb45iInWlTySa+Uu4k3tYUSxa2v1KqAiLtvlrSzaExqS1gtk96A9zvEA== + dependencies: + for-in "^1.0.2" + is-extendable "^1.0.1" + +mkdirp@^0.5.1, mkdirp@^0.5.4, mkdirp@^0.5.5: + version "0.5.5" + resolved "https://registry.yarnpkg.com/mkdirp/-/mkdirp-0.5.5.tgz#d91cefd62d1436ca0f41620e251288d420099def" + integrity sha512-NKmAlESf6jMGym1++R0Ra7wvhV+wFW63FaSOFPwRahvea0gMUcGUhVeAg/0BC0wiv9ih5NYPB1Wn1UEI1/L+xQ== + dependencies: + minimist "^1.2.5" + +mkdirp@^1.0.3, mkdirp@^1.0.4: + version "1.0.4" + resolved "https://registry.yarnpkg.com/mkdirp/-/mkdirp-1.0.4.tgz#3eb5ed62622756d79a5f0e2a221dfebad75c2f7e" + integrity sha512-vVqVZQyf3WLx2Shd0qJ9xuvqgAyKPLAiqITEtqW0oIUjzo3PePDd6fW9iFz30ef7Ysp/oiWqbhszeGWW2T6Gzw== + +move-concurrently@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/move-concurrently/-/move-concurrently-1.0.1.tgz#be2c005fda32e0b29af1f05d7c4b33214c701f92" + integrity sha1-viwAX9oy4LKa8fBdfEszIUxwH5I= + dependencies: + aproba "^1.1.1" + copy-concurrently "^1.0.0" + fs-write-stream-atomic "^1.0.8" + mkdirp "^0.5.1" + rimraf "^2.5.4" + run-queue "^1.0.3" + +mpris-service@^2.1.2: + version "2.1.2" + resolved "https://registry.yarnpkg.com/mpris-service/-/mpris-service-2.1.2.tgz#ed6db2574f48e1fc356413fd3fc8e857d93d2e7b" + integrity sha512-AC6WepCnFWwOME9OWplHZ8ps/BB+g9QrEpUKCv7wX82fDPzR3nPrypOFmL/Fm0JloEAu6QTWSfDLLc6mM/jinw== + dependencies: + dbus-next "^0.9.2" + deep-equal "^1.0.1" + source-map-support "^0.5.11" + +ms@2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/ms/-/ms-2.0.0.tgz#5608aeadfc00be6c2901df5f9861788de0d597c8" + integrity sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g= + +ms@2.1.2: + version "2.1.2" + resolved "https://registry.yarnpkg.com/ms/-/ms-2.1.2.tgz#d09d1f357b443f493382a8eb3ccd183872ae6009" + integrity sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w== + +ms@2.1.3, ms@^2.0.0, ms@^2.1.1, ms@^2.1.2: + version "2.1.3" + resolved "https://registry.yarnpkg.com/ms/-/ms-2.1.3.tgz#574c8138ce1d2b5861f0b44579dbadd60c6615b2" + integrity sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA== + +multicast-dns-service-types@^1.1.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/multicast-dns-service-types/-/multicast-dns-service-types-1.1.0.tgz#899f11d9686e5e05cb91b35d5f0e63b773cfc901" + integrity sha1-iZ8R2WhuXgXLkbNdXw5jt3PPyQE= + +multicast-dns@^6.0.1: + version "6.2.3" + resolved "https://registry.yarnpkg.com/multicast-dns/-/multicast-dns-6.2.3.tgz#a0ec7bd9055c4282f790c3c82f4e28db3b31b229" + integrity sha512-ji6J5enbMyGRHIAkAOu3WdV8nggqviKCEKtXcOqfphZZtQrmHKycfynJ2V7eVPUA4NhJ6V7Wf4TmGbTwKE9B6g== + dependencies: + dns-packet "^1.3.1" + thunky "^1.0.2" + +music-metadata@^7.11.4: + version "7.11.8" + resolved "https://registry.yarnpkg.com/music-metadata/-/music-metadata-7.11.8.tgz#be67ff6d5e5499d2a31a7044079cb83c03544cc2" + integrity sha512-KaJzxDlYId05zN029WaKhJYcT5FB0QmTRSGDq5bRfPTBUw4Hl0VvJvaO5C5mm0ATWMREecMANV9YUatLMg+0Mg== + dependencies: + "@tokenizer/token" "^0.3.0" + content-type "^1.0.4" + debug "^4.3.3" + file-type "16.5.3" + media-typer "^1.1.0" + strtok3 "^6.2.4" + token-types "^4.1.1" + +musickit-typescript@^1.2.4: + version "1.2.4" + resolved "https://registry.yarnpkg.com/musickit-typescript/-/musickit-typescript-1.2.4.tgz#d055117e2c897c4ebc570f0d969ad31649744837" + integrity sha512-3+/20Pi2zOVAHfUFf631LU2NwaC/qEHBBksM+YQzQ/fff4tIMPX5WJ6We/WXmwTHkAkHIOEitJW4cRPnvVAq+A== + +nan@^2.12.1: + version "2.15.0" + resolved "https://registry.yarnpkg.com/nan/-/nan-2.15.0.tgz#3f34a473ff18e15c1b5626b62903b5ad6e665fee" + integrity sha512-8ZtvEnA2c5aYCZYd1cvgdnU6cqwixRoYg70xPLWUws5ORTa/lnw+u4amixRS/Ac5U5mQVgp9pnlSUnbNWFaWZQ== + +nanomatch@^1.2.9: + version "1.2.13" + resolved "https://registry.yarnpkg.com/nanomatch/-/nanomatch-1.2.13.tgz#b87a8aa4fc0de8fe6be88895b38983ff265bd119" + integrity sha512-fpoe2T0RbHwBTBUOftAfBPaDEi06ufaUai0mE6Yn1kacc3SnTErfb/h+X94VXzI64rKFHYImXSvdwGGCmwOqCA== + dependencies: + arr-diff "^4.0.0" + array-unique "^0.3.2" + define-property "^2.0.2" + extend-shallow "^3.0.2" + fragment-cache "^0.2.1" + is-windows "^1.0.2" + kind-of "^6.0.2" + object.pick "^1.3.0" + regex-not "^1.0.0" + snapdragon "^0.8.1" + to-regex "^3.0.1" + +negotiator@0.6.3, negotiator@^0.6.2: + version "0.6.3" + resolved "https://registry.yarnpkg.com/negotiator/-/negotiator-0.6.3.tgz#58e323a72fedc0d6f9cd4d31fe49f51479590ccd" + integrity sha512-+EUsqGPLsM+j/zdChZjsnX51g4XrHFOIXwfnCVPGlQk/k5giakcKsuxCObBRu6DSm9opw/O6slWbJdghQM4bBg== + +neo-async@^2.6.2: + version "2.6.2" + resolved "https://registry.yarnpkg.com/neo-async/-/neo-async-2.6.2.tgz#b4aafb93e3aeb2d8174ca53cf163ab7d7308305f" + integrity sha512-Yd3UES5mWCSqR+qNT93S3UoYUkqAZ9lLg8a7g9rimsWmYGK8cVToA4/sF3RrshdyV3sAGMXVUmpMYOw+dLpOuw== + +nice-try@^1.0.4: + version "1.0.5" + resolved "https://registry.yarnpkg.com/nice-try/-/nice-try-1.0.5.tgz#a3378a7696ce7d223e88fc9b764bd7ef1089e366" + integrity sha512-1nh45deeb5olNY7eX82BkPO7SSxR5SSYJiPTrTdFUVYwAl8CKMA5N9PjTYkHiRjisVcxcQ1HXdLhx2qxxJzLNQ== + +no-case@^3.0.4: + version "3.0.4" + resolved "https://registry.yarnpkg.com/no-case/-/no-case-3.0.4.tgz#d361fd5c9800f558551a8369fc0dcd4662b6124d" + integrity sha512-fgAN3jGAh+RoxUGZHTSOLJIqUc2wmoBwGR4tbpNAKmmovFoWq0OdRkb0VkldReO2a2iBT/OEulG9XSUc10r3zg== + dependencies: + lower-case "^2.0.2" + tslib "^2.0.3" + +node-addon-api@^1.3.0, node-addon-api@^1.6.3: + version "1.7.2" + resolved "https://registry.yarnpkg.com/node-addon-api/-/node-addon-api-1.7.2.tgz#3df30b95720b53c24e59948b49532b662444f54d" + integrity sha512-ibPK3iA+vaY1eEjESkQkM0BbCqFOaZMiXRTtdB0u7b4djtY6JnsjvPdUHVMg6xQt3B8fpTTWHI9A+ADjM9frzg== + +node-fetch@^2.6.1: + version "2.6.7" + resolved "https://registry.yarnpkg.com/node-fetch/-/node-fetch-2.6.7.tgz#24de9fba827e3b4ae44dc8b20256a379160052ad" + integrity sha512-ZjMPFEfVx5j+y2yF35Kzx5sF7kDzxuDj6ziH4FFbOp87zKDZNx8yExJIb05OGF4Nlt9IHFIMBkRl41VdvcNdbQ== + dependencies: + whatwg-url "^5.0.0" + +node-forge@^0.10.0: + version "0.10.0" + resolved "https://registry.yarnpkg.com/node-forge/-/node-forge-0.10.0.tgz#32dea2afb3e9926f02ee5ce8794902691a676bf3" + integrity sha512-PPmu8eEeG9saEUvI97fm4OYxXVB6bFvyNTyiUOBichBpFG8A1Ljw3bY62+5oOjDEMHRnd0Y7HQ+x7uzxOzC6JA== + +node-gyp@^8.4.1: + version "8.4.1" + resolved "https://registry.yarnpkg.com/node-gyp/-/node-gyp-8.4.1.tgz#3d49308fc31f768180957d6b5746845fbd429937" + integrity sha512-olTJRgUtAb/hOXG0E93wZDs5YiJlgbXxTwQAFHyNlRsXQnYzUaF2aGgujZbw+hR8aF4ZG/rST57bWMWD16jr9w== + dependencies: + env-paths "^2.2.0" + glob "^7.1.4" + graceful-fs "^4.2.6" + make-fetch-happen "^9.1.0" + nopt "^5.0.0" + npmlog "^6.0.0" + rimraf "^3.0.2" + semver "^7.3.5" + tar "^6.1.2" + which "^2.0.2" + +node-loader@^0.6.0: + version "0.6.0" + resolved "https://registry.yarnpkg.com/node-loader/-/node-loader-0.6.0.tgz#c797ef51095ed5859902b157f6384f6361e05ae8" + integrity sha1-x5fvUQle1YWZArFX9jhPY2HgWug= + +node-releases@^2.0.1: + version "2.0.1" + resolved "https://registry.yarnpkg.com/node-releases/-/node-releases-2.0.1.tgz#3d1d395f204f1f2f29a54358b9fb678765ad2fc5" + integrity sha512-CqyzN6z7Q6aMeF/ktcMVTzhAHCEpf8SOarwpzpf8pNBY2k5/oM34UHldUwp8VKI7uxct2HxSRdJjBaZeESzcxA== + +nopt@^5.0.0: + version "5.0.0" + resolved "https://registry.yarnpkg.com/nopt/-/nopt-5.0.0.tgz#530942bb58a512fccafe53fe210f13a25355dc88" + integrity sha512-Tbj67rffqceeLpcRXrT7vKAN8CwfPeIBgM7E6iBkmKLV7bEMwpGgYLGv0jACUsECaa/vuxP0IjEont6umdMgtQ== + dependencies: + abbrev "1" + +normalize-package-data@^2.3.2: + version "2.5.0" + resolved "https://registry.yarnpkg.com/normalize-package-data/-/normalize-package-data-2.5.0.tgz#e66db1838b200c1dfc233225d12cb36520e234a8" + integrity sha512-/5CMN3T0R4XTj4DcGaexo+roZSdSFW/0AOOTROrjxzCG1wrWXEsGbRKevjlIL+ZDE4sZlJr5ED4YW0yqmkK+eA== + dependencies: + hosted-git-info "^2.1.4" + resolve "^1.10.0" + semver "2 || 3 || 4 || 5" + validate-npm-package-license "^3.0.1" + +normalize-path@^2.1.1: + version "2.1.1" + resolved "https://registry.yarnpkg.com/normalize-path/-/normalize-path-2.1.1.tgz#1ab28b556e198363a8c1a6f7e6fa20137fe6aed9" + integrity sha1-GrKLVW4Zg2Oowab35vogE3/mrtk= + dependencies: + remove-trailing-separator "^1.0.1" + +normalize-path@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/normalize-path/-/normalize-path-3.0.0.tgz#0dcd69ff23a1c9b11fd0978316644a0388216a65" + integrity sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA== + +normalize-url@1.9.1, normalize-url@^1.9.1: + version "1.9.1" + resolved "https://registry.yarnpkg.com/normalize-url/-/normalize-url-1.9.1.tgz#2cc0d66b31ea23036458436e3620d85954c66c3c" + integrity sha1-LMDWazHqIwNkWENuNiDYWVTGbDw= + dependencies: + object-assign "^4.0.1" + prepend-http "^1.0.0" + query-string "^4.1.0" + sort-keys "^1.0.0" + +normalize-url@^4.1.0: + version "4.5.1" + resolved "https://registry.yarnpkg.com/normalize-url/-/normalize-url-4.5.1.tgz#0dd90cf1288ee1d1313b87081c9a5932ee48518a" + integrity sha512-9UZCFRHQdNrfTpGg8+1INIg93B6zE0aXMVFkw1WFwvO4SlZywU6aLg5Of0Ap/PgcbSw4LNxvMWXMeugwMCX0AA== + +normalize-url@^6.0.1: + version "6.1.0" + resolved "https://registry.yarnpkg.com/normalize-url/-/normalize-url-6.1.0.tgz#40d0885b535deffe3f3147bec877d05fe4c5668a" + integrity sha512-DlL+XwOy3NxAQ8xuC0okPgK46iuVNAK01YN7RueYBqqFeGsBjV9XmCAzAdgt+667bCl5kPh9EqKKDwnaPG1I7A== + +npm-conf@^1.1.3: + version "1.1.3" + resolved "https://registry.yarnpkg.com/npm-conf/-/npm-conf-1.1.3.tgz#256cc47bd0e218c259c4e9550bf413bc2192aff9" + integrity sha512-Yic4bZHJOt9RCFbRP3GgpqhScOY4HH3V2P8yBj6CeYq118Qr+BLXqT2JvpJ00mryLESpgOxf5XlFv4ZjXxLScw== + dependencies: + config-chain "^1.1.11" + pify "^3.0.0" + +npm-run-path@^2.0.0: + version "2.0.2" + resolved "https://registry.yarnpkg.com/npm-run-path/-/npm-run-path-2.0.2.tgz#35a9232dfa35d7067b4cb2ddf2357b1871536c5f" + integrity sha1-NakjLfo11wZ7TLLd8jV7GHFTbF8= + dependencies: + path-key "^2.0.0" + +npmlog@^6.0.0: + version "6.0.0" + resolved "https://registry.yarnpkg.com/npmlog/-/npmlog-6.0.0.tgz#ba9ef39413c3d936ea91553db7be49c34ad0520c" + integrity sha512-03ppFRGlsyUaQFbGC2C8QWJN/C/K7PsfyD9aQdhVKAQIH4sQBc8WASqFBP7O+Ut4d2oo5LoeoboB3cGdBZSp6Q== + dependencies: + are-we-there-yet "^2.0.0" + console-control-strings "^1.1.0" + gauge "^4.0.0" + set-blocking "^2.0.0" + +nth-check@^2.0.1: + version "2.0.1" + resolved "https://registry.yarnpkg.com/nth-check/-/nth-check-2.0.1.tgz#2efe162f5c3da06a28959fbd3db75dbeea9f0fc2" + integrity sha512-it1vE95zF6dTT9lBsYbxvqh0Soy4SPowchj0UBGj/V6cTPnXXtQOPUbhZ6CmGzAD/rW22LQK6E96pcdJXk4A4w== + dependencies: + boolbase "^1.0.0" + +object-assign@^4.0.1, object-assign@^4.1.0, object-assign@^4.1.1: + version "4.1.1" + resolved "https://registry.yarnpkg.com/object-assign/-/object-assign-4.1.1.tgz#2109adc7965887cfc05cbbd442cac8bfbb360863" + integrity sha1-IQmtx5ZYh8/AXLvUQsrIv7s2CGM= + +object-copy@^0.1.0: + version "0.1.0" + resolved "https://registry.yarnpkg.com/object-copy/-/object-copy-0.1.0.tgz#7e7d858b781bd7c991a41ba975ed3812754e998c" + integrity sha1-fn2Fi3gb18mRpBupde04EnVOmYw= + dependencies: + copy-descriptor "^0.1.0" + define-property "^0.2.5" + kind-of "^3.0.3" + +object-inspect@^1.11.0, object-inspect@^1.9.0: + version "1.12.0" + resolved "https://registry.yarnpkg.com/object-inspect/-/object-inspect-1.12.0.tgz#6e2c120e868fd1fd18cb4f18c31741d0d6e776f0" + integrity sha512-Ho2z80bVIvJloH+YzRmpZVQe87+qASmBUKZDWgx9cu+KDrX2ZDH/3tMy+gXbZETVGs2M8YdxObOh7XAtim9Y0g== + +object-is@^1.0.1: + version "1.1.5" + resolved "https://registry.yarnpkg.com/object-is/-/object-is-1.1.5.tgz#b9deeaa5fc7f1846a0faecdceec138e5778f53ac" + integrity sha512-3cyDsyHgtmi7I7DfSSI2LDp6SK2lwvtbg0p0R1e0RvTqF5ceGx+K2dfSjm1bKDMVCFEDAQvy+o8c6a7VujOddw== + dependencies: + call-bind "^1.0.2" + define-properties "^1.1.3" + +object-keys@^1.0.12, object-keys@^1.1.1: + version "1.1.1" + resolved "https://registry.yarnpkg.com/object-keys/-/object-keys-1.1.1.tgz#1c47f272df277f3b1daf061677d9c82e2322c60e" + integrity sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA== + +object-visit@^1.0.0: + version "1.0.1" + resolved "https://registry.yarnpkg.com/object-visit/-/object-visit-1.0.1.tgz#f79c4493af0c5377b59fe39d395e41042dd045bb" + integrity sha1-95xEk68MU3e1n+OdOV5BBC3QRbs= + dependencies: + isobject "^3.0.0" + +object.assign@^4.1.0, object.assign@^4.1.2: + version "4.1.2" + resolved "https://registry.yarnpkg.com/object.assign/-/object.assign-4.1.2.tgz#0ed54a342eceb37b38ff76eb831a0e788cb63940" + integrity sha512-ixT2L5THXsApyiUPYKmW+2EHpXXe5Ii3M+f4e+aJFAHao5amFRW6J0OO6c/LU8Be47utCx2GL89hxGB6XSmKuQ== + dependencies: + call-bind "^1.0.0" + define-properties "^1.1.3" + has-symbols "^1.0.1" + object-keys "^1.1.1" + +object.getownpropertydescriptors@^2.0.3: + version "2.1.3" + resolved "https://registry.yarnpkg.com/object.getownpropertydescriptors/-/object.getownpropertydescriptors-2.1.3.tgz#b223cf38e17fefb97a63c10c91df72ccb386df9e" + integrity sha512-VdDoCwvJI4QdC6ndjpqFmoL3/+HxffFBbcJzKi5hwLLqqx3mdbedRpfZDdK0SrOSauj8X4GzBvnDZl4vTN7dOw== + dependencies: + call-bind "^1.0.2" + define-properties "^1.1.3" + es-abstract "^1.19.1" + +object.pick@^1.3.0: + version "1.3.0" + resolved "https://registry.yarnpkg.com/object.pick/-/object.pick-1.3.0.tgz#87a10ac4c1694bd2e1cbf53591a66141fb5dd747" + integrity sha1-h6EKxMFpS9Lhy/U1kaZhQftd10c= + dependencies: + isobject "^3.0.1" + +obuf@^1.0.0, obuf@^1.1.2: + version "1.1.2" + resolved "https://registry.yarnpkg.com/obuf/-/obuf-1.1.2.tgz#09bea3343d41859ebd446292d11c9d4db619084e" + integrity sha512-PX1wu0AmAdPqOL1mWhqmlOd8kOIZQwGZw6rh7uby9fTc5lhaOWFLX3I6R1hrF9k3zUY40e6igsLGkDXK92LJNg== + +on-finished@~2.3.0: + version "2.3.0" + resolved "https://registry.yarnpkg.com/on-finished/-/on-finished-2.3.0.tgz#20f1336481b083cd75337992a16971aa2d906947" + integrity sha1-IPEzZIGwg811M3mSoWlxqi2QaUc= + dependencies: + ee-first "1.1.1" + +on-headers@~1.0.2: + version "1.0.2" + resolved "https://registry.yarnpkg.com/on-headers/-/on-headers-1.0.2.tgz#772b0ae6aaa525c399e489adfad90c403eb3c28f" + integrity sha512-pZAE+FJLoyITytdqK0U5s+FIpjN0JP3OzFi/u8Rx+EV5/W+JTWGXG8xFzevE7AjBfDqHv/8vL8qQsIhHnqRkrA== + +once@^1.3.0, once@^1.3.1, once@^1.4.0: + version "1.4.0" + resolved "https://registry.yarnpkg.com/once/-/once-1.4.0.tgz#583b1aa775961d4b113ac17d9c50baef9dd76bd1" + integrity sha1-WDsap3WWHUsROsF9nFC6753Xa9E= + dependencies: + wrappy "1" + +onetime@^5.1.2: + version "5.1.2" + resolved "https://registry.yarnpkg.com/onetime/-/onetime-5.1.2.tgz#d0e96ebb56b07476df1dd9c4806e5237985ca45e" + integrity sha512-kbpaSSGJTWdAY5KPVeMOKXSrPtr8C8C7wodJbcsd51jRnmD+GZu8Y0VoU6Dm5Z4vWr0Ig/1NKuWRKf7j5aaYSg== + dependencies: + mimic-fn "^2.1.0" + +open@^8.3.0: + version "8.4.0" + resolved "https://registry.yarnpkg.com/open/-/open-8.4.0.tgz#345321ae18f8138f82565a910fdc6b39e8c244f8" + integrity sha512-XgFPPM+B28FtCCgSb9I+s9szOC1vZRSwgWsRUA5ylIxRTgKozqjOCrVOqGsYABPYK5qnfqClxZTFBa8PKt2v6Q== + dependencies: + define-lazy-prop "^2.0.0" + is-docker "^2.1.1" + is-wsl "^2.2.0" + +opn@^5.5.0: + version "5.5.0" + resolved "https://registry.yarnpkg.com/opn/-/opn-5.5.0.tgz#fc7164fab56d235904c51c3b27da6758ca3b9bfc" + integrity sha512-PqHpggC9bLV0VeWcdKhkpxY+3JTzetLSqTCWL/z/tFIbI6G8JCjondXklT1JinczLz2Xib62sSp0T/gKT4KksA== + dependencies: + is-wsl "^1.1.0" + +original@^1.0.0: + version "1.0.2" + resolved "https://registry.yarnpkg.com/original/-/original-1.0.2.tgz#e442a61cffe1c5fd20a65f3261c26663b303f25f" + integrity sha512-hyBVl6iqqUOJ8FqRe+l/gS8H+kKYjrEndd5Pm1MfBtsEKA038HkkdbAl/72EAXGyonD/PFsvmVG+EvcIpliMBg== + dependencies: + url-parse "^1.4.3" + +p-cancelable@^1.0.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/p-cancelable/-/p-cancelable-1.1.0.tgz#d078d15a3af409220c886f1d9a0ca2e441ab26cc" + integrity sha512-s73XxOZ4zpt1edZYZzvhqFa6uvQc1vwUa0K0BdtIZgQMAJj9IbebH+JkgKZc9h+B05PKHLOTl4ajG1BmNrVZlw== + +p-cancelable@^2.0.0: + version "2.1.1" + resolved "https://registry.yarnpkg.com/p-cancelable/-/p-cancelable-2.1.1.tgz#aab7fbd416582fa32a3db49859c122487c5ed2cf" + integrity sha512-BZOr3nRQHOntUjTrH8+Lh54smKHoHyur8We1V8DSMVrl5A2malOOwuJRnKRDjSnkoeBh4at6BwEnb5I7Jl31wg== + +p-finally@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/p-finally/-/p-finally-1.0.0.tgz#3fbcfb15b899a44123b34b6dcc18b724336a2cae" + integrity sha1-P7z7FbiZpEEjs0ttzBi3JDNqLK4= + +p-limit@^1.1.0: + version "1.3.0" + resolved "https://registry.yarnpkg.com/p-limit/-/p-limit-1.3.0.tgz#b86bd5f0c25690911c7590fcbfc2010d54b3ccb8" + integrity sha512-vvcXsLAJ9Dr5rQOPk7toZQZJApBl2K4J6dANSsEuh6QI41JYcsS/qhTGa9ErIUUgK3WNQoJYvylxvjqmiqEA9Q== + dependencies: + p-try "^1.0.0" + +p-limit@^2.0.0, p-limit@^2.2.0, p-limit@^2.3.0: + version "2.3.0" + resolved "https://registry.yarnpkg.com/p-limit/-/p-limit-2.3.0.tgz#3dd33c647a214fdfffd835933eb086da0dc21db1" + integrity sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w== + dependencies: + p-try "^2.0.0" + +p-locate@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/p-locate/-/p-locate-2.0.0.tgz#20a0103b222a70c8fd39cc2e580680f3dde5ec43" + integrity sha1-IKAQOyIqcMj9OcwuWAaA893l7EM= + dependencies: + p-limit "^1.1.0" + +p-locate@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/p-locate/-/p-locate-3.0.0.tgz#322d69a05c0264b25997d9f40cd8a891ab0064a4" + integrity sha512-x+12w/To+4GFfgJhBEpiDcLozRJGegY+Ei7/z0tSLkMmxGZNybVMSfWj9aJn8Z5Fc7dBUNJOOVgPv2H7IwulSQ== + dependencies: + p-limit "^2.0.0" + +p-locate@^4.1.0: + version "4.1.0" + resolved "https://registry.yarnpkg.com/p-locate/-/p-locate-4.1.0.tgz#a3428bb7088b3a60292f66919278b7c297ad4f07" + integrity sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A== + dependencies: + p-limit "^2.2.0" + +p-map@^2.0.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/p-map/-/p-map-2.1.0.tgz#310928feef9c9ecc65b68b17693018a665cea175" + integrity sha512-y3b8Kpd8OAN444hxfBbFfj1FY/RjtTd8tzYwhUqNYXx0fXx2iX4maP4Qr6qhIKbQXI02wTLAda4fYUbDagTUFw== + +p-map@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/p-map/-/p-map-3.0.0.tgz#d704d9af8a2ba684e2600d9a215983d4141a979d" + integrity sha512-d3qXVTF/s+W+CdJ5A29wywV2n8CQQYahlgz2bFiA+4eVNJbHJodPZ+/gXwPGh0bOqA+j8S+6+ckmvLGPk1QpxQ== + dependencies: + aggregate-error "^3.0.0" + +p-map@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/p-map/-/p-map-4.0.0.tgz#bb2f95a5eda2ec168ec9274e06a747c3e2904d2b" + integrity sha512-/bjOqmgETBYB5BoEeGVea8dmvHb2m9GLy1E9W43yeyfP6QQCZGFNa+XRceJEuDB6zqr+gKpIAmlLebMpykw/MQ== + dependencies: + aggregate-error "^3.0.0" + +p-retry@^3.0.1: + version "3.0.1" + resolved "https://registry.yarnpkg.com/p-retry/-/p-retry-3.0.1.tgz#316b4c8893e2c8dc1cfa891f406c4b422bebf328" + integrity sha512-XE6G4+YTTkT2a0UWb2kjZe8xNwf8bIbnqpc/IS/idOBVhyves0mK5OJgeocjx7q5pvX/6m23xuzVPYT1uGM73w== + dependencies: + retry "^0.12.0" + +p-try@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/p-try/-/p-try-1.0.0.tgz#cbc79cdbaf8fd4228e13f621f2b1a237c1b207b3" + integrity sha1-y8ec26+P1CKOE/Yh8rGiN8GyB7M= + +p-try@^2.0.0: + version "2.2.0" + resolved "https://registry.yarnpkg.com/p-try/-/p-try-2.2.0.tgz#cb2868540e313d61de58fafbe35ce9004d5540e6" + integrity sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ== + +package-json@^6.3.0: + version "6.5.0" + resolved "https://registry.yarnpkg.com/package-json/-/package-json-6.5.0.tgz#6feedaca35e75725876d0b0e64974697fed145b0" + integrity sha512-k3bdm2n25tkyxcjSKzB5x8kfVxlMdgsbPr0GkZcwHsLpba6cBjqCt1KlcChKEvxHIcTB1FVMuwoijZ26xex5MQ== + dependencies: + got "^9.6.0" + registry-auth-token "^4.0.0" + registry-url "^5.0.0" + semver "^6.2.0" + +param-case@^3.0.3: + version "3.0.4" + resolved "https://registry.yarnpkg.com/param-case/-/param-case-3.0.4.tgz#7d17fe4aa12bde34d4a77d91acfb6219caad01c5" + integrity sha512-RXlj7zCYokReqWpOPH9oYivUzLYZ5vAPIfEmCTNViosC78F8F0H9y7T7gG2M39ymgutxF5gcFEsyZQSph9Bp3A== + dependencies: + dot-case "^3.0.4" + tslib "^2.0.3" + +parse-author@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/parse-author/-/parse-author-2.0.0.tgz#d3460bf1ddd0dfaeed42da754242e65fb684a81f" + integrity sha1-00YL8d3Q367tQtp1QkLmX7aEqB8= + dependencies: + author-regex "^1.0.0" + +parse-json@^2.2.0: + version "2.2.0" + resolved "https://registry.yarnpkg.com/parse-json/-/parse-json-2.2.0.tgz#f480f40434ef80741f8469099f8dea18f55a4dc9" + integrity sha1-9ID0BDTvgHQfhGkJn43qGPVaTck= + dependencies: + error-ex "^1.2.0" + +parse-json@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/parse-json/-/parse-json-4.0.0.tgz#be35f5425be1f7f6c747184f98a788cb99477ee0" + integrity sha1-vjX1Qlvh9/bHRxhPmKeIy5lHfuA= + dependencies: + error-ex "^1.3.1" + json-parse-better-errors "^1.0.1" + +parse-passwd@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/parse-passwd/-/parse-passwd-1.0.0.tgz#6d5b934a456993b23d37f40a382d6f1666a8e5c6" + integrity sha1-bVuTSkVpk7I9N/QKOC1vFmao5cY= + +parseurl@~1.3.2, parseurl@~1.3.3: + version "1.3.3" + resolved "https://registry.yarnpkg.com/parseurl/-/parseurl-1.3.3.tgz#9da19e7bee8d12dff0513ed5b76957793bc2e8d4" + integrity sha512-CiyeOxFT/JZyN5m0z9PfXw4SCBJ6Sygz1Dpl0wqjlhDEGGBP1GnsUVEL0p63hoG1fcj3fHynXi9NYO4nWOL+qQ== + +pascal-case@^3.1.2: + version "3.1.2" + resolved "https://registry.yarnpkg.com/pascal-case/-/pascal-case-3.1.2.tgz#b48e0ef2b98e205e7c1dae747d0b1508237660eb" + integrity sha512-uWlGT3YSnK9x3BQJaOdcZwrnV6hPpd8jFH1/ucpiLRPh/2zCVJKS19E4GvYHvaCcACn3foXZ0cLB9Wrx1KGe5g== + dependencies: + no-case "^3.0.4" + tslib "^2.0.3" + +pascalcase@^0.1.1: + version "0.1.1" + resolved "https://registry.yarnpkg.com/pascalcase/-/pascalcase-0.1.1.tgz#b363e55e8006ca6fe21784d2db22bd15d7917f14" + integrity sha1-s2PlXoAGym/iF4TS2yK9FdeRfxQ= + +path-dirname@^1.0.0: + version "1.0.2" + resolved "https://registry.yarnpkg.com/path-dirname/-/path-dirname-1.0.2.tgz#cc33d24d525e099a5388c0336c6e32b9160609e0" + integrity sha1-zDPSTVJeCZpTiMAzbG4yuRYGCeA= + +path-exists@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/path-exists/-/path-exists-3.0.0.tgz#ce0ebeaa5f78cb18925ea7d810d7b59b010fd515" + integrity sha1-zg6+ql94yxiSXqfYENe1mwEP1RU= + +path-exists@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/path-exists/-/path-exists-4.0.0.tgz#513bdbe2d3b95d7762e8c1137efa195c6c61b5b3" + integrity sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w== + +path-is-absolute@^1.0.0: + version "1.0.1" + resolved "https://registry.yarnpkg.com/path-is-absolute/-/path-is-absolute-1.0.1.tgz#174b9268735534ffbc7ace6bf53a5a9e1b5c5f5f" + integrity sha1-F0uSaHNVNP+8es5r9TpanhtcX18= + +path-is-inside@^1.0.2: + version "1.0.2" + resolved "https://registry.yarnpkg.com/path-is-inside/-/path-is-inside-1.0.2.tgz#365417dede44430d1c11af61027facf074bdfc53" + integrity sha1-NlQX3t5EQw0cEa9hAn+s8HS9/FM= + +path-key@^2.0.0, path-key@^2.0.1: + version "2.0.1" + resolved "https://registry.yarnpkg.com/path-key/-/path-key-2.0.1.tgz#411cadb574c5a140d3a4b1910d40d80cc9f40b40" + integrity sha1-QRyttXTFoUDTpLGRDUDYDMn0C0A= + +path-key@^3.1.0: + version "3.1.1" + resolved "https://registry.yarnpkg.com/path-key/-/path-key-3.1.1.tgz#581f6ade658cbba65a0d3380de7753295054f375" + integrity sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q== + +path-parse@^1.0.7: + version "1.0.7" + resolved "https://registry.yarnpkg.com/path-parse/-/path-parse-1.0.7.tgz#fbc114b60ca42b30d9daf5858e4bd68bbedb6735" + integrity sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw== + +path-to-regexp@0.1.7: + version "0.1.7" + resolved "https://registry.yarnpkg.com/path-to-regexp/-/path-to-regexp-0.1.7.tgz#df604178005f522f15eb4490e7247a1bfaa67f8c" + integrity sha1-32BBeABfUi8V60SQ5yR6G/qmf4w= + +path-type@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/path-type/-/path-type-2.0.0.tgz#f012ccb8415b7096fc2daa1054c3d72389594c73" + integrity sha1-8BLMuEFbcJb8LaoQVMPXI4lZTHM= + dependencies: + pify "^2.0.0" + +pause-stream@0.0.11: + version "0.0.11" + resolved "https://registry.yarnpkg.com/pause-stream/-/pause-stream-0.0.11.tgz#fe5a34b0cbce12b5aa6a2b403ee2e73b602f1445" + integrity sha1-/lo0sMvOErWqaitAPuLnO2AvFEU= + dependencies: + through "~2.3" + +peek-readable@^4.0.1: + version "4.0.2" + resolved "https://registry.yarnpkg.com/peek-readable/-/peek-readable-4.0.2.tgz#a5cb847e347d3eccdc37642c82d2b4155c1ab8af" + integrity sha512-9fMaz6zoxw9ypO1KZy5RDJgSupEtu0Q+g/OqqsVHX3rKGR8qehRLYzsFARZ4bVvdvfknKiXvuDbkMnO1g6cRpQ== + +pend@~1.2.0: + version "1.2.0" + resolved "https://registry.yarnpkg.com/pend/-/pend-1.2.0.tgz#7a57eb550a6783f9115331fcf4663d5c8e007a50" + integrity sha1-elfrVQpng/kRUzH89GY9XI4AelA= + +picocolors@^0.2.1: + version "0.2.1" + resolved "https://registry.yarnpkg.com/picocolors/-/picocolors-0.2.1.tgz#570670f793646851d1ba135996962abad587859f" + integrity sha512-cMlDqaLEqfSaW8Z7N5Jw+lyIW869EzT73/F5lhtY9cLGoVxSXznfgfXMO0Z5K0o0Q2TkTXq+0KFsdnSe3jDViA== + +picocolors@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/picocolors/-/picocolors-1.0.0.tgz#cb5bdc74ff3f51892236eaf79d68bc44564ab81c" + integrity sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ== + +picomatch@^2.0.4, picomatch@^2.2.3: + version "2.3.1" + resolved "https://registry.yarnpkg.com/picomatch/-/picomatch-2.3.1.tgz#3ba3833733646d9d3e4995946c1365a67fb07a42" + integrity sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA== + +pify@^2.0.0: + version "2.3.0" + resolved "https://registry.yarnpkg.com/pify/-/pify-2.3.0.tgz#ed141a6ac043a849ea588498e7dca8b15330e90c" + integrity sha1-7RQaasBDqEnqWISY59yosVMw6Qw= + +pify@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/pify/-/pify-3.0.0.tgz#e5a4acd2c101fdf3d9a4d07f0dbc4db49dd28176" + integrity sha1-5aSs0sEB/fPZpNB/DbxNtJ3SgXY= + +pify@^4.0.1: + version "4.0.1" + resolved "https://registry.yarnpkg.com/pify/-/pify-4.0.1.tgz#4b2cd25c50d598735c50292224fd8c6df41e3231" + integrity sha512-uB80kBFb/tfd68bVleG9T5GGsGPjJrLAUpR5PZIrhBnIaRTQRjqdJSsIKkOP6OAIFbj7GOrcudc5pNjZ+geV2g== + +pinkie-promise@^2.0.0: + version "2.0.1" + resolved "https://registry.yarnpkg.com/pinkie-promise/-/pinkie-promise-2.0.1.tgz#2135d6dfa7a358c069ac9b178776288228450ffa" + integrity sha1-ITXW36ejWMBprJsXh3YogihFD/o= + dependencies: + pinkie "^2.0.0" + +pinkie@^2.0.0: + version "2.0.4" + resolved "https://registry.yarnpkg.com/pinkie/-/pinkie-2.0.4.tgz#72556b80cfa0d48a974e80e77248e80ed4f7f870" + integrity sha1-clVrgM+g1IqXToDnckjoDtT3+HA= + +pirates@^4.0.1: + version "4.0.5" + resolved "https://registry.yarnpkg.com/pirates/-/pirates-4.0.5.tgz#feec352ea5c3268fb23a37c702ab1699f35a5f3b" + integrity sha512-8V9+HQPupnaXMA23c5hvl69zXvTwTzyAYasnkb0Tts4XvO4CliqONMOnvlq26rkhLC3nWDFBJf73LU1e1VZLaQ== + +pixelmatch@^5.2.1: + version "5.2.1" + resolved "https://registry.yarnpkg.com/pixelmatch/-/pixelmatch-5.2.1.tgz#9e4e4f4aa59648208a31310306a5bed5522b0d65" + integrity sha512-WjcAdYSnKrrdDdqTcVEY7aB7UhhwjYQKYhHiBXdJef0MOaQeYpUdQ+iVyBLa5YBKS8MPVPPMX7rpOByISLpeEQ== + dependencies: + pngjs "^4.0.1" + +pkg-dir@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/pkg-dir/-/pkg-dir-3.0.0.tgz#2749020f239ed990881b1f71210d51eb6523bea3" + integrity sha512-/E57AYkoeQ25qkxMj5PBOVgF8Kiu/h7cYS30Z5+R7WaiCCBfLq58ZI/dSeaEKb9WVJV5n/03QwrN3IeWIFllvw== + dependencies: + find-up "^3.0.0" + +pkg-dir@^4.1.0: + version "4.2.0" + resolved "https://registry.yarnpkg.com/pkg-dir/-/pkg-dir-4.2.0.tgz#f099133df7ede422e81d1d8448270eeb3e4261f3" + integrity sha512-HRDzbaKjC+AOWVXxAU/x54COGeIv9eb+6CkDSQoNTt4XyWoIJvuPsXizxu/Fr23EiekbtZwmh1IcIG/l/a10GQ== + dependencies: + find-up "^4.0.0" + +pkg-up@^3.1.0: + version "3.1.0" + resolved "https://registry.yarnpkg.com/pkg-up/-/pkg-up-3.1.0.tgz#100ec235cc150e4fd42519412596a28512a0def5" + integrity sha512-nDywThFk1i4BQK4twPQ6TA4RT8bDY96yeuCVBWL3ePARCiEKDRSrNGbFIgUJpLp+XeIR65v8ra7WuJOFUBtkMA== + dependencies: + find-up "^3.0.0" + +playwright-core@=1.18.1: + version "1.18.1" + resolved "https://registry.yarnpkg.com/playwright-core/-/playwright-core-1.18.1.tgz#a5cf3f212d10692382e2acd1f7bc8c9ff9bbb849" + integrity sha512-NALGl8R1GHzGLlhUApmpmfh6M1rrrPcDTygWvhTbprxwGB9qd/j9DRwyn4HTQcUB6o0/VOpo46fH9ez3+D/Rog== + dependencies: + commander "^8.2.0" + debug "^4.1.1" + extract-zip "^2.0.1" + https-proxy-agent "^5.0.0" + jpeg-js "^0.4.2" + mime "^2.4.6" + pngjs "^5.0.0" + progress "^2.0.3" + proper-lockfile "^4.1.1" + proxy-from-env "^1.1.0" + rimraf "^3.0.2" + socks-proxy-agent "^6.1.0" + stack-utils "^2.0.3" + ws "^7.4.6" + yauzl "^2.10.0" + yazl "^2.5.1" + +playwright@^1.18.1: + version "1.18.1" + resolved "https://registry.yarnpkg.com/playwright/-/playwright-1.18.1.tgz#45c2ca6ee25c44e336985de9b51955727b5f17cf" + integrity sha512-8EaX9EtbtAoMq5tnzIsoA3b/V86V/6Mq2skuOU4qEw+5OVxs1lwesDwmjy/RVU1Qfx5UuwSQzhp45wyH22oa+A== + dependencies: + playwright-core "=1.18.1" + +plist@^3.0.0, plist@^3.0.1, plist@^3.0.4: + version "3.0.4" + resolved "https://registry.yarnpkg.com/plist/-/plist-3.0.4.tgz#a62df837e3aed2bb3b735899d510c4f186019cbe" + integrity sha512-ksrr8y9+nXOxQB2osVNqrgvX/XQPOXaU4BQMKjYq8PvaY1U18mo+fKgBSwzK+luSyinOuPae956lSVcBwxlAMg== + dependencies: + base64-js "^1.5.1" + xmlbuilder "^9.0.7" + +pngjs@^4.0.1: + version "4.0.1" + resolved "https://registry.yarnpkg.com/pngjs/-/pngjs-4.0.1.tgz#f803869bb2fc1bfe1bf99aa4ec21c108117cfdbe" + integrity sha512-rf5+2/ioHeQxR6IxuYNYGFytUyG3lma/WW1nsmjeHlWwtb2aByla6dkVc8pmJ9nplzkTA0q2xx7mMWrOTqT4Gg== + +pngjs@^5.0.0: + version "5.0.0" + resolved "https://registry.yarnpkg.com/pngjs/-/pngjs-5.0.0.tgz#e79dd2b215767fd9c04561c01236df960bce7fbb" + integrity sha512-40QW5YalBNfQo5yRYmiw7Yz6TKKVr3h6970B2YE+3fQpsWcrbj1PzJgxeJ19DRQjhMbKPIuMY8rFaXc8moolVw== + +portfinder@^1.0.26: + version "1.0.28" + resolved "https://registry.yarnpkg.com/portfinder/-/portfinder-1.0.28.tgz#67c4622852bd5374dd1dd900f779f53462fac778" + integrity sha512-Se+2isanIcEqf2XMHjyUKskczxbPH7dQnlMjXX6+dybayyHvAf/TCgyMRlzf/B6QDhAEFOGes0pzRo3by4AbMA== + dependencies: + async "^2.6.2" + debug "^3.1.1" + mkdirp "^0.5.5" + +posix-character-classes@^0.1.0: + version "0.1.1" + resolved "https://registry.yarnpkg.com/posix-character-classes/-/posix-character-classes-0.1.1.tgz#01eac0fe3b5af71a2a6c02feabb8c1fef7e00eab" + integrity sha1-AerA/jta9xoqbAL+q7jB/vfgDqs= + +postcss-modules-extract-imports@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/postcss-modules-extract-imports/-/postcss-modules-extract-imports-2.0.0.tgz#818719a1ae1da325f9832446b01136eeb493cd7e" + integrity sha512-LaYLDNS4SG8Q5WAWqIJgdHPJrDDr/Lv775rMBFUbgjTz6j34lUznACHcdRWroPvXANP2Vj7yNK57vp9eFqzLWQ== + dependencies: + postcss "^7.0.5" + +postcss-modules-local-by-default@^3.0.2: + version "3.0.3" + resolved "https://registry.yarnpkg.com/postcss-modules-local-by-default/-/postcss-modules-local-by-default-3.0.3.tgz#bb14e0cc78279d504dbdcbfd7e0ca28993ffbbb0" + integrity sha512-e3xDq+LotiGesympRlKNgaJ0PCzoUIdpH0dj47iWAui/kyTgh3CiAr1qP54uodmJhl6p9rN6BoNcdEDVJx9RDw== + dependencies: + icss-utils "^4.1.1" + postcss "^7.0.32" + postcss-selector-parser "^6.0.2" + postcss-value-parser "^4.1.0" + +postcss-modules-scope@^2.2.0: + version "2.2.0" + resolved "https://registry.yarnpkg.com/postcss-modules-scope/-/postcss-modules-scope-2.2.0.tgz#385cae013cc7743f5a7d7602d1073a89eaae62ee" + integrity sha512-YyEgsTMRpNd+HmyC7H/mh3y+MeFWevy7V1evVhJWewmMbjDHIbZbOXICC2y+m1xI1UVfIT1HMW/O04Hxyu9oXQ== + dependencies: + postcss "^7.0.6" + postcss-selector-parser "^6.0.0" + +postcss-modules-values@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/postcss-modules-values/-/postcss-modules-values-3.0.0.tgz#5b5000d6ebae29b4255301b4a3a54574423e7f10" + integrity sha512-1//E5jCBrZ9DmRX+zCtmQtRSV6PV42Ix7Bzj9GbwJceduuf7IqP8MgeTXuRDHOWj2m0VzZD5+roFWDuU8RQjcg== + dependencies: + icss-utils "^4.0.0" + postcss "^7.0.6" + +postcss-selector-parser@^6.0.0, postcss-selector-parser@^6.0.2: + version "6.0.9" + resolved "https://registry.yarnpkg.com/postcss-selector-parser/-/postcss-selector-parser-6.0.9.tgz#ee71c3b9ff63d9cd130838876c13a2ec1a992b2f" + integrity sha512-UO3SgnZOVTwu4kyLR22UQ1xZh086RyNZppb7lLAKBFK8a32ttG5i87Y/P3+2bRSjZNyJ1B7hfFNo273tKe9YxQ== + dependencies: + cssesc "^3.0.0" + util-deprecate "^1.0.2" + +postcss-value-parser@^4.1.0: + version "4.2.0" + resolved "https://registry.yarnpkg.com/postcss-value-parser/-/postcss-value-parser-4.2.0.tgz#723c09920836ba6d3e5af019f92bc0971c02e514" + integrity sha512-1NNCs6uurfkVbeXG4S8JFT9t19m45ICnif8zWLd5oPSZ50QnwMfK+H3jv408d4jw/7Bttv5axS5IiHoLaVNHeQ== + +postcss@^7.0.14, postcss@^7.0.32, postcss@^7.0.5, postcss@^7.0.6: + version "7.0.39" + resolved "https://registry.yarnpkg.com/postcss/-/postcss-7.0.39.tgz#9624375d965630e2e1f2c02a935c82a59cb48309" + integrity sha512-yioayjNbHn6z1/Bywyb2Y4s3yvDAeXGOyxqD+LnVOinq6Mdmd++SW2wUNVzavyyHxd6+DxzWGIuosg6P1Rj8uA== + dependencies: + picocolors "^0.2.1" + source-map "^0.6.1" + +prepend-http@^1.0.0: + version "1.0.4" + resolved "https://registry.yarnpkg.com/prepend-http/-/prepend-http-1.0.4.tgz#d4f4562b0ce3696e41ac52d0e002e57a635dc6dc" + integrity sha1-1PRWKwzjaW5BrFLQ4ALlemNdxtw= + +prepend-http@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/prepend-http/-/prepend-http-2.0.0.tgz#e92434bfa5ea8c19f41cdfd401d741a3c819d897" + integrity sha1-6SQ0v6XqjBn0HN/UAddBo8gZ2Jc= + +pretty-error@^2.1.1: + version "2.1.2" + resolved "https://registry.yarnpkg.com/pretty-error/-/pretty-error-2.1.2.tgz#be89f82d81b1c86ec8fdfbc385045882727f93b6" + integrity sha512-EY5oDzmsX5wvuynAByrmY0P0hcp+QpnAKbJng2A2MPjVKXCxrDSUkzghVJ4ZGPIv+JC4gX8fPUWscC0RtjsWGw== + dependencies: + lodash "^4.17.20" + renderkid "^2.0.4" + +pretty-format@^27.2.5, pretty-format@^27.4.6: + version "27.4.6" + resolved "https://registry.yarnpkg.com/pretty-format/-/pretty-format-27.4.6.tgz#1b784d2f53c68db31797b2348fa39b49e31846b7" + integrity sha512-NblstegA1y/RJW2VyML+3LlpFjzx62cUrtBIKIWDXEDkjNeleA7Od7nrzcs/VLQvAeV4CgSYhrN39DRN88Qi/g== + dependencies: + ansi-regex "^5.0.1" + ansi-styles "^5.0.0" + react-is "^17.0.1" + +process-nextick-args@~2.0.0: + version "2.0.1" + resolved "https://registry.yarnpkg.com/process-nextick-args/-/process-nextick-args-2.0.1.tgz#7820d9b16120cc55ca9ae7792680ae7dba6d7fe2" + integrity sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag== + +progress@^2.0.3: + version "2.0.3" + resolved "https://registry.yarnpkg.com/progress/-/progress-2.0.3.tgz#7e8cf8d8f5b8f239c1bc68beb4eb78567d572ef8" + integrity sha512-7PiHtLll5LdnKIMw100I+8xJXR5gW2QwWYkT6iJva0bXitZKa/XMrSbdmg3r2Xnaidz9Qumd0VPaMrZlF9V9sA== + +promise-inflight@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/promise-inflight/-/promise-inflight-1.0.1.tgz#98472870bf228132fcbdd868129bad12c3c029e3" + integrity sha1-mEcocL8igTL8vdhoEputEsPAKeM= + +promise-retry@^2.0.1: + version "2.0.1" + resolved "https://registry.yarnpkg.com/promise-retry/-/promise-retry-2.0.1.tgz#ff747a13620ab57ba688f5fc67855410c370da22" + integrity sha512-y+WKFlBR8BGXnsNlIHFGPZmyDf3DFMoLhaflAnyZgV6rG6xu+JwesTo2Q9R6XwYmtmwAFCkAk3e35jEdoeh/3g== + dependencies: + err-code "^2.0.2" + retry "^0.12.0" + +proper-lockfile@^4.1.1: + version "4.1.2" + resolved "https://registry.yarnpkg.com/proper-lockfile/-/proper-lockfile-4.1.2.tgz#c8b9de2af6b2f1601067f98e01ac66baa223141f" + integrity sha512-TjNPblN4BwAWMXU8s9AEz4JmQxnD1NNL7bNOY/AKUzyamc379FWASUhc/K1pL2noVb+XmZKLL68cjzLsiOAMaA== + dependencies: + graceful-fs "^4.2.4" + retry "^0.12.0" + signal-exit "^3.0.2" + +proto-list@~1.2.1: + version "1.2.4" + resolved "https://registry.yarnpkg.com/proto-list/-/proto-list-1.2.4.tgz#212d5bfe1318306a420f6402b8e26ff39647a849" + integrity sha1-IS1b/hMYMGpCD2QCuOJv85ZHqEk= + +proxy-addr@~2.0.7: + version "2.0.7" + resolved "https://registry.yarnpkg.com/proxy-addr/-/proxy-addr-2.0.7.tgz#f19fe69ceab311eeb94b42e70e8c2070f9ba1025" + integrity sha512-llQsMLSUDUPT44jdrU/O37qlnifitDP+ZwrmmZcoSKyLKvtZxpyV0n2/bD/N4tBAAZ/gJEdZU7KMraoK1+XYAg== + dependencies: + forwarded "0.2.0" + ipaddr.js "1.9.1" + +proxy-from-env@^1.1.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/proxy-from-env/-/proxy-from-env-1.1.0.tgz#e102f16ca355424865755d2c9e8ea4f24d58c3e2" + integrity sha512-D+zkORCbA9f1tdWRK0RaCR3GPv50cMxcrz4X8k5LTSUD1Dkw47mKJEZQNunItRTkWwgtaUSo1RVFRIG9ZXiFYg== + +prr@~1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/prr/-/prr-1.0.1.tgz#d3fc114ba06995a45ec6893f484ceb1d78f5f476" + integrity sha1-0/wRS6BplaRexok/SEzrHXj19HY= + +pump@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/pump/-/pump-3.0.0.tgz#b4a2116815bde2f4e1ea602354e8c75565107a64" + integrity sha512-LwZy+p3SFs1Pytd/jYct4wpv49HiYCqd9Rlc5ZVdk0V+8Yzv6jR5Blk3TRmPL1ft69TxP0IMZGJ+WPFU2BFhww== + dependencies: + end-of-stream "^1.1.0" + once "^1.3.1" + +punycode@1.3.2: + version "1.3.2" + resolved "https://registry.yarnpkg.com/punycode/-/punycode-1.3.2.tgz#9653a036fb7c1ee42342f2325cceefea3926c48d" + integrity sha1-llOgNvt8HuQjQvIyXM7v6jkmxI0= + +punycode@^2.1.0: + version "2.1.1" + resolved "https://registry.yarnpkg.com/punycode/-/punycode-2.1.1.tgz#b58b010ac40c22c5657616c8d2c2c02c7bf479ec" + integrity sha512-XRsRjdf+j5ml+y/6GKHPZbrF/8p2Yga0JPtdqTIY2Xe5ohJPD9saDJJLPvp9+NSBprVvevdXZybnj2cv8OEd0A== + +pupa@^2.1.1: + version "2.1.1" + resolved "https://registry.yarnpkg.com/pupa/-/pupa-2.1.1.tgz#f5e8fd4afc2c5d97828faa523549ed8744a20d62" + integrity sha512-l1jNAspIBSFqbT+y+5FosojNpVpF94nlI+wDUpqP9enwOTfHx9f0gh5nB96vl+6yTpsJsypeNrwfzPrKuHB41A== + dependencies: + escape-goat "^2.0.0" + +qap@^3.1.2: + version "3.3.1" + resolved "https://registry.yarnpkg.com/qap/-/qap-3.3.1.tgz#11f9e8fa8890fe7cb99210c0f44d0613b7372cac" + integrity sha1-Efno+oiQ/ny5khDA9E0GE7c3LKw= + +qrcode-terminal@^0.12.0: + version "0.12.0" + resolved "https://registry.yarnpkg.com/qrcode-terminal/-/qrcode-terminal-0.12.0.tgz#bb5b699ef7f9f0505092a3748be4464fe71b5819" + integrity sha512-EXtzRZmC+YGmGlDFbXKxQiMZNwCLEO6BANKXG4iCtSIM0yqc/pappSx3RIKr4r0uh5JsBckOXeKrB3Iz7mdQpQ== + +qrcode@^1.5.0: + version "1.5.0" + resolved "https://registry.yarnpkg.com/qrcode/-/qrcode-1.5.0.tgz#95abb8a91fdafd86f8190f2836abbfc500c72d1b" + integrity sha512-9MgRpgVc+/+47dFvQeD6U2s0Z92EsKzcHogtum4QB+UNd025WOJSHvn/hjk9xmzj7Stj95CyUAs31mrjxliEsQ== + dependencies: + dijkstrajs "^1.0.1" + encode-utf8 "^1.0.3" + pngjs "^5.0.0" + yargs "^15.3.1" + +qs@6.9.6: + version "6.9.6" + resolved "https://registry.yarnpkg.com/qs/-/qs-6.9.6.tgz#26ed3c8243a431b2924aca84cc90471f35d5a0ee" + integrity sha512-TIRk4aqYLNoJUbd+g2lEdz5kLWIuTMRagAXxl78Q0RiVjAOugHmeKNGdd3cwo/ktpf9aL9epCfFqWDEKysUlLQ== + +query-string@^4.1.0: + version "4.3.4" + resolved "https://registry.yarnpkg.com/query-string/-/query-string-4.3.4.tgz#bbb693b9ca915c232515b228b1a02b609043dbeb" + integrity sha1-u7aTucqRXCMlFbIosaArYJBD2+s= + dependencies: + object-assign "^4.1.0" + strict-uri-encode "^1.0.0" + +querystring@0.2.0: + version "0.2.0" + resolved "https://registry.yarnpkg.com/querystring/-/querystring-0.2.0.tgz#b209849203bb25df820da756e747005878521620" + integrity sha1-sgmEkgO7Jd+CDadW50cAWHhSFiA= + +querystringify@^2.1.1: + version "2.2.0" + resolved "https://registry.yarnpkg.com/querystringify/-/querystringify-2.2.0.tgz#3345941b4153cb9d082d8eee4cda2016a9aef7f6" + integrity sha512-FIqgj2EUvTa7R50u0rGsyTftzjYmv/a3hO345bZNrqabNqjtgiDMgmo4mkUjd+nzU5oF3dClKqFIPUKybUyqoQ== + +quick-lru@^5.1.1: + version "5.1.1" + resolved "https://registry.yarnpkg.com/quick-lru/-/quick-lru-5.1.1.tgz#366493e6b3e42a3a6885e2e99d18f80fb7a8c932" + integrity sha512-WuyALRjWPDGtt/wzJiadO5AXY+8hZ80hVpe6MyivgraREW751X3SbhRvG3eLKOYN+8VEvqLcf3wdnt44Z4S4SA== + +randombytes@^2.1.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/randombytes/-/randombytes-2.1.0.tgz#df6f84372f0270dc65cdf6291349ab7a473d4f2a" + integrity sha512-vYl3iOX+4CKUWuxGi9Ukhie6fsqXqS9FE2Zaic4tNFD2N2QQaXOMFbuKK4QmDHC0JO6B1Zp41J0LpT0oR68amQ== + dependencies: + safe-buffer "^5.1.0" + +range-parser@^1.2.1, range-parser@~1.2.1: + version "1.2.1" + resolved "https://registry.yarnpkg.com/range-parser/-/range-parser-1.2.1.tgz#3cf37023d199e1c24d1a55b84800c2f3e6468031" + integrity sha512-Hrgsx+orqoygnmhFbKaHE6c296J+HTAQXoxEF6gNupROmmGJRoyzfG3ccAveqCBrwr/2yxQ5BVd/GTl5agOwSg== + +raw-body@2.4.2: + version "2.4.2" + resolved "https://registry.yarnpkg.com/raw-body/-/raw-body-2.4.2.tgz#baf3e9c21eebced59dd6533ac872b71f7b61cb32" + integrity sha512-RPMAFUJP19WIet/99ngh6Iv8fzAbqum4Li7AD6DtGaW2RpMB/11xDoalPiJMTbu6I3hkbMVkATvZrqb9EEqeeQ== + dependencies: + bytes "3.1.1" + http-errors "1.8.1" + iconv-lite "0.4.24" + unpipe "1.0.0" + +rc@^1.2.8: + version "1.2.8" + resolved "https://registry.yarnpkg.com/rc/-/rc-1.2.8.tgz#cd924bf5200a075b83c188cd6b9e211b7fc0d3ed" + integrity sha512-y3bGgqKj3QBdxLbLkomlohkvsA8gdAiUQlSBJnBhfn+BPxg4bc62d8TcBW15wavDfgexCgccckhcZvywyQYPOw== + dependencies: + deep-extend "^0.6.0" + ini "~1.3.0" + minimist "^1.2.0" + strip-json-comments "~2.0.1" + +rcedit@^3.0.1: + version "3.0.1" + resolved "https://registry.yarnpkg.com/rcedit/-/rcedit-3.0.1.tgz#ae21b43e49c075f4d84df1929832a12c302f3c90" + integrity sha512-XM0Jv40/y4hVAqj/MO70o/IWs4uOsaSoo2mLyk3klFDW+SStLnCtzuQu+1OBTIMGlM8CvaK9ftlYCp6DJ+cMsw== + dependencies: + cross-spawn-windows-exe "^1.1.0" + +react-dom@^17.0.2: + version "17.0.2" + resolved "https://registry.yarnpkg.com/react-dom/-/react-dom-17.0.2.tgz#ecffb6845e3ad8dbfcdc498f0d0a939736502c23" + integrity sha512-s4h96KtLDUQlsENhMn1ar8t2bEa+q/YAtj8pPPdIjPDGBDIVNsrD9aXNWqspUe6AzKCIG0C1HZZLqLV7qpOBGA== + dependencies: + loose-envify "^1.1.0" + object-assign "^4.1.1" + scheduler "^0.20.2" + +react-is@^17.0.1: + version "17.0.2" + resolved "https://registry.yarnpkg.com/react-is/-/react-is-17.0.2.tgz#e691d4a8e9c789365655539ab372762b0efb54f0" + integrity sha512-w2GsyukL62IJnlaff/nRegPQR94C/XXamvMWmSHRJ4y7Ts/4ocGRmTHvOs8PSE6pB3dWOrD/nueuU5sduBsQ4w== + +react@^17.0.2: + version "17.0.2" + resolved "https://registry.yarnpkg.com/react/-/react-17.0.2.tgz#d0b5cc516d29eb3eee383f75b62864cfb6800037" + integrity sha512-gnhPt75i/dq/z3/6q/0asP78D0u592D5L1pd7M8P+dck6Fu/jJeL6iVVK23fptSUZj8Vjf++7wXA8UNclGQcbA== + dependencies: + loose-envify "^1.1.0" + object-assign "^4.1.1" + +read-config-file@6.2.0: + version "6.2.0" + resolved "https://registry.yarnpkg.com/read-config-file/-/read-config-file-6.2.0.tgz#71536072330bcd62ba814f91458b12add9fc7ade" + integrity sha512-gx7Pgr5I56JtYz+WuqEbQHj/xWo+5Vwua2jhb1VwM4Wid5PqYmZ4i00ZB0YEGIfkVBsCv9UrjgyqCiQfS/Oosg== + dependencies: + dotenv "^9.0.2" + dotenv-expand "^5.1.0" + js-yaml "^4.1.0" + json5 "^2.2.0" + lazy-val "^1.0.4" + +read-config-file@~4.0.1: + version "4.0.1" + resolved "https://registry.yarnpkg.com/read-config-file/-/read-config-file-4.0.1.tgz#ece5f6b1a5e6a46d0d93fdd0339f2f60ab892776" + integrity sha512-5caED3uo2IAZMPcbh/9hx/O29s2430RLxtnFDdzxpH/epEpawOrQnGBHueotIXUrGPPIgdNQN+S/CIp2WmiSfw== + dependencies: + ajv "^6.10.1" + ajv-keywords "^3.4.1" + dotenv "^8.0.0" + dotenv-expand "^5.1.0" + fs-extra "^8.1.0" + js-yaml "^3.13.1" + json5 "^2.1.0" + lazy-val "^1.0.4" + +read-pkg-up@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/read-pkg-up/-/read-pkg-up-2.0.0.tgz#6b72a8048984e0c41e79510fd5e9fa99b3b549be" + integrity sha1-a3KoBImE4MQeeVEP1en6mbO1Sb4= + dependencies: + find-up "^2.0.0" + read-pkg "^2.0.0" + +read-pkg@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/read-pkg/-/read-pkg-2.0.0.tgz#8ef1c0623c6a6db0dc6713c4bfac46332b2368f8" + integrity sha1-jvHAYjxqbbDcZxPEv6xGMysjaPg= + dependencies: + load-json-file "^2.0.0" + normalize-package-data "^2.3.2" + path-type "^2.0.0" + +"readable-stream@1 || 2", readable-stream@^2.0.1, readable-stream@^2.0.2, readable-stream@^2.2.2: + version "2.3.7" + resolved "https://registry.yarnpkg.com/readable-stream/-/readable-stream-2.3.7.tgz#1eca1cf711aef814c04f62252a36a62f6cb23b57" + integrity sha512-Ebho8K4jIbHAxnuxi7o42OrZgF/ZTNcsZj6nRKyUmkhLFq8CHItp/fy6hQZuZmP/n3yZ9VBUbp4zz/mX8hmYPw== + 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" + +readable-stream@^3.0.6, readable-stream@^3.6.0: + version "3.6.0" + resolved "https://registry.yarnpkg.com/readable-stream/-/readable-stream-3.6.0.tgz#337bbda3adc0706bd3e024426a286d4b4b2c9198" + integrity sha512-BViHy7LKeTz4oNnkcLJ+lVSL6vpiFeX6/d3oSH8zCW7UxP2onchk+vTGB143xuFjHS3deTgkKoXXymXqymiIdA== + dependencies: + inherits "^2.0.3" + string_decoder "^1.1.1" + util-deprecate "^1.0.1" + +readable-web-to-node-stream@^3.0.0: + version "3.0.2" + resolved "https://registry.yarnpkg.com/readable-web-to-node-stream/-/readable-web-to-node-stream-3.0.2.tgz#5d52bb5df7b54861fd48d015e93a2cb87b3ee0bb" + integrity sha512-ePeK6cc1EcKLEhJFt/AebMCLL+GgSKhuygrZ/GLaKZYEecIgIECf4UaUuaByiGtzckwR4ain9VzUh95T1exYGw== + dependencies: + readable-stream "^3.6.0" + +readdirp@^2.2.1: + version "2.2.1" + resolved "https://registry.yarnpkg.com/readdirp/-/readdirp-2.2.1.tgz#0e87622a3325aa33e892285caf8b4e846529a525" + integrity sha512-1JU/8q+VgFZyxwrJ+SVIOsh+KywWGpds3NTqikiKpDMZWScmAYyKIgqkO+ARvNWJfXeXR1zxz7aHF4u4CyH6vQ== + dependencies: + graceful-fs "^4.1.11" + micromatch "^3.1.10" + readable-stream "^2.0.2" + +regenerate-unicode-properties@^10.0.1: + version "10.0.1" + resolved "https://registry.yarnpkg.com/regenerate-unicode-properties/-/regenerate-unicode-properties-10.0.1.tgz#7f442732aa7934a3740c779bb9b3340dccc1fb56" + integrity sha512-vn5DU6yg6h8hP/2OkQo3K7uVILvY4iu0oI4t3HFa81UPkhGJwkRwM10JEc3upjdhHjs/k8GJY1sRBhk5sr69Bw== + dependencies: + regenerate "^1.4.2" + +regenerate@^1.4.2: + version "1.4.2" + resolved "https://registry.yarnpkg.com/regenerate/-/regenerate-1.4.2.tgz#b9346d8827e8f5a32f7ba29637d398b69014848a" + integrity sha512-zrceR/XhGYU/d/opr2EKO7aRHUeiBI8qjtfHqADTwZd6Szfy16la6kqD0MIUs5z5hx6AaKa+PixpPrR289+I0A== + +regenerator-runtime@^0.13.4: + version "0.13.9" + resolved "https://registry.yarnpkg.com/regenerator-runtime/-/regenerator-runtime-0.13.9.tgz#8925742a98ffd90814988d7566ad30ca3b263b52" + integrity sha512-p3VT+cOEgxFsRRA9X4lkI1E+k2/CtnKtU4gcxyaCUreilL/vqI6CdZ3wxVUx3UOUg+gnUOQQcRI7BmSI656MYA== + +regenerator-transform@^0.14.2: + version "0.14.5" + resolved "https://registry.yarnpkg.com/regenerator-transform/-/regenerator-transform-0.14.5.tgz#c98da154683671c9c4dcb16ece736517e1b7feb4" + integrity sha512-eOf6vka5IO151Jfsw2NO9WpGX58W6wWmefK3I1zEGr0lOD0u8rwPaNqQL1aRxUaxLeKO3ArNh3VYg1KbaD+FFw== + dependencies: + "@babel/runtime" "^7.8.4" + +regex-not@^1.0.0, regex-not@^1.0.2: + version "1.0.2" + resolved "https://registry.yarnpkg.com/regex-not/-/regex-not-1.0.2.tgz#1f4ece27e00b0b65e0247a6810e6a85d83a5752c" + integrity sha512-J6SDjUgDxQj5NusnOtdFxDwN/+HWykR8GELwctJ7mdqhcyy1xEc4SRFHUXvxTp661YaVKAjfRLZ9cCqS6tn32A== + dependencies: + extend-shallow "^3.0.2" + safe-regex "^1.1.0" + +regexp.prototype.flags@^1.2.0: + version "1.4.1" + resolved "https://registry.yarnpkg.com/regexp.prototype.flags/-/regexp.prototype.flags-1.4.1.tgz#b3f4c0059af9e47eca9f3f660e51d81307e72307" + integrity sha512-pMR7hBVUUGI7PMA37m2ofIdQCsomVnas+Jn5UPGAHQ+/LlwKm/aTLJHdasmHRzlfeZwHiAOaRSo2rbBDm3nNUQ== + dependencies: + call-bind "^1.0.2" + define-properties "^1.1.3" + +regexpu-core@^5.0.1: + version "5.0.1" + resolved "https://registry.yarnpkg.com/regexpu-core/-/regexpu-core-5.0.1.tgz#c531122a7840de743dcf9c83e923b5560323ced3" + integrity sha512-CriEZlrKK9VJw/xQGJpQM5rY88BtuL8DM+AEwvcThHilbxiTAy8vq4iJnd2tqq8wLmjbGZzP7ZcKFjbGkmEFrw== + dependencies: + regenerate "^1.4.2" + regenerate-unicode-properties "^10.0.1" + regjsgen "^0.6.0" + regjsparser "^0.8.2" + unicode-match-property-ecmascript "^2.0.0" + unicode-match-property-value-ecmascript "^2.0.0" + +"register-scheme@github:devsnek/node-register-scheme": + version "0.0.2" + resolved "https://codeload.github.com/devsnek/node-register-scheme/tar.gz/e7cc9a63a1f512565da44cb57316d9fb10750e17" + dependencies: + bindings "^1.3.0" + node-addon-api "^1.3.0" + +registry-auth-token@^4.0.0: + version "4.2.1" + resolved "https://registry.yarnpkg.com/registry-auth-token/-/registry-auth-token-4.2.1.tgz#6d7b4006441918972ccd5fedcd41dc322c79b250" + integrity sha512-6gkSb4U6aWJB4SF2ZvLb76yCBjcvufXBqvvEx1HbmKPkutswjW1xNVRY0+daljIYRbogN7O0etYSlbiaEQyMyw== + dependencies: + rc "^1.2.8" + +registry-url@^5.0.0: + version "5.1.0" + resolved "https://registry.yarnpkg.com/registry-url/-/registry-url-5.1.0.tgz#e98334b50d5434b81136b44ec638d9c2009c5009" + integrity sha512-8acYXXTI0AkQv6RAOjE3vOaIXZkT9wo4LOFbBKYQEEnnMNBpKqdUrI6S4NT0KPIo/WVvJ5tE/X5LF/TQUf0ekw== + dependencies: + rc "^1.2.8" + +regjsgen@^0.6.0: + version "0.6.0" + resolved "https://registry.yarnpkg.com/regjsgen/-/regjsgen-0.6.0.tgz#83414c5354afd7d6627b16af5f10f41c4e71808d" + integrity sha512-ozE883Uigtqj3bx7OhL1KNbCzGyW2NQZPl6Hs09WTvCuZD5sTI4JY58bkbQWa/Y9hxIsvJ3M8Nbf7j54IqeZbA== + +regjsparser@^0.8.2: + version "0.8.4" + resolved "https://registry.yarnpkg.com/regjsparser/-/regjsparser-0.8.4.tgz#8a14285ffcc5de78c5b95d62bbf413b6bc132d5f" + integrity sha512-J3LABycON/VNEu3abOviqGHuB/LOtOQj8SKmfP9anY5GfAVw/SPjwzSjxGjbZXIxbGfqTHtJw58C2Li/WkStmA== + dependencies: + jsesc "~0.5.0" + +relateurl@^0.2.7: + version "0.2.7" + resolved "https://registry.yarnpkg.com/relateurl/-/relateurl-0.2.7.tgz#54dbf377e51440aca90a4cd274600d3ff2d888a9" + integrity sha1-VNvzd+UUQKypCkzSdGANP/LYiKk= + +remove-trailing-separator@^1.0.1: + version "1.1.0" + resolved "https://registry.yarnpkg.com/remove-trailing-separator/-/remove-trailing-separator-1.1.0.tgz#c24bce2a283adad5bc3f58e0d48249b92379d8ef" + integrity sha1-wkvOKig62tW8P1jg1IJJuSN52O8= + +renderkid@^2.0.4: + version "2.0.7" + resolved "https://registry.yarnpkg.com/renderkid/-/renderkid-2.0.7.tgz#464f276a6bdcee606f4a15993f9b29fc74ca8609" + integrity sha512-oCcFyxaMrKsKcTY59qnCAtmDVSLfPbrv6A3tVbPdFMMrv5jaK10V6m40cKsoPNhAqN6rmHW9sswW4o3ruSrwUQ== + dependencies: + css-select "^4.1.3" + dom-converter "^0.2.0" + htmlparser2 "^6.1.0" + lodash "^4.17.21" + strip-ansi "^3.0.1" + +repeat-element@^1.1.2: + version "1.1.4" + resolved "https://registry.yarnpkg.com/repeat-element/-/repeat-element-1.1.4.tgz#be681520847ab58c7568ac75fbfad28ed42d39e9" + integrity sha512-LFiNfRcSu7KK3evMyYOuCzv3L10TW7yC1G2/+StMjK8Y6Vqd2MG7r/Qjw4ghtuCOjFvlnms/iMmLqpvW/ES/WQ== + +repeat-string@^1.6.1: + version "1.6.1" + resolved "https://registry.yarnpkg.com/repeat-string/-/repeat-string-1.6.1.tgz#8dcae470e1c88abc2d600fff4a776286da75e637" + integrity sha1-jcrkcOHIirwtYA//Sndihtp15jc= + +require-directory@^2.1.1: + version "2.1.1" + resolved "https://registry.yarnpkg.com/require-directory/-/require-directory-2.1.1.tgz#8c64ad5fd30dab1c976e2344ffe7f792a6a6df42" + integrity sha1-jGStX9MNqxyXbiNE/+f3kqam30I= + +require-from-string@^2.0.2: + version "2.0.2" + resolved "https://registry.yarnpkg.com/require-from-string/-/require-from-string-2.0.2.tgz#89a7fdd938261267318eafe14f9c32e598c36909" + integrity sha512-Xf0nWe6RseziFMu+Ap9biiUbmplq6S9/p+7w7YXP/JBHhrUDDUhwa+vANyubuqfZWTveU//DYVGsDG7RKL/vEw== + +require-main-filename@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/require-main-filename/-/require-main-filename-2.0.0.tgz#d0b329ecc7cc0f61649f62215be69af54aa8989b" + integrity sha512-NKN5kMDylKuldxYLSUfrbo5Tuzh4hd+2E8NPPX02mZtn1VuREQToYe/ZdlJy+J3uCpfaiGF05e7B8W0iXbQHmg== + +requires-port@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/requires-port/-/requires-port-1.0.0.tgz#925d2601d39ac485e091cf0da5c6e694dc3dcaff" + integrity sha1-kl0mAdOaxIXgkc8NpcbmlNw9yv8= + +reselect@^4.0.0: + version "4.1.5" + resolved "https://registry.yarnpkg.com/reselect/-/reselect-4.1.5.tgz#852c361247198da6756d07d9296c2b51eddb79f6" + integrity sha512-uVdlz8J7OO+ASpBYoz1Zypgx0KasCY20H+N8JD13oUMtPvSHQuscrHop4KbXrbsBcdB9Ds7lVK7eRkBIfO43vQ== + +resolve-alpn@^1.0.0: + version "1.2.1" + resolved "https://registry.yarnpkg.com/resolve-alpn/-/resolve-alpn-1.2.1.tgz#b7adbdac3546aaaec20b45e7d8265927072726f9" + integrity sha512-0a1F4l73/ZFZOakJnQ3FvkJ2+gSTQWz/r2KE5OdDY0TxPm5h4GkqkWWfM47T7HsbnOtcJVEF4epCVy6u7Q3K+g== + +resolve-cwd@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/resolve-cwd/-/resolve-cwd-2.0.0.tgz#00a9f7387556e27038eae232caa372a6a59b665a" + integrity sha1-AKn3OHVW4nA46uIyyqNypqWbZlo= + dependencies: + resolve-from "^3.0.0" + +resolve-dir@^1.0.0, resolve-dir@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/resolve-dir/-/resolve-dir-1.0.1.tgz#79a40644c362be82f26effe739c9bb5382046f43" + integrity sha1-eaQGRMNivoLybv/nOcm7U4IEb0M= + dependencies: + expand-tilde "^2.0.0" + global-modules "^1.0.0" + +resolve-from@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/resolve-from/-/resolve-from-3.0.0.tgz#b22c7af7d9d6881bc8b6e653335eebcb0a188748" + integrity sha1-six699nWiBvItuZTM17rywoYh0g= + +resolve-url@^0.2.1: + version "0.2.1" + resolved "https://registry.yarnpkg.com/resolve-url/-/resolve-url-0.2.1.tgz#2c637fe77c893afd2a663fe21aa9080068e2052a" + integrity sha1-LGN/53yJOv0qZj/iGqkIAGjiBSo= + +resolve@^1.1.6, resolve@^1.10.0, resolve@^1.13.1, resolve@^1.14.2: + version "1.22.0" + resolved "https://registry.yarnpkg.com/resolve/-/resolve-1.22.0.tgz#5e0b8c67c15df57a89bdbabe603a002f21731198" + integrity sha512-Hhtrw0nLeSrFQ7phPp4OOcVjLPIeMnRlr5mcnVuMe7M/7eBn98A3hmFRLoFo3DLZkivSYwhRUJTyPyWAk56WLw== + dependencies: + is-core-module "^2.8.1" + path-parse "^1.0.7" + supports-preserve-symlinks-flag "^1.0.0" + +responselike@^1.0.2: + version "1.0.2" + resolved "https://registry.yarnpkg.com/responselike/-/responselike-1.0.2.tgz#918720ef3b631c5642be068f15ade5a46f4ba1e7" + integrity sha1-kYcg7ztjHFZCvgaPFa3lpG9Loec= + dependencies: + lowercase-keys "^1.0.0" + +responselike@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/responselike/-/responselike-2.0.0.tgz#26391bcc3174f750f9a79eacc40a12a5c42d7723" + integrity sha512-xH48u3FTB9VsZw7R+vvgaKeLKzT6jOogbQhEe/jewwnZgzPcnyWui2Av6JpoYZF/91uueC+lqhWqeURw5/qhCw== + dependencies: + lowercase-keys "^2.0.0" + +ret@~0.1.10: + version "0.1.15" + resolved "https://registry.yarnpkg.com/ret/-/ret-0.1.15.tgz#b8a4825d5bdb1fc3f6f53c2bc33f81388681c7bc" + integrity sha512-TTlYpa+OL+vMMNG24xSlQGEJ3B/RzEfUlLct7b5G/ytav+wPrplCpVMFuwzXbkecJrb6IYo1iFb0S9v37754mg== + +retry@^0.12.0: + version "0.12.0" + resolved "https://registry.yarnpkg.com/retry/-/retry-0.12.0.tgz#1b42a6266a21f07421d1b0b54b7dc167b01c013b" + integrity sha1-G0KmJmoh8HQh0bC1S33BZ7AcATs= + +rimraf@^2.5.2, rimraf@^2.5.4, rimraf@^2.6.3, rimraf@^2.7.1: + version "2.7.1" + resolved "https://registry.yarnpkg.com/rimraf/-/rimraf-2.7.1.tgz#35797f13a7fdadc566142c29d4f07ccad483e3ec" + integrity sha512-uWjbaKIK3T1OSVptzX7Nl6PvQ3qAGtKEtVRjRuazjfL3Bx5eI409VZSqgND+4UNnmzLVdPj9FqFJNPqBZFve4w== + dependencies: + glob "^7.1.3" + +rimraf@^3.0.0, rimraf@^3.0.2: + version "3.0.2" + resolved "https://registry.yarnpkg.com/rimraf/-/rimraf-3.0.2.tgz#f1a5402ba6220ad52cc1282bac1ae3aa49fd061a" + integrity sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA== + dependencies: + glob "^7.1.3" + +roarr@^2.15.3: + version "2.15.4" + resolved "https://registry.yarnpkg.com/roarr/-/roarr-2.15.4.tgz#f5fe795b7b838ccfe35dc608e0282b9eba2e7afd" + integrity sha512-CHhPh+UNHD2GTXNYhPWLnU8ONHdI+5DI+4EYIAOaiD63rHeYlZvyh8P+in5999TTSFgUYuKUAjzRI4mdh/p+2A== + dependencies: + boolean "^3.0.1" + detect-node "^2.0.4" + globalthis "^1.0.1" + json-stringify-safe "^5.0.1" + semver-compare "^1.0.0" + sprintf-js "^1.1.2" + +run-queue@^1.0.0, run-queue@^1.0.3: + version "1.0.3" + resolved "https://registry.yarnpkg.com/run-queue/-/run-queue-1.0.3.tgz#e848396f057d223f24386924618e25694161ec47" + integrity sha1-6Eg5bwV9Ij8kOGkkYY4laUFh7Ec= + dependencies: + aproba "^1.1.1" + +run-script-os@^1.1.6: + version "1.1.6" + resolved "https://registry.yarnpkg.com/run-script-os/-/run-script-os-1.1.6.tgz#8b0177fb1b54c99a670f95c7fdc54f18b9c72347" + integrity sha512-ql6P2LzhBTTDfzKts+Qo4H94VUKpxKDFz6QxxwaUZN0mwvi7L3lpOI7BqPCq7lgDh3XLl0dpeXwfcVIitlrYrw== + +safe-buffer@5.1.2, safe-buffer@~5.1.0, safe-buffer@~5.1.1: + version "5.1.2" + resolved "https://registry.yarnpkg.com/safe-buffer/-/safe-buffer-5.1.2.tgz#991ec69d296e0313747d59bdfd2b745c35f8828d" + integrity sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g== + +safe-buffer@5.2.1, safe-buffer@>=5.1.0, safe-buffer@^5.0.1, safe-buffer@^5.1.0, safe-buffer@^5.1.1, safe-buffer@~5.2.0: + version "5.2.1" + resolved "https://registry.yarnpkg.com/safe-buffer/-/safe-buffer-5.2.1.tgz#1eaf9fa9bdb1fdd4ec75f58f9cdb4e6b7827eec6" + integrity sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ== + +safe-regex@^1.1.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/safe-regex/-/safe-regex-1.1.0.tgz#40a3669f3b077d1e943d44629e157dd48023bf2e" + integrity sha1-QKNmnzsHfR6UPURinhV91IAjvy4= + dependencies: + ret "~0.1.10" + +"safer-buffer@>= 2.1.2 < 3", "safer-buffer@>= 2.1.2 < 3.0.0": + version "2.1.2" + resolved "https://registry.yarnpkg.com/safer-buffer/-/safer-buffer-2.1.2.tgz#44fa161b0187b9549dd84bb91802f9bd8385cd6a" + integrity sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg== + +sanitize-filename@^1.6.3: + version "1.6.3" + resolved "https://registry.yarnpkg.com/sanitize-filename/-/sanitize-filename-1.6.3.tgz#755ebd752045931977e30b2025d340d7c9090378" + integrity sha512-y/52Mcy7aw3gRm7IrcGDFx/bCk4AhRh2eI9luHOQM86nZsqwiRkkq2GekHXBBD+SmPidc8i2PqtYZl+pWJ8Oeg== + dependencies: + truncate-utf8-bytes "^1.0.0" + +sax@>=0.6.0, sax@^1.2.4: + version "1.2.4" + resolved "https://registry.yarnpkg.com/sax/-/sax-1.2.4.tgz#2816234e2378bddc4e5354fab5caa895df7100d9" + integrity sha512-NqVDv9TpANUjFm0N8uM5GxL36UgKi9/atZw+x7YFnQ8ckwFGKrl4xX4yWtrey3UJm5nP1kUbnYgLopqWNSRhWw== + +scheduler@^0.20.2: + version "0.20.2" + resolved "https://registry.yarnpkg.com/scheduler/-/scheduler-0.20.2.tgz#4baee39436e34aa93b4874bddcbf0fe8b8b50e91" + integrity sha512-2eWfGgAqqWFGqtdMmcL5zCMK1U8KlXv8SQFGglL3CEtd0aDVDWgeF/YoCmvln55m5zSk3J/20hTaSBeSObsQDQ== + dependencies: + loose-envify "^1.1.0" + object-assign "^4.1.1" + +schema-utils@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/schema-utils/-/schema-utils-1.0.0.tgz#0b79a93204d7b600d4b2850d1f66c2a34951c770" + integrity sha512-i27Mic4KovM/lnGsy8whRCHhc7VicJajAjTrYg11K9zfZXnYIt4k5F+kZkwjnrhKzLic/HLU4j11mjsz2G/75g== + dependencies: + ajv "^6.1.0" + ajv-errors "^1.0.0" + ajv-keywords "^3.1.0" + +schema-utils@^2.6.5, schema-utils@^2.6.6, schema-utils@^2.7.0: + version "2.7.1" + resolved "https://registry.yarnpkg.com/schema-utils/-/schema-utils-2.7.1.tgz#1ca4f32d1b24c590c203b8e7a50bf0ea4cd394d7" + integrity sha512-SHiNtMOUGWBQJwzISiVYKu82GiV4QYGePp3odlY1tuKO7gPtphAT5R/py0fA6xtbgLL/RvtJZnU9b8s0F1q0Xg== + dependencies: + "@types/json-schema" "^7.0.5" + ajv "^6.12.4" + ajv-keywords "^3.5.2" + +schema-utils@^3.0.0, schema-utils@^3.1.0, schema-utils@^3.1.1: + version "3.1.1" + resolved "https://registry.yarnpkg.com/schema-utils/-/schema-utils-3.1.1.tgz#bc74c4b6b6995c1d88f76a8b77bea7219e0c8281" + integrity sha512-Y5PQxS4ITlC+EahLuXaY86TXfR7Dc5lw294alXOq86JAHCihAIZfqv8nNCWvaEJvaC51uN9hbLGeV0cFBdH+Fw== + dependencies: + "@types/json-schema" "^7.0.8" + ajv "^6.12.5" + ajv-keywords "^3.5.2" + +select-hose@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/select-hose/-/select-hose-2.0.0.tgz#625d8658f865af43ec962bfc376a37359a4994ca" + integrity sha1-Yl2GWPhlr0Psliv8N2o3NZpJlMo= + +selfsigned@^1.10.8: + version "1.10.14" + resolved "https://registry.yarnpkg.com/selfsigned/-/selfsigned-1.10.14.tgz#ee51d84d9dcecc61e07e4aba34f229ab525c1574" + integrity sha512-lkjaiAye+wBZDCBsu5BGi0XiLRxeUlsGod5ZP924CRSEoGuZAw/f7y9RKu28rwTfiHVhdavhB0qH0INV6P1lEA== + dependencies: + node-forge "^0.10.0" + +semver-compare@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/semver-compare/-/semver-compare-1.0.0.tgz#0dee216a1c941ab37e9efb1788f6afc5ff5537fc" + integrity sha1-De4hahyUGrN+nvsXiPavxf9VN/w= + +semver-diff@^3.1.1: + version "3.1.1" + resolved "https://registry.yarnpkg.com/semver-diff/-/semver-diff-3.1.1.tgz#05f77ce59f325e00e2706afd67bb506ddb1ca32b" + integrity sha512-GX0Ix/CJcHyB8c4ykpHGIAvLyOwOobtM/8d+TQkAd81/bEjgPHrfba41Vpesr7jX/t8Uh+R3EX9eAS5be+jQYg== + dependencies: + semver "^6.3.0" + +"semver@2 || 3 || 4 || 5", semver@^5.3.0, semver@^5.5.0: + version "5.7.1" + resolved "https://registry.yarnpkg.com/semver/-/semver-5.7.1.tgz#a954f931aeba508d307bbf069eff0c01c96116f7" + integrity sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ== + +semver@7.0.0: + version "7.0.0" + resolved "https://registry.yarnpkg.com/semver/-/semver-7.0.0.tgz#5f3ca35761e47e05b206c6daff2cf814f0316b8e" + integrity sha512-+GB6zVA9LWh6zovYQLALHwv5rb2PHGlJi3lfiqIHxR0uuwCgefcOJc59v9fv1w8GbStwxuuqqAjI9NMAOOgq1A== + +semver@^6.0.0, semver@^6.1.1, semver@^6.1.2, semver@^6.2.0, semver@^6.3.0: + version "6.3.0" + resolved "https://registry.yarnpkg.com/semver/-/semver-6.3.0.tgz#ee0a64c8af5e8ceea67687b133761e1becbd1d3d" + integrity sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw== + +semver@^7.1.3, semver@^7.2.3, semver@^7.3.2, semver@^7.3.4, semver@^7.3.5: + version "7.3.5" + resolved "https://registry.yarnpkg.com/semver/-/semver-7.3.5.tgz#0b621c879348d8998e4b0e4be94b3f12e6018ef7" + integrity sha512-PoeGJYh8HK4BTO/a9Tf6ZG3veo/A7ZVsYrSA6J8ny9nb3B1VrpkuN+z9OE5wfE5p6H4LchYZsegiQgbJD94ZFQ== + dependencies: + lru-cache "^6.0.0" + +send@0.17.2: + version "0.17.2" + resolved "https://registry.yarnpkg.com/send/-/send-0.17.2.tgz#926622f76601c41808012c8bf1688fe3906f7820" + integrity sha512-UJYB6wFSJE3G00nEivR5rgWp8c2xXvJ3OPWPhmuteU0IKj8nKbG3DrjiOmLwpnHGYWAVwA69zmTm++YG0Hmwww== + dependencies: + debug "2.6.9" + depd "~1.1.2" + destroy "~1.0.4" + encodeurl "~1.0.2" + escape-html "~1.0.3" + etag "~1.8.1" + fresh "0.5.2" + http-errors "1.8.1" + mime "1.6.0" + ms "2.1.3" + on-finished "~2.3.0" + range-parser "~1.2.1" + statuses "~1.5.0" + +serialize-error@^7.0.1: + version "7.0.1" + resolved "https://registry.yarnpkg.com/serialize-error/-/serialize-error-7.0.1.tgz#f1360b0447f61ffb483ec4157c737fab7d778e18" + integrity sha512-8I8TjW5KMOKsZQTvoxjuSIa7foAwPWGOts+6o7sgjz41/qMD9VQHEDxi6PBvK2l0MXUmqZyNpUK+T2tQaaElvw== + dependencies: + type-fest "^0.13.1" + +serialize-javascript@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/serialize-javascript/-/serialize-javascript-4.0.0.tgz#b525e1238489a5ecfc42afacc3fe99e666f4b1aa" + integrity sha512-GaNA54380uFefWghODBWEGisLZFj00nS5ACs6yHa9nLqlLpVLO8ChDGeKRjZnV4Nh4n0Qi7nhYZD/9fCPzEqkw== + dependencies: + randombytes "^2.1.0" + +serialize-javascript@^6.0.0: + version "6.0.0" + resolved "https://registry.yarnpkg.com/serialize-javascript/-/serialize-javascript-6.0.0.tgz#efae5d88f45d7924141da8b5c3a7a7e663fefeb8" + integrity sha512-Qr3TosvguFt8ePWqsvRfrKyQXIiW+nGbYpy8XK24NQHE83caxWt+mIymTT19DGFbNWNLfEwsrkSmN64lVWB9ag== + dependencies: + randombytes "^2.1.0" + +serve-index@^1.9.1: + version "1.9.1" + resolved "https://registry.yarnpkg.com/serve-index/-/serve-index-1.9.1.tgz#d3768d69b1e7d82e5ce050fff5b453bea12a9239" + integrity sha1-03aNabHn2C5c4FD/9bRTvqEqkjk= + dependencies: + accepts "~1.3.4" + batch "0.6.1" + debug "2.6.9" + escape-html "~1.0.3" + http-errors "~1.6.2" + mime-types "~2.1.17" + parseurl "~1.3.2" + +serve-static@1.14.2: + version "1.14.2" + resolved "https://registry.yarnpkg.com/serve-static/-/serve-static-1.14.2.tgz#722d6294b1d62626d41b43a013ece4598d292bfa" + integrity sha512-+TMNA9AFxUEGuC0z2mevogSnn9MXKb4fa7ngeRMJaaGv8vTwnIEkKi+QGvPt33HSnf8pRS+WGM0EbMtCJLKMBQ== + dependencies: + encodeurl "~1.0.2" + escape-html "~1.0.3" + parseurl "~1.3.3" + send "0.17.2" + +set-blocking@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/set-blocking/-/set-blocking-2.0.0.tgz#045f9782d011ae9a6803ddd382b24392b3d890f7" + integrity sha1-BF+XgtARrppoA93TgrJDkrPYkPc= + +set-value@^2.0.0, set-value@^2.0.1: + version "2.0.1" + resolved "https://registry.yarnpkg.com/set-value/-/set-value-2.0.1.tgz#a18d40530e6f07de4228c7defe4227af8cad005b" + integrity sha512-JxHc1weCN68wRY0fhCoXpyK55m/XPHafOmK4UWD7m2CI14GMcFypt4w/0+NV5f/ZMby2F6S2wwA7fgynh9gWSw== + dependencies: + extend-shallow "^2.0.1" + is-extendable "^0.1.1" + is-plain-object "^2.0.3" + split-string "^3.0.1" + +setprototypeof@1.1.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/setprototypeof/-/setprototypeof-1.1.0.tgz#d0bd85536887b6fe7c0d818cb962d9d91c54e656" + integrity sha512-BvE/TwpZX4FXExxOxZyRGQQv651MSwmWKZGqvmPcRIjDqWub67kTKuIMx43cZZrS/cBBzwBcNDWoFxt2XEFIpQ== + +setprototypeof@1.2.0: + version "1.2.0" + resolved "https://registry.yarnpkg.com/setprototypeof/-/setprototypeof-1.2.0.tgz#66c9a24a73f9fc28cbe66b09fed3d33dcaf1b424" + integrity sha512-E5LDX7Wrp85Kil5bhZv46j8jOeboKq5JMmYM3gVGdGH8xFpPWXUMsNrlODCrkoxMEeNi/XZIwuRvY4XNwYMJpw== + +shebang-command@^1.2.0: + version "1.2.0" + resolved "https://registry.yarnpkg.com/shebang-command/-/shebang-command-1.2.0.tgz#44aac65b695b03398968c39f363fee5deafdf1ea" + integrity sha1-RKrGW2lbAzmJaMOfNj/uXer98eo= + dependencies: + shebang-regex "^1.0.0" + +shebang-command@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/shebang-command/-/shebang-command-2.0.0.tgz#ccd0af4f8835fbdc265b82461aaf0c36663f34ea" + integrity sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA== + dependencies: + shebang-regex "^3.0.0" + +shebang-regex@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/shebang-regex/-/shebang-regex-1.0.0.tgz#da42f49740c0b42db2ca9728571cb190c98efea3" + integrity sha1-2kL0l0DAtC2yypcoVxyxkMmO/qM= + +shebang-regex@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/shebang-regex/-/shebang-regex-3.0.0.tgz#ae16f1644d873ecad843b0307b143362d4c42172" + integrity sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A== + +side-channel@^1.0.4: + version "1.0.4" + resolved "https://registry.yarnpkg.com/side-channel/-/side-channel-1.0.4.tgz#efce5c8fdc104ee751b25c58d4290011fa5ea2cf" + integrity sha512-q5XPytqFEIKHkGdiMIrY10mvLRvnQh42/+GoBlFW3b2LXLE2xxJpZFdm94we0BaoV3RwJyGqg5wS7epxTv0Zvw== + dependencies: + call-bind "^1.0.0" + get-intrinsic "^1.0.2" + object-inspect "^1.9.0" + +signal-exit@^3.0.0, signal-exit@^3.0.2: + version "3.0.7" + resolved "https://registry.yarnpkg.com/signal-exit/-/signal-exit-3.0.7.tgz#a9a1767f8af84155114eaabd73f99273c8f59ad9" + integrity sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ== + +slash@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/slash/-/slash-3.0.0.tgz#6539be870c165adbd5240220dbe361f1bc4d4634" + integrity sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q== + +slice-ansi@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/slice-ansi/-/slice-ansi-3.0.0.tgz#31ddc10930a1b7e0b67b08c96c2f49b77a789787" + integrity sha512-pSyv7bSTC7ig9Dcgbw9AuRNUb5k5V6oDudjZoMBSr13qpLBG7tB+zgCkARjq7xIUgdz5P1Qe8u+rSGdouOOIyQ== + dependencies: + ansi-styles "^4.0.0" + astral-regex "^2.0.0" + is-fullwidth-code-point "^3.0.0" + +smart-buffer@^4.0.2, smart-buffer@^4.1.0: + version "4.2.0" + resolved "https://registry.yarnpkg.com/smart-buffer/-/smart-buffer-4.2.0.tgz#6e1d71fa4f18c05f7d0ff216dd16a481d0e8d9ae" + integrity sha512-94hK0Hh8rPqQl2xXc3HsaBoOXKV20MToPkcXvwbISWLEs+64sBq5kFgn2kJDHb1Pry9yrP0dxrCI9RRci7RXKg== + +snapdragon-node@^2.0.1: + version "2.1.1" + resolved "https://registry.yarnpkg.com/snapdragon-node/-/snapdragon-node-2.1.1.tgz#6c175f86ff14bdb0724563e8f3c1b021a286853b" + integrity sha512-O27l4xaMYt/RSQ5TR3vpWCAB5Kb/czIcqUFOM/C4fYcLnbZUc1PkjTAMjof2pBWaSTwOUd6qUHcFGVGj7aIwnw== + dependencies: + define-property "^1.0.0" + isobject "^3.0.0" + snapdragon-util "^3.0.1" + +snapdragon-util@^3.0.1: + version "3.0.1" + resolved "https://registry.yarnpkg.com/snapdragon-util/-/snapdragon-util-3.0.1.tgz#f956479486f2acd79700693f6f7b805e45ab56e2" + integrity sha512-mbKkMdQKsjX4BAL4bRYTj21edOf8cN7XHdYUJEe+Zn99hVEYcMvKPct1IqNe7+AZPirn8BCDOQBHQZknqmKlZQ== + dependencies: + kind-of "^3.2.0" + +snapdragon@^0.8.1: + version "0.8.2" + resolved "https://registry.yarnpkg.com/snapdragon/-/snapdragon-0.8.2.tgz#64922e7c565b0e14204ba1aa7d6964278d25182d" + integrity sha512-FtyOnWN/wCHTVXOMwvSv26d+ko5vWlIDD6zoUJ7LW8vh+ZBC8QdljveRP+crNrtBwioEUWy/4dMtbBjA4ioNlg== + dependencies: + base "^0.11.1" + debug "^2.2.0" + define-property "^0.2.5" + extend-shallow "^2.0.1" + map-cache "^0.2.2" + source-map "^0.5.6" + source-map-resolve "^0.5.0" + use "^3.1.0" + +sockjs-client@^1.5.0: + version "1.5.2" + resolved "https://registry.yarnpkg.com/sockjs-client/-/sockjs-client-1.5.2.tgz#4bc48c2da9ce4769f19dc723396b50f5c12330a3" + integrity sha512-ZzRxPBISQE7RpzlH4tKJMQbHM9pabHluk0WBaxAQ+wm/UieeBVBou0p4wVnSQGN9QmpAZygQ0cDIypWuqOFmFQ== + dependencies: + debug "^3.2.6" + eventsource "^1.0.7" + faye-websocket "^0.11.3" + inherits "^2.0.4" + json3 "^3.3.3" + url-parse "^1.5.3" + +sockjs@^0.3.21: + version "0.3.24" + resolved "https://registry.yarnpkg.com/sockjs/-/sockjs-0.3.24.tgz#c9bc8995f33a111bea0395ec30aa3206bdb5ccce" + integrity sha512-GJgLTZ7vYb/JtPSSZ10hsOYIvEYsjbNU+zPdIHcUaWVNUEPivzxku31865sSSud0Da0W4lEeOPlmw93zLQchuQ== + dependencies: + faye-websocket "^0.11.3" + uuid "^8.3.2" + websocket-driver "^0.7.4" + +socks-proxy-agent@^6.0.0, socks-proxy-agent@^6.1.0: + version "6.1.1" + resolved "https://registry.yarnpkg.com/socks-proxy-agent/-/socks-proxy-agent-6.1.1.tgz#e664e8f1aaf4e1fb3df945f09e3d94f911137f87" + integrity sha512-t8J0kG3csjA4g6FTbsMOWws+7R7vuRC8aQ/wy3/1OWmsgwA68zs/+cExQ0koSitUDXqhufF/YJr9wtNMZHw5Ew== + dependencies: + agent-base "^6.0.2" + debug "^4.3.1" + socks "^2.6.1" + +socks@^2.6.1: + version "2.6.1" + resolved "https://registry.yarnpkg.com/socks/-/socks-2.6.1.tgz#989e6534a07cf337deb1b1c94aaa44296520d30e" + integrity sha512-kLQ9N5ucj8uIcxrDwjm0Jsqk06xdpBjGNQtpXy4Q8/QY2k+fY7nZH8CARy+hkbG+SGAovmzzuauCpBlb8FrnBA== + dependencies: + ip "^1.1.5" + smart-buffer "^4.1.0" + +sort-keys@^1.0.0: + version "1.1.2" + resolved "https://registry.yarnpkg.com/sort-keys/-/sort-keys-1.1.2.tgz#441b6d4d346798f1b4e49e8920adfba0e543f9ad" + integrity sha1-RBttTTRnmPG05J6JIK37oOVD+a0= + dependencies: + is-plain-obj "^1.0.0" + +source-list-map@^2.0.0: + version "2.0.1" + resolved "https://registry.yarnpkg.com/source-list-map/-/source-list-map-2.0.1.tgz#3993bd873bfc48479cca9ea3a547835c7c154b34" + integrity sha512-qnQ7gVMxGNxsiL4lEuJwe/To8UnK7fAnmbGEEH8RpLouuKbeEm0lhbQVFIrNSuB+G7tVrAlVsZgETT5nljf+Iw== + +source-map-resolve@^0.5.0: + version "0.5.3" + resolved "https://registry.yarnpkg.com/source-map-resolve/-/source-map-resolve-0.5.3.tgz#190866bece7553e1f8f267a2ee82c606b5509a1a" + integrity sha512-Htz+RnsXWk5+P2slx5Jh3Q66vhQj1Cllm0zvnaY98+NFx+Dv2CF/f5O/t8x+KaNdrdIAsruNzoh/KpialbqAnw== + dependencies: + atob "^2.1.2" + decode-uri-component "^0.2.0" + resolve-url "^0.2.1" + source-map-url "^0.4.0" + urix "^0.1.0" + +source-map-support@^0.4.18: + version "0.4.18" + resolved "https://registry.yarnpkg.com/source-map-support/-/source-map-support-0.4.18.tgz#0286a6de8be42641338594e97ccea75f0a2c585f" + integrity sha512-try0/JqxPLF9nOjvSta7tVondkP5dwgyLDjVoyMDlmjugT2lRZ1OfsrYTkCd2hkDnJTKRbO/Rl3orm8vlsUzbA== + dependencies: + source-map "^0.5.6" + +source-map-support@^0.5.11, source-map-support@^0.5.16, source-map-support@^0.5.19, source-map-support@^0.5.21, source-map-support@~0.5.12, source-map-support@~0.5.20: + version "0.5.21" + resolved "https://registry.yarnpkg.com/source-map-support/-/source-map-support-0.5.21.tgz#04fe7c7f9e1ed2d662233c28cb2b35b9f63f6e4f" + integrity sha512-uBHU3L3czsIyYXKX88fdrGovxdSCoTGDRZ6SYXtSRxLZUzHg5P/66Ht6uoUlHu9EZod+inXhKo3qQgwXUT/y1w== + dependencies: + buffer-from "^1.0.0" + source-map "^0.6.0" + +source-map-url@^0.4.0: + version "0.4.1" + resolved "https://registry.yarnpkg.com/source-map-url/-/source-map-url-0.4.1.tgz#0af66605a745a5a2f91cf1bbf8a7afbc283dec56" + integrity sha512-cPiFOTLUKvJFIg4SKVScy4ilPPW6rFgMgfuZJPNoDuMs3nC1HbMUycBoJw77xFIp6z1UJQJOfx6C9GMH80DiTw== + +source-map@^0.5.0, source-map@^0.5.6: + version "0.5.7" + resolved "https://registry.yarnpkg.com/source-map/-/source-map-0.5.7.tgz#8a039d2d1021d22d1ea14c80d8ea468ba2ef3fcc" + integrity sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w= + +source-map@^0.6.0, source-map@^0.6.1, source-map@~0.6.0, source-map@~0.6.1: + version "0.6.1" + resolved "https://registry.yarnpkg.com/source-map/-/source-map-0.6.1.tgz#74722af32e9614e9c287a8d0bbde48b5e2f1a263" + integrity sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g== + +source-map@^0.7.3, source-map@~0.7.2: + version "0.7.3" + resolved "https://registry.yarnpkg.com/source-map/-/source-map-0.7.3.tgz#5302f8169031735226544092e64981f751750383" + integrity sha512-CkCj6giN3S+n9qrYiBTX5gystlENnRW5jZeNLHpe6aue+SrHcG5VYwujhW9s4dY31mEGsxBDrHR6oI69fTXsaQ== + +spdx-correct@^3.0.0: + version "3.1.1" + resolved "https://registry.yarnpkg.com/spdx-correct/-/spdx-correct-3.1.1.tgz#dece81ac9c1e6713e5f7d1b6f17d468fa53d89a9" + integrity sha512-cOYcUWwhCuHCXi49RhFRCyJEK3iPj1Ziz9DpViV3tbZOwXD49QzIN3MpOLJNxh2qwq2lJJZaKMVw9qNi4jTC0w== + dependencies: + spdx-expression-parse "^3.0.0" + spdx-license-ids "^3.0.0" + +spdx-exceptions@^2.1.0: + version "2.3.0" + resolved "https://registry.yarnpkg.com/spdx-exceptions/-/spdx-exceptions-2.3.0.tgz#3f28ce1a77a00372683eade4a433183527a2163d" + integrity sha512-/tTrYOC7PPI1nUAgx34hUpqXuyJG+DTHJTnIULG4rDygi4xu/tfgmq1e1cIRwRzwZgo4NLySi+ricLkZkw4i5A== + +spdx-expression-parse@^3.0.0: + version "3.0.1" + resolved "https://registry.yarnpkg.com/spdx-expression-parse/-/spdx-expression-parse-3.0.1.tgz#cf70f50482eefdc98e3ce0a6833e4a53ceeba679" + integrity sha512-cbqHunsQWnJNE6KhVSMsMeH5H/L9EpymbzqTQ3uLwNCLZ1Q481oWaofqH7nO6V07xlXwY6PhQdQ2IedWx/ZK4Q== + dependencies: + spdx-exceptions "^2.1.0" + spdx-license-ids "^3.0.0" + +spdx-license-ids@^3.0.0: + version "3.0.11" + resolved "https://registry.yarnpkg.com/spdx-license-ids/-/spdx-license-ids-3.0.11.tgz#50c0d8c40a14ec1bf449bae69a0ea4685a9d9f95" + integrity sha512-Ctl2BrFiM0X3MANYgj3CkygxhRmr9mi6xhejbdO960nF6EDJApTYpn0BQnDKlnNBULKiCN1n3w9EBkHK8ZWg+g== + +spdy-transport@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/spdy-transport/-/spdy-transport-3.0.0.tgz#00d4863a6400ad75df93361a1608605e5dcdcf31" + integrity sha512-hsLVFE5SjA6TCisWeJXFKniGGOpBgMLmerfO2aCyCU5s7nJ/rpAepqmFifv/GCbSbueEeAJJnmSQ2rKC/g8Fcw== + dependencies: + debug "^4.1.0" + detect-node "^2.0.4" + hpack.js "^2.1.6" + obuf "^1.1.2" + readable-stream "^3.0.6" + wbuf "^1.7.3" + +spdy@^4.0.2: + version "4.0.2" + resolved "https://registry.yarnpkg.com/spdy/-/spdy-4.0.2.tgz#b74f466203a3eda452c02492b91fb9e84a27677b" + integrity sha512-r46gZQZQV+Kl9oItvl1JZZqJKGr+oEkB08A6BzkiR7593/7IbtuncXHd2YoYeTsG4157ZssMu9KYvUHLcjcDoA== + dependencies: + debug "^4.1.0" + handle-thing "^2.0.0" + http-deceiver "^1.2.7" + select-hose "^2.0.0" + spdy-transport "^3.0.0" + +split-string@^3.0.1, split-string@^3.0.2: + version "3.1.0" + resolved "https://registry.yarnpkg.com/split-string/-/split-string-3.1.0.tgz#7cb09dda3a86585705c64b39a6466038682e8fe2" + integrity sha512-NzNVhJDYpwceVVii8/Hu6DKfD2G+NrQHlS/V/qgv763EYudVwEcMQNxd2lh+0VrUByXN/oJkl5grOhYWvQUYiw== + dependencies: + extend-shallow "^3.0.0" + +split@0.3: + version "0.3.3" + resolved "https://registry.yarnpkg.com/split/-/split-0.3.3.tgz#cd0eea5e63a211dfff7eb0f091c4133e2d0dd28f" + integrity sha1-zQ7qXmOiEd//frDwkcQTPi0N0o8= + dependencies: + through "2" + +sprintf-js@^1.1.2: + version "1.1.2" + resolved "https://registry.yarnpkg.com/sprintf-js/-/sprintf-js-1.1.2.tgz#da1765262bf8c0f571749f2ad6c26300207ae673" + integrity sha512-VE0SOVEHCk7Qc8ulkWw3ntAzXuqf7S2lvwQaDLRnUeIEaKNQJzV6BwmLKhOqT61aGhfUMrXeaBk+oDGCzvhcug== + +sprintf-js@~1.0.2: + version "1.0.3" + resolved "https://registry.yarnpkg.com/sprintf-js/-/sprintf-js-1.0.3.tgz#04e6926f662895354f3dd015203633b857297e2c" + integrity sha1-BOaSb2YolTVPPdAVIDYzuFcpfiw= + +ssri@^7.0.0: + version "7.1.1" + resolved "https://registry.yarnpkg.com/ssri/-/ssri-7.1.1.tgz#33e44f896a967158e3c63468e47ec46613b95b5f" + integrity sha512-w+daCzXN89PseTL99MkA+fxJEcU3wfaE/ah0i0lnOlpG1CYLJ2ZjzEry68YBKfLs4JfoTShrTEsJkAZuNZ/stw== + dependencies: + figgy-pudding "^3.5.1" + minipass "^3.1.1" + +ssri@^8.0.0, ssri@^8.0.1: + version "8.0.1" + resolved "https://registry.yarnpkg.com/ssri/-/ssri-8.0.1.tgz#638e4e439e2ffbd2cd289776d5ca457c4f51a2af" + integrity sha512-97qShzy1AiyxvPNIkLWoGua7xoQzzPjQ0HAH4B0rWKo7SZ6USuPcrUiAFrws0UH8RrbWmgq3LMTObhPIHbbBeQ== + dependencies: + minipass "^3.1.1" + +stack-utils@^2.0.3: + version "2.0.5" + resolved "https://registry.yarnpkg.com/stack-utils/-/stack-utils-2.0.5.tgz#d25265fca995154659dbbfba3b49254778d2fdd5" + integrity sha512-xrQcmYhOsn/1kX+Vraq+7j4oE2j/6BFscZ0etmYg81xuM8Gq0022Pxb8+IqgOFUIaxHs0KaSb7T1+OegiNrNFA== + dependencies: + escape-string-regexp "^2.0.0" + +stat-mode@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/stat-mode/-/stat-mode-1.0.0.tgz#68b55cb61ea639ff57136f36b216a291800d1465" + integrity sha512-jH9EhtKIjuXZ2cWxmXS8ZP80XyC3iasQxMDV8jzhNJpfDb7VbQLVW4Wvsxz9QZvzV+G4YoSfBUVKDOyxLzi/sg== + +static-extend@^0.1.1: + version "0.1.2" + resolved "https://registry.yarnpkg.com/static-extend/-/static-extend-0.1.2.tgz#60809c39cbff55337226fd5e0b520f341f1fb5c6" + integrity sha1-YICcOcv/VTNyJv1eC1IPNB8ftcY= + dependencies: + define-property "^0.2.5" + object-copy "^0.1.0" + +"statuses@>= 1.4.0 < 2", "statuses@>= 1.5.0 < 2", statuses@~1.5.0: + version "1.5.0" + resolved "https://registry.yarnpkg.com/statuses/-/statuses-1.5.0.tgz#161c7dac177659fd9811f43771fa99381478628c" + integrity sha1-Fhx9rBd2Wf2YEfQ3cfqZOBR4Yow= + +stream-combiner@~0.0.4: + version "0.0.4" + resolved "https://registry.yarnpkg.com/stream-combiner/-/stream-combiner-0.0.4.tgz#4d5e433c185261dde623ca3f44c586bcf5c4ad14" + integrity sha1-TV5DPBhSYd3mI8o/RMWGvPXErRQ= + dependencies: + duplexer "~0.1.1" + +strict-uri-encode@^1.0.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/strict-uri-encode/-/strict-uri-encode-1.1.0.tgz#279b225df1d582b1f54e65addd4352e18faa0713" + integrity sha1-J5siXfHVgrH1TmWt3UNS4Y+qBxM= + +"string-width@^1.0.2 || 2 || 3 || 4", string-width@^4.0.0, string-width@^4.1.0, string-width@^4.2.0, string-width@^4.2.2, string-width@^4.2.3: + version "4.2.3" + resolved "https://registry.yarnpkg.com/string-width/-/string-width-4.2.3.tgz#269c7117d27b05ad2e536830a8ec895ef9c6d010" + integrity sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g== + dependencies: + emoji-regex "^8.0.0" + is-fullwidth-code-point "^3.0.0" + strip-ansi "^6.0.1" + +string-width@^3.0.0, string-width@^3.1.0: + version "3.1.0" + resolved "https://registry.yarnpkg.com/string-width/-/string-width-3.1.0.tgz#22767be21b62af1081574306f69ac51b62203961" + integrity sha512-vafcv6KjVZKSgz06oM/H6GDBrAtz8vdhQakGjFIvNrHA6y3HCF1CInLy+QLq8dTJPQ1b+KDUqDFctkdRW44e1w== + dependencies: + emoji-regex "^7.0.1" + is-fullwidth-code-point "^2.0.0" + strip-ansi "^5.1.0" + +string.prototype.trimend@^1.0.4: + version "1.0.4" + resolved "https://registry.yarnpkg.com/string.prototype.trimend/-/string.prototype.trimend-1.0.4.tgz#e75ae90c2942c63504686c18b287b4a0b1a45f80" + integrity sha512-y9xCjw1P23Awk8EvTpcyL2NIr1j7wJ39f+k6lvRnSMz+mz9CGz9NYPelDk42kOz6+ql8xjfK8oYzy3jAP5QU5A== + dependencies: + call-bind "^1.0.2" + define-properties "^1.1.3" + +string.prototype.trimstart@^1.0.4: + version "1.0.4" + resolved "https://registry.yarnpkg.com/string.prototype.trimstart/-/string.prototype.trimstart-1.0.4.tgz#b36399af4ab2999b4c9c648bd7a3fb2bb26feeed" + integrity sha512-jh6e984OBfvxS50tdY2nRZnoC5/mLFKOREQfw8t5yytkoUsJRNxvI/E39qu1sD0OtWI3OC0XgKSmcWwziwYuZw== + dependencies: + call-bind "^1.0.2" + define-properties "^1.1.3" + +string_decoder@^1.1.1: + version "1.3.0" + resolved "https://registry.yarnpkg.com/string_decoder/-/string_decoder-1.3.0.tgz#42f114594a46cf1a8e30b0a84f56c78c3edac21e" + integrity sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA== + dependencies: + safe-buffer "~5.2.0" + +string_decoder@~1.1.1: + version "1.1.1" + resolved "https://registry.yarnpkg.com/string_decoder/-/string_decoder-1.1.1.tgz#9cf1611ba62685d7030ae9e4ba34149c3af03fc8" + integrity sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg== + dependencies: + safe-buffer "~5.1.0" + +strip-ansi@^3.0.1: + version "3.0.1" + resolved "https://registry.yarnpkg.com/strip-ansi/-/strip-ansi-3.0.1.tgz#6a385fb8853d952d5ff05d0e8aaf94278dc63dcf" + integrity sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8= + dependencies: + ansi-regex "^2.0.0" + +strip-ansi@^5.0.0, strip-ansi@^5.1.0, strip-ansi@^5.2.0: + version "5.2.0" + resolved "https://registry.yarnpkg.com/strip-ansi/-/strip-ansi-5.2.0.tgz#8c9a536feb6afc962bdfa5b104a5091c1ad9c0ae" + integrity sha512-DuRs1gKbBqsMKIZlrffwlug8MHkcnpjs5VPmL1PAh+mA30U0DTotfDZ0d2UUsXpPmPmMMJ6W773MaA3J+lbiWA== + dependencies: + ansi-regex "^4.1.0" + +strip-ansi@^6.0.0, strip-ansi@^6.0.1: + version "6.0.1" + resolved "https://registry.yarnpkg.com/strip-ansi/-/strip-ansi-6.0.1.tgz#9e26c63d30f53443e9489495b2105d37b67a85d9" + integrity sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A== + dependencies: + ansi-regex "^5.0.1" + +strip-bom@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/strip-bom/-/strip-bom-3.0.0.tgz#2334c18e9c759f7bdd56fdef7e9ae3d588e68ed3" + integrity sha1-IzTBjpx1n3vdVv3vfprj1YjmjtM= + +strip-bom@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/strip-bom/-/strip-bom-4.0.0.tgz#9c3505c1db45bcedca3d9cf7a16f5c5aa3901878" + integrity sha512-3xurFv5tEgii33Zi8Jtp55wEIILR9eh34FAW00PZf+JnSsTmV/ioewSgQl97JHvgjoRGwPShsWm+IdrxB35d0w== + +strip-eof@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/strip-eof/-/strip-eof-1.0.0.tgz#bb43ff5598a6eb05d89b59fcd129c983313606bf" + integrity sha1-u0P/VZim6wXYm1n80SnJgzE2Br8= + +strip-json-comments@^3.0.1: + version "3.1.1" + resolved "https://registry.yarnpkg.com/strip-json-comments/-/strip-json-comments-3.1.1.tgz#31f1281b3832630434831c310c01cccda8cbe006" + integrity sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig== + +strip-json-comments@~2.0.1: + version "2.0.1" + resolved "https://registry.yarnpkg.com/strip-json-comments/-/strip-json-comments-2.0.1.tgz#3c531942e908c2697c0ec344858c286c7ca0a60a" + integrity sha1-PFMZQukIwml8DsNEhYwobHygpgo= + +strip-outer@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/strip-outer/-/strip-outer-1.0.1.tgz#b2fd2abf6604b9d1e6013057195df836b8a9d631" + integrity sha512-k55yxKHwaXnpYGsOzg4Vl8+tDrWylxDEpknGjhTiZB8dFRU5rTo9CAzeycivxV3s+zlTKwrs6WxMxR95n26kwg== + dependencies: + escape-string-regexp "^1.0.2" + +strtok3@^6.2.4: + version "6.2.4" + resolved "https://registry.yarnpkg.com/strtok3/-/strtok3-6.2.4.tgz#302aea64c0fa25d12a0385069ba66253fdc38a81" + integrity sha512-GO8IcFF9GmFDvqduIspUBwCzCbqzegyVKIsSymcMgiZKeCfrN9SowtUoi8+b59WZMAjIzVZic/Ft97+pynR3Iw== + dependencies: + "@tokenizer/token" "^0.3.0" + peek-readable "^4.0.1" + +style-loader@^1.1.3: + version "1.3.0" + resolved "https://registry.yarnpkg.com/style-loader/-/style-loader-1.3.0.tgz#828b4a3b3b7e7aa5847ce7bae9e874512114249e" + integrity sha512-V7TCORko8rs9rIqkSrlMfkqA63DfoGBBJmK1kKGCcSi+BWb4cqz0SRsnp4l6rU5iwOEd0/2ePv68SV22VXon4Q== + dependencies: + loader-utils "^2.0.0" + schema-utils "^2.7.0" + +sumchecker@^3.0.1: + version "3.0.1" + resolved "https://registry.yarnpkg.com/sumchecker/-/sumchecker-3.0.1.tgz#6377e996795abb0b6d348e9b3e1dfb24345a8e42" + integrity sha512-MvjXzkz/BOfyVDkG0oFOtBxHX2u3gKbMHIF/dXblZsgD3BWOFLmHovIpZY7BykJdAjcqRCBi1WYBNdEC9yI7vg== + dependencies: + debug "^4.1.0" + +supports-color@^5.3.0: + version "5.5.0" + resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-5.5.0.tgz#e2e69a44ac8772f78a1ec0b35b689df6530efc8f" + integrity sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow== + dependencies: + has-flag "^3.0.0" + +supports-color@^6.1.0: + version "6.1.0" + resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-6.1.0.tgz#0764abc69c63d5ac842dd4867e8d025e880df8f3" + integrity sha512-qe1jfm1Mg7Nq/NSh6XE24gPXROEVsWHxC1LIx//XNlD9iw7YZQGjZNjYN7xGaEG6iKdA8EtNFW6R0gjnVXp+wQ== + dependencies: + has-flag "^3.0.0" + +supports-color@^7.0.0, supports-color@^7.1.0: + version "7.2.0" + resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-7.2.0.tgz#1b7dcdcb32b8138801b3e478ba6a51caa89648da" + integrity sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw== + dependencies: + has-flag "^4.0.0" + +supports-color@^8.0.0: + version "8.1.1" + resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-8.1.1.tgz#cd6fc17e28500cff56c1b86c0a7fd4a54a73005c" + integrity sha512-MpUEN2OodtUzxvKQl72cUF7RQ5EiHsGvSsVG0ia9c5RbWGL2CI4C7EpPS8UTBIplnlzZiNuV56w+FuNxy3ty2Q== + dependencies: + has-flag "^4.0.0" + +supports-preserve-symlinks-flag@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/supports-preserve-symlinks-flag/-/supports-preserve-symlinks-flag-1.0.0.tgz#6eda4bd344a3c94aea376d4cc31bc77311039e09" + integrity sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w== + +tapable@^1.0.0, tapable@^1.1.3: + version "1.1.3" + resolved "https://registry.yarnpkg.com/tapable/-/tapable-1.1.3.tgz#a1fccc06b58db61fd7a45da2da44f5f3a3e67ba2" + integrity sha512-4WK/bYZmj8xLr+HUCODHGF1ZFzsYffasLUgEiMBY4fgtltdO6B4WJtlSbPaDTLpYTcGVwM2qLnFTICEcNxs3kA== + +tapable@^2.1.1, tapable@^2.2.0: + version "2.2.1" + resolved "https://registry.yarnpkg.com/tapable/-/tapable-2.2.1.tgz#1967a73ef4060a82f12ab96af86d52fdb76eeca0" + integrity sha512-GNzQvQTOIP6RyTfE2Qxb8ZVlNmw0n88vp1szwWRimP02mnTsx3Wtn5qRdqY9w2XduFNUgvOwhNnQsjwCp+kqaQ== + +tar@^6.0.2, tar@^6.1.2: + version "6.1.11" + resolved "https://registry.yarnpkg.com/tar/-/tar-6.1.11.tgz#6760a38f003afa1b2ffd0ffe9e9abbd0eab3d621" + integrity sha512-an/KZQzQUkZCkuoAA64hM92X0Urb6VpRhAFllDzz44U2mcD5scmT3zBc4VgVpkugF580+DQn8eAFSyoQt0tznA== + dependencies: + chownr "^2.0.0" + fs-minipass "^2.0.0" + minipass "^3.0.0" + minizlib "^2.1.1" + mkdirp "^1.0.3" + yallist "^4.0.0" + +temp-file@^3.4.0: + version "3.4.0" + resolved "https://registry.yarnpkg.com/temp-file/-/temp-file-3.4.0.tgz#766ea28911c683996c248ef1a20eea04d51652c7" + integrity sha512-C5tjlC/HCtVUOi3KWVokd4vHVViOmGjtLwIh4MuzPo/nMYTV/p1urt3RnMz2IWXDdKEGJH3k5+KPxtqRsUYGtg== + dependencies: + async-exit-hook "^2.0.1" + fs-extra "^10.0.0" + +terser-webpack-plugin@^2.3.5: + version "2.3.8" + resolved "https://registry.yarnpkg.com/terser-webpack-plugin/-/terser-webpack-plugin-2.3.8.tgz#894764a19b0743f2f704e7c2a848c5283a696724" + integrity sha512-/fKw3R+hWyHfYx7Bv6oPqmk4HGQcrWLtV3X6ggvPuwPNHSnzvVV51z6OaaCOus4YLjutYGOz3pEpbhe6Up2s1w== + dependencies: + cacache "^13.0.1" + find-cache-dir "^3.3.1" + jest-worker "^25.4.0" + p-limit "^2.3.0" + schema-utils "^2.6.6" + serialize-javascript "^4.0.0" + source-map "^0.6.1" + terser "^4.6.12" + webpack-sources "^1.4.3" + +terser-webpack-plugin@^5.1.3: + version "5.3.1" + resolved "https://registry.yarnpkg.com/terser-webpack-plugin/-/terser-webpack-plugin-5.3.1.tgz#0320dcc270ad5372c1e8993fabbd927929773e54" + integrity sha512-GvlZdT6wPQKbDNW/GDQzZFg/j4vKU96yl2q6mcUkzKOgW4gwf1Z8cZToUCrz31XHlPWH8MVb1r2tFtdDtTGJ7g== + dependencies: + jest-worker "^27.4.5" + schema-utils "^3.1.1" + serialize-javascript "^6.0.0" + source-map "^0.6.1" + terser "^5.7.2" + +terser@^4.6.12, terser@^4.6.3: + version "4.8.0" + resolved "https://registry.yarnpkg.com/terser/-/terser-4.8.0.tgz#63056343d7c70bb29f3af665865a46fe03a0df17" + integrity sha512-EAPipTNeWsb/3wLPeup1tVPaXfIaU68xMnVdPafIL1TV05OhASArYyIfFvnvJCNrR2NIOvDVNNTFRa+Re2MWyw== + dependencies: + commander "^2.20.0" + source-map "~0.6.1" + source-map-support "~0.5.12" + +terser@^5.7.2: + version "5.10.0" + resolved "https://registry.yarnpkg.com/terser/-/terser-5.10.0.tgz#b86390809c0389105eb0a0b62397563096ddafcc" + integrity sha512-AMmF99DMfEDiRJfxfY5jj5wNH/bYO09cniSqhfoyxc8sFoYIgkJy86G04UoZU5VjlpnplVu0K6Tx6E9b5+DlHA== + dependencies: + commander "^2.20.0" + source-map "~0.7.2" + source-map-support "~0.5.20" + +through@2, through@~2.3, through@~2.3.1: + version "2.3.8" + resolved "https://registry.yarnpkg.com/through/-/through-2.3.8.tgz#0dd4c9ffaabc357960b1b724115d7e0e86a2e1f5" + integrity sha1-DdTJ/6q8NXlgsbckEV1+Doai4fU= + +thunky@^1.0.2: + version "1.1.0" + resolved "https://registry.yarnpkg.com/thunky/-/thunky-1.1.0.tgz#5abaf714a9405db0504732bbccd2cedd9ef9537d" + integrity sha512-eHY7nBftgThBqOyHGVN+l8gF0BucP09fMo0oO/Lb0w1OF80dJv+lDVpXG60WMQvkcxAkNybKsrEIE3ZtKGmPrA== + +tmp-promise@^3.0.2: + version "3.0.3" + resolved "https://registry.yarnpkg.com/tmp-promise/-/tmp-promise-3.0.3.tgz#60a1a1cc98c988674fcbfd23b6e3367bdeac4ce7" + integrity sha512-RwM7MoPojPxsOBYnyd2hy0bxtIlVrihNs9pj5SUvY8Zz1sQcQG2tG1hSr8PDxfgEB8RNKDhqbIlroIarSNDNsQ== + dependencies: + tmp "^0.2.0" + +tmp@^0.2.0: + version "0.2.1" + resolved "https://registry.yarnpkg.com/tmp/-/tmp-0.2.1.tgz#8457fc3037dcf4719c251367a1af6500ee1ccf14" + integrity sha512-76SUhtfqR2Ijn+xllcI5P1oyannHNHByD80W1q447gU3mp9G9PSpGdWmjUOHRDPiHYacIk66W7ubDTuPF3BEtQ== + dependencies: + rimraf "^3.0.0" + +to-fast-properties@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/to-fast-properties/-/to-fast-properties-2.0.0.tgz#dc5e698cbd079265bc73e0377681a4e4e83f616e" + integrity sha1-3F5pjL0HkmW8c+A3doGk5Og/YW4= + +to-object-path@^0.3.0: + version "0.3.0" + resolved "https://registry.yarnpkg.com/to-object-path/-/to-object-path-0.3.0.tgz#297588b7b0e7e0ac08e04e672f85c1f4999e17af" + integrity sha1-KXWIt7Dn4KwI4E5nL4XB9JmeF68= + dependencies: + kind-of "^3.0.2" + +to-readable-stream@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/to-readable-stream/-/to-readable-stream-1.0.0.tgz#ce0aa0c2f3df6adf852efb404a783e77c0475771" + integrity sha512-Iq25XBt6zD5npPhlLVXGFN3/gyR2/qODcKNNyTMd4vbm39HUaOiAM4PMq0eMVC/Tkxz+Zjdsc55g9yyz+Yq00Q== + +to-regex-range@^2.1.0: + version "2.1.1" + resolved "https://registry.yarnpkg.com/to-regex-range/-/to-regex-range-2.1.1.tgz#7c80c17b9dfebe599e27367e0d4dd5590141db38" + integrity sha1-fIDBe53+vlmeJzZ+DU3VWQFB2zg= + dependencies: + is-number "^3.0.0" + repeat-string "^1.6.1" + +to-regex-range@^5.0.1: + version "5.0.1" + resolved "https://registry.yarnpkg.com/to-regex-range/-/to-regex-range-5.0.1.tgz#1648c44aae7c8d988a326018ed72f5b4dd0392e4" + integrity sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ== + dependencies: + is-number "^7.0.0" + +to-regex@^3.0.1, to-regex@^3.0.2: + version "3.0.2" + resolved "https://registry.yarnpkg.com/to-regex/-/to-regex-3.0.2.tgz#13cfdd9b336552f30b51f33a8ae1b42a7a7599ce" + integrity sha512-FWtleNAtZ/Ki2qtqej2CXTOayOH9bHDQF+Q48VpWyDXjbYxA4Yz8iDB31zXOBUlOHHKidDbqGVrTUvQMPmBGBw== + dependencies: + define-property "^2.0.2" + extend-shallow "^3.0.2" + regex-not "^1.0.2" + safe-regex "^1.1.0" + +toidentifier@1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/toidentifier/-/toidentifier-1.0.1.tgz#3be34321a88a820ed1bd80dfaa33e479fbb8dd35" + integrity sha512-o5sSPKEkg/DIQNmH43V0/uerLrpzVedkUh8tGNvaeXpfpuwjKenlSox/2O/BTlZUtEe+JG7s5YhEz608PlAHRA== + +token-types@^4.1.1: + version "4.1.1" + resolved "https://registry.yarnpkg.com/token-types/-/token-types-4.1.1.tgz#ef9e8c8e2e0ded9f1b3f8dbaa46a3228b113ba1a" + integrity sha512-hD+QyuUAyI2spzsI0B7gf/jJ2ggR4RjkAo37j3StuePhApJUwcWDjnHDOFdIWYSwNR28H14hpwm4EI+V1Ted1w== + dependencies: + "@tokenizer/token" "^0.3.0" + ieee754 "^1.2.1" + +tr46@~0.0.3: + version "0.0.3" + resolved "https://registry.yarnpkg.com/tr46/-/tr46-0.0.3.tgz#8184fd347dac9cdc185992f3a6622e14b9d9ab6a" + integrity sha1-gYT9NH2snNwYWZLzpmIuFLnZq2o= + +trim-repeated@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/trim-repeated/-/trim-repeated-1.0.0.tgz#e3646a2ea4e891312bf7eace6cfb05380bc01c21" + integrity sha1-42RqLqTokTEr9+rObPsFOAvAHCE= + dependencies: + escape-string-regexp "^1.0.2" + +truncate-utf8-bytes@^1.0.0: + version "1.0.2" + resolved "https://registry.yarnpkg.com/truncate-utf8-bytes/-/truncate-utf8-bytes-1.0.2.tgz#405923909592d56f78a5818434b0b78489ca5f2b" + integrity sha1-QFkjkJWS1W94pYGENLC3hInKXys= + dependencies: + utf8-byte-length "^1.0.1" + +tslib@^1.9.3: + version "1.14.1" + resolved "https://registry.yarnpkg.com/tslib/-/tslib-1.14.1.tgz#cf2d38bdc34a134bcaf1091c41f6619e2f672d00" + integrity sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg== + +tslib@^2.0.3, tslib@^2.2.0: + version "2.3.1" + resolved "https://registry.yarnpkg.com/tslib/-/tslib-2.3.1.tgz#e8a335add5ceae51aa261d32a490158ef042ef01" + integrity sha512-77EbyPPpMz+FRFRuAFlWMtmgUWGe9UOG2Z25NqCwiIjRhOf5iKGuzSe5P2w1laq+FkRy4p+PCuVkJSGkzTEKVw== + +tunnel@^0.0.6: + version "0.0.6" + resolved "https://registry.yarnpkg.com/tunnel/-/tunnel-0.0.6.tgz#72f1314b34a5b192db012324df2cc587ca47f92c" + integrity sha512-1h/Lnq9yajKY2PEbBadPXj3VxsDDu844OnaAo52UVmIzIvwwtBPIuNvkjuzBlTWpfJyUbG3ez0KSBibQkj4ojg== + +type-fest@^0.13.1: + version "0.13.1" + resolved "https://registry.yarnpkg.com/type-fest/-/type-fest-0.13.1.tgz#0172cb5bce80b0bd542ea348db50c7e21834d934" + integrity sha512-34R7HTnG0XIJcBSn5XhDd7nNFPRcXYRZrBB2O2jdKqYODldSzBAqzsWoZYYvduky73toYS/ESqxPvkDf/F0XMg== + +type-fest@^0.20.2: + version "0.20.2" + resolved "https://registry.yarnpkg.com/type-fest/-/type-fest-0.20.2.tgz#1bf207f4b28f91583666cb5fbd327887301cd5f4" + integrity sha512-Ne+eE4r0/iWnpAxD852z3A+N0Bt5RN//NjJwRd2VFHEmrywxf5vsZlh4R6lixl6B+wz/8d+maTSAkN1FIkI3LQ== + +type-fest@^1.0.2: + version "1.4.0" + resolved "https://registry.yarnpkg.com/type-fest/-/type-fest-1.4.0.tgz#e9fb813fe3bf1744ec359d55d1affefa76f14be1" + integrity sha512-yGSza74xk0UG8k+pLh5oeoYirvIiWo5t0/o3zHHAO2tRDiZcxWP7fywNlXhqb6/r6sWvwi+RsyQMWhVLe4BVuA== + +type-is@~1.6.18: + version "1.6.18" + resolved "https://registry.yarnpkg.com/type-is/-/type-is-1.6.18.tgz#4e552cd05df09467dcbc4ef739de89f2cf37c131" + integrity sha512-TkRKr9sUTxEH8MdfuCSP7VizJyzRNMjj2J2do2Jr3Kym598JVdEksuzPQCnlFPW4ky9Q+iA+ma9BGm06XQBy8g== + dependencies: + media-typer "0.3.0" + mime-types "~2.1.24" + +typedarray-to-buffer@^3.1.5: + version "3.1.5" + resolved "https://registry.yarnpkg.com/typedarray-to-buffer/-/typedarray-to-buffer-3.1.5.tgz#a97ee7a9ff42691b9f783ff1bc5112fe3fca9080" + integrity sha512-zdu8XMNEDepKKR+XYOXAVPtWui0ly0NtohUscw+UmaHiAWT8hrV1rr//H6V+0DvJ3OQ19S979M0laLfX8rm82Q== + dependencies: + is-typedarray "^1.0.0" + +typedarray@^0.0.6: + version "0.0.6" + resolved "https://registry.yarnpkg.com/typedarray/-/typedarray-0.0.6.tgz#867ac74e3864187b1d3d47d996a78ec5c8830777" + integrity sha1-hnrHTjhkGHsdPUfZlqeOxciDB3c= + +typescript@^4.5.5: + version "4.5.5" + resolved "https://registry.yarnpkg.com/typescript/-/typescript-4.5.5.tgz#d8c953832d28924a9e3d37c73d729c846c5896f3" + integrity sha512-TCTIul70LyWe6IJWT8QSYeA54WQe8EjQFU4wY52Fasj5UKx88LNYKCgBEHcOMOrFF1rKGbD8v/xcNWVUq9SymA== + +unbox-primitive@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/unbox-primitive/-/unbox-primitive-1.0.1.tgz#085e215625ec3162574dc8859abee78a59b14471" + integrity sha512-tZU/3NqK3dA5gpE1KtyiJUrEB0lxnGkMFHptJ7q6ewdZ8s12QrODwNbhIJStmJkd1QDXa1NRA8aF2A1zk/Ypyw== + dependencies: + function-bind "^1.1.1" + has-bigints "^1.0.1" + has-symbols "^1.0.2" + which-boxed-primitive "^1.0.2" + +underscore@: + version "1.13.2" + resolved "https://registry.yarnpkg.com/underscore/-/underscore-1.13.2.tgz#276cea1e8b9722a8dbed0100a407dda572125881" + integrity sha512-ekY1NhRzq0B08g4bGuX4wd2jZx5GnKz6mKSqFL4nqBlfyMGiG10gDFhDTMEfYmDL6Jy0FUIZp7wiRB+0BP7J2g== + +unicode-canonical-property-names-ecmascript@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/unicode-canonical-property-names-ecmascript/-/unicode-canonical-property-names-ecmascript-2.0.0.tgz#301acdc525631670d39f6146e0e77ff6bbdebddc" + integrity sha512-yY5PpDlfVIU5+y/BSCxAJRBIS1Zc2dDG3Ujq+sR0U+JjUevW2JhocOF+soROYDSaAezOzOKuyyixhD6mBknSmQ== + +unicode-match-property-ecmascript@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/unicode-match-property-ecmascript/-/unicode-match-property-ecmascript-2.0.0.tgz#54fd16e0ecb167cf04cf1f756bdcc92eba7976c3" + integrity sha512-5kaZCrbp5mmbz5ulBkDkbY0SsPOjKqVS35VpL9ulMPfSl0J0Xsm+9Evphv9CoIZFwre7aJoa94AY6seMKGVN5Q== + dependencies: + unicode-canonical-property-names-ecmascript "^2.0.0" + unicode-property-aliases-ecmascript "^2.0.0" + +unicode-match-property-value-ecmascript@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/unicode-match-property-value-ecmascript/-/unicode-match-property-value-ecmascript-2.0.0.tgz#1a01aa57247c14c568b89775a54938788189a714" + integrity sha512-7Yhkc0Ye+t4PNYzOGKedDhXbYIBe1XEQYQxOPyhcXNMJ0WCABqqj6ckydd6pWRZTHV4GuCPKdBAUiMc60tsKVw== + +unicode-property-aliases-ecmascript@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/unicode-property-aliases-ecmascript/-/unicode-property-aliases-ecmascript-2.0.0.tgz#0a36cb9a585c4f6abd51ad1deddb285c165297c8" + integrity sha512-5Zfuy9q/DFr4tfO7ZPeVXb1aPoeQSdeFMLpYuFebehDAhbuevLs5yxSZmIFN1tP5F9Wl4IpJrYojg85/zgyZHQ== + +union-value@^1.0.0: + version "1.0.1" + resolved "https://registry.yarnpkg.com/union-value/-/union-value-1.0.1.tgz#0b6fe7b835aecda61c6ea4d4f02c14221e109847" + integrity sha512-tJfXmxMeWYnczCVs7XAEvIV7ieppALdyepWMkHkwciRpZraG/xwT+s2JN8+pr1+8jCRf80FFzvr+MpQeeoF4Xg== + dependencies: + arr-union "^3.1.0" + get-value "^2.0.6" + is-extendable "^0.1.1" + set-value "^2.0.1" + +unique-filename@^1.1.1: + version "1.1.1" + resolved "https://registry.yarnpkg.com/unique-filename/-/unique-filename-1.1.1.tgz#1d69769369ada0583103a1e6ae87681b56573230" + integrity sha512-Vmp0jIp2ln35UTXuryvjzkjGdRyf9b2lTXuSYUiPmzRcl3FDtYqAwOnTJkAngD9SWhnoJzDbTKwaOrZ+STtxNQ== + dependencies: + unique-slug "^2.0.0" + +unique-slug@^2.0.0: + version "2.0.2" + resolved "https://registry.yarnpkg.com/unique-slug/-/unique-slug-2.0.2.tgz#baabce91083fc64e945b0f3ad613e264f7cd4e6c" + integrity sha512-zoWr9ObaxALD3DOPfjPSqxt4fnZiWblxHIgeWqW8x7UqDzEtHEQLzji2cuJYQFCU6KmoJikOYAZlrTHHebjx2w== + dependencies: + imurmurhash "^0.1.4" + +unique-string@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/unique-string/-/unique-string-2.0.0.tgz#39c6451f81afb2749de2b233e3f7c5e8843bd89d" + integrity sha512-uNaeirEPvpZWSgzwsPGtU2zVSTrn/8L5q/IexZmH0eH6SA73CmAA5U4GwORTxQAZs95TAXLNqeLoPPNO5gZfWg== + dependencies: + crypto-random-string "^2.0.0" + +universalify@^0.1.0: + version "0.1.2" + resolved "https://registry.yarnpkg.com/universalify/-/universalify-0.1.2.tgz#b646f69be3942dabcecc9d6639c80dc105efaa66" + integrity sha512-rBJeI5CXAlmy1pV+617WB9J63U6XcazHHF2f2dbJix4XzpUF0RS3Zbj0FGIOCAva5P/d/GBOYaACQ1w+0azUkg== + +universalify@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/universalify/-/universalify-2.0.0.tgz#75a4984efedc4b08975c5aeb73f530d02df25717" + integrity sha512-hAZsKq7Yy11Zu1DE0OzWjw7nnLZmJZYTDZZyEFHZdUhV8FkH5MCfoU1XMaxXovpyW5nq5scPqq0ZDP9Zyl04oQ== + +unpipe@1.0.0, unpipe@~1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/unpipe/-/unpipe-1.0.0.tgz#b2bf4ee8514aae6165b4817829d21b2ef49904ec" + integrity sha1-sr9O6FFKrmFltIF4KdIbLvSZBOw= + +unset-value@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/unset-value/-/unset-value-1.0.0.tgz#8376873f7d2335179ffb1e6fc3a8ed0dfc8ab559" + integrity sha1-g3aHP30jNRef+x5vw6jtDfyKtVk= + dependencies: + has-value "^0.3.1" + isobject "^3.0.0" + +upath@^1.1.1: + version "1.2.0" + resolved "https://registry.yarnpkg.com/upath/-/upath-1.2.0.tgz#8f66dbcd55a883acdae4408af8b035a5044c1894" + integrity sha512-aZwGpamFO61g3OlfT7OQCHqhGnW43ieH9WZeP7QxN/G/jS4jfqUkZxoryvJgVPEcrl5NL/ggHsSmLMHuH64Lhg== + +update-notifier@^5.1.0: + version "5.1.0" + resolved "https://registry.yarnpkg.com/update-notifier/-/update-notifier-5.1.0.tgz#4ab0d7c7f36a231dd7316cf7729313f0214d9ad9" + integrity sha512-ItnICHbeMh9GqUy31hFPrD1kcuZ3rpxDZbf4KUDavXwS0bW5m7SLbDQpGX3UYr072cbrF5hFUs3r5tUsPwjfHw== + dependencies: + boxen "^5.0.0" + chalk "^4.1.0" + configstore "^5.0.1" + has-yarn "^2.1.0" + import-lazy "^2.1.0" + is-ci "^2.0.0" + is-installed-globally "^0.4.0" + is-npm "^5.0.0" + is-yarn-global "^0.3.0" + latest-version "^5.1.0" + pupa "^2.1.1" + semver "^7.3.4" + semver-diff "^3.1.1" + xdg-basedir "^4.0.0" + +uri-js@^4.2.2: + version "4.4.1" + resolved "https://registry.yarnpkg.com/uri-js/-/uri-js-4.4.1.tgz#9b1a52595225859e55f669d928f88c6c57f2a77e" + integrity sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg== + dependencies: + punycode "^2.1.0" + +urix@^0.1.0: + version "0.1.0" + resolved "https://registry.yarnpkg.com/urix/-/urix-0.1.0.tgz#da937f7a62e21fec1fd18d49b35c2935067a6c72" + integrity sha1-2pN/emLiH+wf0Y1Js1wpNQZ6bHI= + +url-loader@^4.0.0: + version "4.1.1" + resolved "https://registry.yarnpkg.com/url-loader/-/url-loader-4.1.1.tgz#28505e905cae158cf07c92ca622d7f237e70a4e2" + integrity sha512-3BTV812+AVHHOJQO8O5MkWgZ5aosP7GnROJwvzLS9hWDj00lZ6Z0wNak423Lp9PBZN05N+Jk/N5Si8jRAlGyWA== + dependencies: + loader-utils "^2.0.0" + mime-types "^2.1.27" + schema-utils "^3.0.0" + +url-parse-lax@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/url-parse-lax/-/url-parse-lax-3.0.0.tgz#16b5cafc07dbe3676c1b1999177823d6503acb0c" + integrity sha1-FrXK/Afb42dsGxmZF3gj1lA6yww= + dependencies: + prepend-http "^2.0.0" + +url-parse@^1.4.3, url-parse@^1.5.3: + version "1.5.4" + resolved "https://registry.yarnpkg.com/url-parse/-/url-parse-1.5.4.tgz#e4f645a7e2a0852cc8a66b14b292a3e9a11a97fd" + integrity sha512-ITeAByWWoqutFClc/lRZnFplgXgEZr3WJ6XngMM/N9DMIm4K8zXPCZ1Jdu0rERwO84w1WC5wkle2ubwTA4NTBg== + dependencies: + querystringify "^2.1.1" + requires-port "^1.0.0" + +url@^0.11.0: + version "0.11.0" + resolved "https://registry.yarnpkg.com/url/-/url-0.11.0.tgz#3838e97cfc60521eb73c525a8e55bfdd9e2e28f1" + integrity sha1-ODjpfPxgUh63PFJajlW/3Z4uKPE= + dependencies: + punycode "1.3.2" + querystring "0.2.0" + +use@^3.1.0: + version "3.1.1" + resolved "https://registry.yarnpkg.com/use/-/use-3.1.1.tgz#d50c8cac79a19fbc20f2911f56eb973f4e10070f" + integrity sha512-cwESVXlO3url9YWlFW/TA9cshCEhtu7IKJ/p5soJ/gGpj7vbvFrAY/eIioQ6Dw23KjZhYgiIo8HOs1nQ2vr/oQ== + +utf8-byte-length@^1.0.1: + version "1.0.4" + resolved "https://registry.yarnpkg.com/utf8-byte-length/-/utf8-byte-length-1.0.4.tgz#f45f150c4c66eee968186505ab93fcbb8ad6bf61" + integrity sha1-9F8VDExm7uloGGUFq5P8u4rWv2E= + +util-deprecate@^1.0.1, util-deprecate@^1.0.2, util-deprecate@~1.0.1: + version "1.0.2" + resolved "https://registry.yarnpkg.com/util-deprecate/-/util-deprecate-1.0.2.tgz#450d4dc9fa70de732762fbd2d4a28981419a0ccf" + integrity sha1-RQ1Nyfpw3nMnYvvS1KKJgUGaDM8= + +util.promisify@1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/util.promisify/-/util.promisify-1.0.0.tgz#440f7165a459c9a16dc145eb8e72f35687097030" + integrity sha512-i+6qA2MPhvoKLuxnJNpXAGhg7HphQOSUq2LKMZD0m15EiskXUkMvKdF4Uui0WYeCUGea+o2cw/ZuwehtfsrNkA== + dependencies: + define-properties "^1.1.2" + object.getownpropertydescriptors "^2.0.3" + +utila@~0.4: + version "0.4.0" + resolved "https://registry.yarnpkg.com/utila/-/utila-0.4.0.tgz#8a16a05d445657a3aea5eecc5b12a4fa5379772c" + integrity sha1-ihagXURWV6Oupe7MWxKk+lN5dyw= + +utils-merge@1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/utils-merge/-/utils-merge-1.0.1.tgz#9f95710f50a267947b2ccc124741c1028427e713" + integrity sha1-n5VxD1CiZ5R7LMwSR0HBAoQn5xM= + +uuid@^3.3.2: + version "3.4.0" + resolved "https://registry.yarnpkg.com/uuid/-/uuid-3.4.0.tgz#b23e4358afa8a202fe7a100af1f5f883f02007ee" + integrity sha512-HjSDRw6gZE5JMggctHBcjVak08+KEVhSIiDzFnT9S9aegmp85S/bReBVTb4QTFaRNptJ9kuYaNhnbNEOkbKb/A== + +uuid@^8.3.2: + version "8.3.2" + resolved "https://registry.yarnpkg.com/uuid/-/uuid-8.3.2.tgz#80d5b5ced271bb9af6c445f21a1a04c606cefbe2" + integrity sha512-+NYs2QeMWy+GWFOEm9xnn6HCDp0l7QBD7ml8zLUmJ+93Q5NF0NocErnwkTkXVFNiX3/fpC6afS8Dhb/gz7R7eg== + +v8-compile-cache@^2.1.1, v8-compile-cache@^2.3.0: + version "2.3.0" + resolved "https://registry.yarnpkg.com/v8-compile-cache/-/v8-compile-cache-2.3.0.tgz#2de19618c66dc247dcfb6f99338035d8245a2cee" + integrity sha512-l8lCEmLcLYZh4nbunNZvQCJc5pv7+RCwa8q/LdUx8u7lsWvPDKmpodJAJNwkAhJC//dFY48KuIEmjtd4RViDrA== + +validate-npm-package-license@^3.0.1: + version "3.0.4" + resolved "https://registry.yarnpkg.com/validate-npm-package-license/-/validate-npm-package-license-3.0.4.tgz#fc91f6b9c7ba15c857f4cb2c5defeec39d4f410a" + integrity sha512-DpKm2Ui/xN7/HQKCtpZxoRWBhZ9Z0kqtygG8XCgNQ8ZlDnxuQmWhj566j8fN4Cu3/JmbhsDo7fcAJq4s9h27Ew== + dependencies: + spdx-correct "^3.0.0" + spdx-expression-parse "^3.0.0" + +vary@~1.1.2: + version "1.1.2" + resolved "https://registry.yarnpkg.com/vary/-/vary-1.1.2.tgz#2299f02c6ded30d4a5961b0b9f74524a18f634fc" + integrity sha1-IpnwLG3tMNSllhsLn3RSShj2NPw= + +verror@^1.10.0: + version "1.10.1" + resolved "https://registry.yarnpkg.com/verror/-/verror-1.10.1.tgz#4bf09eeccf4563b109ed4b3d458380c972b0cdeb" + integrity sha512-veufcmxri4e3XSrT0xwfUR7kguIkaxBeosDg00yDWhk49wdwkSUrvvsm7nc75e1PUyvIeZj6nS8VQRYz2/S4Xg== + dependencies: + assert-plus "^1.0.0" + core-util-is "1.0.2" + extsprintf "^1.2.0" + +vue-devtools@^5.1.4: + version "5.1.4" + resolved "https://registry.yarnpkg.com/vue-devtools/-/vue-devtools-5.1.4.tgz#265a7458ade2affb291739176964256b597fa302" + integrity sha512-EBAEXvAHUinsPzoSiElps0JgtLXUnJXKIJbP6nfdz/R63VdKBMfJ34/rFip+4iT7iMbVS5lA4W6N1jq4Hj4LCg== + +watchpack@^2.3.1: + version "2.3.1" + resolved "https://registry.yarnpkg.com/watchpack/-/watchpack-2.3.1.tgz#4200d9447b401156eeca7767ee610f8809bc9d25" + integrity sha512-x0t0JuydIo8qCNctdDrn1OzH/qDzk2+rdCOC3YzumZ42fiMqmQ7T3xQurykYMhYfHaPHTp4ZxAx2NfUo1K6QaA== + dependencies: + glob-to-regexp "^0.4.1" + graceful-fs "^4.1.2" + +wbuf@^1.1.0, wbuf@^1.7.3: + version "1.7.3" + resolved "https://registry.yarnpkg.com/wbuf/-/wbuf-1.7.3.tgz#c1d8d149316d3ea852848895cb6a0bfe887b87df" + integrity sha512-O84QOnr0icsbFGLS0O3bI5FswxzRr8/gHwWkDlQFskhSPryQXvrTMxjxGP4+iWYoauLoBvfDpkrOauZ+0iZpDA== + dependencies: + minimalistic-assert "^1.0.0" + +webidl-conversions@^3.0.0: + version "3.0.1" + resolved "https://registry.yarnpkg.com/webidl-conversions/-/webidl-conversions-3.0.1.tgz#24534275e2a7bc6be7bc86611cc16ae0a5654871" + integrity sha1-JFNCdeKnvGvnvIZhHMFq4KVlSHE= + +webpack-cli@^3.3.11: + version "3.3.12" + resolved "https://registry.yarnpkg.com/webpack-cli/-/webpack-cli-3.3.12.tgz#94e9ada081453cd0aa609c99e500012fd3ad2d4a" + integrity sha512-NVWBaz9k839ZH/sinurM+HcDvJOTXwSjYp1ku+5XKeOC03z8v5QitnK/x+lAxGXFyhdayoIf/GOpv85z3/xPag== + dependencies: + chalk "^2.4.2" + cross-spawn "^6.0.5" + enhanced-resolve "^4.1.1" + findup-sync "^3.0.0" + global-modules "^2.0.0" + import-local "^2.0.0" + interpret "^1.4.0" + loader-utils "^1.4.0" + supports-color "^6.1.0" + v8-compile-cache "^2.1.1" + yargs "^13.3.2" + +webpack-dev-middleware@^3.7.2: + version "3.7.3" + resolved "https://registry.yarnpkg.com/webpack-dev-middleware/-/webpack-dev-middleware-3.7.3.tgz#0639372b143262e2b84ab95d3b91a7597061c2c5" + integrity sha512-djelc/zGiz9nZj/U7PTBi2ViorGJXEWo/3ltkPbDyxCXhhEXkW0ce99falaok4TPj+AsxLiXJR0EBOb0zh9fKQ== + dependencies: + memory-fs "^0.4.1" + mime "^2.4.4" + mkdirp "^0.5.1" + range-parser "^1.2.1" + webpack-log "^2.0.0" + +webpack-dev-server@^3.10.3: + version "3.11.3" + resolved "https://registry.yarnpkg.com/webpack-dev-server/-/webpack-dev-server-3.11.3.tgz#8c86b9d2812bf135d3c9bce6f07b718e30f7c3d3" + integrity sha512-3x31rjbEQWKMNzacUZRE6wXvUFuGpH7vr0lIEbYpMAG9BOxi0928QU1BBswOAP3kg3H1O4hiS+sq4YyAn6ANnA== + dependencies: + ansi-html-community "0.0.8" + bonjour "^3.5.0" + chokidar "^2.1.8" + compression "^1.7.4" + connect-history-api-fallback "^1.6.0" + debug "^4.1.1" + del "^4.1.1" + express "^4.17.1" + html-entities "^1.3.1" + http-proxy-middleware "0.19.1" + import-local "^2.0.0" + internal-ip "^4.3.0" + ip "^1.1.5" + is-absolute-url "^3.0.3" + killable "^1.0.1" + loglevel "^1.6.8" + opn "^5.5.0" + p-retry "^3.0.1" + portfinder "^1.0.26" + schema-utils "^1.0.0" + selfsigned "^1.10.8" + semver "^6.3.0" + serve-index "^1.9.1" + sockjs "^0.3.21" + sockjs-client "^1.5.0" + spdy "^4.0.2" + strip-ansi "^3.0.1" + supports-color "^6.1.0" + url "^0.11.0" + webpack-dev-middleware "^3.7.2" + webpack-log "^2.0.0" + ws "^6.2.1" + yargs "^13.3.2" + +webpack-log@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/webpack-log/-/webpack-log-2.0.0.tgz#5b7928e0637593f119d32f6227c1e0ac31e1b47f" + integrity sha512-cX8G2vR/85UYG59FgkoMamwHUIkSSlV3bBMRsbxVXVUk2j6NleCKjQ/WE9eYg9WY4w25O9w8wKP4rzNZFmUcUg== + dependencies: + ansi-colors "^3.0.0" + uuid "^3.3.2" + +webpack-merge@^4.2.2: + version "4.2.2" + resolved "https://registry.yarnpkg.com/webpack-merge/-/webpack-merge-4.2.2.tgz#a27c52ea783d1398afd2087f547d7b9d2f43634d" + integrity sha512-TUE1UGoTX2Cd42j3krGYqObZbOD+xF7u28WB7tfUordytSjbWTIjK/8V0amkBfTYN4/pB/GIDlJZZ657BGG19g== + dependencies: + lodash "^4.17.15" + +webpack-sources@^1.1.0, webpack-sources@^1.4.3: + version "1.4.3" + resolved "https://registry.yarnpkg.com/webpack-sources/-/webpack-sources-1.4.3.tgz#eedd8ec0b928fbf1cbfe994e22d2d890f330a933" + integrity sha512-lgTS3Xhv1lCOKo7SA5TjKXMjpSM4sBjNV5+q2bqesbSPs5FjGmU6jjtBSkX9b4qW87vDIsCIlUPOEhbZrMdjeQ== + dependencies: + source-list-map "^2.0.0" + source-map "~0.6.1" + +webpack-sources@^3.2.2: + version "3.2.3" + resolved "https://registry.yarnpkg.com/webpack-sources/-/webpack-sources-3.2.3.tgz#2d4daab8451fd4b240cc27055ff6a0c2ccea0cde" + integrity sha512-/DyMEOrDgLKKIG0fmvtz+4dUX/3Ghozwgm6iPp8KRhvn+eQf9+Q7GWxVNMk3+uCPWfdXYC4ExGBckIXdFEfH1w== + +webpack@~5.65.0: + version "5.65.0" + resolved "https://registry.yarnpkg.com/webpack/-/webpack-5.65.0.tgz#ed2891d9145ba1f0d318e4ea4f89c3fa18e6f9be" + integrity sha512-Q5or2o6EKs7+oKmJo7LaqZaMOlDWQse9Tm5l1WAfU/ujLGN5Pb0SqGeVkN/4bpPmEqEP5RnVhiqsOtWtUVwGRw== + dependencies: + "@types/eslint-scope" "^3.7.0" + "@types/estree" "^0.0.50" + "@webassemblyjs/ast" "1.11.1" + "@webassemblyjs/wasm-edit" "1.11.1" + "@webassemblyjs/wasm-parser" "1.11.1" + acorn "^8.4.1" + acorn-import-assertions "^1.7.6" + browserslist "^4.14.5" + chrome-trace-event "^1.0.2" + enhanced-resolve "^5.8.3" + es-module-lexer "^0.9.0" + eslint-scope "5.1.1" + events "^3.2.0" + glob-to-regexp "^0.4.1" + graceful-fs "^4.2.4" + json-parse-better-errors "^1.0.2" + loader-runner "^4.2.0" + mime-types "^2.1.27" + neo-async "^2.6.2" + schema-utils "^3.1.0" + tapable "^2.1.1" + terser-webpack-plugin "^5.1.3" + watchpack "^2.3.1" + webpack-sources "^3.2.2" + +websocket-driver@>=0.5.1, websocket-driver@^0.7.4: + version "0.7.4" + resolved "https://registry.yarnpkg.com/websocket-driver/-/websocket-driver-0.7.4.tgz#89ad5295bbf64b480abcba31e4953aca706f5760" + integrity sha512-b17KeDIQVjvb0ssuSDF2cYXSg2iztliJ4B9WdsuB6J952qCPKmnVq4DyW5motImXHDC1cBT/1UezrJVsKw5zjg== + dependencies: + http-parser-js ">=0.5.1" + safe-buffer ">=5.1.0" + websocket-extensions ">=0.1.1" + +websocket-extensions@>=0.1.1: + version "0.1.4" + resolved "https://registry.yarnpkg.com/websocket-extensions/-/websocket-extensions-0.1.4.tgz#7f8473bc839dfd87608adb95d7eb075211578a42" + integrity sha512-OqedPIGOfsDlo31UNwYbCFMSaO9m9G/0faIHj5/dZFDMFqPTcx6UwqyOy3COEaEOg/9VsGIpdqn62W5KhoKSpg== + +whatwg-url@^5.0.0: + version "5.0.0" + resolved "https://registry.yarnpkg.com/whatwg-url/-/whatwg-url-5.0.0.tgz#966454e8765462e37644d3626f6742ce8b70965d" + integrity sha1-lmRU6HZUYuN2RNNib2dCzotwll0= + dependencies: + tr46 "~0.0.3" + webidl-conversions "^3.0.0" + +which-boxed-primitive@^1.0.2: + version "1.0.2" + resolved "https://registry.yarnpkg.com/which-boxed-primitive/-/which-boxed-primitive-1.0.2.tgz#13757bc89b209b049fe5d86430e21cf40a89a8e6" + integrity sha512-bwZdv0AKLpplFY2KZRX6TvyuN7ojjr7lwkg6ml0roIy9YeuSr7JS372qlNW18UQYzgYK9ziGcerWqZOmEn9VNg== + dependencies: + is-bigint "^1.0.1" + is-boolean-object "^1.1.0" + is-number-object "^1.0.4" + is-string "^1.0.5" + is-symbol "^1.0.3" + +which-module@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/which-module/-/which-module-2.0.0.tgz#d9ef07dce77b9902b8a3a8fa4b31c3e3f7e6e87a" + integrity sha1-2e8H3Od7mQK4o6j6SzHD4/fm6Ho= + +which@^1.2.14, which@^1.2.9, which@^1.3.1: + version "1.3.1" + resolved "https://registry.yarnpkg.com/which/-/which-1.3.1.tgz#a45043d54f5805316da8d62f9f50918d3da70b0a" + integrity sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ== + dependencies: + isexe "^2.0.0" + +which@^2.0.1, which@^2.0.2: + version "2.0.2" + resolved "https://registry.yarnpkg.com/which/-/which-2.0.2.tgz#7c6a8dd0a636a0327e10b59c9286eee93f3f51b1" + integrity sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA== + dependencies: + isexe "^2.0.0" + +wide-align@^1.1.2: + version "1.1.5" + resolved "https://registry.yarnpkg.com/wide-align/-/wide-align-1.1.5.tgz#df1d4c206854369ecf3c9a4898f1b23fbd9d15d3" + integrity sha512-eDMORYaPNZ4sQIuuYPDHdQvf4gyCF9rEEV/yPxGfwPkRodwEgiMUUXTx/dex+Me0wxx53S+NgUHaP7y3MGlDmg== + dependencies: + string-width "^1.0.2 || 2 || 3 || 4" + +widest-line@^3.1.0: + version "3.1.0" + resolved "https://registry.yarnpkg.com/widest-line/-/widest-line-3.1.0.tgz#8292333bbf66cb45ff0de1603b136b7ae1496eca" + integrity sha512-NsmoXalsWVDMGupxZ5R08ka9flZjjiLvHVAWYOKtiKM8ujtZWr9cRffak+uSE48+Ob8ObalXpwyeUiyDD6QFgg== + dependencies: + string-width "^4.0.0" + +wrap-ansi@^5.1.0: + version "5.1.0" + resolved "https://registry.yarnpkg.com/wrap-ansi/-/wrap-ansi-5.1.0.tgz#1fd1f67235d5b6d0fee781056001bfb694c03b09" + integrity sha512-QC1/iN/2/RPVJ5jYK8BGttj5z83LmSKmvbvrXPNCLZSEb32KKVDJDl/MOt2N01qU2H/FkzEa9PKto1BqDjtd7Q== + dependencies: + ansi-styles "^3.2.0" + string-width "^3.0.0" + strip-ansi "^5.0.0" + +wrap-ansi@^6.2.0: + version "6.2.0" + resolved "https://registry.yarnpkg.com/wrap-ansi/-/wrap-ansi-6.2.0.tgz#e9393ba07102e6c91a3b221478f0257cd2856e53" + integrity sha512-r6lPcBGxZXlIcymEu7InxDMhdW0KDxpLgoFLcguasxCaJ/SOIZwINatK9KY/tf+ZrlywOKU0UDj3ATXUBfxJXA== + dependencies: + ansi-styles "^4.0.0" + string-width "^4.1.0" + strip-ansi "^6.0.0" + +wrap-ansi@^7.0.0: + version "7.0.0" + resolved "https://registry.yarnpkg.com/wrap-ansi/-/wrap-ansi-7.0.0.tgz#67e145cff510a6a6984bdf1152911d69d2eb9e43" + integrity sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q== + dependencies: + ansi-styles "^4.0.0" + string-width "^4.1.0" + strip-ansi "^6.0.0" + +wrappy@1: + version "1.0.2" + resolved "https://registry.yarnpkg.com/wrappy/-/wrappy-1.0.2.tgz#b5243d8f3ec1aa35f1364605bc0d1036e30ab69f" + integrity sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8= + +write-file-atomic@^3.0.0: + version "3.0.3" + resolved "https://registry.yarnpkg.com/write-file-atomic/-/write-file-atomic-3.0.3.tgz#56bd5c5a5c70481cd19c571bd39ab965a5de56e8" + integrity sha512-AvHcyZ5JnSfq3ioSyjrBkH9yW4m7Ayk8/9My/DD9onKeu/94fwrMocemO2QAJFAlnnDN+ZDS+ZjAR5ua1/PV/Q== + dependencies: + imurmurhash "^0.1.4" + is-typedarray "^1.0.0" + signal-exit "^3.0.2" + typedarray-to-buffer "^3.1.5" + +ws@^6.2.1: + version "6.2.2" + resolved "https://registry.yarnpkg.com/ws/-/ws-6.2.2.tgz#dd5cdbd57a9979916097652d78f1cc5faea0c32e" + integrity sha512-zmhltoSR8u1cnDsD43TX59mzoMZsLKqUweyYBAIvTngR3shc0W6aOZylZmq/7hqyVxPdi+5Ud2QInblgyE72fw== + dependencies: + async-limiter "~1.0.0" + +ws@^7.3.1, ws@^7.4.6: + version "7.5.6" + resolved "https://registry.yarnpkg.com/ws/-/ws-7.5.6.tgz#e59fc509fb15ddfb65487ee9765c5a51dec5fe7b" + integrity sha512-6GLgCqo2cy2A2rjCNFlxQS6ZljG/coZfZXclldI8FB/1G3CCI36Zd8xy2HrFVACi8tfk5XrgLQEk+P0Tnz9UcA== + +ws@^8.4.2: + version "8.4.2" + resolved "https://registry.yarnpkg.com/ws/-/ws-8.4.2.tgz#18e749868d8439f2268368829042894b6907aa0b" + integrity sha512-Kbk4Nxyq7/ZWqr/tarI9yIt/+iNNFOjBXEWgTb4ydaNHBNGgvf2QHbS9fdfsndfjFlFwEd4Al+mw83YkaD10ZA== + +xdg-basedir@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/xdg-basedir/-/xdg-basedir-4.0.0.tgz#4bc8d9984403696225ef83a1573cbbcb4e79db13" + integrity sha512-PSNhEJDejZYV7h50BohL09Er9VaIefr2LMAf3OEmpCkjOi34eYyQYAXUTjEQtZJTKcF0E2UKTh+osDLsgNim9Q== + +xml2js@^0.4.17, xml2js@^0.4.23: + version "0.4.23" + resolved "https://registry.yarnpkg.com/xml2js/-/xml2js-0.4.23.tgz#a0c69516752421eb2ac758ee4d4ccf58843eac66" + integrity sha512-ySPiMjM0+pLDftHgXY4By0uswI3SPKLDw/i3UXbnO8M/p28zqexCUoPmQFrYD+/1BzhGJSs2i1ERWKJAtiLrug== + dependencies: + sax ">=0.6.0" + xmlbuilder "~11.0.0" + +xmlbuilder@>=11.0.1: + version "15.1.1" + resolved "https://registry.yarnpkg.com/xmlbuilder/-/xmlbuilder-15.1.1.tgz#9dcdce49eea66d8d10b42cae94a79c3c8d0c2ec5" + integrity sha512-yMqGBqtXyeN1e3TGYvgNgDVZ3j84W4cwkOXQswghol6APgZWaff9lnbvN7MHYJOiXsvGPXtjTYJEiC9J2wv9Eg== + +xmlbuilder@^9.0.7: + version "9.0.7" + resolved "https://registry.yarnpkg.com/xmlbuilder/-/xmlbuilder-9.0.7.tgz#132ee63d2ec5565c557e20f4c22df9aca686b10d" + integrity sha1-Ey7mPS7FVlxVfiD0wi35rKaGsQ0= + +xmlbuilder@~11.0.0: + version "11.0.1" + resolved "https://registry.yarnpkg.com/xmlbuilder/-/xmlbuilder-11.0.1.tgz#be9bae1c8a046e76b31127726347d0ad7002beb3" + integrity sha512-fDlsI/kFEx7gLvbecc0/ohLG50fugQp8ryHzMTuW9vSa1GJ0XYWKnhsUx7oie3G98+r56aTQIUB4kht42R3JvA== + +xpipe@*: + version "1.0.5" + resolved "https://registry.yarnpkg.com/xpipe/-/xpipe-1.0.5.tgz#8dd8bf45fc3f7f55f0e054b878f43a62614dafdf" + integrity sha1-jdi/Rfw/f1Xw4FS4ePQ6YmFNr98= + +y18n@^4.0.0: + version "4.0.3" + resolved "https://registry.yarnpkg.com/y18n/-/y18n-4.0.3.tgz#b5f259c82cd6e336921efd7bfd8bf560de9eeedf" + integrity sha512-JKhqTOwSrqNA1NY5lSztJ1GrBiUodLMmIZuLiDaMRJ+itFd+ABVE8XBjOvIWL+rSqNDC74LCSFmlb/U4UZ4hJQ== + +y18n@^5.0.5: + version "5.0.8" + resolved "https://registry.yarnpkg.com/y18n/-/y18n-5.0.8.tgz#7f4934d0f7ca8c56f95314939ddcd2dd91ce1d55" + integrity sha512-0pfFzegeDWJHJIAmTLRP2DwHjdF5s7jo9tuztdQxAhINCdvS+3nGINqPd00AphqJR/0LhANUS6/+7SCb98YOfA== + +yallist@^3.0.2: + version "3.1.1" + resolved "https://registry.yarnpkg.com/yallist/-/yallist-3.1.1.tgz#dbb7daf9bfd8bac9ab45ebf602b8cbad0d5d08fd" + integrity sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g== + +yallist@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/yallist/-/yallist-4.0.0.tgz#9bb92790d9c0effec63be73519e11a35019a3a72" + integrity sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A== + +yargs-parser@^13.1.2: + version "13.1.2" + resolved "https://registry.yarnpkg.com/yargs-parser/-/yargs-parser-13.1.2.tgz#130f09702ebaeef2650d54ce6e3e5706f7a4fb38" + integrity sha512-3lbsNRf/j+A4QuSZfDRA7HRSfWrzO0YjqTJd5kjAq37Zep1CEgaYmrH9Q3GwPiB9cHyd1Y1UwggGhJGoxipbzg== + dependencies: + camelcase "^5.0.0" + decamelize "^1.2.0" + +yargs-parser@^18.1.2: + version "18.1.3" + resolved "https://registry.yarnpkg.com/yargs-parser/-/yargs-parser-18.1.3.tgz#be68c4975c6b2abf469236b0c870362fab09a7b0" + integrity sha512-o50j0JeToy/4K6OZcaQmW6lyXXKhq7csREXcDwk2omFPJEwUNOVtJKvmDr9EI1fAJZUyZcRF7kxGBWmRXudrCQ== + dependencies: + camelcase "^5.0.0" + decamelize "^1.2.0" + +yargs-parser@^20.0.0: + version "20.2.9" + resolved "https://registry.yarnpkg.com/yargs-parser/-/yargs-parser-20.2.9.tgz#2eb7dc3b0289718fc295f362753845c41a0c94ee" + integrity sha512-y11nGElTIV+CT3Zv9t7VKl+Q3hTQoT9a1Qzezhhl6Rp21gJ/IVTW7Z3y9EWXhuUBC2Shnf+DX0antecpAwSP8w== + +yargs-parser@^21.0.0: + version "21.0.0" + resolved "https://registry.yarnpkg.com/yargs-parser/-/yargs-parser-21.0.0.tgz#a485d3966be4317426dd56bdb6a30131b281dc55" + integrity sha512-z9kApYUOCwoeZ78rfRYYWdiU/iNL6mwwYlkkZfJoyMR1xps+NEBX5X7XmRpxkZHhXJ6+Ey00IwKxBBSW9FIjyA== + +yargs@^13.3.2: + version "13.3.2" + resolved "https://registry.yarnpkg.com/yargs/-/yargs-13.3.2.tgz#ad7ffefec1aa59565ac915f82dccb38a9c31a2dd" + integrity sha512-AX3Zw5iPruN5ie6xGRIDgqkT+ZhnRlZMLMHAs8tg7nRruy2Nb+i5o9bwghAogtM08q1dpr2LVoS8KSTMYpWXUw== + dependencies: + cliui "^5.0.0" + find-up "^3.0.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 "^3.0.0" + which-module "^2.0.0" + y18n "^4.0.0" + yargs-parser "^13.1.2" + +yargs@^15.3.1: + version "15.4.1" + resolved "https://registry.yarnpkg.com/yargs/-/yargs-15.4.1.tgz#0d87a16de01aee9d8bec2bfbf74f67851730f4f8" + integrity sha512-aePbxDmcYW++PaqBsJ+HYUFwCdv4LVvdnhBy78E57PIor8/OVvhMrADFFEDh8DHDFRv/O9i3lPhsENjO7QX0+A== + 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" + +yargs@^17.0.1: + version "17.3.1" + resolved "https://registry.yarnpkg.com/yargs/-/yargs-17.3.1.tgz#da56b28f32e2fd45aefb402ed9c26f42be4c07b9" + integrity sha512-WUANQeVgjLbNsEmGk20f+nlHgOqzRFpiGWVaBrYGYIGANIIu3lWjoyi0fNlFmJkvfhCZ6BXINe7/W2O2bV4iaA== + dependencies: + cliui "^7.0.2" + 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.0.0" + +yauzl@^2.10.0: + version "2.10.0" + resolved "https://registry.yarnpkg.com/yauzl/-/yauzl-2.10.0.tgz#c7eb17c93e112cb1086fa6d8e51fb0667b79a5f9" + integrity sha1-x+sXyT4RLLEIb6bY5R+wZnt5pfk= + dependencies: + buffer-crc32 "~0.2.3" + fd-slicer "~1.1.0" + +yazl@^2.5.1: + version "2.5.1" + resolved "https://registry.yarnpkg.com/yazl/-/yazl-2.5.1.tgz#a3d65d3dd659a5b0937850e8609f22fffa2b5c35" + integrity sha512-phENi2PLiHnHb6QBVot+dJnaAZ0xosj7p3fWl+znIjBDlnMI2PsZCJZ306BPTFOaHf5qdDEI8x5qFrSOBN5vrw== + dependencies: + buffer-crc32 "~0.2.3" + +youtube-search-without-api-key@^1.0.7: + version "1.0.7" + resolved "https://registry.yarnpkg.com/youtube-search-without-api-key/-/youtube-search-without-api-key-1.0.7.tgz#39b348d6416318731430a9316da7900c3744bf4f" + integrity sha512-PjwejF6YApZDqTFo46/4q6IQlztUtQsP/8ygcHYyakPHqijIKn36+yUQVPTC92/+IZtqyZBhpTKP1bG6uZKP/Q== + dependencies: + got "^11.8.3" From 175cea1b4ece9e01e9c3104589cb299a9500fde2 Mon Sep 17 00:00:00 2001 From: Maikiwi Date: Sat, 5 Feb 2022 10:21:59 -0800 Subject: [PATCH 003/573] I'm dumb --- src/renderer/views/pages/settings.ejs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/renderer/views/pages/settings.ejs b/src/renderer/views/pages/settings.ejs index 809187a7..ce513e07 100644 --- a/src/renderer/views/pages/settings.ejs +++ b/src/renderer/views/pages/settings.ejs @@ -37,7 +37,7 @@ v-on:change="changeAudioQuality"> - + From 6a912a1c01bdb9fa09ebe15713d00f703d52376a Mon Sep 17 00:00:00 2001 From: Maikiwi Date: Sat, 5 Feb 2022 10:22:06 -0800 Subject: [PATCH 004/573] Revert "oops" This reverts commit 188615f5ad39e5cef75de847f1db9a38389dae36. --- src/renderer/index.js | 2 +- yarn.lock | 8690 ----------------------------------------- 2 files changed, 1 insertion(+), 8691 deletions(-) diff --git a/src/renderer/index.js b/src/renderer/index.js index 72c2f46e..4d0faad6 100644 --- a/src/renderer/index.js +++ b/src/renderer/index.js @@ -2355,7 +2355,7 @@ const app = new Vue({ if (extendedAssets.attributes.audioTraits.includes('lossless')) { app.mk.nowPlayingItem['attributes']['lossless'] = true CiderAudio.audioNodes.llpwEnabled = 1 - console.log("[Cider][Enhance] Audio being enhanced...") + console.log("[Cider][Lossless] Audio being decrypted...") } else { CiderAudio.audioNodes.llpwEnabled = 0 diff --git a/yarn.lock b/yarn.lock index fc4235f7..8b137891 100644 --- a/yarn.lock +++ b/yarn.lock @@ -1,8691 +1 @@ -# THIS IS AN AUTOGENERATED FILE. DO NOT EDIT THIS FILE DIRECTLY. -# yarn lockfile v1 - -"7zip-bin@~5.1.1": - version "5.1.1" - resolved "https://registry.yarnpkg.com/7zip-bin/-/7zip-bin-5.1.1.tgz#9274ec7460652f9c632c59addf24efb1684ef876" - integrity sha512-sAP4LldeWNz0lNzmTird3uWfFDWWTeg6V/MsmyyLR9X1idwKBWIgt/ZvinqQldJm3LecKEs1emkbquO6PCiLVQ== - -"7zip@0.0.6": - version "0.0.6" - resolved "https://registry.yarnpkg.com/7zip/-/7zip-0.0.6.tgz#9cafb171af82329490353b4816f03347aa150a30" - integrity sha1-nK+xca+CMpSQNTtIFvAzR6oVCjA= - -"@ampproject/remapping@^2.0.0": - version "2.0.3" - resolved "https://registry.yarnpkg.com/@ampproject/remapping/-/remapping-2.0.3.tgz#899999b5b7a5ce570d6d9bafdcc1e62cea466cf3" - integrity sha512-DmIAguV77yFP0MGVFWknCMgSLAtsLR3VlRTteR6xgMpIfYtwaZuMvjGv5YlpiqN7S/5q87DHyuIx8oa15kiyag== - dependencies: - "@jridgewell/sourcemap-codec" "^1.4.9" - "@jridgewell/trace-mapping" "^0.2.7" - -"@babel/code-frame@^7.12.13", "@babel/code-frame@^7.14.5", "@babel/code-frame@^7.16.7": - version "7.16.7" - resolved "https://registry.yarnpkg.com/@babel/code-frame/-/code-frame-7.16.7.tgz#44416b6bd7624b998f5b1af5d470856c40138789" - integrity sha512-iAXqUn8IIeBTNd72xsFlgaXHkMBMt6y4HJp1tIaK465CWLT/fG1aqB7ykr95gHHmlBdGbFeWWfyB4NJJ0nmeIg== - dependencies: - "@babel/highlight" "^7.16.7" - -"@babel/compat-data@^7.13.11", "@babel/compat-data@^7.16.4", "@babel/compat-data@^7.16.8": - version "7.17.0" - resolved "https://registry.yarnpkg.com/@babel/compat-data/-/compat-data-7.17.0.tgz#86850b8597ea6962089770952075dcaabb8dba34" - integrity sha512-392byTlpGWXMv4FbyWw3sAZ/FrW/DrwqLGXpy0mbyNe9Taqv1mg9yON5/o0cnr8XYCkFTZbC1eV+c+LAROgrng== - -"@babel/core@^7.14.8", "@babel/core@^7.9.0": - version "7.17.0" - resolved "https://registry.yarnpkg.com/@babel/core/-/core-7.17.0.tgz#16b8772b0a567f215839f689c5ded6bb20e864d5" - integrity sha512-x/5Ea+RO5MvF9ize5DeVICJoVrNv0Mi2RnIABrZEKYvPEpldXwauPkgvYA17cKa6WpU3LoYvYbuEMFtSNFsarA== - dependencies: - "@ampproject/remapping" "^2.0.0" - "@babel/code-frame" "^7.16.7" - "@babel/generator" "^7.17.0" - "@babel/helper-compilation-targets" "^7.16.7" - "@babel/helper-module-transforms" "^7.16.7" - "@babel/helpers" "^7.17.0" - "@babel/parser" "^7.17.0" - "@babel/template" "^7.16.7" - "@babel/traverse" "^7.17.0" - "@babel/types" "^7.17.0" - convert-source-map "^1.7.0" - debug "^4.1.0" - gensync "^1.0.0-beta.2" - json5 "^2.1.2" - semver "^6.3.0" - -"@babel/generator@^7.17.0": - version "7.17.0" - resolved "https://registry.yarnpkg.com/@babel/generator/-/generator-7.17.0.tgz#7bd890ba706cd86d3e2f727322346ffdbf98f65e" - integrity sha512-I3Omiv6FGOC29dtlZhkfXO6pgkmukJSlT26QjVvS1DGZe/NzSVCPG41X0tS21oZkJYlovfj9qDWgKP+Cn4bXxw== - dependencies: - "@babel/types" "^7.17.0" - jsesc "^2.5.1" - source-map "^0.5.0" - -"@babel/helper-annotate-as-pure@^7.16.7": - version "7.16.7" - resolved "https://registry.yarnpkg.com/@babel/helper-annotate-as-pure/-/helper-annotate-as-pure-7.16.7.tgz#bb2339a7534a9c128e3102024c60760a3a7f3862" - integrity sha512-s6t2w/IPQVTAET1HitoowRGXooX8mCgtuP5195wD/QJPV6wYjpujCGF7JuMODVX2ZAJOf1GT6DT9MHEZvLOFSw== - dependencies: - "@babel/types" "^7.16.7" - -"@babel/helper-builder-binary-assignment-operator-visitor@^7.16.7": - version "7.16.7" - resolved "https://registry.yarnpkg.com/@babel/helper-builder-binary-assignment-operator-visitor/-/helper-builder-binary-assignment-operator-visitor-7.16.7.tgz#38d138561ea207f0f69eb1626a418e4f7e6a580b" - integrity sha512-C6FdbRaxYjwVu/geKW4ZeQ0Q31AftgRcdSnZ5/jsH6BzCJbtvXvhpfkbkThYSuutZA7nCXpPR6AD9zd1dprMkA== - dependencies: - "@babel/helper-explode-assignable-expression" "^7.16.7" - "@babel/types" "^7.16.7" - -"@babel/helper-compilation-targets@^7.13.0", "@babel/helper-compilation-targets@^7.16.7": - version "7.16.7" - resolved "https://registry.yarnpkg.com/@babel/helper-compilation-targets/-/helper-compilation-targets-7.16.7.tgz#06e66c5f299601e6c7da350049315e83209d551b" - integrity sha512-mGojBwIWcwGD6rfqgRXVlVYmPAv7eOpIemUG3dGnDdCY4Pae70ROij3XmfrH6Fa1h1aiDylpglbZyktfzyo/hA== - dependencies: - "@babel/compat-data" "^7.16.4" - "@babel/helper-validator-option" "^7.16.7" - browserslist "^4.17.5" - semver "^6.3.0" - -"@babel/helper-create-class-features-plugin@^7.16.10", "@babel/helper-create-class-features-plugin@^7.16.7": - version "7.17.1" - resolved "https://registry.yarnpkg.com/@babel/helper-create-class-features-plugin/-/helper-create-class-features-plugin-7.17.1.tgz#9699f14a88833a7e055ce57dcd3ffdcd25186b21" - integrity sha512-JBdSr/LtyYIno/pNnJ75lBcqc3Z1XXujzPanHqjvvrhOA+DTceTFuJi8XjmWTZh4r3fsdfqaCMN0iZemdkxZHQ== - dependencies: - "@babel/helper-annotate-as-pure" "^7.16.7" - "@babel/helper-environment-visitor" "^7.16.7" - "@babel/helper-function-name" "^7.16.7" - "@babel/helper-member-expression-to-functions" "^7.16.7" - "@babel/helper-optimise-call-expression" "^7.16.7" - "@babel/helper-replace-supers" "^7.16.7" - "@babel/helper-split-export-declaration" "^7.16.7" - -"@babel/helper-create-regexp-features-plugin@^7.16.7": - version "7.17.0" - resolved "https://registry.yarnpkg.com/@babel/helper-create-regexp-features-plugin/-/helper-create-regexp-features-plugin-7.17.0.tgz#1dcc7d40ba0c6b6b25618997c5dbfd310f186fe1" - integrity sha512-awO2So99wG6KnlE+TPs6rn83gCz5WlEePJDTnLEqbchMVrBeAujURVphRdigsk094VhvZehFoNOihSlcBjwsXA== - dependencies: - "@babel/helper-annotate-as-pure" "^7.16.7" - regexpu-core "^5.0.1" - -"@babel/helper-define-polyfill-provider@^0.3.1": - version "0.3.1" - resolved "https://registry.yarnpkg.com/@babel/helper-define-polyfill-provider/-/helper-define-polyfill-provider-0.3.1.tgz#52411b445bdb2e676869e5a74960d2d3826d2665" - integrity sha512-J9hGMpJQmtWmj46B3kBHmL38UhJGhYX7eqkcq+2gsstyYt341HmPeWspihX43yVRA0mS+8GGk2Gckc7bY/HCmA== - dependencies: - "@babel/helper-compilation-targets" "^7.13.0" - "@babel/helper-module-imports" "^7.12.13" - "@babel/helper-plugin-utils" "^7.13.0" - "@babel/traverse" "^7.13.0" - debug "^4.1.1" - lodash.debounce "^4.0.8" - resolve "^1.14.2" - semver "^6.1.2" - -"@babel/helper-environment-visitor@^7.16.7": - version "7.16.7" - resolved "https://registry.yarnpkg.com/@babel/helper-environment-visitor/-/helper-environment-visitor-7.16.7.tgz#ff484094a839bde9d89cd63cba017d7aae80ecd7" - integrity sha512-SLLb0AAn6PkUeAfKJCCOl9e1R53pQlGAfc4y4XuMRZfqeMYLE0dM1LMhqbGAlGQY0lfw5/ohoYWAe9V1yibRag== - dependencies: - "@babel/types" "^7.16.7" - -"@babel/helper-explode-assignable-expression@^7.16.7": - version "7.16.7" - resolved "https://registry.yarnpkg.com/@babel/helper-explode-assignable-expression/-/helper-explode-assignable-expression-7.16.7.tgz#12a6d8522fdd834f194e868af6354e8650242b7a" - integrity sha512-KyUenhWMC8VrxzkGP0Jizjo4/Zx+1nNZhgocs+gLzyZyB8SHidhoq9KK/8Ato4anhwsivfkBLftky7gvzbZMtQ== - dependencies: - "@babel/types" "^7.16.7" - -"@babel/helper-function-name@^7.16.7": - version "7.16.7" - resolved "https://registry.yarnpkg.com/@babel/helper-function-name/-/helper-function-name-7.16.7.tgz#f1ec51551fb1c8956bc8dd95f38523b6cf375f8f" - integrity sha512-QfDfEnIUyyBSR3HtrtGECuZ6DAyCkYFp7GHl75vFtTnn6pjKeK0T1DB5lLkFvBea8MdaiUABx3osbgLyInoejA== - dependencies: - "@babel/helper-get-function-arity" "^7.16.7" - "@babel/template" "^7.16.7" - "@babel/types" "^7.16.7" - -"@babel/helper-get-function-arity@^7.16.7": - version "7.16.7" - resolved "https://registry.yarnpkg.com/@babel/helper-get-function-arity/-/helper-get-function-arity-7.16.7.tgz#ea08ac753117a669f1508ba06ebcc49156387419" - integrity sha512-flc+RLSOBXzNzVhcLu6ujeHUrD6tANAOU5ojrRx/as+tbzf8+stUCj7+IfRRoAbEZqj/ahXEMsjhOhgeZsrnTw== - dependencies: - "@babel/types" "^7.16.7" - -"@babel/helper-hoist-variables@^7.16.7": - version "7.16.7" - resolved "https://registry.yarnpkg.com/@babel/helper-hoist-variables/-/helper-hoist-variables-7.16.7.tgz#86bcb19a77a509c7b77d0e22323ef588fa58c246" - integrity sha512-m04d/0Op34H5v7pbZw6pSKP7weA6lsMvfiIAMeIvkY/R4xQtBSMFEigu9QTZ2qB/9l22vsxtM8a+Q8CzD255fg== - dependencies: - "@babel/types" "^7.16.7" - -"@babel/helper-member-expression-to-functions@^7.16.7": - version "7.16.7" - resolved "https://registry.yarnpkg.com/@babel/helper-member-expression-to-functions/-/helper-member-expression-to-functions-7.16.7.tgz#42b9ca4b2b200123c3b7e726b0ae5153924905b0" - integrity sha512-VtJ/65tYiU/6AbMTDwyoXGPKHgTsfRarivm+YbB5uAzKUyuPjgZSgAFeG87FCigc7KNHu2Pegh1XIT3lXjvz3Q== - dependencies: - "@babel/types" "^7.16.7" - -"@babel/helper-module-imports@7.0.0-beta.35": - version "7.0.0-beta.35" - resolved "https://registry.yarnpkg.com/@babel/helper-module-imports/-/helper-module-imports-7.0.0-beta.35.tgz#308e350e731752cdb4d0f058df1d704925c64e0a" - integrity sha512-vaC1KyIZSuyWb3Lj277fX0pxivyHwuDU4xZsofqgYAbkDxNieMg2vuhzP5AgMweMY7fCQUMTi+BgPqTLjkxXFg== - dependencies: - "@babel/types" "7.0.0-beta.35" - lodash "^4.2.0" - -"@babel/helper-module-imports@^7.12.13", "@babel/helper-module-imports@^7.16.7": - version "7.16.7" - resolved "https://registry.yarnpkg.com/@babel/helper-module-imports/-/helper-module-imports-7.16.7.tgz#25612a8091a999704461c8a222d0efec5d091437" - integrity sha512-LVtS6TqjJHFc+nYeITRo6VLXve70xmq7wPhWTqDJusJEgGmkAACWwMiTNrvfoQo6hEhFwAIixNkvB0jPXDL8Wg== - dependencies: - "@babel/types" "^7.16.7" - -"@babel/helper-module-transforms@^7.16.7": - version "7.16.7" - resolved "https://registry.yarnpkg.com/@babel/helper-module-transforms/-/helper-module-transforms-7.16.7.tgz#7665faeb721a01ca5327ddc6bba15a5cb34b6a41" - integrity sha512-gaqtLDxJEFCeQbYp9aLAefjhkKdjKcdh6DB7jniIGU3Pz52WAmP268zK0VgPz9hUNkMSYeH976K2/Y6yPadpng== - dependencies: - "@babel/helper-environment-visitor" "^7.16.7" - "@babel/helper-module-imports" "^7.16.7" - "@babel/helper-simple-access" "^7.16.7" - "@babel/helper-split-export-declaration" "^7.16.7" - "@babel/helper-validator-identifier" "^7.16.7" - "@babel/template" "^7.16.7" - "@babel/traverse" "^7.16.7" - "@babel/types" "^7.16.7" - -"@babel/helper-optimise-call-expression@^7.16.7": - version "7.16.7" - resolved "https://registry.yarnpkg.com/@babel/helper-optimise-call-expression/-/helper-optimise-call-expression-7.16.7.tgz#a34e3560605abbd31a18546bd2aad3e6d9a174f2" - integrity sha512-EtgBhg7rd/JcnpZFXpBy0ze1YRfdm7BnBX4uKMBd3ixa3RGAE002JZB66FJyNH7g0F38U05pXmA5P8cBh7z+1w== - dependencies: - "@babel/types" "^7.16.7" - -"@babel/helper-plugin-utils@^7.0.0", "@babel/helper-plugin-utils@^7.10.4", "@babel/helper-plugin-utils@^7.12.13", "@babel/helper-plugin-utils@^7.13.0", "@babel/helper-plugin-utils@^7.14.5", "@babel/helper-plugin-utils@^7.16.7", "@babel/helper-plugin-utils@^7.8.0", "@babel/helper-plugin-utils@^7.8.3": - version "7.16.7" - resolved "https://registry.yarnpkg.com/@babel/helper-plugin-utils/-/helper-plugin-utils-7.16.7.tgz#aa3a8ab4c3cceff8e65eb9e73d87dc4ff320b2f5" - integrity sha512-Qg3Nk7ZxpgMrsox6HreY1ZNKdBq7K72tDSliA6dCl5f007jR4ne8iD5UzuNnCJH2xBf2BEEVGr+/OL6Gdp7RxA== - -"@babel/helper-remap-async-to-generator@^7.16.8": - version "7.16.8" - resolved "https://registry.yarnpkg.com/@babel/helper-remap-async-to-generator/-/helper-remap-async-to-generator-7.16.8.tgz#29ffaade68a367e2ed09c90901986918d25e57e3" - integrity sha512-fm0gH7Flb8H51LqJHy3HJ3wnE1+qtYR2A99K06ahwrawLdOFsCEWjZOrYricXJHoPSudNKxrMBUPEIPxiIIvBw== - dependencies: - "@babel/helper-annotate-as-pure" "^7.16.7" - "@babel/helper-wrap-function" "^7.16.8" - "@babel/types" "^7.16.8" - -"@babel/helper-replace-supers@^7.16.7": - version "7.16.7" - resolved "https://registry.yarnpkg.com/@babel/helper-replace-supers/-/helper-replace-supers-7.16.7.tgz#e9f5f5f32ac90429c1a4bdec0f231ef0c2838ab1" - integrity sha512-y9vsWilTNaVnVh6xiJfABzsNpgDPKev9HnAgz6Gb1p6UUwf9NepdlsV7VXGCftJM+jqD5f7JIEubcpLjZj5dBw== - dependencies: - "@babel/helper-environment-visitor" "^7.16.7" - "@babel/helper-member-expression-to-functions" "^7.16.7" - "@babel/helper-optimise-call-expression" "^7.16.7" - "@babel/traverse" "^7.16.7" - "@babel/types" "^7.16.7" - -"@babel/helper-simple-access@^7.16.7": - version "7.16.7" - resolved "https://registry.yarnpkg.com/@babel/helper-simple-access/-/helper-simple-access-7.16.7.tgz#d656654b9ea08dbb9659b69d61063ccd343ff0f7" - integrity sha512-ZIzHVyoeLMvXMN/vok/a4LWRy8G2v205mNP0XOuf9XRLyX5/u9CnVulUtDgUTama3lT+bf/UqucuZjqiGuTS1g== - dependencies: - "@babel/types" "^7.16.7" - -"@babel/helper-skip-transparent-expression-wrappers@^7.16.0": - version "7.16.0" - resolved "https://registry.yarnpkg.com/@babel/helper-skip-transparent-expression-wrappers/-/helper-skip-transparent-expression-wrappers-7.16.0.tgz#0ee3388070147c3ae051e487eca3ebb0e2e8bb09" - integrity sha512-+il1gTy0oHwUsBQZyJvukbB4vPMdcYBrFHa0Uc4AizLxbq6BOYC51Rv4tWocX9BLBDLZ4kc6qUFpQ6HRgL+3zw== - dependencies: - "@babel/types" "^7.16.0" - -"@babel/helper-split-export-declaration@^7.16.7": - version "7.16.7" - resolved "https://registry.yarnpkg.com/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.16.7.tgz#0b648c0c42da9d3920d85ad585f2778620b8726b" - integrity sha512-xbWoy/PFoxSWazIToT9Sif+jJTlrMcndIsaOKvTA6u7QEo7ilkRZpjew18/W3c7nm8fXdUDXh02VXTbZ0pGDNw== - dependencies: - "@babel/types" "^7.16.7" - -"@babel/helper-validator-identifier@^7.16.7": - version "7.16.7" - resolved "https://registry.yarnpkg.com/@babel/helper-validator-identifier/-/helper-validator-identifier-7.16.7.tgz#e8c602438c4a8195751243da9031d1607d247cad" - integrity sha512-hsEnFemeiW4D08A5gUAZxLBTXpZ39P+a+DGDsHw1yxqyQ/jzFEnxf5uTEGp+3bzAbNOxU1paTgYS4ECU/IgfDw== - -"@babel/helper-validator-option@^7.16.7": - version "7.16.7" - resolved "https://registry.yarnpkg.com/@babel/helper-validator-option/-/helper-validator-option-7.16.7.tgz#b203ce62ce5fe153899b617c08957de860de4d23" - integrity sha512-TRtenOuRUVo9oIQGPC5G9DgK4743cdxvtOw0weQNpZXaS16SCBi5MNjZF8vba3ETURjZpTbVn7Vvcf2eAwFozQ== - -"@babel/helper-wrap-function@^7.16.8": - version "7.16.8" - resolved "https://registry.yarnpkg.com/@babel/helper-wrap-function/-/helper-wrap-function-7.16.8.tgz#58afda087c4cd235de92f7ceedebca2c41274200" - integrity sha512-8RpyRVIAW1RcDDGTA+GpPAwV22wXCfKOoM9bet6TLkGIFTkRQSkH1nMQ5Yet4MpoXe1ZwHPVtNasc2w0uZMqnw== - dependencies: - "@babel/helper-function-name" "^7.16.7" - "@babel/template" "^7.16.7" - "@babel/traverse" "^7.16.8" - "@babel/types" "^7.16.8" - -"@babel/helpers@^7.17.0": - version "7.17.0" - resolved "https://registry.yarnpkg.com/@babel/helpers/-/helpers-7.17.0.tgz#79cdf6c66a579f3a7b5e739371bc63ca0306886b" - integrity sha512-Xe/9NFxjPwELUvW2dsukcMZIp6XwPSbI4ojFBJuX5ramHuVE22SVcZIwqzdWo5uCgeTXW8qV97lMvSOjq+1+nQ== - dependencies: - "@babel/template" "^7.16.7" - "@babel/traverse" "^7.17.0" - "@babel/types" "^7.17.0" - -"@babel/highlight@^7.16.7": - version "7.16.10" - resolved "https://registry.yarnpkg.com/@babel/highlight/-/highlight-7.16.10.tgz#744f2eb81579d6eea753c227b0f570ad785aba88" - integrity sha512-5FnTQLSLswEj6IkgVw5KusNUUFY9ZGqe/TRFnP/BKYHYgfh7tc+C7mwiy95/yNP7Dh9x580Vv8r7u7ZfTBFxdw== - dependencies: - "@babel/helper-validator-identifier" "^7.16.7" - chalk "^2.0.0" - js-tokens "^4.0.0" - -"@babel/parser@^7.16.7", "@babel/parser@^7.17.0": - version "7.17.0" - resolved "https://registry.yarnpkg.com/@babel/parser/-/parser-7.17.0.tgz#f0ac33eddbe214e4105363bb17c3341c5ffcc43c" - integrity sha512-VKXSCQx5D8S04ej+Dqsr1CzYvvWgf20jIw2D+YhQCrIlr2UZGaDds23Y0xg75/skOxpLCRpUZvk/1EAVkGoDOw== - -"@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression@^7.16.7": - version "7.16.7" - resolved "https://registry.yarnpkg.com/@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression/-/plugin-bugfix-safari-id-destructuring-collision-in-function-expression-7.16.7.tgz#4eda6d6c2a0aa79c70fa7b6da67763dfe2141050" - integrity sha512-anv/DObl7waiGEnC24O9zqL0pSuI9hljihqiDuFHC8d7/bjr/4RLGPWuc8rYOff/QPzbEPSkzG8wGG9aDuhHRg== - dependencies: - "@babel/helper-plugin-utils" "^7.16.7" - -"@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining@^7.16.7": - version "7.16.7" - resolved "https://registry.yarnpkg.com/@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining/-/plugin-bugfix-v8-spread-parameters-in-optional-chaining-7.16.7.tgz#cc001234dfc139ac45f6bcf801866198c8c72ff9" - integrity sha512-di8vUHRdf+4aJ7ltXhaDbPoszdkh59AQtJM5soLsuHpQJdFQZOA4uGj0V2u/CZ8bJ/u8ULDL5yq6FO/bCXnKHw== - dependencies: - "@babel/helper-plugin-utils" "^7.16.7" - "@babel/helper-skip-transparent-expression-wrappers" "^7.16.0" - "@babel/plugin-proposal-optional-chaining" "^7.16.7" - -"@babel/plugin-proposal-async-generator-functions@^7.16.8": - version "7.16.8" - resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-async-generator-functions/-/plugin-proposal-async-generator-functions-7.16.8.tgz#3bdd1ebbe620804ea9416706cd67d60787504bc8" - integrity sha512-71YHIvMuiuqWJQkebWJtdhQTfd4Q4mF76q2IX37uZPkG9+olBxsX+rH1vkhFto4UeJZ9dPY2s+mDvhDm1u2BGQ== - dependencies: - "@babel/helper-plugin-utils" "^7.16.7" - "@babel/helper-remap-async-to-generator" "^7.16.8" - "@babel/plugin-syntax-async-generators" "^7.8.4" - -"@babel/plugin-proposal-class-properties@^7.14.5", "@babel/plugin-proposal-class-properties@^7.16.7": - version "7.16.7" - resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-class-properties/-/plugin-proposal-class-properties-7.16.7.tgz#925cad7b3b1a2fcea7e59ecc8eb5954f961f91b0" - integrity sha512-IobU0Xme31ewjYOShSIqd/ZGM/r/cuOz2z0MDbNrhF5FW+ZVgi0f2lyeoj9KFPDOAqsYxmLWZte1WOwlvY9aww== - dependencies: - "@babel/helper-create-class-features-plugin" "^7.16.7" - "@babel/helper-plugin-utils" "^7.16.7" - -"@babel/plugin-proposal-class-static-block@^7.16.7": - version "7.16.7" - resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-class-static-block/-/plugin-proposal-class-static-block-7.16.7.tgz#712357570b612106ef5426d13dc433ce0f200c2a" - integrity sha512-dgqJJrcZoG/4CkMopzhPJjGxsIe9A8RlkQLnL/Vhhx8AA9ZuaRwGSlscSh42hazc7WSrya/IK7mTeoF0DP9tEw== - dependencies: - "@babel/helper-create-class-features-plugin" "^7.16.7" - "@babel/helper-plugin-utils" "^7.16.7" - "@babel/plugin-syntax-class-static-block" "^7.14.5" - -"@babel/plugin-proposal-dynamic-import@^7.14.5", "@babel/plugin-proposal-dynamic-import@^7.16.7": - version "7.16.7" - resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-dynamic-import/-/plugin-proposal-dynamic-import-7.16.7.tgz#c19c897eaa46b27634a00fee9fb7d829158704b2" - integrity sha512-I8SW9Ho3/8DRSdmDdH3gORdyUuYnk1m4cMxUAdu5oy4n3OfN8flDEH+d60iG7dUfi0KkYwSvoalHzzdRzpWHTg== - dependencies: - "@babel/helper-plugin-utils" "^7.16.7" - "@babel/plugin-syntax-dynamic-import" "^7.8.3" - -"@babel/plugin-proposal-export-namespace-from@^7.14.5", "@babel/plugin-proposal-export-namespace-from@^7.16.7": - version "7.16.7" - resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-export-namespace-from/-/plugin-proposal-export-namespace-from-7.16.7.tgz#09de09df18445a5786a305681423ae63507a6163" - integrity sha512-ZxdtqDXLRGBL64ocZcs7ovt71L3jhC1RGSyR996svrCi3PYqHNkb3SwPJCs8RIzD86s+WPpt2S73+EHCGO+NUA== - dependencies: - "@babel/helper-plugin-utils" "^7.16.7" - "@babel/plugin-syntax-export-namespace-from" "^7.8.3" - -"@babel/plugin-proposal-json-strings@^7.16.7": - version "7.16.7" - resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-json-strings/-/plugin-proposal-json-strings-7.16.7.tgz#9732cb1d17d9a2626a08c5be25186c195b6fa6e8" - integrity sha512-lNZ3EEggsGY78JavgbHsK9u5P3pQaW7k4axlgFLYkMd7UBsiNahCITShLjNQschPyjtO6dADrL24757IdhBrsQ== - dependencies: - "@babel/helper-plugin-utils" "^7.16.7" - "@babel/plugin-syntax-json-strings" "^7.8.3" - -"@babel/plugin-proposal-logical-assignment-operators@^7.14.5", "@babel/plugin-proposal-logical-assignment-operators@^7.16.7": - version "7.16.7" - resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-logical-assignment-operators/-/plugin-proposal-logical-assignment-operators-7.16.7.tgz#be23c0ba74deec1922e639832904be0bea73cdea" - integrity sha512-K3XzyZJGQCr00+EtYtrDjmwX7o7PLK6U9bi1nCwkQioRFVUv6dJoxbQjtWVtP+bCPy82bONBKG8NPyQ4+i6yjg== - dependencies: - "@babel/helper-plugin-utils" "^7.16.7" - "@babel/plugin-syntax-logical-assignment-operators" "^7.10.4" - -"@babel/plugin-proposal-nullish-coalescing-operator@^7.14.5", "@babel/plugin-proposal-nullish-coalescing-operator@^7.16.7": - version "7.16.7" - resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-nullish-coalescing-operator/-/plugin-proposal-nullish-coalescing-operator-7.16.7.tgz#141fc20b6857e59459d430c850a0011e36561d99" - integrity sha512-aUOrYU3EVtjf62jQrCj63pYZ7k6vns2h/DQvHPWGmsJRYzWXZ6/AsfgpiRy6XiuIDADhJzP2Q9MwSMKauBQ+UQ== - dependencies: - "@babel/helper-plugin-utils" "^7.16.7" - "@babel/plugin-syntax-nullish-coalescing-operator" "^7.8.3" - -"@babel/plugin-proposal-numeric-separator@^7.14.5", "@babel/plugin-proposal-numeric-separator@^7.16.7": - version "7.16.7" - resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-numeric-separator/-/plugin-proposal-numeric-separator-7.16.7.tgz#d6b69f4af63fb38b6ca2558442a7fb191236eba9" - integrity sha512-vQgPMknOIgiuVqbokToyXbkY/OmmjAzr/0lhSIbG/KmnzXPGwW/AdhdKpi+O4X/VkWiWjnkKOBiqJrTaC98VKw== - dependencies: - "@babel/helper-plugin-utils" "^7.16.7" - "@babel/plugin-syntax-numeric-separator" "^7.10.4" - -"@babel/plugin-proposal-object-rest-spread@^7.16.7": - version "7.16.7" - resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-object-rest-spread/-/plugin-proposal-object-rest-spread-7.16.7.tgz#94593ef1ddf37021a25bdcb5754c4a8d534b01d8" - integrity sha512-3O0Y4+dw94HA86qSg9IHfyPktgR7q3gpNVAeiKQd+8jBKFaU5NQS1Yatgo4wY+UFNuLjvxcSmzcsHqrhgTyBUA== - dependencies: - "@babel/compat-data" "^7.16.4" - "@babel/helper-compilation-targets" "^7.16.7" - "@babel/helper-plugin-utils" "^7.16.7" - "@babel/plugin-syntax-object-rest-spread" "^7.8.3" - "@babel/plugin-transform-parameters" "^7.16.7" - -"@babel/plugin-proposal-optional-catch-binding@^7.16.7": - version "7.16.7" - resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-optional-catch-binding/-/plugin-proposal-optional-catch-binding-7.16.7.tgz#c623a430674ffc4ab732fd0a0ae7722b67cb74cf" - integrity sha512-eMOH/L4OvWSZAE1VkHbr1vckLG1WUcHGJSLqqQwl2GaUqG6QjddvrOaTUMNYiv77H5IKPMZ9U9P7EaHwvAShfA== - dependencies: - "@babel/helper-plugin-utils" "^7.16.7" - "@babel/plugin-syntax-optional-catch-binding" "^7.8.3" - -"@babel/plugin-proposal-optional-chaining@^7.14.5", "@babel/plugin-proposal-optional-chaining@^7.16.7": - version "7.16.7" - resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-optional-chaining/-/plugin-proposal-optional-chaining-7.16.7.tgz#7cd629564724816c0e8a969535551f943c64c39a" - integrity sha512-eC3xy+ZrUcBtP7x+sq62Q/HYd674pPTb/77XZMb5wbDPGWIdUbSr4Agr052+zaUPSb+gGRnjxXfKFvx5iMJ+DA== - dependencies: - "@babel/helper-plugin-utils" "^7.16.7" - "@babel/helper-skip-transparent-expression-wrappers" "^7.16.0" - "@babel/plugin-syntax-optional-chaining" "^7.8.3" - -"@babel/plugin-proposal-private-methods@^7.14.5", "@babel/plugin-proposal-private-methods@^7.16.11": - version "7.16.11" - resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-private-methods/-/plugin-proposal-private-methods-7.16.11.tgz#e8df108288555ff259f4527dbe84813aac3a1c50" - integrity sha512-F/2uAkPlXDr8+BHpZvo19w3hLFKge+k75XUprE6jaqKxjGkSYcK+4c+bup5PdW/7W/Rpjwql7FTVEDW+fRAQsw== - dependencies: - "@babel/helper-create-class-features-plugin" "^7.16.10" - "@babel/helper-plugin-utils" "^7.16.7" - -"@babel/plugin-proposal-private-property-in-object@^7.14.5", "@babel/plugin-proposal-private-property-in-object@^7.16.7": - version "7.16.7" - resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-private-property-in-object/-/plugin-proposal-private-property-in-object-7.16.7.tgz#b0b8cef543c2c3d57e59e2c611994861d46a3fce" - integrity sha512-rMQkjcOFbm+ufe3bTZLyOfsOUOxyvLXZJCTARhJr+8UMSoZmqTe1K1BgkFcrW37rAchWg57yI69ORxiWvUINuQ== - dependencies: - "@babel/helper-annotate-as-pure" "^7.16.7" - "@babel/helper-create-class-features-plugin" "^7.16.7" - "@babel/helper-plugin-utils" "^7.16.7" - "@babel/plugin-syntax-private-property-in-object" "^7.14.5" - -"@babel/plugin-proposal-unicode-property-regex@^7.16.7", "@babel/plugin-proposal-unicode-property-regex@^7.4.4": - version "7.16.7" - resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-unicode-property-regex/-/plugin-proposal-unicode-property-regex-7.16.7.tgz#635d18eb10c6214210ffc5ff4932552de08188a2" - integrity sha512-QRK0YI/40VLhNVGIjRNAAQkEHws0cswSdFFjpFyt943YmJIU1da9uW63Iu6NFV6CxTZW5eTDCrwZUstBWgp/Rg== - dependencies: - "@babel/helper-create-regexp-features-plugin" "^7.16.7" - "@babel/helper-plugin-utils" "^7.16.7" - -"@babel/plugin-syntax-async-generators@^7.8.4": - version "7.8.4" - resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-async-generators/-/plugin-syntax-async-generators-7.8.4.tgz#a983fb1aeb2ec3f6ed042a210f640e90e786fe0d" - integrity sha512-tycmZxkGfZaxhMRbXlPXuVFpdWlXpir2W4AMhSJgRKzk/eDlIXOhb2LHWoLpDF7TEHylV5zNhykX6KAgHJmTNw== - dependencies: - "@babel/helper-plugin-utils" "^7.8.0" - -"@babel/plugin-syntax-class-properties@^7.12.13": - version "7.12.13" - resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-class-properties/-/plugin-syntax-class-properties-7.12.13.tgz#b5c987274c4a3a82b89714796931a6b53544ae10" - integrity sha512-fm4idjKla0YahUNgFNLCB0qySdsoPiZP3iQE3rky0mBUtMZ23yDJ9SJdg6dXTSDnulOVqiF3Hgr9nbXvXTQZYA== - dependencies: - "@babel/helper-plugin-utils" "^7.12.13" - -"@babel/plugin-syntax-class-static-block@^7.14.5": - version "7.14.5" - resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-class-static-block/-/plugin-syntax-class-static-block-7.14.5.tgz#195df89b146b4b78b3bf897fd7a257c84659d406" - integrity sha512-b+YyPmr6ldyNnM6sqYeMWE+bgJcJpO6yS4QD7ymxgH34GBPNDM/THBh8iunyvKIZztiwLH4CJZ0RxTk9emgpjw== - dependencies: - "@babel/helper-plugin-utils" "^7.14.5" - -"@babel/plugin-syntax-dynamic-import@^7.8.3": - version "7.8.3" - resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-dynamic-import/-/plugin-syntax-dynamic-import-7.8.3.tgz#62bf98b2da3cd21d626154fc96ee5b3cb68eacb3" - integrity sha512-5gdGbFon+PszYzqs83S3E5mpi7/y/8M9eC90MRTZfduQOYW76ig6SOSPNe41IG5LoP3FGBn2N0RjVDSQiS94kQ== - dependencies: - "@babel/helper-plugin-utils" "^7.8.0" - -"@babel/plugin-syntax-export-namespace-from@^7.8.3": - version "7.8.3" - resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-export-namespace-from/-/plugin-syntax-export-namespace-from-7.8.3.tgz#028964a9ba80dbc094c915c487ad7c4e7a66465a" - integrity sha512-MXf5laXo6c1IbEbegDmzGPwGNTsHZmEy6QGznu5Sh2UCWvueywb2ee+CCE4zQiZstxU9BMoQO9i6zUFSY0Kj0Q== - dependencies: - "@babel/helper-plugin-utils" "^7.8.3" - -"@babel/plugin-syntax-json-strings@^7.8.3": - version "7.8.3" - resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-json-strings/-/plugin-syntax-json-strings-7.8.3.tgz#01ca21b668cd8218c9e640cb6dd88c5412b2c96a" - integrity sha512-lY6kdGpWHvjoe2vk4WrAapEuBR69EMxZl+RoGRhrFGNYVK8mOPAW8VfbT/ZgrFbXlDNiiaxQnAtgVCZ6jv30EA== - dependencies: - "@babel/helper-plugin-utils" "^7.8.0" - -"@babel/plugin-syntax-jsx@^7.16.7": - version "7.16.7" - resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-jsx/-/plugin-syntax-jsx-7.16.7.tgz#50b6571d13f764266a113d77c82b4a6508bbe665" - integrity sha512-Esxmk7YjA8QysKeT3VhTXvF6y77f/a91SIs4pWb4H2eWGQkCKFgQaG6hdoEVZtGsrAcb2K5BW66XsOErD4WU3Q== - dependencies: - "@babel/helper-plugin-utils" "^7.16.7" - -"@babel/plugin-syntax-logical-assignment-operators@^7.10.4": - version "7.10.4" - resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-logical-assignment-operators/-/plugin-syntax-logical-assignment-operators-7.10.4.tgz#ca91ef46303530448b906652bac2e9fe9941f699" - integrity sha512-d8waShlpFDinQ5MtvGU9xDAOzKH47+FFoney2baFIoMr952hKOLp1HR7VszoZvOsV/4+RRszNY7D17ba0te0ig== - dependencies: - "@babel/helper-plugin-utils" "^7.10.4" - -"@babel/plugin-syntax-nullish-coalescing-operator@^7.8.3": - version "7.8.3" - resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-nullish-coalescing-operator/-/plugin-syntax-nullish-coalescing-operator-7.8.3.tgz#167ed70368886081f74b5c36c65a88c03b66d1a9" - integrity sha512-aSff4zPII1u2QD7y+F8oDsz19ew4IGEJg9SVW+bqwpwtfFleiQDMdzA/R+UlWDzfnHFCxxleFT0PMIrR36XLNQ== - dependencies: - "@babel/helper-plugin-utils" "^7.8.0" - -"@babel/plugin-syntax-numeric-separator@^7.10.4": - version "7.10.4" - resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-numeric-separator/-/plugin-syntax-numeric-separator-7.10.4.tgz#b9b070b3e33570cd9fd07ba7fa91c0dd37b9af97" - integrity sha512-9H6YdfkcK/uOnY/K7/aA2xpzaAgkQn37yzWUMRK7OaPOqOpGS1+n0H5hxT9AUw9EsSjPW8SVyMJwYRtWs3X3ug== - dependencies: - "@babel/helper-plugin-utils" "^7.10.4" - -"@babel/plugin-syntax-object-rest-spread@^7.8.3": - version "7.8.3" - resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-object-rest-spread/-/plugin-syntax-object-rest-spread-7.8.3.tgz#60e225edcbd98a640332a2e72dd3e66f1af55871" - integrity sha512-XoqMijGZb9y3y2XskN+P1wUGiVwWZ5JmoDRwx5+3GmEplNyVM2s2Dg8ILFQm8rWM48orGy5YpI5Bl8U1y7ydlA== - dependencies: - "@babel/helper-plugin-utils" "^7.8.0" - -"@babel/plugin-syntax-optional-catch-binding@^7.8.3": - version "7.8.3" - resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-optional-catch-binding/-/plugin-syntax-optional-catch-binding-7.8.3.tgz#6111a265bcfb020eb9efd0fdfd7d26402b9ed6c1" - integrity sha512-6VPD0Pc1lpTqw0aKoeRTMiB+kWhAoT24PA+ksWSBrFtl5SIRVpZlwN3NNPQjehA2E/91FV3RjLWoVTglWcSV3Q== - dependencies: - "@babel/helper-plugin-utils" "^7.8.0" - -"@babel/plugin-syntax-optional-chaining@^7.8.3": - version "7.8.3" - resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-optional-chaining/-/plugin-syntax-optional-chaining-7.8.3.tgz#4f69c2ab95167e0180cd5336613f8c5788f7d48a" - integrity sha512-KoK9ErH1MBlCPxV0VANkXW2/dw4vlbGDrFgz8bmUsBGYkFRcbRwMh6cIJubdPrkxRwuGdtCk0v/wPTKbQgBjkg== - dependencies: - "@babel/helper-plugin-utils" "^7.8.0" - -"@babel/plugin-syntax-private-property-in-object@^7.14.5": - version "7.14.5" - resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-private-property-in-object/-/plugin-syntax-private-property-in-object-7.14.5.tgz#0dc6671ec0ea22b6e94a1114f857970cd39de1ad" - integrity sha512-0wVnp9dxJ72ZUJDV27ZfbSj6iHLoytYZmh3rFcxNnvsJF3ktkzLDZPy/mA17HGsaQT3/DQsWYX1f1QGWkCoVUg== - dependencies: - "@babel/helper-plugin-utils" "^7.14.5" - -"@babel/plugin-syntax-top-level-await@^7.14.5": - version "7.14.5" - resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-top-level-await/-/plugin-syntax-top-level-await-7.14.5.tgz#c1cfdadc35a646240001f06138247b741c34d94c" - integrity sha512-hx++upLv5U1rgYfwe1xBQUhRmU41NEvpUvrp8jkrSCdvGSnM5/qdRMtylJ6PG5OFkBaHkbTAKTnd3/YyESRHFw== - dependencies: - "@babel/helper-plugin-utils" "^7.14.5" - -"@babel/plugin-syntax-typescript@^7.16.7": - version "7.16.7" - resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-typescript/-/plugin-syntax-typescript-7.16.7.tgz#39c9b55ee153151990fb038651d58d3fd03f98f8" - integrity sha512-YhUIJHHGkqPgEcMYkPCKTyGUdoGKWtopIycQyjJH8OjvRgOYsXsaKehLVPScKJWAULPxMa4N1vCe6szREFlZ7A== - dependencies: - "@babel/helper-plugin-utils" "^7.16.7" - -"@babel/plugin-transform-arrow-functions@^7.16.7": - version "7.16.7" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-arrow-functions/-/plugin-transform-arrow-functions-7.16.7.tgz#44125e653d94b98db76369de9c396dc14bef4154" - integrity sha512-9ffkFFMbvzTvv+7dTp/66xvZAWASuPD5Tl9LK3Z9vhOmANo6j94rik+5YMBt4CwHVMWLWpMsriIc2zsa3WW3xQ== - dependencies: - "@babel/helper-plugin-utils" "^7.16.7" - -"@babel/plugin-transform-async-to-generator@^7.16.8": - version "7.16.8" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-async-to-generator/-/plugin-transform-async-to-generator-7.16.8.tgz#b83dff4b970cf41f1b819f8b49cc0cfbaa53a808" - integrity sha512-MtmUmTJQHCnyJVrScNzNlofQJ3dLFuobYn3mwOTKHnSCMtbNsqvF71GQmJfFjdrXSsAA7iysFmYWw4bXZ20hOg== - dependencies: - "@babel/helper-module-imports" "^7.16.7" - "@babel/helper-plugin-utils" "^7.16.7" - "@babel/helper-remap-async-to-generator" "^7.16.8" - -"@babel/plugin-transform-block-scoped-functions@^7.16.7": - version "7.16.7" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-block-scoped-functions/-/plugin-transform-block-scoped-functions-7.16.7.tgz#4d0d57d9632ef6062cdf354bb717102ee042a620" - integrity sha512-JUuzlzmF40Z9cXyytcbZEZKckgrQzChbQJw/5PuEHYeqzCsvebDx0K0jWnIIVcmmDOAVctCgnYs0pMcrYj2zJg== - dependencies: - "@babel/helper-plugin-utils" "^7.16.7" - -"@babel/plugin-transform-block-scoping@^7.16.7": - version "7.16.7" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-block-scoping/-/plugin-transform-block-scoping-7.16.7.tgz#f50664ab99ddeaee5bc681b8f3a6ea9d72ab4f87" - integrity sha512-ObZev2nxVAYA4bhyusELdo9hb3H+A56bxH3FZMbEImZFiEDYVHXQSJ1hQKFlDnlt8G9bBrCZ5ZpURZUrV4G5qQ== - dependencies: - "@babel/helper-plugin-utils" "^7.16.7" - -"@babel/plugin-transform-classes@^7.16.7": - version "7.16.7" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-classes/-/plugin-transform-classes-7.16.7.tgz#8f4b9562850cd973de3b498f1218796eb181ce00" - integrity sha512-WY7og38SFAGYRe64BrjKf8OrE6ulEHtr5jEYaZMwox9KebgqPi67Zqz8K53EKk1fFEJgm96r32rkKZ3qA2nCWQ== - dependencies: - "@babel/helper-annotate-as-pure" "^7.16.7" - "@babel/helper-environment-visitor" "^7.16.7" - "@babel/helper-function-name" "^7.16.7" - "@babel/helper-optimise-call-expression" "^7.16.7" - "@babel/helper-plugin-utils" "^7.16.7" - "@babel/helper-replace-supers" "^7.16.7" - "@babel/helper-split-export-declaration" "^7.16.7" - globals "^11.1.0" - -"@babel/plugin-transform-computed-properties@^7.16.7": - version "7.16.7" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-computed-properties/-/plugin-transform-computed-properties-7.16.7.tgz#66dee12e46f61d2aae7a73710f591eb3df616470" - integrity sha512-gN72G9bcmenVILj//sv1zLNaPyYcOzUho2lIJBMh/iakJ9ygCo/hEF9cpGb61SCMEDxbbyBoVQxrt+bWKu5KGw== - dependencies: - "@babel/helper-plugin-utils" "^7.16.7" - -"@babel/plugin-transform-destructuring@^7.16.7": - version "7.16.7" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-destructuring/-/plugin-transform-destructuring-7.16.7.tgz#ca9588ae2d63978a4c29d3f33282d8603f618e23" - integrity sha512-VqAwhTHBnu5xBVDCvrvqJbtLUa++qZaWC0Fgr2mqokBlulZARGyIvZDoqbPlPaKImQ9dKAcCzbv+ul//uqu70A== - dependencies: - "@babel/helper-plugin-utils" "^7.16.7" - -"@babel/plugin-transform-dotall-regex@^7.16.7", "@babel/plugin-transform-dotall-regex@^7.4.4": - version "7.16.7" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-dotall-regex/-/plugin-transform-dotall-regex-7.16.7.tgz#6b2d67686fab15fb6a7fd4bd895d5982cfc81241" - integrity sha512-Lyttaao2SjZF6Pf4vk1dVKv8YypMpomAbygW+mU5cYP3S5cWTfCJjG8xV6CFdzGFlfWK81IjL9viiTvpb6G7gQ== - dependencies: - "@babel/helper-create-regexp-features-plugin" "^7.16.7" - "@babel/helper-plugin-utils" "^7.16.7" - -"@babel/plugin-transform-duplicate-keys@^7.16.7": - version "7.16.7" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-duplicate-keys/-/plugin-transform-duplicate-keys-7.16.7.tgz#2207e9ca8f82a0d36a5a67b6536e7ef8b08823c9" - integrity sha512-03DvpbRfvWIXyK0/6QiR1KMTWeT6OcQ7tbhjrXyFS02kjuX/mu5Bvnh5SDSWHxyawit2g5aWhKwI86EE7GUnTw== - dependencies: - "@babel/helper-plugin-utils" "^7.16.7" - -"@babel/plugin-transform-exponentiation-operator@^7.16.7": - version "7.16.7" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-exponentiation-operator/-/plugin-transform-exponentiation-operator-7.16.7.tgz#efa9862ef97e9e9e5f653f6ddc7b665e8536fe9b" - integrity sha512-8UYLSlyLgRixQvlYH3J2ekXFHDFLQutdy7FfFAMm3CPZ6q9wHCwnUyiXpQCe3gVVnQlHc5nsuiEVziteRNTXEA== - dependencies: - "@babel/helper-builder-binary-assignment-operator-visitor" "^7.16.7" - "@babel/helper-plugin-utils" "^7.16.7" - -"@babel/plugin-transform-for-of@^7.16.7": - version "7.16.7" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-for-of/-/plugin-transform-for-of-7.16.7.tgz#649d639d4617dff502a9a158c479b3b556728d8c" - integrity sha512-/QZm9W92Ptpw7sjI9Nx1mbcsWz33+l8kuMIQnDwgQBG5s3fAfQvkRjQ7NqXhtNcKOnPkdICmUHyCaWW06HCsqg== - dependencies: - "@babel/helper-plugin-utils" "^7.16.7" - -"@babel/plugin-transform-function-name@^7.16.7": - version "7.16.7" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-function-name/-/plugin-transform-function-name-7.16.7.tgz#5ab34375c64d61d083d7d2f05c38d90b97ec65cf" - integrity sha512-SU/C68YVwTRxqWj5kgsbKINakGag0KTgq9f2iZEXdStoAbOzLHEBRYzImmA6yFo8YZhJVflvXmIHUO7GWHmxxA== - dependencies: - "@babel/helper-compilation-targets" "^7.16.7" - "@babel/helper-function-name" "^7.16.7" - "@babel/helper-plugin-utils" "^7.16.7" - -"@babel/plugin-transform-literals@^7.16.7": - version "7.16.7" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-literals/-/plugin-transform-literals-7.16.7.tgz#254c9618c5ff749e87cb0c0cef1a0a050c0bdab1" - integrity sha512-6tH8RTpTWI0s2sV6uq3e/C9wPo4PTqqZps4uF0kzQ9/xPLFQtipynvmT1g/dOfEJ+0EQsHhkQ/zyRId8J2b8zQ== - dependencies: - "@babel/helper-plugin-utils" "^7.16.7" - -"@babel/plugin-transform-member-expression-literals@^7.16.7": - version "7.16.7" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-member-expression-literals/-/plugin-transform-member-expression-literals-7.16.7.tgz#6e5dcf906ef8a098e630149d14c867dd28f92384" - integrity sha512-mBruRMbktKQwbxaJof32LT9KLy2f3gH+27a5XSuXo6h7R3vqltl0PgZ80C8ZMKw98Bf8bqt6BEVi3svOh2PzMw== - dependencies: - "@babel/helper-plugin-utils" "^7.16.7" - -"@babel/plugin-transform-modules-amd@^7.16.7": - version "7.16.7" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-modules-amd/-/plugin-transform-modules-amd-7.16.7.tgz#b28d323016a7daaae8609781d1f8c9da42b13186" - integrity sha512-KaaEtgBL7FKYwjJ/teH63oAmE3lP34N3kshz8mm4VMAw7U3PxjVwwUmxEFksbgsNUaO3wId9R2AVQYSEGRa2+g== - dependencies: - "@babel/helper-module-transforms" "^7.16.7" - "@babel/helper-plugin-utils" "^7.16.7" - babel-plugin-dynamic-import-node "^2.3.3" - -"@babel/plugin-transform-modules-commonjs@^7.14.5", "@babel/plugin-transform-modules-commonjs@^7.16.8": - version "7.16.8" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-modules-commonjs/-/plugin-transform-modules-commonjs-7.16.8.tgz#cdee19aae887b16b9d331009aa9a219af7c86afe" - integrity sha512-oflKPvsLT2+uKQopesJt3ApiaIS2HW+hzHFcwRNtyDGieAeC/dIHZX8buJQ2J2X1rxGPy4eRcUijm3qcSPjYcA== - dependencies: - "@babel/helper-module-transforms" "^7.16.7" - "@babel/helper-plugin-utils" "^7.16.7" - "@babel/helper-simple-access" "^7.16.7" - babel-plugin-dynamic-import-node "^2.3.3" - -"@babel/plugin-transform-modules-systemjs@^7.16.7": - version "7.16.7" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-modules-systemjs/-/plugin-transform-modules-systemjs-7.16.7.tgz#887cefaef88e684d29558c2b13ee0563e287c2d7" - integrity sha512-DuK5E3k+QQmnOqBR9UkusByy5WZWGRxfzV529s9nPra1GE7olmxfqO2FHobEOYSPIjPBTr4p66YDcjQnt8cBmw== - dependencies: - "@babel/helper-hoist-variables" "^7.16.7" - "@babel/helper-module-transforms" "^7.16.7" - "@babel/helper-plugin-utils" "^7.16.7" - "@babel/helper-validator-identifier" "^7.16.7" - babel-plugin-dynamic-import-node "^2.3.3" - -"@babel/plugin-transform-modules-umd@^7.16.7": - version "7.16.7" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-modules-umd/-/plugin-transform-modules-umd-7.16.7.tgz#23dad479fa585283dbd22215bff12719171e7618" - integrity sha512-EMh7uolsC8O4xhudF2F6wedbSHm1HHZ0C6aJ7K67zcDNidMzVcxWdGr+htW9n21klm+bOn+Rx4CBsAntZd3rEQ== - dependencies: - "@babel/helper-module-transforms" "^7.16.7" - "@babel/helper-plugin-utils" "^7.16.7" - -"@babel/plugin-transform-named-capturing-groups-regex@^7.16.8": - version "7.16.8" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-named-capturing-groups-regex/-/plugin-transform-named-capturing-groups-regex-7.16.8.tgz#7f860e0e40d844a02c9dcf9d84965e7dfd666252" - integrity sha512-j3Jw+n5PvpmhRR+mrgIh04puSANCk/T/UA3m3P1MjJkhlK906+ApHhDIqBQDdOgL/r1UYpz4GNclTXxyZrYGSw== - dependencies: - "@babel/helper-create-regexp-features-plugin" "^7.16.7" - -"@babel/plugin-transform-new-target@^7.16.7": - version "7.16.7" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-new-target/-/plugin-transform-new-target-7.16.7.tgz#9967d89a5c243818e0800fdad89db22c5f514244" - integrity sha512-xiLDzWNMfKoGOpc6t3U+etCE2yRnn3SM09BXqWPIZOBpL2gvVrBWUKnsJx0K/ADi5F5YC5f8APFfWrz25TdlGg== - dependencies: - "@babel/helper-plugin-utils" "^7.16.7" - -"@babel/plugin-transform-object-super@^7.16.7": - version "7.16.7" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-object-super/-/plugin-transform-object-super-7.16.7.tgz#ac359cf8d32cf4354d27a46867999490b6c32a94" - integrity sha512-14J1feiQVWaGvRxj2WjyMuXS2jsBkgB3MdSN5HuC2G5nRspa5RK9COcs82Pwy5BuGcjb+fYaUj94mYcOj7rCvw== - dependencies: - "@babel/helper-plugin-utils" "^7.16.7" - "@babel/helper-replace-supers" "^7.16.7" - -"@babel/plugin-transform-parameters@^7.16.7": - version "7.16.7" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-parameters/-/plugin-transform-parameters-7.16.7.tgz#a1721f55b99b736511cb7e0152f61f17688f331f" - integrity sha512-AT3MufQ7zZEhU2hwOA11axBnExW0Lszu4RL/tAlUJBuNoRak+wehQW8h6KcXOcgjY42fHtDxswuMhMjFEuv/aw== - dependencies: - "@babel/helper-plugin-utils" "^7.16.7" - -"@babel/plugin-transform-property-literals@^7.16.7": - version "7.16.7" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-property-literals/-/plugin-transform-property-literals-7.16.7.tgz#2dadac85155436f22c696c4827730e0fe1057a55" - integrity sha512-z4FGr9NMGdoIl1RqavCqGG+ZuYjfZ/hkCIeuH6Do7tXmSm0ls11nYVSJqFEUOSJbDab5wC6lRE/w6YjVcr6Hqw== - dependencies: - "@babel/helper-plugin-utils" "^7.16.7" - -"@babel/plugin-transform-react-jsx@^7.14.5": - version "7.16.7" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-react-jsx/-/plugin-transform-react-jsx-7.16.7.tgz#86a6a220552afd0e4e1f0388a68a372be7add0d4" - integrity sha512-8D16ye66fxiE8m890w0BpPpngG9o9OVBBy0gH2E+2AR7qMR2ZpTYJEqLxAsoroenMId0p/wMW+Blc0meDgu0Ag== - dependencies: - "@babel/helper-annotate-as-pure" "^7.16.7" - "@babel/helper-module-imports" "^7.16.7" - "@babel/helper-plugin-utils" "^7.16.7" - "@babel/plugin-syntax-jsx" "^7.16.7" - "@babel/types" "^7.16.7" - -"@babel/plugin-transform-regenerator@^7.16.7": - version "7.16.7" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-regenerator/-/plugin-transform-regenerator-7.16.7.tgz#9e7576dc476cb89ccc5096fff7af659243b4adeb" - integrity sha512-mF7jOgGYCkSJagJ6XCujSQg+6xC1M77/03K2oBmVJWoFGNUtnVJO4WHKJk3dnPC8HCcj4xBQP1Egm8DWh3Pb3Q== - dependencies: - regenerator-transform "^0.14.2" - -"@babel/plugin-transform-reserved-words@^7.16.7": - version "7.16.7" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-reserved-words/-/plugin-transform-reserved-words-7.16.7.tgz#1d798e078f7c5958eec952059c460b220a63f586" - integrity sha512-KQzzDnZ9hWQBjwi5lpY5v9shmm6IVG0U9pB18zvMu2i4H90xpT4gmqwPYsn8rObiadYe2M0gmgsiOIF5A/2rtg== - dependencies: - "@babel/helper-plugin-utils" "^7.16.7" - -"@babel/plugin-transform-shorthand-properties@^7.16.7": - version "7.16.7" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-shorthand-properties/-/plugin-transform-shorthand-properties-7.16.7.tgz#e8549ae4afcf8382f711794c0c7b6b934c5fbd2a" - integrity sha512-hah2+FEnoRoATdIb05IOXf+4GzXYTq75TVhIn1PewihbpyrNWUt2JbudKQOETWw6QpLe+AIUpJ5MVLYTQbeeUg== - dependencies: - "@babel/helper-plugin-utils" "^7.16.7" - -"@babel/plugin-transform-spread@^7.16.7": - version "7.16.7" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-spread/-/plugin-transform-spread-7.16.7.tgz#a303e2122f9f12e0105daeedd0f30fb197d8ff44" - integrity sha512-+pjJpgAngb53L0iaA5gU/1MLXJIfXcYepLgXB3esVRf4fqmj8f2cxM3/FKaHsZms08hFQJkFccEWuIpm429TXg== - dependencies: - "@babel/helper-plugin-utils" "^7.16.7" - "@babel/helper-skip-transparent-expression-wrappers" "^7.16.0" - -"@babel/plugin-transform-sticky-regex@^7.16.7": - version "7.16.7" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-sticky-regex/-/plugin-transform-sticky-regex-7.16.7.tgz#c84741d4f4a38072b9a1e2e3fd56d359552e8660" - integrity sha512-NJa0Bd/87QV5NZZzTuZG5BPJjLYadeSZ9fO6oOUoL4iQx+9EEuw/eEM92SrsT19Yc2jgB1u1hsjqDtH02c3Drw== - dependencies: - "@babel/helper-plugin-utils" "^7.16.7" - -"@babel/plugin-transform-template-literals@^7.16.7": - version "7.16.7" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-template-literals/-/plugin-transform-template-literals-7.16.7.tgz#f3d1c45d28967c8e80f53666fc9c3e50618217ab" - integrity sha512-VwbkDDUeenlIjmfNeDX/V0aWrQH2QiVyJtwymVQSzItFDTpxfyJh3EVaQiS0rIN/CqbLGr0VcGmuwyTdZtdIsA== - dependencies: - "@babel/helper-plugin-utils" "^7.16.7" - -"@babel/plugin-transform-typeof-symbol@^7.16.7": - version "7.16.7" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-typeof-symbol/-/plugin-transform-typeof-symbol-7.16.7.tgz#9cdbe622582c21368bd482b660ba87d5545d4f7e" - integrity sha512-p2rOixCKRJzpg9JB4gjnG4gjWkWa89ZoYUnl9snJ1cWIcTH/hvxZqfO+WjG6T8DRBpctEol5jw1O5rA8gkCokQ== - dependencies: - "@babel/helper-plugin-utils" "^7.16.7" - -"@babel/plugin-transform-typescript@^7.16.7": - version "7.16.8" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-typescript/-/plugin-transform-typescript-7.16.8.tgz#591ce9b6b83504903fa9dd3652c357c2ba7a1ee0" - integrity sha512-bHdQ9k7YpBDO2d0NVfkj51DpQcvwIzIusJ7mEUaMlbZq3Kt/U47j24inXZHQ5MDiYpCs+oZiwnXyKedE8+q7AQ== - dependencies: - "@babel/helper-create-class-features-plugin" "^7.16.7" - "@babel/helper-plugin-utils" "^7.16.7" - "@babel/plugin-syntax-typescript" "^7.16.7" - -"@babel/plugin-transform-unicode-escapes@^7.16.7": - version "7.16.7" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-unicode-escapes/-/plugin-transform-unicode-escapes-7.16.7.tgz#da8717de7b3287a2c6d659750c964f302b31ece3" - integrity sha512-TAV5IGahIz3yZ9/Hfv35TV2xEm+kaBDaZQCn2S/hG9/CZ0DktxJv9eKfPc7yYCvOYR4JGx1h8C+jcSOvgaaI/Q== - dependencies: - "@babel/helper-plugin-utils" "^7.16.7" - -"@babel/plugin-transform-unicode-regex@^7.16.7": - version "7.16.7" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-unicode-regex/-/plugin-transform-unicode-regex-7.16.7.tgz#0f7aa4a501198976e25e82702574c34cfebe9ef2" - integrity sha512-oC5tYYKw56HO75KZVLQ+R/Nl3Hro9kf8iG0hXoaHP7tjAyCpvqBiSNe6vGrZni1Z6MggmUOC6A7VP7AVmw225Q== - dependencies: - "@babel/helper-create-regexp-features-plugin" "^7.16.7" - "@babel/helper-plugin-utils" "^7.16.7" - -"@babel/preset-env@^7.9.0": - version "7.16.11" - resolved "https://registry.yarnpkg.com/@babel/preset-env/-/preset-env-7.16.11.tgz#5dd88fd885fae36f88fd7c8342475c9f0abe2982" - integrity sha512-qcmWG8R7ZW6WBRPZK//y+E3Cli151B20W1Rv7ln27vuPaXU/8TKms6jFdiJtF7UDTxcrb7mZd88tAeK9LjdT8g== - dependencies: - "@babel/compat-data" "^7.16.8" - "@babel/helper-compilation-targets" "^7.16.7" - "@babel/helper-plugin-utils" "^7.16.7" - "@babel/helper-validator-option" "^7.16.7" - "@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression" "^7.16.7" - "@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining" "^7.16.7" - "@babel/plugin-proposal-async-generator-functions" "^7.16.8" - "@babel/plugin-proposal-class-properties" "^7.16.7" - "@babel/plugin-proposal-class-static-block" "^7.16.7" - "@babel/plugin-proposal-dynamic-import" "^7.16.7" - "@babel/plugin-proposal-export-namespace-from" "^7.16.7" - "@babel/plugin-proposal-json-strings" "^7.16.7" - "@babel/plugin-proposal-logical-assignment-operators" "^7.16.7" - "@babel/plugin-proposal-nullish-coalescing-operator" "^7.16.7" - "@babel/plugin-proposal-numeric-separator" "^7.16.7" - "@babel/plugin-proposal-object-rest-spread" "^7.16.7" - "@babel/plugin-proposal-optional-catch-binding" "^7.16.7" - "@babel/plugin-proposal-optional-chaining" "^7.16.7" - "@babel/plugin-proposal-private-methods" "^7.16.11" - "@babel/plugin-proposal-private-property-in-object" "^7.16.7" - "@babel/plugin-proposal-unicode-property-regex" "^7.16.7" - "@babel/plugin-syntax-async-generators" "^7.8.4" - "@babel/plugin-syntax-class-properties" "^7.12.13" - "@babel/plugin-syntax-class-static-block" "^7.14.5" - "@babel/plugin-syntax-dynamic-import" "^7.8.3" - "@babel/plugin-syntax-export-namespace-from" "^7.8.3" - "@babel/plugin-syntax-json-strings" "^7.8.3" - "@babel/plugin-syntax-logical-assignment-operators" "^7.10.4" - "@babel/plugin-syntax-nullish-coalescing-operator" "^7.8.3" - "@babel/plugin-syntax-numeric-separator" "^7.10.4" - "@babel/plugin-syntax-object-rest-spread" "^7.8.3" - "@babel/plugin-syntax-optional-catch-binding" "^7.8.3" - "@babel/plugin-syntax-optional-chaining" "^7.8.3" - "@babel/plugin-syntax-private-property-in-object" "^7.14.5" - "@babel/plugin-syntax-top-level-await" "^7.14.5" - "@babel/plugin-transform-arrow-functions" "^7.16.7" - "@babel/plugin-transform-async-to-generator" "^7.16.8" - "@babel/plugin-transform-block-scoped-functions" "^7.16.7" - "@babel/plugin-transform-block-scoping" "^7.16.7" - "@babel/plugin-transform-classes" "^7.16.7" - "@babel/plugin-transform-computed-properties" "^7.16.7" - "@babel/plugin-transform-destructuring" "^7.16.7" - "@babel/plugin-transform-dotall-regex" "^7.16.7" - "@babel/plugin-transform-duplicate-keys" "^7.16.7" - "@babel/plugin-transform-exponentiation-operator" "^7.16.7" - "@babel/plugin-transform-for-of" "^7.16.7" - "@babel/plugin-transform-function-name" "^7.16.7" - "@babel/plugin-transform-literals" "^7.16.7" - "@babel/plugin-transform-member-expression-literals" "^7.16.7" - "@babel/plugin-transform-modules-amd" "^7.16.7" - "@babel/plugin-transform-modules-commonjs" "^7.16.8" - "@babel/plugin-transform-modules-systemjs" "^7.16.7" - "@babel/plugin-transform-modules-umd" "^7.16.7" - "@babel/plugin-transform-named-capturing-groups-regex" "^7.16.8" - "@babel/plugin-transform-new-target" "^7.16.7" - "@babel/plugin-transform-object-super" "^7.16.7" - "@babel/plugin-transform-parameters" "^7.16.7" - "@babel/plugin-transform-property-literals" "^7.16.7" - "@babel/plugin-transform-regenerator" "^7.16.7" - "@babel/plugin-transform-reserved-words" "^7.16.7" - "@babel/plugin-transform-shorthand-properties" "^7.16.7" - "@babel/plugin-transform-spread" "^7.16.7" - "@babel/plugin-transform-sticky-regex" "^7.16.7" - "@babel/plugin-transform-template-literals" "^7.16.7" - "@babel/plugin-transform-typeof-symbol" "^7.16.7" - "@babel/plugin-transform-unicode-escapes" "^7.16.7" - "@babel/plugin-transform-unicode-regex" "^7.16.7" - "@babel/preset-modules" "^0.1.5" - "@babel/types" "^7.16.8" - babel-plugin-polyfill-corejs2 "^0.3.0" - babel-plugin-polyfill-corejs3 "^0.5.0" - babel-plugin-polyfill-regenerator "^0.3.0" - core-js-compat "^3.20.2" - semver "^6.3.0" - -"@babel/preset-modules@^0.1.5": - version "0.1.5" - resolved "https://registry.yarnpkg.com/@babel/preset-modules/-/preset-modules-0.1.5.tgz#ef939d6e7f268827e1841638dc6ff95515e115d9" - integrity sha512-A57th6YRG7oR3cq/yt/Y84MvGgE0eJG2F1JLhKuyG+jFxEgrd/HAMJatiFtmOiZurz+0DkrvbheCLaV5f2JfjA== - dependencies: - "@babel/helper-plugin-utils" "^7.0.0" - "@babel/plugin-proposal-unicode-property-regex" "^7.4.4" - "@babel/plugin-transform-dotall-regex" "^7.4.4" - "@babel/types" "^7.4.4" - esutils "^2.0.2" - -"@babel/preset-typescript@^7.14.5": - version "7.16.7" - resolved "https://registry.yarnpkg.com/@babel/preset-typescript/-/preset-typescript-7.16.7.tgz#ab114d68bb2020afc069cd51b37ff98a046a70b9" - integrity sha512-WbVEmgXdIyvzB77AQjGBEyYPZx+8tTsO50XtfozQrkW8QB2rLJpH2lgx0TRw5EJrBxOZQ+wCcyPVQvS8tjEHpQ== - dependencies: - "@babel/helper-plugin-utils" "^7.16.7" - "@babel/helper-validator-option" "^7.16.7" - "@babel/plugin-transform-typescript" "^7.16.7" - -"@babel/runtime@^7.8.4": - version "7.17.0" - resolved "https://registry.yarnpkg.com/@babel/runtime/-/runtime-7.17.0.tgz#b8d142fc0f7664fb3d9b5833fd40dcbab89276c0" - integrity sha512-etcO/ohMNaNA2UBdaXBBSX/3aEzFMRrVfaPv8Ptc0k+cWpWW0QFiGZ2XnVqQZI1Cf734LbPGmqBKWESfW4x/dQ== - dependencies: - regenerator-runtime "^0.13.4" - -"@babel/template@^7.16.7": - version "7.16.7" - resolved "https://registry.yarnpkg.com/@babel/template/-/template-7.16.7.tgz#8d126c8701fde4d66b264b3eba3d96f07666d155" - integrity sha512-I8j/x8kHUrbYRTUxXrrMbfCa7jxkE7tZre39x3kjr9hvI82cK1FfqLygotcWN5kdPGWcLdWMHpSBavse5tWw3w== - dependencies: - "@babel/code-frame" "^7.16.7" - "@babel/parser" "^7.16.7" - "@babel/types" "^7.16.7" - -"@babel/traverse@^7.13.0", "@babel/traverse@^7.16.7", "@babel/traverse@^7.16.8", "@babel/traverse@^7.17.0": - version "7.17.0" - resolved "https://registry.yarnpkg.com/@babel/traverse/-/traverse-7.17.0.tgz#3143e5066796408ccc880a33ecd3184f3e75cd30" - integrity sha512-fpFIXvqD6kC7c7PUNnZ0Z8cQXlarCLtCUpt2S1Dx7PjoRtCFffvOkHHSom+m5HIxMZn5bIBVb71lhabcmjEsqg== - dependencies: - "@babel/code-frame" "^7.16.7" - "@babel/generator" "^7.17.0" - "@babel/helper-environment-visitor" "^7.16.7" - "@babel/helper-function-name" "^7.16.7" - "@babel/helper-hoist-variables" "^7.16.7" - "@babel/helper-split-export-declaration" "^7.16.7" - "@babel/parser" "^7.17.0" - "@babel/types" "^7.17.0" - debug "^4.1.0" - globals "^11.1.0" - -"@babel/types@7.0.0-beta.35": - version "7.0.0-beta.35" - resolved "https://registry.yarnpkg.com/@babel/types/-/types-7.0.0-beta.35.tgz#cf933a9a9a38484ca724b335b88d83726d5ab960" - integrity sha512-y9XT11CozHDgjWcTdxmhSj13rJVXpa5ZXwjjOiTedjaM0ba5ItqdS02t31EhPl7HtOWxsZkYCCUNrSfrOisA6w== - dependencies: - esutils "^2.0.2" - lodash "^4.2.0" - to-fast-properties "^2.0.0" - -"@babel/types@^7.16.0", "@babel/types@^7.16.7", "@babel/types@^7.16.8", "@babel/types@^7.17.0", "@babel/types@^7.4.4": - version "7.17.0" - resolved "https://registry.yarnpkg.com/@babel/types/-/types-7.17.0.tgz#a826e368bccb6b3d84acd76acad5c0d87342390b" - integrity sha512-TmKSNO4D5rzhL5bjWFcVHHLETzfQ/AmbKpKPOSjlP0WoHZ6L911fgoOKY4Alp/emzG4cHJdyN49zpgkbXFEHHw== - dependencies: - "@babel/helper-validator-identifier" "^7.16.7" - to-fast-properties "^2.0.0" - -"@develar/schema-utils@~2.6.5": - version "2.6.5" - resolved "https://registry.yarnpkg.com/@develar/schema-utils/-/schema-utils-2.6.5.tgz#3ece22c5838402419a6e0425f85742b961d9b6c6" - integrity sha512-0cp4PsWQ/9avqTVMCtZ+GirikIA36ikvjtHweU4/j8yLtgObI0+JUPhYFScgwlteveGB1rt3Cm8UhN04XayDig== - dependencies: - ajv "^6.12.0" - ajv-keywords "^3.4.1" - -"@electron/get@^1.13.0", "@electron/get@^1.6.0": - version "1.13.1" - resolved "https://registry.yarnpkg.com/@electron/get/-/get-1.13.1.tgz#42a0aa62fd1189638bd966e23effaebb16108368" - integrity sha512-U5vkXDZ9DwXtkPqlB45tfYnnYBN8PePp1z/XDCupnSpdrxT8/ThCv9WCwPLf9oqiSGZTkH6dx2jDUPuoXpjkcA== - dependencies: - debug "^4.1.1" - env-paths "^2.2.0" - fs-extra "^8.1.0" - got "^9.6.0" - progress "^2.0.3" - semver "^6.2.0" - sumchecker "^3.0.1" - optionalDependencies: - global-agent "^3.0.0" - global-tunnel-ng "^2.7.1" - -"@electron/universal@1.0.5": - version "1.0.5" - resolved "https://registry.yarnpkg.com/@electron/universal/-/universal-1.0.5.tgz#b812340e4ef21da2b3ee77b2b4d35c9b86defe37" - integrity sha512-zX9O6+jr2NMyAdSkwEUlyltiI4/EBLu2Ls/VD3pUQdi3cAYeYfdQnT2AJJ38HE4QxLccbU13LSpccw1IWlkyag== - dependencies: - "@malept/cross-spawn-promise" "^1.1.0" - asar "^3.0.3" - debug "^4.3.1" - dir-compare "^2.4.0" - fs-extra "^9.0.1" - -"@gar/promisify@^1.0.1": - version "1.1.2" - resolved "https://registry.yarnpkg.com/@gar/promisify/-/promisify-1.1.2.tgz#30aa825f11d438671d585bd44e7fd564535fc210" - integrity sha512-82cpyJyKRoQoRi+14ibCeGPu0CwypgtBAdBhq1WfvagpCZNKqwXbKwXllYSMG91DhmG4jt9gN8eP6lGOtozuaw== - -"@jest/types@^27.2.5", "@jest/types@^27.4.2": - version "27.4.2" - resolved "https://registry.yarnpkg.com/@jest/types/-/types-27.4.2.tgz#96536ebd34da6392c2b7c7737d693885b5dd44a5" - integrity sha512-j35yw0PMTPpZsUoOBiuHzr1zTYoad1cVIE0ajEjcrJONxxrko/IRGKkXx3os0Nsi4Hu3+5VmDbVfq5WhG/pWAg== - dependencies: - "@types/istanbul-lib-coverage" "^2.0.0" - "@types/istanbul-reports" "^3.0.0" - "@types/node" "*" - "@types/yargs" "^16.0.0" - chalk "^4.0.0" - -"@jridgewell/resolve-uri@^3.0.3": - version "3.0.4" - resolved "https://registry.yarnpkg.com/@jridgewell/resolve-uri/-/resolve-uri-3.0.4.tgz#b876e3feefb9c8d3aa84014da28b5e52a0640d72" - integrity sha512-cz8HFjOFfUBtvN+NXYSFMHYRdxZMaEl0XypVrhzxBgadKIXhIkRd8aMeHhmF56Sl7SuS8OnUpQ73/k9LE4VnLg== - -"@jridgewell/sourcemap-codec@^1.4.9": - version "1.4.9" - resolved "https://registry.yarnpkg.com/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.4.9.tgz#6963babca1e1b8a8dc1c379bd4bd2bf9c21c356a" - integrity sha512-iKsUDLGOrC5pSdVTyb8zJI/f55wItTzGtfGWiWPWTc8h2P4oucax7XOGSRq9V2aA1nwE8qMaGvwdXk3PZRtgjg== - -"@jridgewell/trace-mapping@^0.2.7": - version "0.2.7" - resolved "https://registry.yarnpkg.com/@jridgewell/trace-mapping/-/trace-mapping-0.2.7.tgz#d45be64544788e32c7ea5c8faa16a7000d840b5b" - integrity sha512-ZKfRhw6eK2vvdWqpU7DQq49+BZESqh5rmkYpNhuzkz01tapssl2sNNy6uMUIgrTtUWQDijomWJzJRCoevVrfgw== - dependencies: - "@jridgewell/resolve-uri" "^3.0.3" - "@jridgewell/sourcemap-codec" "^1.4.9" - -"@malept/cross-spawn-promise@^1.1.0": - version "1.1.1" - resolved "https://registry.yarnpkg.com/@malept/cross-spawn-promise/-/cross-spawn-promise-1.1.1.tgz#504af200af6b98e198bce768bc1730c6936ae01d" - integrity sha512-RTBGWL5FWQcg9orDOCcp4LvItNzUPcyEU9bwaeJX0rJ1IQxzucC48Y0/sQLp/g6t99IQgAlGIaesJS+gTn7tVQ== - dependencies: - cross-spawn "^7.0.1" - -"@malept/flatpak-bundler@^0.4.0": - version "0.4.0" - resolved "https://registry.yarnpkg.com/@malept/flatpak-bundler/-/flatpak-bundler-0.4.0.tgz#e8a32c30a95d20c2b1bb635cc580981a06389858" - integrity sha512-9QOtNffcOF/c1seMCDnjckb3R9WHcG34tky+FHpNKKCW0wc/scYLwMtO+ptyGUfMW0/b/n4qRiALlaFHc9Oj7Q== - dependencies: - debug "^4.1.1" - fs-extra "^9.0.0" - lodash "^4.17.15" - tmp-promise "^3.0.2" - -"@nornagon/put@0.0.8": - version "0.0.8" - resolved "https://registry.yarnpkg.com/@nornagon/put/-/put-0.0.8.tgz#9d497ec46c9364acc3f8b59aa3cf8ee4134ae337" - integrity sha512-ugvXJjwF5ldtUpa7D95kruNJ41yFQDEKyF5CW4TgKJnh+W/zmlBzXXeKTyqIgwMFrkePN2JqOBqcF0M0oOunow== - -"@npmcli/fs@^1.0.0": - version "1.1.0" - resolved "https://registry.yarnpkg.com/@npmcli/fs/-/fs-1.1.0.tgz#bec1d1b89c170d40e1b73ad6c943b0b75e7d2951" - integrity sha512-VhP1qZLXcrXRIaPoqb4YA55JQxLNF3jNR4T55IdOJa3+IFJKNYHtPvtXx8slmeMavj37vCzCfrqQM1vWLsYKLA== - dependencies: - "@gar/promisify" "^1.0.1" - semver "^7.3.5" - -"@npmcli/move-file@^1.0.1": - version "1.1.2" - resolved "https://registry.yarnpkg.com/@npmcli/move-file/-/move-file-1.1.2.tgz#1a82c3e372f7cae9253eb66d72543d6b8685c674" - integrity sha512-1SUf/Cg2GzGDyaf15aR9St9TWlb+XvbZXWpDx8YKs7MLzMH/BCeopv+y9vzrzgkfykCGuWOlSu3mZhj2+FQcrg== - dependencies: - mkdirp "^1.0.4" - rimraf "^3.0.2" - -"@playwright/test@^1.18.1": - version "1.18.1" - resolved "https://registry.yarnpkg.com/@playwright/test/-/test-1.18.1.tgz#efaa3aa9c7f8aebeb75cd45fd9737529e9b30fbd" - integrity sha512-v6jAM2GpRvf4MUvSLkrAXg101XT9mLu2X2NbCnEoj7GHBXwavDlAJDMwh4Hn8oipDxB6MS6FTcr7opXsIMNwrA== - dependencies: - "@babel/code-frame" "^7.14.5" - "@babel/core" "^7.14.8" - "@babel/plugin-proposal-class-properties" "^7.14.5" - "@babel/plugin-proposal-dynamic-import" "^7.14.5" - "@babel/plugin-proposal-export-namespace-from" "^7.14.5" - "@babel/plugin-proposal-logical-assignment-operators" "^7.14.5" - "@babel/plugin-proposal-nullish-coalescing-operator" "^7.14.5" - "@babel/plugin-proposal-numeric-separator" "^7.14.5" - "@babel/plugin-proposal-optional-chaining" "^7.14.5" - "@babel/plugin-proposal-private-methods" "^7.14.5" - "@babel/plugin-proposal-private-property-in-object" "^7.14.5" - "@babel/plugin-syntax-async-generators" "^7.8.4" - "@babel/plugin-syntax-json-strings" "^7.8.3" - "@babel/plugin-syntax-object-rest-spread" "^7.8.3" - "@babel/plugin-syntax-optional-catch-binding" "^7.8.3" - "@babel/plugin-transform-modules-commonjs" "^7.14.5" - "@babel/plugin-transform-react-jsx" "^7.14.5" - "@babel/preset-typescript" "^7.14.5" - babel-plugin-module-resolver "^4.1.0" - colors "1.4.0" - commander "^8.2.0" - debug "^4.1.1" - expect "=27.2.5" - jest-matcher-utils "=27.2.5" - jpeg-js "^0.4.2" - json5 "^2.2.0" - mime "^2.4.6" - minimatch "^3.0.3" - ms "^2.1.2" - open "^8.3.0" - pirates "^4.0.1" - pixelmatch "^5.2.1" - playwright-core "=1.18.1" - pngjs "^5.0.0" - rimraf "^3.0.2" - source-map-support "^0.4.18" - stack-utils "^2.0.3" - yazl "^2.5.1" - -"@sentry/browser@6.7.1": - version "6.7.1" - resolved "https://registry.yarnpkg.com/@sentry/browser/-/browser-6.7.1.tgz#e01144a08984a486ecc91d7922cc457e9c9bd6b7" - integrity sha512-R5PYx4TTvifcU790XkK6JVGwavKaXwycDU0MaAwfc4Vf7BLm5KCNJCsDySu1RPAap/017MVYf54p6dWvKiRviA== - dependencies: - "@sentry/core" "6.7.1" - "@sentry/types" "6.7.1" - "@sentry/utils" "6.7.1" - tslib "^1.9.3" - -"@sentry/core@6.7.1": - version "6.7.1" - resolved "https://registry.yarnpkg.com/@sentry/core/-/core-6.7.1.tgz#c3aaa6415d06bec65ac446b13b84f073805633e3" - integrity sha512-VAv8OR/7INn2JfiLcuop4hfDcyC7mfL9fdPndQEhlacjmw8gRrgXjR7qyhnCTgzFLkHI7V5bcdIzA83TRPYQpA== - dependencies: - "@sentry/hub" "6.7.1" - "@sentry/minimal" "6.7.1" - "@sentry/types" "6.7.1" - "@sentry/utils" "6.7.1" - tslib "^1.9.3" - -"@sentry/electron@^2.5.4": - version "2.5.4" - resolved "https://registry.yarnpkg.com/@sentry/electron/-/electron-2.5.4.tgz#337b2f7e228e805a3e4eb3611c7b12c6cf87c618" - integrity sha512-tCCK+P581TmdjsDpHBQz7qYcldzGdUk1Fd6FPxPy1JKGzeY4uf/uSLKzR80Lzs5kTpEZFOwiMHSA8yjwFp5qoA== - dependencies: - "@sentry/browser" "6.7.1" - "@sentry/core" "6.7.1" - "@sentry/minimal" "6.7.1" - "@sentry/node" "6.7.1" - "@sentry/types" "6.7.1" - "@sentry/utils" "6.7.1" - tslib "^2.2.0" - -"@sentry/hub@6.7.1": - version "6.7.1" - resolved "https://registry.yarnpkg.com/@sentry/hub/-/hub-6.7.1.tgz#d46d24deec67f0731a808ca16796e6765b371bc1" - integrity sha512-eVCTWvvcp6xa0A5GGNHMQEWslmKPlisE5rGmsV/kjvSUv3zSrI0eIDfb51ikdnCiBjHpK2NBWP8Vy8cZOEJegg== - dependencies: - "@sentry/types" "6.7.1" - "@sentry/utils" "6.7.1" - tslib "^1.9.3" - -"@sentry/integrations@^6.17.4": - version "6.17.4" - resolved "https://registry.yarnpkg.com/@sentry/integrations/-/integrations-6.17.4.tgz#a894526ce25020aea1dc9b2f2a4aa584c7de9b3a" - integrity sha512-NmFbv9w4AK1d4NYi0beTuJgn6t81bdiGZmkNZ9VKVI0mBfoZfwxIo7fGNrla3HMkeTwLHntXuzUu4v+w1EARqA== - dependencies: - "@sentry/types" "6.17.4" - "@sentry/utils" "6.17.4" - localforage "^1.8.1" - tslib "^1.9.3" - -"@sentry/minimal@6.7.1": - version "6.7.1" - resolved "https://registry.yarnpkg.com/@sentry/minimal/-/minimal-6.7.1.tgz#babf85ee2f167e9dcf150d750d7a0b250c98449c" - integrity sha512-HDDPEnQRD6hC0qaHdqqKDStcdE1KhkFh0RCtJNMCDn0zpav8Dj9AteF70x6kLSlliAJ/JFwi6AmQrLz+FxPexw== - dependencies: - "@sentry/hub" "6.7.1" - "@sentry/types" "6.7.1" - tslib "^1.9.3" - -"@sentry/node@6.7.1": - version "6.7.1" - resolved "https://registry.yarnpkg.com/@sentry/node/-/node-6.7.1.tgz#b09e2eca8e187168feba7bd865a23935bf0f5cc0" - integrity sha512-rtZo1O8ROv4lZwuljQz3iFZW89oXSlgXCG2VqkxQyRspPWu89abROpxLjYzsWwQ8djnur1XjFv51kOLDUTS6Qw== - dependencies: - "@sentry/core" "6.7.1" - "@sentry/hub" "6.7.1" - "@sentry/tracing" "6.7.1" - "@sentry/types" "6.7.1" - "@sentry/utils" "6.7.1" - cookie "^0.4.1" - https-proxy-agent "^5.0.0" - lru_map "^0.3.3" - tslib "^1.9.3" - -"@sentry/tracing@6.7.1": - version "6.7.1" - resolved "https://registry.yarnpkg.com/@sentry/tracing/-/tracing-6.7.1.tgz#b11f0c17a6c5dc14ef44733e5436afb686683268" - integrity sha512-wyS3nWNl5mzaC1qZ2AIp1hjXnfO9EERjMIJjCihs2LWBz1r3efxrHxJHs8wXlNWvrT3KLhq/7vvF5CdU82uPeQ== - dependencies: - "@sentry/hub" "6.7.1" - "@sentry/minimal" "6.7.1" - "@sentry/types" "6.7.1" - "@sentry/utils" "6.7.1" - tslib "^1.9.3" - -"@sentry/types@6.17.4": - version "6.17.4" - resolved "https://registry.yarnpkg.com/@sentry/types/-/types-6.17.4.tgz#36b78d7c4a6de19b2bbc631bb34893bcad30c0ba" - integrity sha512-RUyiXCKf61k2GIMP7FQX0naoSew4zLxe+UrtbjwVcWU4AFPZfH7tLNtTpVE85zAKbxsaiq3OD2FPtTZarHcwxQ== - -"@sentry/types@6.7.1": - version "6.7.1" - resolved "https://registry.yarnpkg.com/@sentry/types/-/types-6.7.1.tgz#c8263e1886df5e815570c4668eb40a1cfaa1c88b" - integrity sha512-9AO7HKoip2MBMNQJEd6+AKtjj2+q9Ze4ooWUdEvdOVSt5drg7BGpK221/p9JEOyJAZwEPEXdcMd3VAIMiOb4MA== - -"@sentry/utils@6.17.4": - version "6.17.4" - resolved "https://registry.yarnpkg.com/@sentry/utils/-/utils-6.17.4.tgz#4f109629d2e7f16c5595b4367445ef47bfe96b61" - integrity sha512-+ENzZbrlVL1JJ+FoK2EOS27nbA/yToeaJPFlyVOnbthUxVyN3TTi9Uzn9F05fIE/2BTkOEk89wPtgcHafgrD6A== - dependencies: - "@sentry/types" "6.17.4" - tslib "^1.9.3" - -"@sentry/utils@6.7.1": - version "6.7.1" - resolved "https://registry.yarnpkg.com/@sentry/utils/-/utils-6.7.1.tgz#909184ad580f0f6375e1e4d4a6ffd33dfe64a4d1" - integrity sha512-Tq2otdbWlHAkctD+EWTYKkEx6BL1Qn3Z/imkO06/PvzpWvVhJWQ5qHAzz5XnwwqNHyV03KVzYB6znq1Bea9HuA== - dependencies: - "@sentry/types" "6.7.1" - tslib "^1.9.3" - -"@sindresorhus/is@^0.14.0": - version "0.14.0" - resolved "https://registry.yarnpkg.com/@sindresorhus/is/-/is-0.14.0.tgz#9fb3a3cf3132328151f353de4632e01e52102bea" - integrity sha512-9NET910DNaIPngYnLLPeg+Ogzqsi9uM4mSboU5y6p8S5DzMTVEsJZrawi+BoDNUVBa2DhJqQYUFvMDfgU062LQ== - -"@sindresorhus/is@^4.0.0": - version "4.4.0" - resolved "https://registry.yarnpkg.com/@sindresorhus/is/-/is-4.4.0.tgz#e277e5bdbdf7cb1e20d320f02f5e2ed113cd3185" - integrity sha512-QppPM/8l3Mawvh4rn9CNEYIU9bxpXUCRMaX9yUpvBk1nMKusLKpfXGDEKExKaPhLzcn3lzil7pR6rnJ11HgeRQ== - -"@szmarczak/http-timer@^1.1.2": - version "1.1.2" - resolved "https://registry.yarnpkg.com/@szmarczak/http-timer/-/http-timer-1.1.2.tgz#b1665e2c461a2cd92f4c1bbf50d5454de0d4b421" - integrity sha512-XIB2XbzHTN6ieIjfIMV9hlVcfPU26s2vafYWQcZHWXHOxiaRZYEDKEwdl129Zyg50+foYV2jCgtrqSA6qNuNSA== - dependencies: - defer-to-connect "^1.0.1" - -"@szmarczak/http-timer@^4.0.5": - version "4.0.6" - resolved "https://registry.yarnpkg.com/@szmarczak/http-timer/-/http-timer-4.0.6.tgz#b4a914bb62e7c272d4e5989fe4440f812ab1d807" - integrity sha512-4BAffykYOgO+5nzBWYwE3W90sBgLJoUPRWWcL8wlyiM8IB8ipJz3UMJ9KXQd1RKQXpKp8Tutn80HZtWsu2u76w== - dependencies: - defer-to-connect "^2.0.0" - -"@tokenizer/token@^0.3.0": - version "0.3.0" - resolved "https://registry.yarnpkg.com/@tokenizer/token/-/token-0.3.0.tgz#fe98a93fe789247e998c75e74e9c7c63217aa276" - integrity sha512-OvjF+z51L3ov0OyAU0duzsYuvO01PH7x4t6DJx+guahgTnBHkhJdG7soQeTSFLWN3efnHyibZ4Z8l2EuWwJN3A== - -"@tootallnate/once@1": - version "1.1.2" - resolved "https://registry.yarnpkg.com/@tootallnate/once/-/once-1.1.2.tgz#ccb91445360179a04e7fe6aff78c00ffc1eeaf82" - integrity sha512-RbzJvlNzmRq5c3O09UipeuXno4tA1FE6ikOjxZK0tuxVv3412l64l5t1W5pj4+rJq9vpkm/kwiR07aZXnsKPxw== - -"@types/body-parser@*": - version "1.19.2" - resolved "https://registry.yarnpkg.com/@types/body-parser/-/body-parser-1.19.2.tgz#aea2059e28b7658639081347ac4fab3de166e6f0" - integrity sha512-ALYone6pm6QmwZoAgeyNksccT9Q4AWZQ6PvfwR37GT6r6FWUPguq6sUmNGSMV2Wr761oQoBxwGGa6DR5o1DC9g== - dependencies: - "@types/connect" "*" - "@types/node" "*" - -"@types/cacheable-request@^6.0.1": - version "6.0.2" - resolved "https://registry.yarnpkg.com/@types/cacheable-request/-/cacheable-request-6.0.2.tgz#c324da0197de0a98a2312156536ae262429ff6b9" - integrity sha512-B3xVo+dlKM6nnKTcmm5ZtY/OL8bOAOd2Olee9M1zft65ox50OzjEHW91sDiU9j6cvW8Ejg1/Qkf4xd2kugApUA== - dependencies: - "@types/http-cache-semantics" "*" - "@types/keyv" "*" - "@types/node" "*" - "@types/responselike" "*" - -"@types/connect@*": - version "3.4.35" - resolved "https://registry.yarnpkg.com/@types/connect/-/connect-3.4.35.tgz#5fcf6ae445e4021d1fc2219a4873cc73a3bb2ad1" - integrity sha512-cdeYyv4KWoEgpBISTxWvqYsVy444DOqehiF3fM3ne10AmJ62RSyNkUnxMJXHQWRQQX2eR94m5y1IZyDwBjV9FQ== - dependencies: - "@types/node" "*" - -"@types/debug@^4.1.6": - version "4.1.7" - resolved "https://registry.yarnpkg.com/@types/debug/-/debug-4.1.7.tgz#7cc0ea761509124709b8b2d1090d8f6c17aadb82" - integrity sha512-9AonUzyTjXXhEOa0DnqpzZi6VHlqKMswga9EXjpXnnqxwLtdvPPtlO8evrI5D9S6asFRCQ6v+wpiUKbw+vKqyg== - dependencies: - "@types/ms" "*" - -"@types/discord-rpc@^4.0.0": - version "4.0.0" - resolved "https://registry.yarnpkg.com/@types/discord-rpc/-/discord-rpc-4.0.0.tgz#29080812b9092996046af1a21138fb488d180f87" - integrity sha512-a5HiKOcBkB43g/lN6fBYw8FyGc6Ue9CYucxxHxXlELXpb1CxCa2NA2pGK2Ub88pi4uY5+HQeSFbYtH6DJtV3Qw== - -"@types/eslint-scope@^3.7.0": - version "3.7.3" - resolved "https://registry.yarnpkg.com/@types/eslint-scope/-/eslint-scope-3.7.3.tgz#125b88504b61e3c8bc6f870882003253005c3224" - integrity sha512-PB3ldyrcnAicT35TWPs5IcwKD8S333HMaa2VVv4+wdvebJkjWuW/xESoB8IwRcog8HYVYamb1g/R31Qv5Bx03g== - dependencies: - "@types/eslint" "*" - "@types/estree" "*" - -"@types/eslint@*": - version "8.4.1" - resolved "https://registry.yarnpkg.com/@types/eslint/-/eslint-8.4.1.tgz#c48251553e8759db9e656de3efc846954ac32304" - integrity sha512-GE44+DNEyxxh2Kc6ro/VkIj+9ma0pO0bwv9+uHSyBrikYOHr8zYcdPvnBOp1aw8s+CjRvuSx7CyWqRrNFQ59mA== - dependencies: - "@types/estree" "*" - "@types/json-schema" "*" - -"@types/estree@*", "@types/estree@^0.0.50": - version "0.0.50" - resolved "https://registry.yarnpkg.com/@types/estree/-/estree-0.0.50.tgz#1e0caa9364d3fccd2931c3ed96fdbeaa5d4cca83" - integrity sha512-C6N5s2ZFtuZRj54k2/zyRhNDjJwwcViAM3Nbm8zjBpbqAdZ00mr0CFxvSKeO8Y/e03WVFLpQMdHYVfUd6SB+Hw== - -"@types/express-serve-static-core@^4.17.18": - version "4.17.28" - resolved "https://registry.yarnpkg.com/@types/express-serve-static-core/-/express-serve-static-core-4.17.28.tgz#c47def9f34ec81dc6328d0b1b5303d1ec98d86b8" - integrity sha512-P1BJAEAW3E2DJUlkgq4tOL3RyMunoWXqbSCygWo5ZIWTjUgN1YnaXWW4VWl/oc8vs/XoYibEGBKP0uZyF4AHig== - dependencies: - "@types/node" "*" - "@types/qs" "*" - "@types/range-parser" "*" - -"@types/express@^4.17.13": - version "4.17.13" - resolved "https://registry.yarnpkg.com/@types/express/-/express-4.17.13.tgz#a76e2995728999bab51a33fabce1d705a3709034" - integrity sha512-6bSZTPaTIACxn48l50SR+axgrqm6qXFIxrdAKaG6PaJk3+zuUr35hBlgT7vOmJcum+OEaIBLtHV/qloEAFITeA== - dependencies: - "@types/body-parser" "*" - "@types/express-serve-static-core" "^4.17.18" - "@types/qs" "*" - "@types/serve-static" "*" - -"@types/fs-extra@^9.0.11": - version "9.0.13" - resolved "https://registry.yarnpkg.com/@types/fs-extra/-/fs-extra-9.0.13.tgz#7594fbae04fe7f1918ce8b3d213f74ff44ac1f45" - integrity sha512-nEnwB++1u5lVDM2UI4c1+5R+FYaKfaAzS4OococimjVm3nQw3TuzH5UNsocrcTBbhnerblyHj4A49qXbIiZdpA== - dependencies: - "@types/node" "*" - -"@types/glob@^7.1.1": - version "7.2.0" - resolved "https://registry.yarnpkg.com/@types/glob/-/glob-7.2.0.tgz#bc1b5bf3aa92f25bd5dd39f35c57361bdce5b2eb" - integrity sha512-ZUxbzKl0IfJILTS6t7ip5fQQM/J3TJYubDm3nMbgubNNYS62eXeUpoLUC8/7fJNiFYHTrGPQn7hspDUzIHX3UA== - dependencies: - "@types/minimatch" "*" - "@types/node" "*" - -"@types/html-minifier-terser@^5.0.0": - version "5.1.2" - resolved "https://registry.yarnpkg.com/@types/html-minifier-terser/-/html-minifier-terser-5.1.2.tgz#693b316ad323ea97eed6b38ed1a3cc02b1672b57" - integrity sha512-h4lTMgMJctJybDp8CQrxTUiiYmedihHWkjnF/8Pxseu2S6Nlfcy8kwboQ8yejh456rP2yWoEVm1sS/FVsfM48w== - -"@types/http-cache-semantics@*": - version "4.0.1" - resolved "https://registry.yarnpkg.com/@types/http-cache-semantics/-/http-cache-semantics-4.0.1.tgz#0ea7b61496902b95890dc4c3a116b60cb8dae812" - integrity sha512-SZs7ekbP8CN0txVG2xVRH6EgKmEm31BOxA07vkFaETzZz1xh+cbt8BcI0slpymvwhx5dlFnQG2rTlPVQn+iRPQ== - -"@types/istanbul-lib-coverage@*", "@types/istanbul-lib-coverage@^2.0.0": - version "2.0.4" - resolved "https://registry.yarnpkg.com/@types/istanbul-lib-coverage/-/istanbul-lib-coverage-2.0.4.tgz#8467d4b3c087805d63580480890791277ce35c44" - integrity sha512-z/QT1XN4K4KYuslS23k62yDIDLwLFkzxOuMplDtObz0+y7VqJCaO2o+SPwHCvLFZh7xazvvoor2tA/hPz9ee7g== - -"@types/istanbul-lib-report@*": - version "3.0.0" - resolved "https://registry.yarnpkg.com/@types/istanbul-lib-report/-/istanbul-lib-report-3.0.0.tgz#c14c24f18ea8190c118ee7562b7ff99a36552686" - integrity sha512-plGgXAPfVKFoYfa9NpYDAkseG+g6Jr294RqeqcqDixSbU34MZVJRi/P+7Y8GDpzkEwLaGZZOpKIEmeVZNtKsrg== - dependencies: - "@types/istanbul-lib-coverage" "*" - -"@types/istanbul-reports@^3.0.0": - version "3.0.1" - resolved "https://registry.yarnpkg.com/@types/istanbul-reports/-/istanbul-reports-3.0.1.tgz#9153fe98bba2bd565a63add9436d6f0d7f8468ff" - integrity sha512-c3mAZEuK0lvBp8tmuL74XRKn1+y2dcwOUpH7x4WrF6gk1GIgiluDRgMYQtw2OFcBvAJWlt6ASU3tSqxp0Uu0Aw== - dependencies: - "@types/istanbul-lib-report" "*" - -"@types/json-schema@*", "@types/json-schema@^7.0.5", "@types/json-schema@^7.0.8": - version "7.0.9" - resolved "https://registry.yarnpkg.com/@types/json-schema/-/json-schema-7.0.9.tgz#97edc9037ea0c38585320b28964dde3b39e4660d" - integrity sha512-qcUXuemtEu+E5wZSJHNxUXeCZhAfXKQ41D+duX+VYPde7xyEVZci+/oXKJL13tnRs9lR2pr4fod59GT6/X1/yQ== - -"@types/keyv@*": - version "3.1.3" - resolved "https://registry.yarnpkg.com/@types/keyv/-/keyv-3.1.3.tgz#1c9aae32872ec1f20dcdaee89a9f3ba88f465e41" - integrity sha512-FXCJgyyN3ivVgRoml4h94G/p3kY+u/B86La+QptcqJaWtBWtmc6TtkNfS40n9bIvyLteHh7zXOtgbobORKPbDg== - dependencies: - "@types/node" "*" - -"@types/mime@^1": - version "1.3.2" - resolved "https://registry.yarnpkg.com/@types/mime/-/mime-1.3.2.tgz#93e25bf9ee75fe0fd80b594bc4feb0e862111b5a" - integrity sha512-YATxVxgRqNH6nHEIsvg6k2Boc1JHI9ZbH5iWFFv/MTkchz3b1ieGDa5T0a9RznNdI0KhVbdbWSN+KWWrQZRxTw== - -"@types/minimatch@*": - version "3.0.5" - resolved "https://registry.yarnpkg.com/@types/minimatch/-/minimatch-3.0.5.tgz#1001cc5e6a3704b83c236027e77f2f58ea010f40" - integrity sha512-Klz949h02Gz2uZCMGwDUSDS1YBlTdDDgbWHi+81l29tQALUtvz4rAYi5uoVhE5Lagoq6DeqAUlbrHvW/mXDgdQ== - -"@types/ms@*": - version "0.7.31" - resolved "https://registry.yarnpkg.com/@types/ms/-/ms-0.7.31.tgz#31b7ca6407128a3d2bbc27fe2d21b345397f6197" - integrity sha512-iiUgKzV9AuaEkZqkOLDIvlQiL6ltuZd9tGcW3gwpnX8JbuiuhFlEGmmFXEXkN50Cvq7Os88IY2v0dkDqXYWVgA== - -"@types/node@*": - version "17.0.15" - resolved "https://registry.yarnpkg.com/@types/node/-/node-17.0.15.tgz#97779282c09c09577120a2162e71d8380003590a" - integrity sha512-zWt4SDDv1S9WRBNxLFxFRHxdD9tvH8f5/kg5/IaLFdnSNXsDY4eL3Q3XXN+VxUnWIhyVFDwcsmAprvwXoM/ClA== - -"@types/node@^14.6.2": - version "14.18.10" - resolved "https://registry.yarnpkg.com/@types/node/-/node-14.18.10.tgz#774f43868964f3cfe4ced1f5417fe15818a4eaea" - integrity sha512-6iihJ/Pp5fsFJ/aEDGyvT4pHGmCpq7ToQ/yf4bl5SbVAvwpspYJ+v3jO7n8UyjhQVHTy+KNszOozDdv+O6sovQ== - -"@types/plist@^3.0.1": - version "3.0.2" - resolved "https://registry.yarnpkg.com/@types/plist/-/plist-3.0.2.tgz#61b3727bba0f5c462fe333542534a0c3e19ccb01" - integrity sha512-ULqvZNGMv0zRFvqn8/4LSPtnmN4MfhlPNtJCTpKuIIxGVGZ2rYWzFXrvEBoh9CVyqSE7D6YFRJ1hydLHI6kbWw== - dependencies: - "@types/node" "*" - xmlbuilder ">=11.0.1" - -"@types/qrcode-terminal@^0.12.0": - version "0.12.0" - resolved "https://registry.yarnpkg.com/@types/qrcode-terminal/-/qrcode-terminal-0.12.0.tgz#cee13a96db9346e3240e2128290465db56799961" - integrity sha512-g0fQKl3IVnUePV8tLkiBTduxAVSZsXts444T2aMfjOEGxd7XoeSIs16/AmRe2NlcJLqbvsOBSXov7dKSo4wigA== - -"@types/qs@*": - version "6.9.7" - resolved "https://registry.yarnpkg.com/@types/qs/-/qs-6.9.7.tgz#63bb7d067db107cc1e457c303bc25d511febf6cb" - integrity sha512-FGa1F62FT09qcrueBA6qYTrJPVDzah9a+493+o2PCXsesWHIn27G98TsSMs3WPNbZIEj4+VJf6saSFpvD+3Zsw== - -"@types/range-parser@*": - version "1.2.4" - resolved "https://registry.yarnpkg.com/@types/range-parser/-/range-parser-1.2.4.tgz#cd667bcfdd025213aafb7ca5915a932590acdcdc" - integrity sha512-EEhsLsD6UsDM1yFhAvy0Cjr6VwmpMWqFBCb9w07wVugF7w9nfajxLuVmngTIpgS6svCnm6Vaw+MZhoDCKnOfsw== - -"@types/responselike@*", "@types/responselike@^1.0.0": - version "1.0.0" - resolved "https://registry.yarnpkg.com/@types/responselike/-/responselike-1.0.0.tgz#251f4fe7d154d2bad125abe1b429b23afd262e29" - integrity sha512-85Y2BjiufFzaMIlvJDvTTB8Fxl2xfLo4HgmHzVBz08w4wDePCTjYw66PdrolO0kzli3yam/YCgRufyo1DdQVTA== - dependencies: - "@types/node" "*" - -"@types/semver@^7.3.6": - version "7.3.9" - resolved "https://registry.yarnpkg.com/@types/semver/-/semver-7.3.9.tgz#152c6c20a7688c30b967ec1841d31ace569863fc" - integrity sha512-L/TMpyURfBkf+o/526Zb6kd/tchUP3iBDEPjqjb+U2MAJhVRxxrmr2fwpe08E7QsV7YLcpq0tUaQ9O9x97ZIxQ== - -"@types/serve-static@*": - version "1.13.10" - resolved "https://registry.yarnpkg.com/@types/serve-static/-/serve-static-1.13.10.tgz#f5e0ce8797d2d7cc5ebeda48a52c96c4fa47a8d9" - integrity sha512-nCkHGI4w7ZgAdNkrEu0bv+4xNV/XDqW+DydknebMOQwkpDGx8G+HTlj7R7ABI8i8nKxVw0wtKPi1D+lPOkh4YQ== - dependencies: - "@types/mime" "^1" - "@types/node" "*" - -"@types/source-list-map@*": - version "0.1.2" - resolved "https://registry.yarnpkg.com/@types/source-list-map/-/source-list-map-0.1.2.tgz#0078836063ffaf17412349bba364087e0ac02ec9" - integrity sha512-K5K+yml8LTo9bWJI/rECfIPrGgxdpeNbj+d53lwN4QjW1MCwlkhUms+gtdzigTeUyBr09+u8BwOIY3MXvHdcsA== - -"@types/stack-utils@^2.0.0": - version "2.0.1" - resolved "https://registry.yarnpkg.com/@types/stack-utils/-/stack-utils-2.0.1.tgz#20f18294f797f2209b5f65c8e3b5c8e8261d127c" - integrity sha512-Hl219/BT5fLAaz6NDkSuhzasy49dwQS/DSdu4MdggFB8zcXv7vflBI3xp7FEmkmdDkBUI2bPUNeMttp2knYdxw== - -"@types/tapable@^1", "@types/tapable@^1.0.5": - version "1.0.8" - resolved "https://registry.yarnpkg.com/@types/tapable/-/tapable-1.0.8.tgz#b94a4391c85666c7b73299fd3ad79d4faa435310" - integrity sha512-ipixuVrh2OdNmauvtT51o3d8z12p6LtFW9in7U79der/kwejjdNchQC5UMn5u/KxNoM7VHHOs/l8KS8uHxhODQ== - -"@types/uglify-js@*": - version "3.13.1" - resolved "https://registry.yarnpkg.com/@types/uglify-js/-/uglify-js-3.13.1.tgz#5e889e9e81e94245c75b6450600e1c5ea2878aea" - integrity sha512-O3MmRAk6ZuAKa9CHgg0Pr0+lUOqoMLpc9AS4R8ano2auvsg7IE8syF3Xh/NPr26TWklxYcqoEEFdzLLs1fV9PQ== - dependencies: - source-map "^0.6.1" - -"@types/verror@^1.10.3": - version "1.10.5" - resolved "https://registry.yarnpkg.com/@types/verror/-/verror-1.10.5.tgz#2a1413aded46e67a1fe2386800e291123ed75eb1" - integrity sha512-9UjMCHK5GPgQRoNbqdLIAvAy0EInuiqbW0PBMtVP6B5B2HQJlvoJHM+KodPZMEjOa5VkSc+5LH7xy+cUzQdmHw== - -"@types/webpack-env@^1.15.1": - version "1.16.3" - resolved "https://registry.yarnpkg.com/@types/webpack-env/-/webpack-env-1.16.3.tgz#b776327a73e561b71e7881d0cd6d34a1424db86a" - integrity sha512-9gtOPPkfyNoEqCQgx4qJKkuNm/x0R2hKR7fdl7zvTJyHnIisuE/LfvXOsYWL0o3qq6uiBnKZNNNzi3l0y/X+xw== - -"@types/webpack-sources@*": - version "3.2.0" - resolved "https://registry.yarnpkg.com/@types/webpack-sources/-/webpack-sources-3.2.0.tgz#16d759ba096c289034b26553d2df1bf45248d38b" - integrity sha512-Ft7YH3lEVRQ6ls8k4Ff1oB4jN6oy/XmU6tQISKdhfh+1mR+viZFphS6WL0IrtDOzvefmJg5a0s7ZQoRXwqTEFg== - dependencies: - "@types/node" "*" - "@types/source-list-map" "*" - source-map "^0.7.3" - -"@types/webpack@^4.41.8": - version "4.41.32" - resolved "https://registry.yarnpkg.com/@types/webpack/-/webpack-4.41.32.tgz#a7bab03b72904070162b2f169415492209e94212" - integrity sha512-cb+0ioil/7oz5//7tZUSwbrSAN/NWHrQylz5cW8G0dWTcF/g+/dSdMlKVZspBYuMAN1+WnwHrkxiRrLcwd0Heg== - dependencies: - "@types/node" "*" - "@types/tapable" "^1" - "@types/uglify-js" "*" - "@types/webpack-sources" "*" - anymatch "^3.0.0" - source-map "^0.6.0" - -"@types/ws@^8.2.2": - version "8.2.2" - resolved "https://registry.yarnpkg.com/@types/ws/-/ws-8.2.2.tgz#7c5be4decb19500ae6b3d563043cd407bf366c21" - integrity sha512-NOn5eIcgWLOo6qW8AcuLZ7G8PycXu0xTxxkS6Q18VWFxgPUSOwV0pBj2a/4viNZVu25i7RIB7GttdkAIUUXOOg== - dependencies: - "@types/node" "*" - -"@types/yargs-parser@*": - version "20.2.1" - resolved "https://registry.yarnpkg.com/@types/yargs-parser/-/yargs-parser-20.2.1.tgz#3b9ce2489919d9e4fea439b76916abc34b2df129" - integrity sha512-7tFImggNeNBVMsn0vLrpn1H1uPrUBdnARPTpZoitY37ZrdJREzf7I16tMrlK3hen349gr1NYh8CmZQa7CTG6Aw== - -"@types/yargs@^16.0.0": - version "16.0.4" - resolved "https://registry.yarnpkg.com/@types/yargs/-/yargs-16.0.4.tgz#26aad98dd2c2a38e421086ea9ad42b9e51642977" - integrity sha512-T8Yc9wt/5LbJyCaLiHPReJa0kApcIgJ7Bn735GjItUfh08Z1pJvu8QZqb9s+mMvKV6WUQRV7K2R46YbjMXTTJw== - dependencies: - "@types/yargs-parser" "*" - -"@types/yargs@^17.0.1": - version "17.0.8" - resolved "https://registry.yarnpkg.com/@types/yargs/-/yargs-17.0.8.tgz#d23a3476fd3da8a0ea44b5494ca7fa677b9dad4c" - integrity sha512-wDeUwiUmem9FzsyysEwRukaEdDNcwbROvQ9QGRKaLI6t+IltNzbn4/i4asmB10auvZGQCzSQ6t0GSczEThlUXw== - dependencies: - "@types/yargs-parser" "*" - -"@types/yauzl@^2.9.1": - version "2.9.2" - resolved "https://registry.yarnpkg.com/@types/yauzl/-/yauzl-2.9.2.tgz#c48e5d56aff1444409e39fa164b0b4d4552a7b7a" - integrity sha512-8uALY5LTvSuHgloDVUvWP3pIauILm+8/0pDMokuDYIoNsOkSwd5AiHBTSEJjKTDcZr5z8UpgOWZkxBF4iJftoA== - dependencies: - "@types/node" "*" - -"@webassemblyjs/ast@1.11.1": - version "1.11.1" - resolved "https://registry.yarnpkg.com/@webassemblyjs/ast/-/ast-1.11.1.tgz#2bfd767eae1a6996f432ff7e8d7fc75679c0b6a7" - integrity sha512-ukBh14qFLjxTQNTXocdyksN5QdM28S1CxHt2rdskFyL+xFV7VremuBLVbmCePj+URalXBENx/9Lm7lnhihtCSw== - dependencies: - "@webassemblyjs/helper-numbers" "1.11.1" - "@webassemblyjs/helper-wasm-bytecode" "1.11.1" - -"@webassemblyjs/floating-point-hex-parser@1.11.1": - version "1.11.1" - resolved "https://registry.yarnpkg.com/@webassemblyjs/floating-point-hex-parser/-/floating-point-hex-parser-1.11.1.tgz#f6c61a705f0fd7a6aecaa4e8198f23d9dc179e4f" - integrity sha512-iGRfyc5Bq+NnNuX8b5hwBrRjzf0ocrJPI6GWFodBFzmFnyvrQ83SHKhmilCU/8Jv67i4GJZBMhEzltxzcNagtQ== - -"@webassemblyjs/helper-api-error@1.11.1": - version "1.11.1" - resolved "https://registry.yarnpkg.com/@webassemblyjs/helper-api-error/-/helper-api-error-1.11.1.tgz#1a63192d8788e5c012800ba6a7a46c705288fd16" - integrity sha512-RlhS8CBCXfRUR/cwo2ho9bkheSXG0+NwooXcc3PAILALf2QLdFyj7KGsKRbVc95hZnhnERon4kW/D3SZpp6Tcg== - -"@webassemblyjs/helper-buffer@1.11.1": - version "1.11.1" - resolved "https://registry.yarnpkg.com/@webassemblyjs/helper-buffer/-/helper-buffer-1.11.1.tgz#832a900eb444884cde9a7cad467f81500f5e5ab5" - integrity sha512-gwikF65aDNeeXa8JxXa2BAk+REjSyhrNC9ZwdT0f8jc4dQQeDQ7G4m0f2QCLPJiMTTO6wfDmRmj/pW0PsUvIcA== - -"@webassemblyjs/helper-numbers@1.11.1": - version "1.11.1" - resolved "https://registry.yarnpkg.com/@webassemblyjs/helper-numbers/-/helper-numbers-1.11.1.tgz#64d81da219fbbba1e3bd1bfc74f6e8c4e10a62ae" - integrity sha512-vDkbxiB8zfnPdNK9Rajcey5C0w+QJugEglN0of+kmO8l7lDb77AnlKYQF7aarZuCrv+l0UvqL+68gSDr3k9LPQ== - dependencies: - "@webassemblyjs/floating-point-hex-parser" "1.11.1" - "@webassemblyjs/helper-api-error" "1.11.1" - "@xtuc/long" "4.2.2" - -"@webassemblyjs/helper-wasm-bytecode@1.11.1": - version "1.11.1" - resolved "https://registry.yarnpkg.com/@webassemblyjs/helper-wasm-bytecode/-/helper-wasm-bytecode-1.11.1.tgz#f328241e41e7b199d0b20c18e88429c4433295e1" - integrity sha512-PvpoOGiJwXeTrSf/qfudJhwlvDQxFgelbMqtq52WWiXC6Xgg1IREdngmPN3bs4RoO83PnL/nFrxucXj1+BX62Q== - -"@webassemblyjs/helper-wasm-section@1.11.1": - version "1.11.1" - resolved "https://registry.yarnpkg.com/@webassemblyjs/helper-wasm-section/-/helper-wasm-section-1.11.1.tgz#21ee065a7b635f319e738f0dd73bfbda281c097a" - integrity sha512-10P9No29rYX1j7F3EVPX3JvGPQPae+AomuSTPiF9eBQeChHI6iqjMIwR9JmOJXwpnn/oVGDk7I5IlskuMwU/pg== - dependencies: - "@webassemblyjs/ast" "1.11.1" - "@webassemblyjs/helper-buffer" "1.11.1" - "@webassemblyjs/helper-wasm-bytecode" "1.11.1" - "@webassemblyjs/wasm-gen" "1.11.1" - -"@webassemblyjs/ieee754@1.11.1": - version "1.11.1" - resolved "https://registry.yarnpkg.com/@webassemblyjs/ieee754/-/ieee754-1.11.1.tgz#963929e9bbd05709e7e12243a099180812992614" - integrity sha512-hJ87QIPtAMKbFq6CGTkZYJivEwZDbQUgYd3qKSadTNOhVY7p+gfP6Sr0lLRVTaG1JjFj+r3YchoqRYxNH3M0GQ== - dependencies: - "@xtuc/ieee754" "^1.2.0" - -"@webassemblyjs/leb128@1.11.1": - version "1.11.1" - resolved "https://registry.yarnpkg.com/@webassemblyjs/leb128/-/leb128-1.11.1.tgz#ce814b45574e93d76bae1fb2644ab9cdd9527aa5" - integrity sha512-BJ2P0hNZ0u+Th1YZXJpzW6miwqQUGcIHT1G/sf72gLVD9DZ5AdYTqPNbHZh6K1M5VmKvFXwGSWZADz+qBWxeRw== - dependencies: - "@xtuc/long" "4.2.2" - -"@webassemblyjs/utf8@1.11.1": - version "1.11.1" - resolved "https://registry.yarnpkg.com/@webassemblyjs/utf8/-/utf8-1.11.1.tgz#d1f8b764369e7c6e6bae350e854dec9a59f0a3ff" - integrity sha512-9kqcxAEdMhiwQkHpkNiorZzqpGrodQQ2IGrHHxCy+Ozng0ofyMA0lTqiLkVs1uzTRejX+/O0EOT7KxqVPuXosQ== - -"@webassemblyjs/wasm-edit@1.11.1": - version "1.11.1" - resolved "https://registry.yarnpkg.com/@webassemblyjs/wasm-edit/-/wasm-edit-1.11.1.tgz#ad206ebf4bf95a058ce9880a8c092c5dec8193d6" - integrity sha512-g+RsupUC1aTHfR8CDgnsVRVZFJqdkFHpsHMfJuWQzWU3tvnLC07UqHICfP+4XyL2tnr1amvl1Sdp06TnYCmVkA== - dependencies: - "@webassemblyjs/ast" "1.11.1" - "@webassemblyjs/helper-buffer" "1.11.1" - "@webassemblyjs/helper-wasm-bytecode" "1.11.1" - "@webassemblyjs/helper-wasm-section" "1.11.1" - "@webassemblyjs/wasm-gen" "1.11.1" - "@webassemblyjs/wasm-opt" "1.11.1" - "@webassemblyjs/wasm-parser" "1.11.1" - "@webassemblyjs/wast-printer" "1.11.1" - -"@webassemblyjs/wasm-gen@1.11.1": - version "1.11.1" - resolved "https://registry.yarnpkg.com/@webassemblyjs/wasm-gen/-/wasm-gen-1.11.1.tgz#86c5ea304849759b7d88c47a32f4f039ae3c8f76" - integrity sha512-F7QqKXwwNlMmsulj6+O7r4mmtAlCWfO/0HdgOxSklZfQcDu0TpLiD1mRt/zF25Bk59FIjEuGAIyn5ei4yMfLhA== - dependencies: - "@webassemblyjs/ast" "1.11.1" - "@webassemblyjs/helper-wasm-bytecode" "1.11.1" - "@webassemblyjs/ieee754" "1.11.1" - "@webassemblyjs/leb128" "1.11.1" - "@webassemblyjs/utf8" "1.11.1" - -"@webassemblyjs/wasm-opt@1.11.1": - version "1.11.1" - resolved "https://registry.yarnpkg.com/@webassemblyjs/wasm-opt/-/wasm-opt-1.11.1.tgz#657b4c2202f4cf3b345f8a4c6461c8c2418985f2" - integrity sha512-VqnkNqnZlU5EB64pp1l7hdm3hmQw7Vgqa0KF/KCNO9sIpI6Fk6brDEiX+iCOYrvMuBWDws0NkTOxYEb85XQHHw== - dependencies: - "@webassemblyjs/ast" "1.11.1" - "@webassemblyjs/helper-buffer" "1.11.1" - "@webassemblyjs/wasm-gen" "1.11.1" - "@webassemblyjs/wasm-parser" "1.11.1" - -"@webassemblyjs/wasm-parser@1.11.1": - version "1.11.1" - resolved "https://registry.yarnpkg.com/@webassemblyjs/wasm-parser/-/wasm-parser-1.11.1.tgz#86ca734534f417e9bd3c67c7a1c75d8be41fb199" - integrity sha512-rrBujw+dJu32gYB7/Lup6UhdkPx9S9SnobZzRVL7VcBH9Bt9bCBLEuX/YXOOtBsOZ4NQrRykKhffRWHvigQvOA== - dependencies: - "@webassemblyjs/ast" "1.11.1" - "@webassemblyjs/helper-api-error" "1.11.1" - "@webassemblyjs/helper-wasm-bytecode" "1.11.1" - "@webassemblyjs/ieee754" "1.11.1" - "@webassemblyjs/leb128" "1.11.1" - "@webassemblyjs/utf8" "1.11.1" - -"@webassemblyjs/wast-printer@1.11.1": - version "1.11.1" - resolved "https://registry.yarnpkg.com/@webassemblyjs/wast-printer/-/wast-printer-1.11.1.tgz#d0c73beda8eec5426f10ae8ef55cee5e7084c2f0" - integrity sha512-IQboUWM4eKzWW+N/jij2sRatKMh99QEelo3Eb2q0qXkvPRISAj8Qxtmw5itwqK+TTkBuUIE45AxYPToqPtL5gg== - dependencies: - "@webassemblyjs/ast" "1.11.1" - "@xtuc/long" "4.2.2" - -"@xtuc/ieee754@^1.2.0": - version "1.2.0" - resolved "https://registry.yarnpkg.com/@xtuc/ieee754/-/ieee754-1.2.0.tgz#eef014a3145ae477a1cbc00cd1e552336dceb790" - integrity sha512-DX8nKgqcGwsc0eJSqYt5lwP4DH5FlHnmuWWBRy7X0NcaGR0ZtuyeESgMwTYVEtxmsNGY+qit4QYT/MIYTOTPeA== - -"@xtuc/long@4.2.2": - version "4.2.2" - resolved "https://registry.yarnpkg.com/@xtuc/long/-/long-4.2.2.tgz#d291c6a4e97989b5c61d9acf396ae4fe133a718d" - integrity sha512-NuHqBY1PB/D8xU6s/thBgOAiAP7HOYDQ32+BFZILJ8ivkUkAHQnWfn6WhL79Owj1qmUnoN/YPhktdIoucipkAQ== - -abbrev@1: - version "1.1.1" - resolved "https://registry.yarnpkg.com/abbrev/-/abbrev-1.1.1.tgz#f8f2c887ad10bf67f634f005b6987fed3179aac8" - integrity sha512-nne9/IiQ/hzIhY6pdDnbBtz7DjPTKrY00P/zvPSm5pOFkl6xuGrGnXn/VtTNNfNtAfZ9/1RtehkszU9qcTii0Q== - -abstract-socket@^2.0.0: - version "2.1.1" - resolved "https://registry.yarnpkg.com/abstract-socket/-/abstract-socket-2.1.1.tgz#243a7e6e6ff65bb9eab16a22fa90699b91e528f7" - integrity sha512-YZJizsvS1aBua5Gd01woe4zuyYBGgSMeqDOB6/ChwdTI904KP6QGtJswXl4hcqWxbz86hQBe++HWV0hF1aGUtA== - dependencies: - bindings "^1.2.1" - nan "^2.12.1" - -accepts@~1.3.4, accepts@~1.3.5, accepts@~1.3.7: - version "1.3.8" - resolved "https://registry.yarnpkg.com/accepts/-/accepts-1.3.8.tgz#0bf0be125b67014adcb0b0921e62db7bffe16b2e" - integrity sha512-PYAthTa2m2VKxuvSD3DPC/Gy+U+sOA1LAuT8mkmRuvw+NACSaeXEQ+NHcVF7rONl6qcaxV3Uuemwawk+7+SJLw== - dependencies: - mime-types "~2.1.34" - negotiator "0.6.3" - -acorn-import-assertions@^1.7.6: - version "1.8.0" - resolved "https://registry.yarnpkg.com/acorn-import-assertions/-/acorn-import-assertions-1.8.0.tgz#ba2b5939ce62c238db6d93d81c9b111b29b855e9" - integrity sha512-m7VZ3jwz4eK6A4Vtt8Ew1/mNbP24u0FhdyfA7fSvnJR6LMdfOYnmuIrrJAgrYfYJ10F/otaHTtrtrtmHdMNzEw== - -acorn@^8.4.1: - version "8.7.0" - resolved "https://registry.yarnpkg.com/acorn/-/acorn-8.7.0.tgz#90951fde0f8f09df93549481e5fc141445b791cf" - integrity sha512-V/LGr1APy+PXIwKebEWrkZPwoeoF+w1jiOBUmuxuiUIaOHtob8Qc9BTrYo7VuI5fR8tqsy+buA2WFooR5olqvQ== - -agent-base@6, agent-base@^6.0.2: - version "6.0.2" - resolved "https://registry.yarnpkg.com/agent-base/-/agent-base-6.0.2.tgz#49fff58577cfee3f37176feab4c22e00f86d7f77" - integrity sha512-RZNwNclF7+MS/8bDg70amg32dyeZGZxiDuQmZxKLAlQjr3jGyLx+4Kkk58UO7D2QdgFIQCovuSuZESne6RG6XQ== - dependencies: - debug "4" - -agentkeepalive@^4.1.3: - version "4.2.0" - resolved "https://registry.yarnpkg.com/agentkeepalive/-/agentkeepalive-4.2.0.tgz#616ce94ccb41d1a39a45d203d8076fe98713062d" - integrity sha512-0PhAp58jZNw13UJv7NVdTGb0ZcghHUb3DrZ046JiiJY/BOaTTpbwdHq2VObPCBV8M2GPh7sgrJ3AQ8Ey468LJw== - dependencies: - debug "^4.1.0" - depd "^1.1.2" - humanize-ms "^1.2.1" - -aggregate-error@^3.0.0: - version "3.1.0" - resolved "https://registry.yarnpkg.com/aggregate-error/-/aggregate-error-3.1.0.tgz#92670ff50f5359bdb7a3e0d40d0ec30c5737687a" - integrity sha512-4I7Td01quW/RpocfNayFdFVk1qSuoh0E7JrbRJ16nH01HhKFQ88INq9Sd+nd72zqRySlr9BmDA8xlEJ6vJMrYA== - dependencies: - clean-stack "^2.0.0" - indent-string "^4.0.0" - -ajv-errors@^1.0.0: - version "1.0.1" - resolved "https://registry.yarnpkg.com/ajv-errors/-/ajv-errors-1.0.1.tgz#f35986aceb91afadec4102fbd85014950cefa64d" - integrity sha512-DCRfO/4nQ+89p/RK43i8Ezd41EqdGIU4ld7nGF8OQ14oc/we5rEntLCUa7+jrn3nn83BosfwZA0wb4pon2o8iQ== - -ajv-formats@^2.1.1: - version "2.1.1" - resolved "https://registry.yarnpkg.com/ajv-formats/-/ajv-formats-2.1.1.tgz#6e669400659eb74973bbf2e33327180a0996b520" - integrity sha512-Wx0Kx52hxE7C18hkMEggYlEifqWZtYaRgouJor+WMdPnQyEK13vgEWyVNup7SoeeoLMsr4kf5h6dOW11I15MUA== - dependencies: - ajv "^8.0.0" - -ajv-keywords@^3.1.0, ajv-keywords@^3.4.1, ajv-keywords@^3.5.2: - version "3.5.2" - resolved "https://registry.yarnpkg.com/ajv-keywords/-/ajv-keywords-3.5.2.tgz#31f29da5ab6e00d1c2d329acf7b5929614d5014d" - integrity sha512-5p6WTN0DdTGVQk6VjcEju19IgaHudalcfabD7yhDGeA6bcQnmL+CpveLJq/3hvfwd1aof6L386Ougkx6RfyMIQ== - -ajv@^6.1.0, ajv@^6.10.0, ajv@^6.10.1, ajv@^6.12.0, ajv@^6.12.4, ajv@^6.12.5: - version "6.12.6" - resolved "https://registry.yarnpkg.com/ajv/-/ajv-6.12.6.tgz#baf5a62e802b07d977034586f8c3baf5adf26df4" - integrity sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g== - dependencies: - fast-deep-equal "^3.1.1" - fast-json-stable-stringify "^2.0.0" - json-schema-traverse "^0.4.1" - uri-js "^4.2.2" - -ajv@^8.0.0, ajv@^8.6.3: - version "8.10.0" - resolved "https://registry.yarnpkg.com/ajv/-/ajv-8.10.0.tgz#e573f719bd3af069017e3b66538ab968d040e54d" - integrity sha512-bzqAEZOjkrUMl2afH8dknrq5KEk2SrwdBROR+vH1EKVQTqaUbJVPdc/gEdggTMM0Se+s+Ja4ju4TlNcStKl2Hw== - dependencies: - fast-deep-equal "^3.1.1" - json-schema-traverse "^1.0.0" - require-from-string "^2.0.2" - uri-js "^4.2.2" - -ansi-align@^3.0.0: - version "3.0.1" - resolved "https://registry.yarnpkg.com/ansi-align/-/ansi-align-3.0.1.tgz#0cdf12e111ace773a86e9a1fad1225c43cb19a59" - integrity sha512-IOfwwBF5iczOjp/WeY4YxyjqAFMQoZufdQWDd19SEExbVLNXqvpzSJ/M7Za4/sCPmQ0+GRquoA7bGcINcxew6w== - dependencies: - string-width "^4.1.0" - -ansi-colors@^3.0.0: - version "3.2.4" - resolved "https://registry.yarnpkg.com/ansi-colors/-/ansi-colors-3.2.4.tgz#e3a3da4bfbae6c86a9c285625de124a234026fbf" - integrity sha512-hHUXGagefjN2iRrID63xckIvotOXOojhQKWIPUZ4mNUZ9nLZW+7FMNoE1lOkEhNWYsx/7ysGIuJYCiMAA9FnrA== - -ansi-html-community@0.0.8: - version "0.0.8" - resolved "https://registry.yarnpkg.com/ansi-html-community/-/ansi-html-community-0.0.8.tgz#69fbc4d6ccbe383f9736934ae34c3f8290f1bf41" - integrity sha512-1APHAyr3+PCamwNw3bXCPp4HFLONZt/yIH0sZp0/469KWNTEy+qN5jQ3GVX6DMZ1UXAi34yVwtTeaG/HpBuuzw== - -ansi-regex@^2.0.0: - version "2.1.1" - resolved "https://registry.yarnpkg.com/ansi-regex/-/ansi-regex-2.1.1.tgz#c3b33ab5ee360d86e0e628f0468ae7ef27d654df" - integrity sha1-w7M6te42DYbg5ijwRorn7yfWVN8= - -ansi-regex@^4.1.0: - version "4.1.0" - resolved "https://registry.yarnpkg.com/ansi-regex/-/ansi-regex-4.1.0.tgz#8b9f8f08cf1acb843756a839ca8c7e3168c51997" - integrity sha512-1apePfXM1UOSqw0o9IiFAovVz9M5S1Dg+4TrDwfMewQ6p/rmMueb7tWZjQ1rx4Loy1ArBggoqGpfqqdI4rondg== - -ansi-regex@^5.0.1: - version "5.0.1" - resolved "https://registry.yarnpkg.com/ansi-regex/-/ansi-regex-5.0.1.tgz#082cb2c89c9fe8659a311a53bd6a4dc5301db304" - integrity sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ== - -ansi-styles@^3.2.0, ansi-styles@^3.2.1: - version "3.2.1" - resolved "https://registry.yarnpkg.com/ansi-styles/-/ansi-styles-3.2.1.tgz#41fbb20243e50b12be0f04b8dedbf07520ce841d" - integrity sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA== - dependencies: - color-convert "^1.9.0" - -ansi-styles@^4.0.0, ansi-styles@^4.1.0: - version "4.3.0" - resolved "https://registry.yarnpkg.com/ansi-styles/-/ansi-styles-4.3.0.tgz#edd803628ae71c04c85ae7a0906edad34b648937" - integrity sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg== - dependencies: - color-convert "^2.0.1" - -ansi-styles@^5.0.0: - version "5.2.0" - resolved "https://registry.yarnpkg.com/ansi-styles/-/ansi-styles-5.2.0.tgz#07449690ad45777d1924ac2abb2fc8895dba836b" - integrity sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA== - -anymatch@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/anymatch/-/anymatch-2.0.0.tgz#bcb24b4f37934d9aa7ac17b4adaf89e7c76ef2eb" - integrity sha512-5teOsQWABXHHBFP9y3skS5P3d/WfWXpv3FUpy+LorMrNYaT9pI4oLMQX7jzQ2KklNpGpWHzdCXTDT2Y3XGlZBw== - dependencies: - micromatch "^3.1.4" - normalize-path "^2.1.1" - -anymatch@^3.0.0: - version "3.1.2" - resolved "https://registry.yarnpkg.com/anymatch/-/anymatch-3.1.2.tgz#c0557c096af32f106198f4f4e2a383537e378716" - integrity sha512-P43ePfOAIupkguHUycrc4qJ9kz8ZiuOUijaETwX7THt0Y/GNK7v0aa8rY816xWjZ7rJdA5XdMcpVFTKMq+RvWg== - dependencies: - normalize-path "^3.0.0" - picomatch "^2.0.4" - -app-builder-bin@3.7.1: - version "3.7.1" - resolved "https://registry.yarnpkg.com/app-builder-bin/-/app-builder-bin-3.7.1.tgz#cb0825c5e12efc85b196ac3ed9c89f076c61040e" - integrity sha512-ql93vEUq6WsstGXD+SBLSIQw6SNnhbDEM0swzgugytMxLp3rT24Ag/jcC80ZHxiPRTdew1niuR7P3/FCrDqIjw== - -app-builder-lib@22.14.5: - version "22.14.5" - resolved "https://registry.yarnpkg.com/app-builder-lib/-/app-builder-lib-22.14.5.tgz#a61a50b132b858e98fdc70b6b88994ae99b4f96d" - integrity sha512-k3VwKP4kpsnUaXoUkm1s4zaSHPHIMFnN4kPMU9yXaKmE1LfHHqBaEah5bXeTAX5V/BC41wFdg8CF5vOjvgy8Rg== - dependencies: - "7zip-bin" "~5.1.1" - "@develar/schema-utils" "~2.6.5" - "@electron/universal" "1.0.5" - "@malept/flatpak-bundler" "^0.4.0" - async-exit-hook "^2.0.1" - bluebird-lst "^1.0.9" - builder-util "22.14.5" - builder-util-runtime "8.9.1" - chromium-pickle-js "^0.2.0" - debug "^4.3.2" - ejs "^3.1.6" - electron-osx-sign "^0.5.0" - electron-publish "22.14.5" - form-data "^4.0.0" - fs-extra "^10.0.0" - hosted-git-info "^4.0.2" - is-ci "^3.0.0" - isbinaryfile "^4.0.8" - js-yaml "^4.1.0" - lazy-val "^1.0.5" - minimatch "^3.0.4" - read-config-file "6.2.0" - sanitize-filename "^1.6.3" - semver "^7.3.5" - temp-file "^3.4.0" - -"aproba@^1.0.3 || ^2.0.0": - version "2.0.0" - resolved "https://registry.yarnpkg.com/aproba/-/aproba-2.0.0.tgz#52520b8ae5b569215b354efc0caa3fe1e45a8adc" - integrity sha512-lYe4Gx7QT+MKGbDsA+Z+he/Wtef0BiwDOlK/XkBrdfsh9J/jPPXbX0tE9x9cl27Tmu5gg3QUbUrQYa/y+KOHPQ== - -aproba@^1.1.1: - version "1.2.0" - resolved "https://registry.yarnpkg.com/aproba/-/aproba-1.2.0.tgz#6802e6264efd18c790a1b0d517f0f2627bf2c94a" - integrity sha512-Y9J6ZjXtoYh8RnXVCMOU/ttDmk1aBjunq9vO0ta5x85WDQiQfUF9sIPBITdbiiIVcBo03Hi3jMxigBtsddlXRw== - -are-we-there-yet@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/are-we-there-yet/-/are-we-there-yet-2.0.0.tgz#372e0e7bd279d8e94c653aaa1f67200884bf3e1c" - integrity sha512-Ci/qENmwHnsYo9xKIcUJN5LeDKdJ6R1Z1j9V/J5wyq8nh/mYPEpIKJbBZXtZjG04HiK7zV/p6Vs9952MrMeUIw== - dependencies: - delegates "^1.0.0" - readable-stream "^3.6.0" - -argparse@^1.0.7: - version "1.0.10" - resolved "https://registry.yarnpkg.com/argparse/-/argparse-1.0.10.tgz#bcd6791ea5ae09725e17e5ad988134cd40b3d911" - integrity sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg== - dependencies: - sprintf-js "~1.0.2" - -argparse@^2.0.1: - version "2.0.1" - resolved "https://registry.yarnpkg.com/argparse/-/argparse-2.0.1.tgz#246f50f3ca78a3240f6c997e8a9bd1eac49e4b38" - integrity sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q== - -arr-diff@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/arr-diff/-/arr-diff-4.0.0.tgz#d6461074febfec71e7e15235761a329a5dc7c520" - integrity sha1-1kYQdP6/7HHn4VI1dhoyml3HxSA= - -arr-flatten@^1.1.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/arr-flatten/-/arr-flatten-1.1.0.tgz#36048bbff4e7b47e136644316c99669ea5ae91f1" - integrity sha512-L3hKV5R/p5o81R7O02IGnwpDmkp6E982XhtbuwSe3O4qOtMMMtodicASA1Cny2U+aCXcNpml+m4dPsvsJ3jatg== - -arr-union@^3.1.0: - version "3.1.0" - resolved "https://registry.yarnpkg.com/arr-union/-/arr-union-3.1.0.tgz#e39b09aea9def866a8f206e288af63919bae39c4" - integrity sha1-45sJrqne+Gao8gbiiK9jkZuuOcQ= - -array-flatten@1.1.1: - version "1.1.1" - resolved "https://registry.yarnpkg.com/array-flatten/-/array-flatten-1.1.1.tgz#9a5f699051b1e7073328f2a008968b64ea2955d2" - integrity sha1-ml9pkFGx5wczKPKgCJaLZOopVdI= - -array-flatten@^2.1.0: - version "2.1.2" - resolved "https://registry.yarnpkg.com/array-flatten/-/array-flatten-2.1.2.tgz#24ef80a28c1a893617e2149b0c6d0d788293b099" - integrity sha512-hNfzcOV8W4NdualtqBFPyVO+54DSJuZGY9qT4pRroB6S9e3iiido2ISIC5h9R2sPJ8H3FHCIiEnsv1lPXO3KtQ== - -array-union@^1.0.1: - version "1.0.2" - resolved "https://registry.yarnpkg.com/array-union/-/array-union-1.0.2.tgz#9a34410e4f4e3da23dea375be5be70f24778ec39" - integrity sha1-mjRBDk9OPaI96jdb5b5w8kd47Dk= - dependencies: - array-uniq "^1.0.1" - -array-uniq@^1.0.1: - version "1.0.3" - resolved "https://registry.yarnpkg.com/array-uniq/-/array-uniq-1.0.3.tgz#af6ac877a25cc7f74e058894753858dfdb24fdb6" - integrity sha1-r2rId6Jcx/dOBYiUdThY39sk/bY= - -array-unique@^0.3.2: - version "0.3.2" - resolved "https://registry.yarnpkg.com/array-unique/-/array-unique-0.3.2.tgz#a894b75d4bc4f6cd679ef3244a9fd8f46ae2d428" - integrity sha1-qJS3XUvE9s1nnvMkSp/Y9Gri1Cg= - -asar@^3.0.3, asar@^3.1.0: - version "3.1.0" - resolved "https://registry.yarnpkg.com/asar/-/asar-3.1.0.tgz#70b0509449fe3daccc63beb4d3c7d2e24d3c6473" - integrity sha512-vyxPxP5arcAqN4F/ebHd/HhwnAiZtwhglvdmc7BR2f0ywbVNTOpSeyhLDbGXtE/y58hv1oC75TaNIXutnsOZsQ== - dependencies: - chromium-pickle-js "^0.2.0" - commander "^5.0.0" - glob "^7.1.6" - minimatch "^3.0.4" - optionalDependencies: - "@types/glob" "^7.1.1" - -assert-plus@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/assert-plus/-/assert-plus-1.0.0.tgz#f12e0f3c5d77b0b1cdd9146942e4e96c1e4dd525" - integrity sha1-8S4PPF13sLHN2RRpQuTpbB5N1SU= - -assign-symbols@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/assign-symbols/-/assign-symbols-1.0.0.tgz#59667f41fadd4f20ccbc2bb96b8d4f7f78ec0367" - integrity sha1-WWZ/QfrdTyDMvCu5a41Pf3jsA2c= - -astral-regex@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/astral-regex/-/astral-regex-2.0.0.tgz#483143c567aeed4785759c0865786dc77d7d2e31" - integrity sha512-Z7tMw1ytTXt5jqMcOP+OQteU1VuNK9Y02uuJtKQ1Sv69jXQKKg5cibLwGJow8yzZP+eAc18EmLGPal0bp36rvQ== - -async-each@^1.0.1: - version "1.0.3" - resolved "https://registry.yarnpkg.com/async-each/-/async-each-1.0.3.tgz#b727dbf87d7651602f06f4d4ac387f47d91b0cbf" - integrity sha512-z/WhQ5FPySLdvREByI2vZiTWwCnF0moMJ1hK9YQwDTHKh6I7/uSckMetoRGb5UBZPC1z0jlw+n/XCgjeH7y1AQ== - -async-exit-hook@^2.0.1: - version "2.0.1" - resolved "https://registry.yarnpkg.com/async-exit-hook/-/async-exit-hook-2.0.1.tgz#8bd8b024b0ec9b1c01cccb9af9db29bd717dfaf3" - integrity sha512-NW2cX8m1Q7KPA7a5M2ULQeZ2wR5qI5PAbw5L0UOMxdioVk9PMZ0h1TmyZEkPYrCvYjDlFICusOu1dlEKAAeXBw== - -async-limiter@~1.0.0: - version "1.0.1" - resolved "https://registry.yarnpkg.com/async-limiter/-/async-limiter-1.0.1.tgz#dd379e94f0db8310b08291f9d64c3209766617fd" - integrity sha512-csOlWGAcRFJaI6m+F2WKdnMKr4HhdhFVBk0H/QbJFMCr+uO2kwohwXQPxw/9OCxp05r5ghVBFSyioixx3gfkNQ== - -async@0.9.x: - version "0.9.2" - resolved "https://registry.yarnpkg.com/async/-/async-0.9.2.tgz#aea74d5e61c1f899613bf64bda66d4c78f2fd17d" - integrity sha1-rqdNXmHB+JlhO/ZL2mbUx48v0X0= - -async@^2.6.2: - version "2.6.3" - resolved "https://registry.yarnpkg.com/async/-/async-2.6.3.tgz#d72625e2344a3656e3a3ad4fa749fa83299d82ff" - integrity sha512-zflvls11DCy+dQWzTW2dzuilv8Z5X/pjfmZOWba6TNIVDm+2UDaJmXSOXlasHKfNBs8oo3M0aT50fDEWfKZjXg== - dependencies: - lodash "^4.17.14" - -asynckit@^0.4.0: - version "0.4.0" - resolved "https://registry.yarnpkg.com/asynckit/-/asynckit-0.4.0.tgz#c79ed97f7f34cb8f2ba1bc9790bcc366474b4b79" - integrity sha1-x57Zf380y48robyXkLzDZkdLS3k= - -at-least-node@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/at-least-node/-/at-least-node-1.0.0.tgz#602cd4b46e844ad4effc92a8011a3c46e0238dc2" - integrity sha512-+q/t7Ekv1EDY2l6Gda6LLiX14rU9TV20Wa3ofeQmwPFZbOMo9DXrLbOjFaaclkXKWidIaopwAObQDqwWtGUjqg== - -atob@^2.1.2: - version "2.1.2" - resolved "https://registry.yarnpkg.com/atob/-/atob-2.1.2.tgz#6d9517eb9e030d2436666651e86bd9f6f13533c9" - integrity sha512-Wm6ukoaOGJi/73p/cl2GvLjTI5JM1k/O14isD73YML8StrH/7/lRFgmg8nICZgD3bZZvjwCGxtMOD3wWNAu8cg== - -atomically@^1.7.0: - version "1.7.0" - resolved "https://registry.yarnpkg.com/atomically/-/atomically-1.7.0.tgz#c07a0458432ea6dbc9a3506fffa424b48bccaafe" - integrity sha512-Xcz9l0z7y9yQ9rdDaxlmaI4uJHf/T8g9hOEzJcsEqX2SjCj4J20uK7+ldkDHMbpJDK76wF7xEIgxc/vSlsfw5w== - -author-regex@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/author-regex/-/author-regex-1.0.0.tgz#d08885be6b9bbf9439fe087c76287245f0a81450" - integrity sha1-0IiFvmubv5Q5/gh8dihyRfCoFFA= - -babel-loader@^8.1.0: - version "8.2.3" - resolved "https://registry.yarnpkg.com/babel-loader/-/babel-loader-8.2.3.tgz#8986b40f1a64cacfcb4b8429320085ef68b1342d" - integrity sha512-n4Zeta8NC3QAsuyiizu0GkmRcQ6clkV9WFUnUf1iXP//IeSKbWjofW3UHyZVwlOB4y039YQKefawyTn64Zwbuw== - dependencies: - find-cache-dir "^3.3.1" - loader-utils "^1.4.0" - make-dir "^3.1.0" - schema-utils "^2.6.5" - -babel-plugin-component@^1.1.1: - version "1.1.1" - resolved "https://registry.yarnpkg.com/babel-plugin-component/-/babel-plugin-component-1.1.1.tgz#9b023a23ff5c9aae0fd56c5a18b9cab8c4d45eea" - integrity sha512-WUw887kJf2GH80Ng/ZMctKZ511iamHNqPhd9uKo14yzisvV7Wt1EckIrb8oq/uCz3B3PpAW7Xfl7AkTLDYT6ag== - dependencies: - "@babel/helper-module-imports" "7.0.0-beta.35" - -babel-plugin-dynamic-import-node@^2.3.3: - version "2.3.3" - resolved "https://registry.yarnpkg.com/babel-plugin-dynamic-import-node/-/babel-plugin-dynamic-import-node-2.3.3.tgz#84fda19c976ec5c6defef57f9427b3def66e17a3" - integrity sha512-jZVI+s9Zg3IqA/kdi0i6UDCybUI3aSBLnglhYbSSjKlV7yF1F/5LWv8MakQmvYpnbJDS6fcBL2KzHSxNCMtWSQ== - dependencies: - object.assign "^4.1.0" - -babel-plugin-module-resolver@^4.1.0: - version "4.1.0" - resolved "https://registry.yarnpkg.com/babel-plugin-module-resolver/-/babel-plugin-module-resolver-4.1.0.tgz#22a4f32f7441727ec1fbf4967b863e1e3e9f33e2" - integrity sha512-MlX10UDheRr3lb3P0WcaIdtCSRlxdQsB1sBqL7W0raF070bGl1HQQq5K3T2vf2XAYie+ww+5AKC/WrkjRO2knA== - dependencies: - find-babel-config "^1.2.0" - glob "^7.1.6" - pkg-up "^3.1.0" - reselect "^4.0.0" - resolve "^1.13.1" - -babel-plugin-polyfill-corejs2@^0.3.0: - version "0.3.1" - resolved "https://registry.yarnpkg.com/babel-plugin-polyfill-corejs2/-/babel-plugin-polyfill-corejs2-0.3.1.tgz#440f1b70ccfaabc6b676d196239b138f8a2cfba5" - integrity sha512-v7/T6EQcNfVLfcN2X8Lulb7DjprieyLWJK/zOWH5DUYcAgex9sP3h25Q+DLsX9TloXe3y1O8l2q2Jv9q8UVB9w== - dependencies: - "@babel/compat-data" "^7.13.11" - "@babel/helper-define-polyfill-provider" "^0.3.1" - semver "^6.1.1" - -babel-plugin-polyfill-corejs3@^0.5.0: - version "0.5.2" - resolved "https://registry.yarnpkg.com/babel-plugin-polyfill-corejs3/-/babel-plugin-polyfill-corejs3-0.5.2.tgz#aabe4b2fa04a6e038b688c5e55d44e78cd3a5f72" - integrity sha512-G3uJih0XWiID451fpeFaYGVuxHEjzKTHtc9uGFEjR6hHrvNzeS/PX+LLLcetJcytsB5m4j+K3o/EpXJNb/5IEQ== - dependencies: - "@babel/helper-define-polyfill-provider" "^0.3.1" - core-js-compat "^3.21.0" - -babel-plugin-polyfill-regenerator@^0.3.0: - version "0.3.1" - resolved "https://registry.yarnpkg.com/babel-plugin-polyfill-regenerator/-/babel-plugin-polyfill-regenerator-0.3.1.tgz#2c0678ea47c75c8cc2fbb1852278d8fb68233990" - integrity sha512-Y2B06tvgHYt1x0yz17jGkGeeMr5FeKUu+ASJ+N6nB5lQ8Dapfg42i0OVrf8PNGJ3zKL4A23snMi1IRwrqqND7A== - dependencies: - "@babel/helper-define-polyfill-provider" "^0.3.1" - -balanced-match@^1.0.0: - version "1.0.2" - resolved "https://registry.yarnpkg.com/balanced-match/-/balanced-match-1.0.2.tgz#e83e3a7e3f300b34cb9d87f615fa0cbf357690ee" - integrity sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw== - -base64-js@^1.3.1, base64-js@^1.5.1: - version "1.5.1" - resolved "https://registry.yarnpkg.com/base64-js/-/base64-js-1.5.1.tgz#1b1b440160a5bf7ad40b650f095963481903930a" - integrity sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA== - -base@^0.11.1: - version "0.11.2" - resolved "https://registry.yarnpkg.com/base/-/base-0.11.2.tgz#7bde5ced145b6d551a90db87f83c558b4eb48a8f" - integrity sha512-5T6P4xPgpp0YDFvSWwEZ4NoE3aM4QBQXDzmVbraCkFj8zHM+mba8SyqB5DbZWyR7mYHo6Y7BdQo3MoA4m0TeQg== - dependencies: - cache-base "^1.0.1" - class-utils "^0.3.5" - component-emitter "^1.2.1" - define-property "^1.0.0" - isobject "^3.0.1" - mixin-deep "^1.2.0" - pascalcase "^0.1.1" - -batch@0.6.1: - version "0.6.1" - resolved "https://registry.yarnpkg.com/batch/-/batch-0.6.1.tgz#dc34314f4e679318093fc760272525f94bf25c16" - integrity sha1-3DQxT05nkxgJP8dgJyUl+UvyXBY= - -big.js@^5.2.2: - version "5.2.2" - resolved "https://registry.yarnpkg.com/big.js/-/big.js-5.2.2.tgz#65f0af382f578bcdc742bd9c281e9cb2d7768328" - integrity sha512-vyL2OymJxmarO8gxMr0mhChsO9QGwhynfuu4+MHTAW6czfq9humCB7rKpUjDd9YUiDPU4mzpyupFSvOClAwbmQ== - -binary-extensions@^1.0.0: - version "1.13.1" - resolved "https://registry.yarnpkg.com/binary-extensions/-/binary-extensions-1.13.1.tgz#598afe54755b2868a5330d2aff9d4ebb53209b65" - integrity sha512-Un7MIEDdUC5gNpcGDV97op1Ywk748MpHcFTHoYs6qnj1Z3j7I53VG3nwZhKzoBZmbdRNnb6WRdFlwl7tSDuZGw== - -bindings@^1.2.1, bindings@^1.3.0, bindings@^1.5.0: - version "1.5.0" - resolved "https://registry.yarnpkg.com/bindings/-/bindings-1.5.0.tgz#10353c9e945334bc0511a6d90b38fbc7c9c504df" - integrity sha512-p2q/t/mhvuOj/UeLlV6566GD/guowlr0hHxClI0W9m7MWYkL1F0hLo+0Aexs9HSPCtR1SXQ0TD3MMKrXZajbiQ== - dependencies: - file-uri-to-path "1.0.0" - -bluebird-lst@^1.0.9: - version "1.0.9" - resolved "https://registry.yarnpkg.com/bluebird-lst/-/bluebird-lst-1.0.9.tgz#a64a0e4365658b9ab5fe875eb9dfb694189bb41c" - integrity sha512-7B1Rtx82hjnSD4PGLAjVWeYH3tHAcVUmChh85a3lltKQm6FresXh9ErQo6oAv6CqxttczC3/kEg8SY5NluPuUw== - dependencies: - bluebird "^3.5.5" - -bluebird@^3.1.1, bluebird@^3.5.0, bluebird@^3.5.5, bluebird@^3.7.2: - version "3.7.2" - resolved "https://registry.yarnpkg.com/bluebird/-/bluebird-3.7.2.tgz#9f229c15be272454ffa973ace0dbee79a1b0c36f" - integrity sha512-XpNj6GDQzdfW+r2Wnn7xiSAd7TM3jzkxGXBGTtWKuSXv1xUV+azxAm8jdWZN06QTQk+2N2XB9jRDkvbmQmcRtg== - -body-parser@1.19.1: - version "1.19.1" - resolved "https://registry.yarnpkg.com/body-parser/-/body-parser-1.19.1.tgz#1499abbaa9274af3ecc9f6f10396c995943e31d4" - integrity sha512-8ljfQi5eBk8EJfECMrgqNGWPEY5jWP+1IzkzkGdFFEwFQZZyaZ21UqdaHktgiMlH0xLHqIFtE/u2OYE5dOtViA== - dependencies: - bytes "3.1.1" - content-type "~1.0.4" - debug "2.6.9" - depd "~1.1.2" - http-errors "1.8.1" - iconv-lite "0.4.24" - on-finished "~2.3.0" - qs "6.9.6" - raw-body "2.4.2" - type-is "~1.6.18" - -bonjour@^3.5.0: - version "3.5.0" - resolved "https://registry.yarnpkg.com/bonjour/-/bonjour-3.5.0.tgz#8e890a183d8ee9a2393b3844c691a42bcf7bc9f5" - integrity sha1-jokKGD2O6aI5OzhExpGkK897yfU= - dependencies: - array-flatten "^2.1.0" - deep-equal "^1.0.1" - dns-equal "^1.0.0" - dns-txt "^2.0.2" - multicast-dns "^6.0.1" - multicast-dns-service-types "^1.1.0" - -boolbase@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/boolbase/-/boolbase-1.0.0.tgz#68dff5fbe60c51eb37725ea9e3ed310dcc1e776e" - integrity sha1-aN/1++YMUes3cl6p4+0xDcwed24= - -boolean@^3.0.1: - version "3.1.4" - resolved "https://registry.yarnpkg.com/boolean/-/boolean-3.1.4.tgz#f51a2fb5838a99e06f9b6ec1edb674de67026435" - integrity sha512-3hx0kwU3uzG6ReQ3pnaFQPSktpBw6RHN3/ivDKEuU8g1XSfafowyvDnadjv1xp8IZqhtSukxlwv9bF6FhX8m0w== - -boxen@^5.0.0: - version "5.1.2" - resolved "https://registry.yarnpkg.com/boxen/-/boxen-5.1.2.tgz#788cb686fc83c1f486dfa8a40c68fc2b831d2b50" - integrity sha512-9gYgQKXx+1nP8mP7CzFyaUARhg7D3n1dF/FnErWmu9l6JvGpNUN278h0aSb+QjoiKSWG+iZ3uHrcqk0qrY9RQQ== - dependencies: - ansi-align "^3.0.0" - camelcase "^6.2.0" - chalk "^4.1.0" - cli-boxes "^2.2.1" - string-width "^4.2.2" - type-fest "^0.20.2" - widest-line "^3.1.0" - wrap-ansi "^7.0.0" - -brace-expansion@^1.1.7: - version "1.1.11" - resolved "https://registry.yarnpkg.com/brace-expansion/-/brace-expansion-1.1.11.tgz#3c7fcbf529d87226f3d2f52b966ff5271eb441dd" - integrity sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA== - dependencies: - balanced-match "^1.0.0" - concat-map "0.0.1" - -braces@^2.3.1, braces@^2.3.2: - version "2.3.2" - resolved "https://registry.yarnpkg.com/braces/-/braces-2.3.2.tgz#5979fd3f14cd531565e5fa2df1abfff1dfaee729" - integrity sha512-aNdbnj9P8PjdXU4ybaWLK2IF3jc/EoDYbC7AazW6to3TRsfXxscC9UXOB5iDiEQrkyIbWp2SLQda4+QAa7nc3w== - dependencies: - arr-flatten "^1.1.0" - array-unique "^0.3.2" - extend-shallow "^2.0.1" - fill-range "^4.0.0" - isobject "^3.0.1" - repeat-element "^1.1.2" - snapdragon "^0.8.1" - snapdragon-node "^2.0.1" - split-string "^3.0.2" - to-regex "^3.0.1" - -braces@^3.0.1: - version "3.0.2" - resolved "https://registry.yarnpkg.com/braces/-/braces-3.0.2.tgz#3454e1a462ee8d599e236df336cd9ea4f8afe107" - integrity sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A== - dependencies: - fill-range "^7.0.1" - -browserslist@^4.14.5, browserslist@^4.17.5, browserslist@^4.19.1: - version "4.19.1" - resolved "https://registry.yarnpkg.com/browserslist/-/browserslist-4.19.1.tgz#4ac0435b35ab655896c31d53018b6dd5e9e4c9a3" - integrity sha512-u2tbbG5PdKRTUoctO3NBD8FQ5HdPh1ZXPHzp1rwaa5jTc+RV9/+RlWiAIKmjRPQF+xbGM9Kklj5bZQFa2s/38A== - dependencies: - caniuse-lite "^1.0.30001286" - electron-to-chromium "^1.4.17" - escalade "^3.1.1" - node-releases "^2.0.1" - picocolors "^1.0.0" - -buffer-alloc-unsafe@^1.1.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/buffer-alloc-unsafe/-/buffer-alloc-unsafe-1.1.0.tgz#bd7dc26ae2972d0eda253be061dba992349c19f0" - integrity sha512-TEM2iMIEQdJ2yjPJoSIsldnleVaAk1oW3DBVUykyOLsEsFmEc9kn+SFFPz+gl54KQNxlDnAwCXosOS9Okx2xAg== - -buffer-alloc@^1.2.0: - version "1.2.0" - resolved "https://registry.yarnpkg.com/buffer-alloc/-/buffer-alloc-1.2.0.tgz#890dd90d923a873e08e10e5fd51a57e5b7cce0ec" - integrity sha512-CFsHQgjtW1UChdXgbyJGtnm+O/uLQeZdtbDo8mfUgYXCHSM1wgrVxXm6bSyrUuErEb+4sYVGCzASBRot7zyrow== - dependencies: - buffer-alloc-unsafe "^1.1.0" - buffer-fill "^1.0.0" - -buffer-crc32@~0.2.3: - version "0.2.13" - resolved "https://registry.yarnpkg.com/buffer-crc32/-/buffer-crc32-0.2.13.tgz#0d333e3f00eac50aa1454abd30ef8c2a5d9a7242" - integrity sha1-DTM+PwDqxQqhRUq9MO+MKl2ackI= - -buffer-equal@1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/buffer-equal/-/buffer-equal-1.0.0.tgz#59616b498304d556abd466966b22eeda3eca5fbe" - integrity sha1-WWFrSYME1Var1GaWayLu2j7KX74= - -buffer-fill@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/buffer-fill/-/buffer-fill-1.0.0.tgz#f8f78b76789888ef39f205cd637f68e702122b2c" - integrity sha1-+PeLdniYiO858gXNY39o5wISKyw= - -buffer-from@^1.0.0: - version "1.1.2" - resolved "https://registry.yarnpkg.com/buffer-from/-/buffer-from-1.1.2.tgz#2b146a6fd72e80b4f55d255f35ed59a3a9a41bd5" - integrity sha512-E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ== - -buffer-indexof@^1.0.0: - version "1.1.1" - resolved "https://registry.yarnpkg.com/buffer-indexof/-/buffer-indexof-1.1.1.tgz#52fabcc6a606d1a00302802648ef68f639da268c" - integrity sha512-4/rOEg86jivtPTeOUUT61jJO1Ya1TrR/OkqCSZDyq84WJh3LuuiphBYJN+fm5xufIk4XAFcEwte/8WzC8If/1g== - -buffer@^5.1.0: - version "5.7.1" - resolved "https://registry.yarnpkg.com/buffer/-/buffer-5.7.1.tgz#ba62e7c13133053582197160851a8f648e99eed0" - integrity sha512-EHcyIPBQ4BSGlvjB16k5KgAJ27CIsHY/2JBmCRReo48y9rQ3MaUzWX3KVlBa4U7MyX02HdVj0K7C3WaB3ju7FQ== - dependencies: - base64-js "^1.3.1" - ieee754 "^1.1.13" - -builder-util-runtime@8.9.1: - version "8.9.1" - resolved "https://registry.yarnpkg.com/builder-util-runtime/-/builder-util-runtime-8.9.1.tgz#25f066b3fbc20b3e6236a9b956b1ebb0e33ff66a" - integrity sha512-c8a8J3wK6BIVLW7ls+7TRK9igspTbzWmUqxFbgK0m40Ggm6efUbxtWVCGIjc+dtchyr5qAMAUL6iEGRdS/6vwg== - dependencies: - debug "^4.3.2" - sax "^1.2.4" - -builder-util@22.14.5: - version "22.14.5" - resolved "https://registry.yarnpkg.com/builder-util/-/builder-util-22.14.5.tgz#42a18608d2a566c0846e91266464776c8bfb0cc9" - integrity sha512-zqIHDFJwmA7jV7SC9aI+33MWwT2mWoijH+Ol9IntNAwuuRXoS+7XeJwnhLBXOhcDBzXT4kDzHnRk4JKeaygEYA== - dependencies: - "7zip-bin" "~5.1.1" - "@types/debug" "^4.1.6" - "@types/fs-extra" "^9.0.11" - app-builder-bin "3.7.1" - bluebird-lst "^1.0.9" - builder-util-runtime "8.9.1" - chalk "^4.1.1" - cross-spawn "^7.0.3" - debug "^4.3.2" - fs-extra "^10.0.0" - is-ci "^3.0.0" - js-yaml "^4.1.0" - source-map-support "^0.5.19" - stat-mode "^1.0.0" - temp-file "^3.4.0" - -bytes@3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/bytes/-/bytes-3.0.0.tgz#d32815404d689699f85a4ea4fa8755dd13a96048" - integrity sha1-0ygVQE1olpn4Wk6k+odV3ROpYEg= - -bytes@3.1.1: - version "3.1.1" - resolved "https://registry.yarnpkg.com/bytes/-/bytes-3.1.1.tgz#3f018291cb4cbad9accb6e6970bca9c8889e879a" - integrity sha512-dWe4nWO/ruEOY7HkUJ5gFt1DCFV9zPRoJr8pV0/ASQermOZjtq8jMjOprC0Kd10GLN+l7xaUPvxzJFWtxGu8Fg== - -cacache@^13.0.1: - version "13.0.1" - resolved "https://registry.yarnpkg.com/cacache/-/cacache-13.0.1.tgz#a8000c21697089082f85287a1aec6e382024a71c" - integrity sha512-5ZvAxd05HDDU+y9BVvcqYu2LLXmPnQ0hW62h32g4xBTgL/MppR4/04NHfj/ycM2y6lmTnbw6HVi+1eN0Psba6w== - dependencies: - chownr "^1.1.2" - figgy-pudding "^3.5.1" - fs-minipass "^2.0.0" - glob "^7.1.4" - graceful-fs "^4.2.2" - infer-owner "^1.0.4" - lru-cache "^5.1.1" - minipass "^3.0.0" - minipass-collect "^1.0.2" - minipass-flush "^1.0.5" - minipass-pipeline "^1.2.2" - mkdirp "^0.5.1" - move-concurrently "^1.0.1" - p-map "^3.0.0" - promise-inflight "^1.0.1" - rimraf "^2.7.1" - ssri "^7.0.0" - unique-filename "^1.1.1" - -cacache@^15.2.0: - version "15.3.0" - resolved "https://registry.yarnpkg.com/cacache/-/cacache-15.3.0.tgz#dc85380fb2f556fe3dda4c719bfa0ec875a7f1eb" - integrity sha512-VVdYzXEn+cnbXpFgWs5hTT7OScegHVmLhJIR8Ufqk3iFD6A6j5iSX1KuBTfNEv4tdJWE2PzA6IVFtcLC7fN9wQ== - dependencies: - "@npmcli/fs" "^1.0.0" - "@npmcli/move-file" "^1.0.1" - chownr "^2.0.0" - fs-minipass "^2.0.0" - glob "^7.1.4" - infer-owner "^1.0.4" - lru-cache "^6.0.0" - minipass "^3.1.1" - minipass-collect "^1.0.2" - minipass-flush "^1.0.5" - minipass-pipeline "^1.2.2" - mkdirp "^1.0.3" - p-map "^4.0.0" - promise-inflight "^1.0.1" - rimraf "^3.0.2" - ssri "^8.0.1" - tar "^6.0.2" - unique-filename "^1.1.1" - -cache-base@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/cache-base/-/cache-base-1.0.1.tgz#0a7f46416831c8b662ee36fe4e7c59d76f666ab2" - integrity sha512-AKcdTnFSWATd5/GCPRxr2ChwIJ85CeyrEyjRHlKxQ56d4XJMGym0uAiKn0xbLOGOl3+yRpOTi484dVCEc5AUzQ== - dependencies: - collection-visit "^1.0.0" - component-emitter "^1.2.1" - get-value "^2.0.6" - has-value "^1.0.0" - isobject "^3.0.1" - set-value "^2.0.0" - to-object-path "^0.3.0" - union-value "^1.0.0" - unset-value "^1.0.0" - -cacheable-lookup@^5.0.3: - version "5.0.4" - resolved "https://registry.yarnpkg.com/cacheable-lookup/-/cacheable-lookup-5.0.4.tgz#5a6b865b2c44357be3d5ebc2a467b032719a7005" - integrity sha512-2/kNscPhpcxrOigMZzbiWF7dz8ilhb/nIHU3EyZiXWXpeq/au8qJ8VhdftMkty3n7Gj6HIGalQG8oiBNB3AJgA== - -cacheable-request@^6.0.0: - version "6.1.0" - resolved "https://registry.yarnpkg.com/cacheable-request/-/cacheable-request-6.1.0.tgz#20ffb8bd162ba4be11e9567d823db651052ca912" - integrity sha512-Oj3cAGPCqOZX7Rz64Uny2GYAZNliQSqfbePrgAQ1wKAihYmCUnraBtJtKcGR4xz7wF+LoJC+ssFZvv5BgF9Igg== - dependencies: - clone-response "^1.0.2" - get-stream "^5.1.0" - http-cache-semantics "^4.0.0" - keyv "^3.0.0" - lowercase-keys "^2.0.0" - normalize-url "^4.1.0" - responselike "^1.0.2" - -cacheable-request@^7.0.2: - version "7.0.2" - resolved "https://registry.yarnpkg.com/cacheable-request/-/cacheable-request-7.0.2.tgz#ea0d0b889364a25854757301ca12b2da77f91d27" - integrity sha512-pouW8/FmiPQbuGpkXQ9BAPv/Mo5xDGANgSNXzTzJ8DrKGuXOssM4wIQRjfanNRh3Yu5cfYPvcorqbhg2KIJtew== - dependencies: - clone-response "^1.0.2" - get-stream "^5.1.0" - http-cache-semantics "^4.0.0" - keyv "^4.0.0" - lowercase-keys "^2.0.0" - normalize-url "^6.0.1" - responselike "^2.0.0" - -call-bind@^1.0.0, call-bind@^1.0.2: - version "1.0.2" - resolved "https://registry.yarnpkg.com/call-bind/-/call-bind-1.0.2.tgz#b1d4e89e688119c3c9a903ad30abb2f6a919be3c" - integrity sha512-7O+FbCihrB5WGbFYesctwmTKae6rOiIzmz1icreWJ+0aA7LJfuqhEso2T9ncpcFtzMQtzXf2QGGueWJGTYsqrA== - dependencies: - function-bind "^1.1.1" - get-intrinsic "^1.0.2" - -camel-case@^4.1.1: - version "4.1.2" - resolved "https://registry.yarnpkg.com/camel-case/-/camel-case-4.1.2.tgz#9728072a954f805228225a6deea6b38461e1bd5a" - integrity sha512-gxGWBrTT1JuMx6R+o5PTXMmUnhnVzLQ9SNutD4YqKtI6ap897t3tKECYla6gCWEkplXnlNybEkZg9GEGxKFCgw== - dependencies: - pascal-case "^3.1.2" - tslib "^2.0.3" - -camelcase@^5.0.0, camelcase@^5.3.1: - version "5.3.1" - resolved "https://registry.yarnpkg.com/camelcase/-/camelcase-5.3.1.tgz#e3c9b31569e106811df242f715725a1f4c494320" - integrity sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg== - -camelcase@^6.2.0: - version "6.3.0" - resolved "https://registry.yarnpkg.com/camelcase/-/camelcase-6.3.0.tgz#5685b95eb209ac9c0c177467778c9c84df58ba9a" - integrity sha512-Gmy6FhYlCY7uOElZUSbxo2UCDH8owEk996gkbrpsgGtrJLM3J7jGxl9Ic7Qwwj4ivOE5AWZWRMecDdF7hqGjFA== - -caniuse-lite@^1.0.30001286: - version "1.0.30001307" - resolved "https://registry.yarnpkg.com/caniuse-lite/-/caniuse-lite-1.0.30001307.tgz#27a67f13ebc4aa9c977e6b8256a11d5eafb30f27" - integrity sha512-+MXEMczJ4FuxJAUp0jvAl6Df0NI/OfW1RWEE61eSmzS7hw6lz4IKutbhbXendwq8BljfFuHtu26VWsg4afQ7Ng== - -chalk@^2.0.0, chalk@^2.4.2: - version "2.4.2" - resolved "https://registry.yarnpkg.com/chalk/-/chalk-2.4.2.tgz#cd42541677a54333cf541a49108c1432b44c9424" - integrity sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ== - dependencies: - ansi-styles "^3.2.1" - escape-string-regexp "^1.0.5" - supports-color "^5.3.0" - -chalk@^4.0.0, chalk@^4.1.0, chalk@^4.1.1: - version "4.1.2" - resolved "https://registry.yarnpkg.com/chalk/-/chalk-4.1.2.tgz#aac4e2b7734a740867aeb16bf02aad556a1e7a01" - integrity sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA== - dependencies: - ansi-styles "^4.1.0" - supports-color "^7.1.0" - -chokidar@^2.1.8: - version "2.1.8" - resolved "https://registry.yarnpkg.com/chokidar/-/chokidar-2.1.8.tgz#804b3a7b6a99358c3c5c61e71d8728f041cff917" - integrity sha512-ZmZUazfOzf0Nve7duiCKD23PFSCs4JPoYyccjUFF3aQkQadqBhfzhjkwBH2mNOG9cTBwhamM37EIsIkZw3nRgg== - dependencies: - anymatch "^2.0.0" - async-each "^1.0.1" - braces "^2.3.2" - glob-parent "^3.1.0" - inherits "^2.0.3" - is-binary-path "^1.0.0" - is-glob "^4.0.0" - normalize-path "^3.0.0" - path-is-absolute "^1.0.0" - readdirp "^2.2.1" - upath "^1.1.1" - optionalDependencies: - fsevents "^1.2.7" - -chownr@^1.1.2: - version "1.1.4" - resolved "https://registry.yarnpkg.com/chownr/-/chownr-1.1.4.tgz#6fc9d7b42d32a583596337666e7d08084da2cc6b" - integrity sha512-jJ0bqzaylmJtVnNgzTeSOs8DPavpbYgEr/b0YL8/2GO3xJEhInFmhKMUnEJQjZumK7KXGFhUy89PrsJWlakBVg== - -chownr@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/chownr/-/chownr-2.0.0.tgz#15bfbe53d2eab4cf70f18a8cd68ebe5b3cb1dece" - integrity sha512-bIomtDF5KGpdogkLd9VspvFzk9KfpyyGlS8YFVZl7TGPBHL5snIOnxeshwVgPteQ9b4Eydl+pVbIyE1DcvCWgQ== - -chrome-trace-event@^1.0.2: - version "1.0.3" - resolved "https://registry.yarnpkg.com/chrome-trace-event/-/chrome-trace-event-1.0.3.tgz#1015eced4741e15d06664a957dbbf50d041e26ac" - integrity sha512-p3KULyQg4S7NIHixdwbGX+nFHkoBiA4YQmyWtjb8XngSKV124nJmRysgAeujbUVb15vh+RvFUfCPqU7rXk+hZg== - -chromium-pickle-js@^0.2.0: - version "0.2.0" - resolved "https://registry.yarnpkg.com/chromium-pickle-js/-/chromium-pickle-js-0.2.0.tgz#04a106672c18b085ab774d983dfa3ea138f22205" - integrity sha1-BKEGZywYsIWrd02YPfo+oTjyIgU= - -ci-info@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/ci-info/-/ci-info-2.0.0.tgz#67a9e964be31a51e15e5010d58e6f12834002f46" - integrity sha512-5tK7EtrZ0N+OLFMthtqOj4fI2Jeb88C4CAZPu25LDVUgXJ0A3Js4PMGqrn0JU1W0Mh1/Z8wZzYPxqUrXeBboCQ== - -ci-info@^3.2.0: - version "3.3.0" - resolved "https://registry.yarnpkg.com/ci-info/-/ci-info-3.3.0.tgz#b4ed1fb6818dea4803a55c623041f9165d2066b2" - integrity sha512-riT/3vI5YpVH6/qomlDnJow6TBee2PBKSEpx3O32EGPYbWGIRsIlGRms3Sm74wYE1JMo8RnO04Hb12+v1J5ICw== - -class-utils@^0.3.5: - version "0.3.6" - resolved "https://registry.yarnpkg.com/class-utils/-/class-utils-0.3.6.tgz#f93369ae8b9a7ce02fd41faad0ca83033190c463" - integrity sha512-qOhPa/Fj7s6TY8H8esGu5QNpMMQxz79h+urzrNYN6mn+9BnxlDGf5QZ+XeCDsxSjPqsSR56XOZOJmpeurnLMeg== - dependencies: - arr-union "^3.1.0" - define-property "^0.2.5" - isobject "^3.0.0" - static-extend "^0.1.1" - -clean-css@^4.2.3: - version "4.2.4" - resolved "https://registry.yarnpkg.com/clean-css/-/clean-css-4.2.4.tgz#733bf46eba4e607c6891ea57c24a989356831178" - integrity sha512-EJUDT7nDVFDvaQgAo2G/PJvxmp1o/c6iXLbswsBbUFXi1Nr+AjA2cKmfbKDMjMvzEe75g3P6JkaDDAKk96A85A== - dependencies: - source-map "~0.6.0" - -clean-stack@^2.0.0: - version "2.2.0" - resolved "https://registry.yarnpkg.com/clean-stack/-/clean-stack-2.2.0.tgz#ee8472dbb129e727b31e8a10a427dee9dfe4008b" - integrity sha512-4diC9HaTE+KRAMWhDhrGOECgWZxoevMc5TlkObMqNSsVU62PYzXZ/SMTjzyGAFF1YusgxGcSWTEXBhp0CPwQ1A== - -cli-boxes@^2.2.1: - version "2.2.1" - resolved "https://registry.yarnpkg.com/cli-boxes/-/cli-boxes-2.2.1.tgz#ddd5035d25094fce220e9cab40a45840a440318f" - integrity sha512-y4coMcylgSCdVinjiDBuR8PCC2bLjyGTwEmPb9NHR/QaNU6EUOXcTY/s6VjGMD6ENSEaeQYHCY0GNGS5jfMwPw== - -cli-truncate@^2.1.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/cli-truncate/-/cli-truncate-2.1.0.tgz#c39e28bf05edcde5be3b98992a22deed5a2b93c7" - integrity sha512-n8fOixwDD6b/ObinzTrp1ZKFzbgvKZvuz/TvejnLn1aQfC6r52XEx85FmuC+3HI+JM7coBRXUvNqEU2PHVrHpg== - dependencies: - slice-ansi "^3.0.0" - string-width "^4.2.0" - -cliui@^5.0.0: - version "5.0.0" - resolved "https://registry.yarnpkg.com/cliui/-/cliui-5.0.0.tgz#deefcfdb2e800784aa34f46fa08e06851c7bbbc5" - integrity sha512-PYeGSEmmHM6zvoef2w8TPzlrnNpXIjTipYK780YswmIP9vjxmd6Y2a3CB2Ks6/AU8NHjZugXvo8w3oWM2qnwXA== - dependencies: - string-width "^3.1.0" - strip-ansi "^5.2.0" - wrap-ansi "^5.1.0" - -cliui@^6.0.0: - version "6.0.0" - resolved "https://registry.yarnpkg.com/cliui/-/cliui-6.0.0.tgz#511d702c0c4e41ca156d7d0e96021f23e13225b1" - integrity sha512-t6wbgtoCXvAzst7QgXxJYqPt0usEfbgQdftEPbLL/cvv6HPE5VgvqCuAIDR0NgU52ds6rFwqrgakNLrHEjCbrQ== - dependencies: - string-width "^4.2.0" - strip-ansi "^6.0.0" - wrap-ansi "^6.2.0" - -cliui@^7.0.2: - version "7.0.4" - resolved "https://registry.yarnpkg.com/cliui/-/cliui-7.0.4.tgz#a0265ee655476fc807aea9df3df8df7783808b4f" - integrity sha512-OcRE68cOsVMXp1Yvonl/fzkQOyjLSu/8bhPDfQt0e0/Eb283TKP20Fs2MqoPsr9SwA595rRCA+QMzYc9nBP+JQ== - dependencies: - string-width "^4.2.0" - strip-ansi "^6.0.0" - wrap-ansi "^7.0.0" - -clone-response@^1.0.2: - version "1.0.2" - resolved "https://registry.yarnpkg.com/clone-response/-/clone-response-1.0.2.tgz#d1dc973920314df67fbeb94223b4ee350239e96b" - integrity sha1-0dyXOSAxTfZ/vrlCI7TuNQI56Ws= - dependencies: - mimic-response "^1.0.0" - -collection-visit@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/collection-visit/-/collection-visit-1.0.0.tgz#4bc0373c164bc3291b4d368c829cf1a80a59dca0" - integrity sha1-S8A3PBZLwykbTTaMgpzxqApZ3KA= - dependencies: - map-visit "^1.0.0" - object-visit "^1.0.0" - -color-convert@^1.9.0: - version "1.9.3" - resolved "https://registry.yarnpkg.com/color-convert/-/color-convert-1.9.3.tgz#bb71850690e1f136567de629d2d5471deda4c1e8" - integrity sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg== - dependencies: - color-name "1.1.3" - -color-convert@^2.0.1: - version "2.0.1" - resolved "https://registry.yarnpkg.com/color-convert/-/color-convert-2.0.1.tgz#72d3a68d598c9bdb3af2ad1e84f21d896abd4de3" - integrity sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ== - dependencies: - color-name "~1.1.4" - -color-name@1.1.3: - version "1.1.3" - resolved "https://registry.yarnpkg.com/color-name/-/color-name-1.1.3.tgz#a7d0558bd89c42f795dd42328f740831ca53bc25" - integrity sha1-p9BVi9icQveV3UIyj3QIMcpTvCU= - -color-name@~1.1.4: - version "1.1.4" - resolved "https://registry.yarnpkg.com/color-name/-/color-name-1.1.4.tgz#c2a09a87acbde69543de6f63fa3995c826c536a2" - integrity sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA== - -color-support@^1.1.2: - version "1.1.3" - resolved "https://registry.yarnpkg.com/color-support/-/color-support-1.1.3.tgz#93834379a1cc9a0c61f82f52f0d04322251bd5a2" - integrity sha512-qiBjkpbMLO/HL68y+lh4q0/O1MZFj2RX6X/KmMa3+gJD3z+WwI1ZzDHysvqHGS3mP6mznPckpXmw1nI9cJjyRg== - -colors@1.0.3: - version "1.0.3" - resolved "https://registry.yarnpkg.com/colors/-/colors-1.0.3.tgz#0433f44d809680fdeb60ed260f1b0c262e82a40b" - integrity sha1-BDP0TYCWgP3rYO0mDxsMJi6CpAs= - -colors@1.4.0: - version "1.4.0" - resolved "https://registry.yarnpkg.com/colors/-/colors-1.4.0.tgz#c50491479d4c1bdaed2c9ced32cf7c7dc2360f78" - integrity sha512-a+UqTh4kgZg/SlGvfbzDHpgRu7AAQOmmqRHJnxhRZICKFUT91brVhNNt58CMWU9PsBbv3PDCZUHbVxuDiH2mtA== - -combined-stream@^1.0.8: - version "1.0.8" - resolved "https://registry.yarnpkg.com/combined-stream/-/combined-stream-1.0.8.tgz#c3d45a8b34fd730631a110a8a2520682b31d5a7f" - integrity sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg== - dependencies: - delayed-stream "~1.0.0" - -commander@2.9.0: - version "2.9.0" - resolved "https://registry.yarnpkg.com/commander/-/commander-2.9.0.tgz#9c99094176e12240cb22d6c5146098400fe0f7d4" - integrity sha1-nJkJQXbhIkDLItbFFGCYQA/g99Q= - dependencies: - graceful-readlink ">= 1.0.0" - -commander@^2.20.0: - version "2.20.3" - resolved "https://registry.yarnpkg.com/commander/-/commander-2.20.3.tgz#fd485e84c03eb4881c20722ba48035e8531aeb33" - integrity sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ== - -commander@^4.1.1: - version "4.1.1" - resolved "https://registry.yarnpkg.com/commander/-/commander-4.1.1.tgz#9fd602bd936294e9e9ef46a3f4d6964044b18068" - integrity sha512-NOKm8xhkzAjzFx8B2v5OAHT+u5pRQc2UCa2Vq9jYL/31o2wi9mxBA7LIFs3sV5VSC49z6pEhfbMULvShKj26WA== - -commander@^5.0.0: - version "5.1.0" - resolved "https://registry.yarnpkg.com/commander/-/commander-5.1.0.tgz#46abbd1652f8e059bddaef99bbdcb2ad9cf179ae" - integrity sha512-P0CysNDQ7rtVw4QIQtm+MRxV66vKFSvlsQvGYXZWR3qFU0jlMKHZZZgw8e+8DSah4UDKMqnknRDQz+xuQXQ/Zg== - -commander@^8.2.0: - version "8.3.0" - resolved "https://registry.yarnpkg.com/commander/-/commander-8.3.0.tgz#4837ea1b2da67b9c616a67afbb0fafee567bca66" - integrity sha512-OkTL9umf+He2DZkUq8f8J9of7yL6RJKI24dVITBmNfZBmri9zYZQrKkuXiKhyfPSu8tUhnVBB1iKXevvnlR4Ww== - -commondir@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/commondir/-/commondir-1.0.1.tgz#ddd800da0c66127393cca5950ea968a3aaf1253b" - integrity sha1-3dgA2gxmEnOTzKWVDqloo6rxJTs= - -compare-version@^0.1.2: - version "0.1.2" - resolved "https://registry.yarnpkg.com/compare-version/-/compare-version-0.1.2.tgz#0162ec2d9351f5ddd59a9202cba935366a725080" - integrity sha1-AWLsLZNR9d3VmpICy6k1NmpyUIA= - -component-emitter@^1.2.1: - version "1.3.0" - resolved "https://registry.yarnpkg.com/component-emitter/-/component-emitter-1.3.0.tgz#16e4070fba8ae29b679f2215853ee181ab2eabc0" - integrity sha512-Rd3se6QB+sO1TwqZjscQrurpEPIfO0/yYnSin6Q/rD3mOutHvUrCAhJub3r90uNb+SESBuE0QYoB90YdfatsRg== - -compressible@~2.0.16: - version "2.0.18" - resolved "https://registry.yarnpkg.com/compressible/-/compressible-2.0.18.tgz#af53cca6b070d4c3c0750fbd77286a6d7cc46fba" - integrity sha512-AF3r7P5dWxL8MxyITRMlORQNaOA2IkAFaTr4k7BUumjPtRpGDTZpl0Pb1XCO6JeDCBdp126Cgs9sMxqSjgYyRg== - dependencies: - mime-db ">= 1.43.0 < 2" - -compression@^1.7.4: - version "1.7.4" - resolved "https://registry.yarnpkg.com/compression/-/compression-1.7.4.tgz#95523eff170ca57c29a0ca41e6fe131f41e5bb8f" - integrity sha512-jaSIDzP9pZVS4ZfQ+TzvtiWhdpFhE2RDHz8QJkpX9SIpLq88VueF5jJw6t+6CUQcAoA6t+x89MLrWAqpfDE8iQ== - dependencies: - accepts "~1.3.5" - bytes "3.0.0" - compressible "~2.0.16" - debug "2.6.9" - on-headers "~1.0.2" - safe-buffer "5.1.2" - vary "~1.1.2" - -concat-map@0.0.1: - version "0.0.1" - resolved "https://registry.yarnpkg.com/concat-map/-/concat-map-0.0.1.tgz#d8a96bd77fd68df7793a73036a3ba0d5405d477b" - integrity sha1-2Klr13/Wjfd5OnMDajug1UBdR3s= - -concat-stream@^1.6.2: - version "1.6.2" - resolved "https://registry.yarnpkg.com/concat-stream/-/concat-stream-1.6.2.tgz#904bdf194cd3122fc675c77fc4ac3d4ff0fd1a34" - integrity sha512-27HBghJxjiZtIk3Ycvn/4kbJk/1uZuJFfuPEns6LaEvpvG1f0hTea8lilrouyo9mVc2GWdcEZ8OLoGmSADlrCw== - dependencies: - buffer-from "^1.0.0" - inherits "^2.0.3" - readable-stream "^2.2.2" - typedarray "^0.0.6" - -conf@^10.0.3: - version "10.1.1" - resolved "https://registry.yarnpkg.com/conf/-/conf-10.1.1.tgz#ff08046d5aeeee0eaff55d57f5b4319193c3dfda" - integrity sha512-z2civwq/k8TMYtcn3SVP0Peso4otIWnHtcTuHhQ0zDZDdP4NTxqEc8owfkz4zBsdMYdn/LFcE+ZhbCeqkhtq3Q== - dependencies: - ajv "^8.6.3" - ajv-formats "^2.1.1" - atomically "^1.7.0" - debounce-fn "^4.0.0" - dot-prop "^6.0.1" - env-paths "^2.2.1" - json-schema-typed "^7.0.3" - onetime "^5.1.2" - pkg-up "^3.1.0" - semver "^7.3.5" - -config-chain@^1.1.11: - version "1.1.13" - resolved "https://registry.yarnpkg.com/config-chain/-/config-chain-1.1.13.tgz#fad0795aa6a6cdaff9ed1b68e9dff94372c232f4" - integrity sha512-qj+f8APARXHrM0hraqXYb2/bOVSV4PvJQlNZ/DVj0QrmNM2q2euizkeuVckQ57J+W0mRH6Hvi+k50M4Jul2VRQ== - dependencies: - ini "^1.3.4" - proto-list "~1.2.1" - -configstore@^5.0.1: - version "5.0.1" - resolved "https://registry.yarnpkg.com/configstore/-/configstore-5.0.1.tgz#d365021b5df4b98cdd187d6a3b0e3f6a7cc5ed96" - integrity sha512-aMKprgk5YhBNyH25hj8wGt2+D52Sw1DRRIzqBwLp2Ya9mFmY8KPvvtvmna8SxVR9JMZ4kzMD68N22vlaRpkeFA== - dependencies: - dot-prop "^5.2.0" - graceful-fs "^4.1.2" - make-dir "^3.0.0" - unique-string "^2.0.0" - write-file-atomic "^3.0.0" - xdg-basedir "^4.0.0" - -connect-history-api-fallback@^1.6.0: - version "1.6.0" - resolved "https://registry.yarnpkg.com/connect-history-api-fallback/-/connect-history-api-fallback-1.6.0.tgz#8b32089359308d111115d81cad3fceab888f97bc" - integrity sha512-e54B99q/OUoH64zYYRf3HBP5z24G38h5D3qXu23JGRoigpX5Ss4r9ZnDk3g0Z8uQC2x2lPaJ+UlWBc1ZWBWdLg== - -console-control-strings@^1.0.0, console-control-strings@^1.1.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/console-control-strings/-/console-control-strings-1.1.0.tgz#3d7cf4464db6446ea644bf4b39507f9851008e8e" - integrity sha1-PXz0Rk22RG6mRL9LOVB/mFEAjo4= - -content-disposition@0.5.4: - version "0.5.4" - resolved "https://registry.yarnpkg.com/content-disposition/-/content-disposition-0.5.4.tgz#8b82b4efac82512a02bb0b1dcec9d2c5e8eb5bfe" - integrity sha512-FveZTNuGw04cxlAiWbzi6zTAL/lhehaWbTtgluJh4/E95DqMwTmha3KZN1aAWA8cFIhHzMZUvLevkw5Rqk+tSQ== - dependencies: - safe-buffer "5.2.1" - -content-type@^1.0.4, content-type@~1.0.4: - version "1.0.4" - resolved "https://registry.yarnpkg.com/content-type/-/content-type-1.0.4.tgz#e138cc75e040c727b1966fe5e5f8c9aee256fe3b" - integrity sha512-hIP3EEPs8tB9AT1L+NUqtwOAps4mk2Zob89MWXMHjHWg9milF/j4osnnQLXBCBFBk/tvIG/tUc9mOUJiPBhPXA== - -convert-source-map@^1.7.0: - version "1.8.0" - resolved "https://registry.yarnpkg.com/convert-source-map/-/convert-source-map-1.8.0.tgz#f3373c32d21b4d780dd8004514684fb791ca4369" - integrity sha512-+OQdjP49zViI/6i7nIJpA8rAl4sV/JdPfU9nZs3VqOwGIgizICvuN2ru6fMd+4llL0tar18UYJXfZ/TWtmhUjA== - dependencies: - safe-buffer "~5.1.1" - -cookie-signature@1.0.6: - version "1.0.6" - resolved "https://registry.yarnpkg.com/cookie-signature/-/cookie-signature-1.0.6.tgz#e303a882b342cc3ee8ca513a79999734dab3ae2c" - integrity sha1-4wOogrNCzD7oylE6eZmXNNqzriw= - -cookie@0.4.1: - version "0.4.1" - resolved "https://registry.yarnpkg.com/cookie/-/cookie-0.4.1.tgz#afd713fe26ebd21ba95ceb61f9a8116e50a537d1" - integrity sha512-ZwrFkGJxUR3EIoXtO+yVE69Eb7KlixbaeAWfBQB9vVsNn/o+Yw69gBWSSDK825hQNdN+wF8zELf3dFNl/kxkUA== - -cookie@^0.4.1: - version "0.4.2" - resolved "https://registry.yarnpkg.com/cookie/-/cookie-0.4.2.tgz#0e41f24de5ecf317947c82fc789e06a884824432" - integrity sha512-aSWTXFzaKWkvHO1Ny/s+ePFpvKsPnjc551iI41v3ny/ow6tBG5Vd+FuqGNhh1LxOmVzOlGUriIlOaokOvhaStA== - -copy-concurrently@^1.0.0: - version "1.0.5" - resolved "https://registry.yarnpkg.com/copy-concurrently/-/copy-concurrently-1.0.5.tgz#92297398cae34937fcafd6ec8139c18051f0b5e0" - integrity sha512-f2domd9fsVDFtaFcbaRZuYXwtdmnzqbADSwhSWYxYB/Q8zsdUUFMXVRwXGDMWmbEzAn1kdRrtI1T/KTFOL4X2A== - dependencies: - aproba "^1.1.1" - fs-write-stream-atomic "^1.0.8" - iferr "^0.1.5" - mkdirp "^0.5.1" - rimraf "^2.5.4" - run-queue "^1.0.0" - -copy-descriptor@^0.1.0: - version "0.1.1" - resolved "https://registry.yarnpkg.com/copy-descriptor/-/copy-descriptor-0.1.1.tgz#676f6eb3c39997c2ee1ac3a924fd6124748f578d" - integrity sha1-Z29us8OZl8LuGsOpJP1hJHSPV40= - -core-js-compat@^3.20.2, core-js-compat@^3.21.0: - version "3.21.0" - resolved "https://registry.yarnpkg.com/core-js-compat/-/core-js-compat-3.21.0.tgz#bcc86aa5a589cee358e7a7fa0a4979d5a76c3885" - integrity sha512-OSXseNPSK2OPJa6GdtkMz/XxeXx8/CJvfhQWTqd6neuUraujcL4jVsjkLQz1OWnax8xVQJnRPe0V2jqNWORA+A== - dependencies: - browserslist "^4.19.1" - semver "7.0.0" - -core-util-is@1.0.2: - version "1.0.2" - resolved "https://registry.yarnpkg.com/core-util-is/-/core-util-is-1.0.2.tgz#b5fd54220aa2bc5ab57aab7140c940754503c1a7" - integrity sha1-tf1UIgqivFq1eqtxQMlAdUUDwac= - -core-util-is@~1.0.0: - version "1.0.3" - resolved "https://registry.yarnpkg.com/core-util-is/-/core-util-is-1.0.3.tgz#a6042d3634c2b27e9328f837b965fac83808db85" - integrity sha512-ZQBvi1DcpJ4GDqanjucZ2Hj3wEO5pZDS89BWbkcrvdxksJorwUDDZamX9ldFkp9aw2lmBDLgkObEA4DWNJ9FYQ== - -crc@^3.8.0: - version "3.8.0" - resolved "https://registry.yarnpkg.com/crc/-/crc-3.8.0.tgz#ad60269c2c856f8c299e2c4cc0de4556914056c6" - integrity sha512-iX3mfgcTMIq3ZKLIsVFAbv7+Mc10kxabAGQb8HvjA1o3T1PIYprbakQ65d3I+2HGHt6nSKkM9PYjgoJO2KcFBQ== - dependencies: - buffer "^5.1.0" - -crocket@^0.9.11: - version "0.9.11" - resolved "https://registry.yarnpkg.com/crocket/-/crocket-0.9.11.tgz#288fca11ef0d3dd239b62c488265f30c8edfb0c5" - integrity sha1-KI/KEe8NPdI5tixIgmXzDI7fsMU= - dependencies: - xpipe "*" - -cross-spawn-windows-exe@^1.1.0, cross-spawn-windows-exe@^1.2.0: - version "1.2.0" - resolved "https://registry.yarnpkg.com/cross-spawn-windows-exe/-/cross-spawn-windows-exe-1.2.0.tgz#46253b0f497676e766faf4a7061004618b5ac5ec" - integrity sha512-mkLtJJcYbDCxEG7Js6eUnUNndWjyUZwJ3H7bErmmtOYU/Zb99DyUkpamuIZE0b3bhmJyZ7D90uS6f+CGxRRjOw== - dependencies: - "@malept/cross-spawn-promise" "^1.1.0" - is-wsl "^2.2.0" - which "^2.0.2" - -cross-spawn@^6.0.0, cross-spawn@^6.0.5: - version "6.0.5" - resolved "https://registry.yarnpkg.com/cross-spawn/-/cross-spawn-6.0.5.tgz#4a5ec7c64dfae22c3a14124dbacdee846d80cbc4" - integrity sha512-eTVLrBSt7fjbDygz805pMnstIs2VTBNkRm0qxZd+M7A5XDdxVRWO5MxGBXZhjY4cqLYLdtrGqRf8mBPmzwSpWQ== - dependencies: - nice-try "^1.0.4" - path-key "^2.0.1" - semver "^5.5.0" - shebang-command "^1.2.0" - which "^1.2.9" - -cross-spawn@^7.0.1, cross-spawn@^7.0.3: - version "7.0.3" - resolved "https://registry.yarnpkg.com/cross-spawn/-/cross-spawn-7.0.3.tgz#f73a85b9d5d41d045551c177e2882d4ac85728a6" - integrity sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w== - dependencies: - path-key "^3.1.0" - shebang-command "^2.0.0" - which "^2.0.1" - -cross-unzip@0.0.2: - version "0.0.2" - resolved "https://registry.yarnpkg.com/cross-unzip/-/cross-unzip-0.0.2.tgz#5183bc47a09559befcf98cc4657964999359372f" - integrity sha1-UYO8R6CVWb78+YzEZXlkmZNZNy8= - -crypto-random-string@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/crypto-random-string/-/crypto-random-string-2.0.0.tgz#ef2a7a966ec11083388369baa02ebead229b30d5" - integrity sha512-v1plID3y9r/lPhviJ1wrXpLeyUIGAZ2SHNYTEapm7/8A9nLPoyvVp3RK/EPFqn5kEznyWgYZNsRtYYIWbuG8KA== - -css-hot-loader@^1.4.4: - version "1.4.4" - resolved "https://registry.yarnpkg.com/css-hot-loader/-/css-hot-loader-1.4.4.tgz#ae784932cd8b7d092f7f15702af08b3ec9436052" - integrity sha512-J/qXHz+r7FOT92qMIJfxUk0LC9fecQNZVr0MswQ4FOpKLyOCBjofVMfc6R268bh/5ktkTShrweMr0wWqerC92g== - dependencies: - loader-utils "^1.1.0" - lodash "^4.17.5" - normalize-url "^1.9.1" - -css-loader@^3.4.2: - version "3.6.0" - resolved "https://registry.yarnpkg.com/css-loader/-/css-loader-3.6.0.tgz#2e4b2c7e6e2d27f8c8f28f61bffcd2e6c91ef645" - integrity sha512-M5lSukoWi1If8dhQAUCvj4H8vUt3vOnwbQBH9DdTm/s4Ym2B/3dPMtYZeJmq7Q3S3Pa+I94DcZ7pc9bP14cWIQ== - dependencies: - camelcase "^5.3.1" - cssesc "^3.0.0" - icss-utils "^4.1.1" - loader-utils "^1.2.3" - normalize-path "^3.0.0" - postcss "^7.0.32" - postcss-modules-extract-imports "^2.0.0" - postcss-modules-local-by-default "^3.0.2" - postcss-modules-scope "^2.2.0" - postcss-modules-values "^3.0.0" - postcss-value-parser "^4.1.0" - schema-utils "^2.7.0" - semver "^6.3.0" - -css-select@^4.1.3: - version "4.2.1" - resolved "https://registry.yarnpkg.com/css-select/-/css-select-4.2.1.tgz#9e665d6ae4c7f9d65dbe69d0316e3221fb274cdd" - integrity sha512-/aUslKhzkTNCQUB2qTX84lVmfia9NyjP3WpDGtj/WxhwBzWBYUV3DgUpurHTme8UTPcPlAD1DJ+b0nN/t50zDQ== - dependencies: - boolbase "^1.0.0" - css-what "^5.1.0" - domhandler "^4.3.0" - domutils "^2.8.0" - nth-check "^2.0.1" - -css-what@^5.1.0: - version "5.1.0" - resolved "https://registry.yarnpkg.com/css-what/-/css-what-5.1.0.tgz#3f7b707aadf633baf62c2ceb8579b545bb40f7fe" - integrity sha512-arSMRWIIFY0hV8pIxZMEfmMI47Wj3R/aWpZDDxWYCPEiOMv6tfOrnpDtgxBYPEQD4V0Y/958+1TdC3iWTFcUPw== - -cssesc@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/cssesc/-/cssesc-3.0.0.tgz#37741919903b868565e1c09ea747445cd18983ee" - integrity sha512-/Tb/JcjK111nNScGob5MNtsntNM1aCNUDipB/TkwZFhyDrrE47SOx/18wF2bbjgc3ZzCSKW1T5nt5EbFoAz/Vg== - -dbus-next@^0.9.2: - version "0.9.2" - resolved "https://registry.yarnpkg.com/dbus-next/-/dbus-next-0.9.2.tgz#d69a24ea5b54d90ab6bd543c7b81bcb965a99f93" - integrity sha512-tzQq/+wrTZ2yU+U5PoeXc97KABhX2v55C/T0finH3tSKYuI8H/SqppIFymBBrUHcK13LvEGY3vdj3ikPPenL5g== - dependencies: - "@nornagon/put" "0.0.8" - event-stream "3.3.4" - hexy "^0.2.10" - jsbi "^2.0.5" - long "^4.0.0" - safe-buffer "^5.1.1" - xml2js "^0.4.17" - optionalDependencies: - abstract-socket "^2.0.0" - -debounce-fn@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/debounce-fn/-/debounce-fn-4.0.0.tgz#ed76d206d8a50e60de0dd66d494d82835ffe61c7" - integrity sha512-8pYCQiL9Xdcg0UPSD3d+0KMlOjp+KGU5EPwYddgzQ7DATsg4fuUDjQtsYLmWjnk2obnNHgV3vE2Y4jejSOJVBQ== - dependencies: - mimic-fn "^3.0.0" - -debug@2.6.9, debug@^2.1.0, debug@^2.2.0, debug@^2.3.3, debug@^2.6.8, debug@^2.6.9: - version "2.6.9" - resolved "https://registry.yarnpkg.com/debug/-/debug-2.6.9.tgz#5d128515df134ff327e90a4c93f4e077a536341f" - integrity sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA== - dependencies: - ms "2.0.0" - -debug@4, debug@^4.0.1, debug@^4.1.0, debug@^4.1.1, debug@^4.3.1, debug@^4.3.2, debug@^4.3.3: - version "4.3.3" - resolved "https://registry.yarnpkg.com/debug/-/debug-4.3.3.tgz#04266e0b70a98d4462e6e288e38259213332b664" - integrity sha512-/zxw5+vh1Tfv+4Qn7a5nsbcJKPaSvCDhojn6FEl9vupwK2VCSDtEiEtqr8DFtzYFOdz63LBkxec7DYuc2jon6Q== - dependencies: - ms "2.1.2" - -debug@^3.1.0, debug@^3.1.1, debug@^3.2.6: - version "3.2.7" - resolved "https://registry.yarnpkg.com/debug/-/debug-3.2.7.tgz#72580b7e9145fb39b6676f9c5e5fb100b934179a" - integrity sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ== - dependencies: - ms "^2.1.1" - -decamelize@^1.2.0: - version "1.2.0" - resolved "https://registry.yarnpkg.com/decamelize/-/decamelize-1.2.0.tgz#f6534d15148269b20352e7bee26f501f9a191290" - integrity sha1-9lNNFRSCabIDUue+4m9QH5oZEpA= - -decode-uri-component@^0.2.0: - version "0.2.0" - resolved "https://registry.yarnpkg.com/decode-uri-component/-/decode-uri-component-0.2.0.tgz#eb3913333458775cb84cd1a1fae062106bb87545" - integrity sha1-6zkTMzRYd1y4TNGh+uBiEGu4dUU= - -decompress-response@^3.3.0: - version "3.3.0" - resolved "https://registry.yarnpkg.com/decompress-response/-/decompress-response-3.3.0.tgz#80a4dd323748384bfa248083622aedec982adff3" - integrity sha1-gKTdMjdIOEv6JICDYirt7Jgq3/M= - dependencies: - mimic-response "^1.0.0" - -decompress-response@^6.0.0: - version "6.0.0" - resolved "https://registry.yarnpkg.com/decompress-response/-/decompress-response-6.0.0.tgz#ca387612ddb7e104bd16d85aab00d5ecf09c66fc" - integrity sha512-aW35yZM6Bb/4oJlZncMH2LCoZtJXTRxES17vE3hoRiowU2kWHaJKFkSBDnDR+cm9J+9QhXmREyIfv0pji9ejCQ== - dependencies: - mimic-response "^3.1.0" - -deep-equal@^1.0.1: - version "1.1.1" - resolved "https://registry.yarnpkg.com/deep-equal/-/deep-equal-1.1.1.tgz#b5c98c942ceffaf7cb051e24e1434a25a2e6076a" - integrity sha512-yd9c5AdiqVcR+JjcwUQb9DkhJc8ngNr0MahEBGvDiJw8puWab2yZlh+nkasOnZP+EGTAP6rRp2JzJhJZzvNF8g== - dependencies: - is-arguments "^1.0.4" - is-date-object "^1.0.1" - is-regex "^1.0.4" - object-is "^1.0.1" - object-keys "^1.1.1" - regexp.prototype.flags "^1.2.0" - -deep-extend@^0.6.0: - version "0.6.0" - resolved "https://registry.yarnpkg.com/deep-extend/-/deep-extend-0.6.0.tgz#c4fa7c95404a17a9c3e8ca7e1537312b736330ac" - integrity sha512-LOHxIOaPYdHlJRtCQfDIVZtfw/ufM8+rVj649RIHzcm/vGwQRXFt6OPqIFWsm2XEMrNIEtWR64sY1LEKD2vAOA== - -default-gateway@^4.2.0: - version "4.2.0" - resolved "https://registry.yarnpkg.com/default-gateway/-/default-gateway-4.2.0.tgz#167104c7500c2115f6dd69b0a536bb8ed720552b" - integrity sha512-h6sMrVB1VMWVrW13mSc6ia/DwYYw5MN6+exNu1OaJeFac5aSAvwM7lZ0NVfTABuSkQelr4h5oebg3KB1XPdjgA== - dependencies: - execa "^1.0.0" - ip-regex "^2.1.0" - -defer-to-connect@^1.0.1: - version "1.1.3" - resolved "https://registry.yarnpkg.com/defer-to-connect/-/defer-to-connect-1.1.3.tgz#331ae050c08dcf789f8c83a7b81f0ed94f4ac591" - integrity sha512-0ISdNousHvZT2EiFlZeZAHBUvSxmKswVCEf8hW7KWgG4a8MVEu/3Vb6uWYozkjylyCxe0JBIiRB1jV45S70WVQ== - -defer-to-connect@^2.0.0: - version "2.0.1" - resolved "https://registry.yarnpkg.com/defer-to-connect/-/defer-to-connect-2.0.1.tgz#8016bdb4143e4632b77a3449c6236277de520587" - integrity sha512-4tvttepXG1VaYGrRibk5EwJd1t4udunSOVMdLSAL6mId1ix438oPwPZMALY41FCijukO1L0twNcGsdzS7dHgDg== - -define-lazy-prop@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/define-lazy-prop/-/define-lazy-prop-2.0.0.tgz#3f7ae421129bcaaac9bc74905c98a0009ec9ee7f" - integrity sha512-Ds09qNh8yw3khSjiJjiUInaGX9xlqZDY7JVryGxdxV7NPeuqQfplOpQ66yJFZut3jLa5zOwkXw1g9EI2uKh4Og== - -define-properties@^1.1.2, define-properties@^1.1.3: - version "1.1.3" - resolved "https://registry.yarnpkg.com/define-properties/-/define-properties-1.1.3.tgz#cf88da6cbee26fe6db7094f61d870cbd84cee9f1" - integrity sha512-3MqfYKj2lLzdMSf8ZIZE/V+Zuy+BgD6f164e8K2w7dgnpKArBDerGYpM46IYYcjnkdPNMjPk9A6VFB8+3SKlXQ== - dependencies: - object-keys "^1.0.12" - -define-property@^0.2.5: - version "0.2.5" - resolved "https://registry.yarnpkg.com/define-property/-/define-property-0.2.5.tgz#c35b1ef918ec3c990f9a5bc57be04aacec5c8116" - integrity sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY= - dependencies: - is-descriptor "^0.1.0" - -define-property@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/define-property/-/define-property-1.0.0.tgz#769ebaaf3f4a63aad3af9e8d304c9bbe79bfb0e6" - integrity sha1-dp66rz9KY6rTr56NMEybvnm/sOY= - dependencies: - is-descriptor "^1.0.0" - -define-property@^2.0.2: - version "2.0.2" - resolved "https://registry.yarnpkg.com/define-property/-/define-property-2.0.2.tgz#d459689e8d654ba77e02a817f8710d702cb16e9d" - integrity sha512-jwK2UV4cnPpbcG7+VRARKTZPUWowwXA8bzH5NP6ud0oeAxyYPuGZUAC7hMugpCdz4BeSZl2Dl9k66CHJ/46ZYQ== - dependencies: - is-descriptor "^1.0.2" - isobject "^3.0.1" - -del@^4.1.1: - version "4.1.1" - resolved "https://registry.yarnpkg.com/del/-/del-4.1.1.tgz#9e8f117222ea44a31ff3a156c049b99052a9f0b4" - integrity sha512-QwGuEUouP2kVwQenAsOof5Fv8K9t3D8Ca8NxcXKrIpEHjTXK5J2nXLdP+ALI1cgv8wj7KuwBhTwBkOZSJKM5XQ== - dependencies: - "@types/glob" "^7.1.1" - globby "^6.1.0" - is-path-cwd "^2.0.0" - is-path-in-cwd "^2.0.0" - p-map "^2.0.0" - pify "^4.0.1" - rimraf "^2.6.3" - -delayed-stream@~1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/delayed-stream/-/delayed-stream-1.0.0.tgz#df3ae199acadfb7d440aaae0b29e2272b24ec619" - integrity sha1-3zrhmayt+31ECqrgsp4icrJOxhk= - -delegates@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/delegates/-/delegates-1.0.0.tgz#84c6e159b81904fdca59a0ef44cd870d31250f9a" - integrity sha1-hMbhWbgZBP3KWaDvRM2HDTElD5o= - -depd@^1.1.2, depd@~1.1.2: - version "1.1.2" - resolved "https://registry.yarnpkg.com/depd/-/depd-1.1.2.tgz#9bcd52e14c097763e749b274c4346ed2e560b5a9" - integrity sha1-m81S4UwJd2PnSbJ0xDRu0uVgtak= - -destroy@~1.0.4: - version "1.0.4" - resolved "https://registry.yarnpkg.com/destroy/-/destroy-1.0.4.tgz#978857442c44749e4206613e37946205826abd80" - integrity sha1-l4hXRCxEdJ5CBmE+N5RiBYJqvYA= - -detect-file@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/detect-file/-/detect-file-1.0.0.tgz#f0d66d03672a825cb1b73bdb3fe62310c8e552b7" - integrity sha1-8NZtA2cqglyxtzvbP+YjEMjlUrc= - -detect-node@^2.0.4: - version "2.1.0" - resolved "https://registry.yarnpkg.com/detect-node/-/detect-node-2.1.0.tgz#c9c70775a49c3d03bc2c06d9a73be550f978f8b1" - integrity sha512-T0NIuQpnTvFDATNuHN5roPwSBG83rFsuO+MXXH9/3N1eFbn4wcPjttvjMLEPWJ0RGUYgQE7cGgS3tNxbqCGM7g== - -diff-sequences@^27.4.0: - version "27.4.0" - resolved "https://registry.yarnpkg.com/diff-sequences/-/diff-sequences-27.4.0.tgz#d783920ad8d06ec718a060d00196dfef25b132a5" - integrity sha512-YqiQzkrsmHMH5uuh8OdQFU9/ZpADnwzml8z0O5HvRNda+5UZsaX/xN+AAxfR2hWq1Y7HZnAzO9J5lJXOuDz2Ww== - -dijkstrajs@^1.0.1: - version "1.0.2" - resolved "https://registry.yarnpkg.com/dijkstrajs/-/dijkstrajs-1.0.2.tgz#2e48c0d3b825462afe75ab4ad5e829c8ece36257" - integrity sha512-QV6PMaHTCNmKSeP6QoXhVTw9snc9VD8MulTT0Bd99Pacp4SS1cjcrYPgBPmibqKVtMJJfqC6XvOXgPMEEPH/fg== - -dir-compare@^2.4.0: - version "2.4.0" - resolved "https://registry.yarnpkg.com/dir-compare/-/dir-compare-2.4.0.tgz#785c41dc5f645b34343a4eafc50b79bac7f11631" - integrity sha512-l9hmu8x/rjVC9Z2zmGzkhOEowZvW7pmYws5CWHutg8u1JgvsKWMx7Q/UODeu4djLZ4FgW5besw5yvMQnBHzuCA== - dependencies: - buffer-equal "1.0.0" - colors "1.0.3" - commander "2.9.0" - minimatch "3.0.4" - -discord-rpc@^4.0.1: - version "4.0.1" - resolved "https://registry.yarnpkg.com/discord-rpc/-/discord-rpc-4.0.1.tgz#a89aa04a048aa83ad4f347d53fa0162501eae0d8" - integrity sha512-HOvHpbq5STRZJjQIBzwoKnQ0jHplbEWFWlPDwXXKm/bILh4nzjcg7mNqll0UY7RsjFoaXA7e/oYb/4lvpda2zA== - dependencies: - node-fetch "^2.6.1" - ws "^7.3.1" - optionalDependencies: - register-scheme "github:devsnek/node-register-scheme" - -dmg-builder@22.14.5: - version "22.14.5" - resolved "https://registry.yarnpkg.com/dmg-builder/-/dmg-builder-22.14.5.tgz#137c0b55e639badcc0b119eb060e6fa4ed61d948" - integrity sha512-1GvFGQE332bvPamcMwZDqWqfWfJTyyDLOsHMcGi0zs+Jh7JOn6/zuBkHJIWHdsj2QJbhzLVyd2/ZqttOKv7I8w== - dependencies: - app-builder-lib "22.14.5" - builder-util "22.14.5" - builder-util-runtime "8.9.1" - fs-extra "^10.0.0" - iconv-lite "^0.6.2" - js-yaml "^4.1.0" - optionalDependencies: - dmg-license "^1.0.9" - -dmg-license@^1.0.9: - version "1.0.10" - resolved "https://registry.yarnpkg.com/dmg-license/-/dmg-license-1.0.10.tgz#89f52afae25d827fce8d818c13aff30af1c16bcc" - integrity sha512-SVeeyiOeinV5JCPHXMdKOgK1YVbak/4+8WL2rBnfqRYpA5FaeFaQnQWb25x628am1w70CbipGDv9S51biph63A== - dependencies: - "@types/plist" "^3.0.1" - "@types/verror" "^1.10.3" - ajv "^6.10.0" - crc "^3.8.0" - iconv-corefoundation "^1.1.7" - plist "^3.0.4" - smart-buffer "^4.0.2" - verror "^1.10.0" - -dns-equal@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/dns-equal/-/dns-equal-1.0.0.tgz#b39e7f1da6eb0a75ba9c17324b34753c47e0654d" - integrity sha1-s55/HabrCnW6nBcySzR1PEfgZU0= - -"dns-js@github:bitfocus/node-dns-js#v0.2.2": - version "0.2.2" - resolved "https://codeload.github.com/bitfocus/node-dns-js/tar.gz/e5f0c3da63653398005bf36f66ad0b77770dcad6" - dependencies: - debug "^2.1.0" - qap "^3.1.2" - -dns-packet@^1.3.1: - version "1.3.4" - resolved "https://registry.yarnpkg.com/dns-packet/-/dns-packet-1.3.4.tgz#e3455065824a2507ba886c55a89963bb107dec6f" - integrity sha512-BQ6F4vycLXBvdrJZ6S3gZewt6rcrks9KBgM9vrhW+knGRqc8uEdT7fuCwloc7nny5xNoMJ17HGH0R/6fpo8ECA== - dependencies: - ip "^1.1.0" - safe-buffer "^5.0.1" - -dns-txt@^2.0.2: - version "2.0.2" - resolved "https://registry.yarnpkg.com/dns-txt/-/dns-txt-2.0.2.tgz#b91d806f5d27188e4ab3e7d107d881a1cc4642b6" - integrity sha1-uR2Ab10nGI5Ks+fRB9iBocxGQrY= - dependencies: - buffer-indexof "^1.0.0" - -dom-converter@^0.2.0: - version "0.2.0" - resolved "https://registry.yarnpkg.com/dom-converter/-/dom-converter-0.2.0.tgz#6721a9daee2e293682955b6afe416771627bb768" - integrity sha512-gd3ypIPfOMr9h5jIKq8E3sHOTCjeirnl0WK5ZdS1AW0Odt0b1PaWaHdJ4Qk4klv+YB9aJBS7mESXjFoDQPu6DA== - dependencies: - utila "~0.4" - -dom-serializer@^1.0.1: - version "1.3.2" - resolved "https://registry.yarnpkg.com/dom-serializer/-/dom-serializer-1.3.2.tgz#6206437d32ceefaec7161803230c7a20bc1b4d91" - integrity sha512-5c54Bk5Dw4qAxNOI1pFEizPSjVsx5+bpJKmL2kPn8JhBUq2q09tTCa3mjijun2NfK78NMouDYNMBkOrPZiS+ig== - dependencies: - domelementtype "^2.0.1" - domhandler "^4.2.0" - entities "^2.0.0" - -domelementtype@^2.0.1, domelementtype@^2.2.0: - version "2.2.0" - resolved "https://registry.yarnpkg.com/domelementtype/-/domelementtype-2.2.0.tgz#9a0b6c2782ed6a1c7323d42267183df9bd8b1d57" - integrity sha512-DtBMo82pv1dFtUmHyr48beiuq792Sxohr+8Hm9zoxklYPfa6n0Z3Byjj2IV7bmr2IyqClnqEQhfgHJJ5QF0R5A== - -domhandler@^3.0.0: - version "3.3.0" - resolved "https://registry.yarnpkg.com/domhandler/-/domhandler-3.3.0.tgz#6db7ea46e4617eb15cf875df68b2b8524ce0037a" - integrity sha512-J1C5rIANUbuYK+FuFL98650rihynUOEzRLxW+90bKZRWB6A1X1Tf82GxR1qAWLyfNPRvjqfip3Q5tdYlmAa9lA== - dependencies: - domelementtype "^2.0.1" - -domhandler@^4.0.0, domhandler@^4.2.0, domhandler@^4.3.0: - version "4.3.0" - resolved "https://registry.yarnpkg.com/domhandler/-/domhandler-4.3.0.tgz#16c658c626cf966967e306f966b431f77d4a5626" - integrity sha512-fC0aXNQXqKSFTr2wDNZDhsEYjCiYsDWl3D01kwt25hm1YIPyDGHvvi3rw+PLqHAl/m71MaiF7d5zvBr0p5UB2g== - dependencies: - domelementtype "^2.2.0" - -domutils@^2.0.0, domutils@^2.5.2, domutils@^2.8.0: - version "2.8.0" - resolved "https://registry.yarnpkg.com/domutils/-/domutils-2.8.0.tgz#4437def5db6e2d1f5d6ee859bd95ca7d02048135" - integrity sha512-w96Cjofp72M5IIhpjgobBimYEfoPjx1Vx0BSX9P30WBdZW2WIKU0T1Bd0kz2eNZ9ikjKgHbEyKx8BB6H1L3h3A== - dependencies: - dom-serializer "^1.0.1" - domelementtype "^2.2.0" - domhandler "^4.2.0" - -dot-case@^3.0.4: - version "3.0.4" - resolved "https://registry.yarnpkg.com/dot-case/-/dot-case-3.0.4.tgz#9b2b670d00a431667a8a75ba29cd1b98809ce751" - integrity sha512-Kv5nKlh6yRrdrGvxeJ2e5y2eRUpkUosIW4A2AS38zwSz27zu7ufDwQPi5Jhs3XAlGNetl3bmnGhQsMtkKJnj3w== - dependencies: - no-case "^3.0.4" - tslib "^2.0.3" - -dot-prop@^5.2.0: - version "5.3.0" - resolved "https://registry.yarnpkg.com/dot-prop/-/dot-prop-5.3.0.tgz#90ccce708cd9cd82cc4dc8c3ddd9abdd55b20e88" - integrity sha512-QM8q3zDe58hqUqjraQOmzZ1LIH9SWQJTlEKCH4kJ2oQvLZk7RbQXvtDM2XEq3fwkV9CCvvH4LA0AV+ogFsBM2Q== - dependencies: - is-obj "^2.0.0" - -dot-prop@^6.0.1: - version "6.0.1" - resolved "https://registry.yarnpkg.com/dot-prop/-/dot-prop-6.0.1.tgz#fc26b3cf142b9e59b74dbd39ed66ce620c681083" - integrity sha512-tE7ztYzXHIeyvc7N+hR3oi7FIbf/NIjVP9hmAt3yMXzrQ072/fpjGLx2GxNxGxUl5V73MEqYzioOMoVhGMJ5cA== - dependencies: - is-obj "^2.0.0" - -dotenv-expand@^5.1.0: - version "5.1.0" - resolved "https://registry.yarnpkg.com/dotenv-expand/-/dotenv-expand-5.1.0.tgz#3fbaf020bfd794884072ea26b1e9791d45a629f0" - integrity sha512-YXQl1DSa4/PQyRfgrv6aoNjhasp/p4qs9FjJ4q4cQk+8m4r6k4ZSiEyytKG8f8W9gi8WsQtIObNmKd+tMzNTmA== - -dotenv@^8.0.0, dotenv@^8.2.0: - version "8.6.0" - resolved "https://registry.yarnpkg.com/dotenv/-/dotenv-8.6.0.tgz#061af664d19f7f4d8fc6e4ff9b584ce237adcb8b" - integrity sha512-IrPdXQsk2BbzvCBGBOTmmSH5SodmqZNt4ERAZDmW4CT+tL8VtvinqywuANaFu4bOMWki16nqf0e4oC0QIaDr/g== - -dotenv@^9.0.2: - version "9.0.2" - resolved "https://registry.yarnpkg.com/dotenv/-/dotenv-9.0.2.tgz#dacc20160935a37dea6364aa1bef819fb9b6ab05" - integrity sha512-I9OvvrHp4pIARv4+x9iuewrWycX6CcZtoAu1XrzPxc5UygMJXJZYmBsynku8IkrJwgypE5DGNjDPmPRhDCptUg== - -duplexer3@^0.1.4: - version "0.1.4" - resolved "https://registry.yarnpkg.com/duplexer3/-/duplexer3-0.1.4.tgz#ee01dd1cac0ed3cbc7fdbea37dc0a8f1ce002ce2" - integrity sha1-7gHdHKwO08vH/b6jfcCo8c4ALOI= - -duplexer@~0.1.1: - version "0.1.2" - resolved "https://registry.yarnpkg.com/duplexer/-/duplexer-0.1.2.tgz#3abe43aef3835f8ae077d136ddce0f276b0400e6" - integrity sha512-jtD6YG370ZCIi/9GTaJKQxWTZD045+4R4hTk/x1UyoqadyJ9x9CgSi1RlVDQF8U2sxLLSnFkCaMihqljHIWgMg== - -ee-first@1.1.1: - version "1.1.1" - resolved "https://registry.yarnpkg.com/ee-first/-/ee-first-1.1.1.tgz#590c61156b0ae2f4f0255732a158b266bc56b21d" - integrity sha1-WQxhFWsK4vTwJVcyoViyZrxWsh0= - -ejs@^3.1.6: - version "3.1.6" - resolved "https://registry.yarnpkg.com/ejs/-/ejs-3.1.6.tgz#5bfd0a0689743bb5268b3550cceeebbc1702822a" - integrity sha512-9lt9Zse4hPucPkoP7FHDF0LQAlGyF9JVpnClFLFH3aSSbxmyoqINRpp/9wePWJTUl4KOQwRL72Iw3InHPDkoGw== - dependencies: - jake "^10.6.1" - -electron-builder@^22.14.5: - version "22.14.5" - resolved "https://registry.yarnpkg.com/electron-builder/-/electron-builder-22.14.5.tgz#3a25547bd4fe3728d4704da80956a794c5c31496" - integrity sha512-N73hSbXFz6Mz5Z6h6C5ly6CB+dUN6k1LuCDJjI8VF47bMXv/QE0HE+Kkb0GPKqTqM7Hsk/yIYX+kHCfSkR5FGg== - dependencies: - "@types/yargs" "^17.0.1" - app-builder-lib "22.14.5" - builder-util "22.14.5" - builder-util-runtime "8.9.1" - chalk "^4.1.1" - dmg-builder "22.14.5" - fs-extra "^10.0.0" - is-ci "^3.0.0" - lazy-val "^1.0.5" - read-config-file "6.2.0" - update-notifier "^5.1.0" - yargs "^17.0.1" - -electron-devtools-installer@^2.2.4: - version "2.2.4" - resolved "https://registry.yarnpkg.com/electron-devtools-installer/-/electron-devtools-installer-2.2.4.tgz#261a50337e37121d338b966f07922eb4939a8763" - integrity sha512-b5kcM3hmUqn64+RUcHjjr8ZMpHS2WJ5YO0pnG9+P/RTdx46of/JrEjuciHWux6pE+On6ynWhHJF53j/EDJN0PA== - dependencies: - "7zip" "0.0.6" - cross-unzip "0.0.2" - rimraf "^2.5.2" - semver "^5.3.0" - -electron-fetch@^1.7.4: - version "1.7.4" - resolved "https://registry.yarnpkg.com/electron-fetch/-/electron-fetch-1.7.4.tgz#af975ab92a14798bfaa025f88dcd2e54a7b0b769" - integrity sha512-+fBLXEy4CJWQ5bz8dyaeSG1hD6JJ15kBZyj3eh24pIVrd3hLM47H/umffrdQfS6GZ0falF0g9JT9f3Rs6AVUhw== - dependencies: - encoding "^0.1.13" - -electron-log@^4.4.5: - version "4.4.5" - resolved "https://registry.yarnpkg.com/electron-log/-/electron-log-4.4.5.tgz#5fcfd0c2dc5fbda915ee0a9d802705dc57930786" - integrity sha512-Cfa2CKnwBhlUfIl/qr2GF5SCqfoA9yPBqTJ6/wPs+PEn36M2+EZ3RpGSaOhYQ1BZpolL1CWyeu3gMG8epLl3Ng== - -electron-notarize@^1.1.1: - version "1.1.1" - resolved "https://registry.yarnpkg.com/electron-notarize/-/electron-notarize-1.1.1.tgz#3ed274b36158c1beb1dbef14e7faf5927e028629" - integrity sha512-kufsnqh86CTX89AYNG3NCPoboqnku/+32RxeJ2+7A4Rbm4bbOx0Nc7XTy3/gAlBfpj9xPAxHfhZLOHgfi6cJVw== - dependencies: - debug "^4.1.1" - fs-extra "^9.0.1" - -electron-osx-sign@^0.5.0: - version "0.5.0" - resolved "https://registry.yarnpkg.com/electron-osx-sign/-/electron-osx-sign-0.5.0.tgz#fc258c5e896859904bbe3d01da06902c04b51c3a" - integrity sha512-icoRLHzFz/qxzDh/N4Pi2z4yVHurlsCAYQvsCSG7fCedJ4UJXBS6PoQyGH71IfcqKupcKeK7HX/NkyfG+v6vlQ== - dependencies: - bluebird "^3.5.0" - compare-version "^0.1.2" - debug "^2.6.8" - isbinaryfile "^3.0.2" - minimist "^1.2.0" - plist "^3.0.1" - -electron-packager@^15.4.0: - version "15.4.0" - resolved "https://registry.yarnpkg.com/electron-packager/-/electron-packager-15.4.0.tgz#07ea036b70cde2062d4c8dce4d907d793b303998" - integrity sha512-JrrLcBP15KGrPj0cZ/ALKGmaQ4gJkn3mocf0E3bRKdR3kxKWYcDRpCvdhksYDXw/r3I6tMEcZ7XzyApWFXdVpw== - dependencies: - "@electron/get" "^1.6.0" - asar "^3.1.0" - cross-spawn-windows-exe "^1.2.0" - debug "^4.0.1" - electron-notarize "^1.1.1" - electron-osx-sign "^0.5.0" - extract-zip "^2.0.0" - filenamify "^4.1.0" - fs-extra "^9.0.0" - galactus "^0.2.1" - get-package-info "^1.0.0" - junk "^3.1.0" - parse-author "^2.0.0" - plist "^3.0.0" - rcedit "^3.0.1" - resolve "^1.1.6" - semver "^7.1.3" - yargs-parser "^20.0.0" - -electron-publish@22.14.5: - version "22.14.5" - resolved "https://registry.yarnpkg.com/electron-publish/-/electron-publish-22.14.5.tgz#34bcdce671f0e651330db20040d6919c77c94bd6" - integrity sha512-h+NANRdaA0PqGF15GKvorseWPzh1PXa/zx4I37//PIokW8eKIov8ky23foUSb55ZFWUHGpxQJux7y2NCfBtQeg== - dependencies: - "@types/fs-extra" "^9.0.11" - builder-util "22.14.5" - builder-util-runtime "8.9.1" - chalk "^4.1.1" - fs-extra "^10.0.0" - lazy-val "^1.0.5" - mime "^2.5.2" - -electron-store@^8.0.1: - version "8.0.1" - resolved "https://registry.yarnpkg.com/electron-store/-/electron-store-8.0.1.tgz#9b598c1d2edeffebee9d8c1cd957ad368c528925" - integrity sha512-ZyLvNywiqSpbwC/pp89O/AycVWY/UJIkmtyzF2Bd0Nm/rLmcFc0NTGuLdg6+LE8mS8qsiK5JMoe4PnrecLHH5w== - dependencies: - conf "^10.0.3" - type-fest "^1.0.2" - -electron-to-chromium@^1.4.17: - version "1.4.65" - resolved "https://registry.yarnpkg.com/electron-to-chromium/-/electron-to-chromium-1.4.65.tgz#c0820db06e268e0a2fd4dbce38fb5376d38ca449" - integrity sha512-0/d8Skk8sW3FxXP0Dd6MnBlrwx7Qo9cqQec3BlIAlvKnrmS3pHsIbaroEi+nd0kZkGpQ6apMEre7xndzjlEnLw== - -electron-updater@^4.6.1: - version "4.6.1" - resolved "https://registry.yarnpkg.com/electron-updater/-/electron-updater-4.6.1.tgz#80ca805c4f51b2e682aac29d18fed75d6a533d32" - integrity sha512-YsU1mHqXLrXXmBMsxhxy24PrbaB8rnpZDPmFa2gOkTYk/Ch13+R0fjsRSpPYvqtskVVY0ux8fu+HnUkVkqc7og== - dependencies: - "@types/semver" "^7.3.6" - builder-util-runtime "8.9.1" - fs-extra "^10.0.0" - js-yaml "^4.1.0" - lazy-val "^1.0.5" - lodash.escaperegexp "^4.1.2" - lodash.isequal "^4.5.0" - semver "^7.3.5" - -electron-webpack-js@~2.4.1: - version "2.4.1" - resolved "https://registry.yarnpkg.com/electron-webpack-js/-/electron-webpack-js-2.4.1.tgz#5389cc22f34c71f6416d5ba1e043f9b0fd6130af" - integrity sha512-NPbcI4nnuclkLEKmwRI8sui2GNe37NKm0pCQR6KZA7YSV3KQdH4I7wOgIZ2AkeCpyeUHrBSMGQY+VqhPD7OtMA== - dependencies: - "@babel/core" "^7.9.0" - "@babel/plugin-syntax-dynamic-import" "^7.8.3" - "@babel/preset-env" "^7.9.0" - babel-loader "^8.1.0" - babel-plugin-component "^1.1.1" - -electron-webpack@^2.8.2: - version "2.8.2" - resolved "https://registry.yarnpkg.com/electron-webpack/-/electron-webpack-2.8.2.tgz#5a0357ce8f7d147e5f559294a08bb072d1092b0a" - integrity sha512-rR7hxoOlZIcJf6R08mVl/4TBtFY+HW6sv4Z28TdMWETvcM4ZBIBdGNGylxF0gNwB8gkTgo8UkkDbXGX48K4Vow== - dependencies: - "@types/webpack-env" "^1.15.1" - async-exit-hook "^2.0.1" - bluebird "^3.7.2" - chalk "^4.0.0" - crocket "^0.9.11" - css-hot-loader "^1.4.4" - css-loader "^3.4.2" - debug "^4.1.1" - dotenv "^8.2.0" - dotenv-expand "^5.1.0" - electron-devtools-installer "^2.2.4" - electron-webpack-js "~2.4.1" - file-loader "^6.0.0" - fs-extra "^9.0.0" - html-loader "^1.1.0" - html-webpack-plugin "^4.0.4" - lazy-val "^1.0.4" - mini-css-extract-plugin "^0.9.0" - node-loader "^0.6.0" - read-config-file "~4.0.1" - semver "^7.1.3" - source-map-support "^0.5.16" - style-loader "^1.1.3" - terser-webpack-plugin "^2.3.5" - url-loader "^4.0.0" - webpack-cli "^3.3.11" - webpack-dev-server "^3.10.3" - webpack-merge "^4.2.2" - yargs "^15.3.1" - -electron-window-state@^5.0.3: - version "5.0.3" - resolved "https://registry.yarnpkg.com/electron-window-state/-/electron-window-state-5.0.3.tgz#4f36d09e3f953d87aff103bf010f460056050aa8" - integrity sha512-1mNTwCfkolXl3kMf50yW3vE2lZj0y92P/HYWFBrb+v2S/pCka5mdwN3cagKm458A7NjndSwijynXgcLWRodsVg== - dependencies: - jsonfile "^4.0.0" - mkdirp "^0.5.1" - -"electron@git+https://github.com/castlabs/electron-releases.git": - version "18.0.0-alpha.1" - resolved "git+https://github.com/castlabs/electron-releases.git#513890a7edda1f9723fbf410a4806b4cabd88827" - dependencies: - "@electron/get" "^1.13.0" - "@types/node" "^14.6.2" - extract-zip "^1.0.3" - -emoji-regex@^7.0.1: - version "7.0.3" - resolved "https://registry.yarnpkg.com/emoji-regex/-/emoji-regex-7.0.3.tgz#933a04052860c85e83c122479c4748a8e4c72156" - integrity sha512-CwBLREIQ7LvYFB0WyRvwhq5N5qPhc6PMjD6bYggFlI5YyDgl+0vxq5VHbMOFqLg7hfWzmu8T5Z1QofhmTIhItA== - -emoji-regex@^8.0.0: - version "8.0.0" - resolved "https://registry.yarnpkg.com/emoji-regex/-/emoji-regex-8.0.0.tgz#e818fd69ce5ccfcb404594f842963bf53164cc37" - integrity sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A== - -emojis-list@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/emojis-list/-/emojis-list-3.0.0.tgz#5570662046ad29e2e916e71aae260abdff4f6a78" - integrity sha512-/kyM18EfinwXZbno9FyUGeFh87KC8HRQBQGildHZbEuRyWFOmv1U10o9BBp8XVZDVNNuQKyIGIu5ZYAAXJ0V2Q== - -encode-utf8@^1.0.3: - version "1.0.3" - resolved "https://registry.yarnpkg.com/encode-utf8/-/encode-utf8-1.0.3.tgz#f30fdd31da07fb596f281beb2f6b027851994cda" - integrity sha512-ucAnuBEhUK4boH2HjVYG5Q2mQyPorvv0u/ocS+zhdw0S8AlHYY+GOFhP1Gio5z4icpP2ivFSvhtFjQi8+T9ppw== - -encodeurl@^1.0.2, encodeurl@~1.0.2: - version "1.0.2" - resolved "https://registry.yarnpkg.com/encodeurl/-/encodeurl-1.0.2.tgz#ad3ff4c86ec2d029322f5a02c3a9a606c95b3f59" - integrity sha1-rT/0yG7C0CkyL1oCw6mmBslbP1k= - -encoding@^0.1.12, encoding@^0.1.13: - version "0.1.13" - resolved "https://registry.yarnpkg.com/encoding/-/encoding-0.1.13.tgz#56574afdd791f54a8e9b2785c0582a2d26210fa9" - integrity sha512-ETBauow1T35Y/WZMkio9jiM0Z5xjHHmJ4XmjZOq1l/dXz3lr2sRn87nJy20RupqSh1F2m3HHPSp8ShIPQJrJ3A== - dependencies: - iconv-lite "^0.6.2" - -end-of-stream@^1.1.0: - version "1.4.4" - resolved "https://registry.yarnpkg.com/end-of-stream/-/end-of-stream-1.4.4.tgz#5ae64a5f45057baf3626ec14da0ca5e4b2431eb0" - integrity sha512-+uw1inIHVPQoaVuHzRyXd21icM+cnt4CzD5rW+NC1wjOUSTOs+Te7FOv7AhN7vS9x/oIyhLP5PR1H+phQAHu5Q== - dependencies: - once "^1.4.0" - -enhanced-resolve@^4.1.1: - version "4.5.0" - resolved "https://registry.yarnpkg.com/enhanced-resolve/-/enhanced-resolve-4.5.0.tgz#2f3cfd84dbe3b487f18f2db2ef1e064a571ca5ec" - integrity sha512-Nv9m36S/vxpsI+Hc4/ZGRs0n9mXqSWGGq49zxb/cJfPAQMbUtttJAlNPS4AQzaBdw/pKskw5bMbekT/Y7W/Wlg== - dependencies: - graceful-fs "^4.1.2" - memory-fs "^0.5.0" - tapable "^1.0.0" - -enhanced-resolve@^5.8.3: - version "5.8.3" - resolved "https://registry.yarnpkg.com/enhanced-resolve/-/enhanced-resolve-5.8.3.tgz#6d552d465cce0423f5b3d718511ea53826a7b2f0" - integrity sha512-EGAbGvH7j7Xt2nc0E7D99La1OiEs8LnyimkRgwExpUMScN6O+3x9tIWs7PLQZVNx4YD+00skHXPXi1yQHpAmZA== - dependencies: - graceful-fs "^4.2.4" - tapable "^2.2.0" - -entities@^2.0.0: - version "2.2.0" - resolved "https://registry.yarnpkg.com/entities/-/entities-2.2.0.tgz#098dc90ebb83d8dffa089d55256b351d34c4da55" - integrity sha512-p92if5Nz619I0w+akJrLZH0MX0Pb5DX39XOwQTtXSdQQOaYH03S1uIQp4mhOZtAXrxq4ViO67YTiLBo2638o9A== - -env-paths@^2.2.0, env-paths@^2.2.1: - version "2.2.1" - resolved "https://registry.yarnpkg.com/env-paths/-/env-paths-2.2.1.tgz#420399d416ce1fbe9bc0a07c62fa68d67fd0f8f2" - integrity sha512-+h1lkLKhZMTYjog1VEpJNG7NZJWcuc2DDk/qsqSTRRCOXiLjeQ1d1/udrUGhqMxUgAlwKNZ0cf2uqan5GLuS2A== - -err-code@^2.0.2: - version "2.0.3" - resolved "https://registry.yarnpkg.com/err-code/-/err-code-2.0.3.tgz#23c2f3b756ffdfc608d30e27c9a941024807e7f9" - integrity sha512-2bmlRpNKBxT/CRmPOlyISQpNj+qSeYvcym/uT0Jx2bMOlKLtSy1ZmLuVxSEKKyor/N5yhvp/ZiG1oE3DEYMSFA== - -errno@^0.1.3: - version "0.1.8" - resolved "https://registry.yarnpkg.com/errno/-/errno-0.1.8.tgz#8bb3e9c7d463be4976ff888f76b4809ebc2e811f" - integrity sha512-dJ6oBr5SQ1VSd9qkk7ByRgb/1SH4JZjCHSW/mr63/QcXO9zLVxvJ6Oy13nio03rxpSnVDDjFor75SjVeZWPW/A== - dependencies: - prr "~1.0.1" - -error-ex@^1.2.0, error-ex@^1.3.1: - version "1.3.2" - resolved "https://registry.yarnpkg.com/error-ex/-/error-ex-1.3.2.tgz#b4ac40648107fdcdcfae242f428bea8a14d4f1bf" - integrity sha512-7dFHNmqeFSEt2ZBsCriorKnn3Z2pj+fd9kmI6QoWw4//DL+icEBfc0U7qJCisqrTsKTjw4fNFy2pW9OqStD84g== - dependencies: - is-arrayish "^0.2.1" - -es-abstract@^1.19.1: - version "1.19.1" - resolved "https://registry.yarnpkg.com/es-abstract/-/es-abstract-1.19.1.tgz#d4885796876916959de78edaa0df456627115ec3" - integrity sha512-2vJ6tjA/UfqLm2MPs7jxVybLoB8i1t1Jd9R3kISld20sIxPcTbLuggQOUxeWeAvIUkduv/CfMjuh4WmiXr2v9w== - dependencies: - call-bind "^1.0.2" - es-to-primitive "^1.2.1" - function-bind "^1.1.1" - get-intrinsic "^1.1.1" - get-symbol-description "^1.0.0" - has "^1.0.3" - has-symbols "^1.0.2" - internal-slot "^1.0.3" - is-callable "^1.2.4" - is-negative-zero "^2.0.1" - is-regex "^1.1.4" - is-shared-array-buffer "^1.0.1" - is-string "^1.0.7" - is-weakref "^1.0.1" - object-inspect "^1.11.0" - object-keys "^1.1.1" - object.assign "^4.1.2" - string.prototype.trimend "^1.0.4" - string.prototype.trimstart "^1.0.4" - unbox-primitive "^1.0.1" - -es-module-lexer@^0.9.0: - version "0.9.3" - resolved "https://registry.yarnpkg.com/es-module-lexer/-/es-module-lexer-0.9.3.tgz#6f13db00cc38417137daf74366f535c8eb438f19" - integrity sha512-1HQ2M2sPtxwnvOvT1ZClHyQDiggdNjURWpY2we6aMKCQiUVxTmVs2UYPLIrD84sS+kMdUwfBSylbJPwNnBrnHQ== - -es-to-primitive@^1.2.1: - version "1.2.1" - resolved "https://registry.yarnpkg.com/es-to-primitive/-/es-to-primitive-1.2.1.tgz#e55cd4c9cdc188bcefb03b366c736323fc5c898a" - integrity sha512-QCOllgZJtaUo9miYBcLChTUaHNjJF3PYs1VidD7AwiEj1kYxKeQTctLAezAOH5ZKRH0g2IgPn6KwB4IT8iRpvA== - dependencies: - is-callable "^1.1.4" - is-date-object "^1.0.1" - is-symbol "^1.0.2" - -es6-error@^4.1.1: - version "4.1.1" - resolved "https://registry.yarnpkg.com/es6-error/-/es6-error-4.1.1.tgz#9e3af407459deed47e9a91f9b885a84eb05c561d" - integrity sha512-Um/+FxMr9CISWh0bi5Zv0iOD+4cFh5qLeks1qhAopKVAJw3drgKbKySikp7wGhDL0HPeaja0P5ULZrxLkniUVg== - -escalade@^3.1.1: - version "3.1.1" - resolved "https://registry.yarnpkg.com/escalade/-/escalade-3.1.1.tgz#d8cfdc7000965c5a0174b4a82eaa5c0552742e40" - integrity sha512-k0er2gUkLf8O0zKJiAhmkTnJlTvINGv7ygDNPbeIsX/TJjGJZHuh9B2UxbsaEkmlEo9MfhrSzmhIlhRlI2GXnw== - -escape-goat@^2.0.0: - version "2.1.1" - resolved "https://registry.yarnpkg.com/escape-goat/-/escape-goat-2.1.1.tgz#1b2dc77003676c457ec760b2dc68edb648188675" - integrity sha512-8/uIhbG12Csjy2JEW7D9pHbreaVaS/OpN3ycnyvElTdwM5n6GY6W6e2IPemfvGZeUMqZ9A/3GqIZMgKnBhAw/Q== - -escape-html@~1.0.3: - version "1.0.3" - resolved "https://registry.yarnpkg.com/escape-html/-/escape-html-1.0.3.tgz#0258eae4d3d0c0974de1c169188ef0051d1d1988" - integrity sha1-Aljq5NPQwJdN4cFpGI7wBR0dGYg= - -escape-string-regexp@^1.0.2, escape-string-regexp@^1.0.5: - version "1.0.5" - resolved "https://registry.yarnpkg.com/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz#1b61c0562190a8dff6ae3bb2cf0200ca130b86d4" - integrity sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ= - -escape-string-regexp@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/escape-string-regexp/-/escape-string-regexp-2.0.0.tgz#a30304e99daa32e23b2fd20f51babd07cffca344" - integrity sha512-UpzcLCXolUWcNu5HtVMHYdXJjArjsF9C0aNnquZYY4uW/Vu0miy5YoWvbV345HauVvcAUnpRuhMMcqTcGOY2+w== - -escape-string-regexp@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz#14ba83a5d373e3d311e5afca29cf5bfad965bf34" - integrity sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA== - -eslint-scope@5.1.1: - version "5.1.1" - resolved "https://registry.yarnpkg.com/eslint-scope/-/eslint-scope-5.1.1.tgz#e786e59a66cb92b3f6c1fb0d508aab174848f48c" - integrity sha512-2NxwbF/hZ0KpepYN0cNbo+FN6XoK7GaHlQhgx/hIZl6Va0bF45RQOOwhLIy8lQDbuCiadSLCBnH2CFYquit5bw== - dependencies: - esrecurse "^4.3.0" - estraverse "^4.1.1" - -esprima@^4.0.0: - version "4.0.1" - resolved "https://registry.yarnpkg.com/esprima/-/esprima-4.0.1.tgz#13b04cdb3e6c5d19df91ab6987a8695619b0aa71" - integrity sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A== - -esrecurse@^4.3.0: - version "4.3.0" - resolved "https://registry.yarnpkg.com/esrecurse/-/esrecurse-4.3.0.tgz#7ad7964d679abb28bee72cec63758b1c5d2c9921" - integrity sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag== - dependencies: - estraverse "^5.2.0" - -estraverse@^4.1.1: - version "4.3.0" - resolved "https://registry.yarnpkg.com/estraverse/-/estraverse-4.3.0.tgz#398ad3f3c5a24948be7725e83d11a7de28cdbd1d" - integrity sha512-39nnKffWz8xN1BU/2c79n9nB9HDzo0niYUqx6xyqUnyoAnQyyWpOTdZEeiCch8BBu515t4wp9ZmgVfVhn9EBpw== - -estraverse@^5.2.0: - version "5.3.0" - resolved "https://registry.yarnpkg.com/estraverse/-/estraverse-5.3.0.tgz#2eea5290702f26ab8fe5370370ff86c965d21123" - integrity sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA== - -esutils@^2.0.2: - version "2.0.3" - resolved "https://registry.yarnpkg.com/esutils/-/esutils-2.0.3.tgz#74d2eb4de0b8da1293711910d50775b9b710ef64" - integrity sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g== - -etag@~1.8.1: - version "1.8.1" - resolved "https://registry.yarnpkg.com/etag/-/etag-1.8.1.tgz#41ae2eeb65efa62268aebfea83ac7d79299b0887" - integrity sha1-Qa4u62XvpiJorr/qg6x9eSmbCIc= - -event-stream@3.3.4: - version "3.3.4" - resolved "https://registry.yarnpkg.com/event-stream/-/event-stream-3.3.4.tgz#4ab4c9a0f5a54db9338b4c34d86bfce8f4b35571" - integrity sha1-SrTJoPWlTbkzi0w02Gv86PSzVXE= - dependencies: - duplexer "~0.1.1" - from "~0" - map-stream "~0.1.0" - pause-stream "0.0.11" - split "0.3" - stream-combiner "~0.0.4" - through "~2.3.1" - -eventemitter3@^4.0.0: - version "4.0.7" - resolved "https://registry.yarnpkg.com/eventemitter3/-/eventemitter3-4.0.7.tgz#2de9b68f6528d5644ef5c59526a1b4a07306169f" - integrity sha512-8guHBZCwKnFhYdHr2ysuRWErTwhoN2X8XELRlrRwpmfeY2jjuUN4taQMsULKUVo1K4DvZl+0pgfyoysHxvmvEw== - -events@^3.2.0: - version "3.3.0" - resolved "https://registry.yarnpkg.com/events/-/events-3.3.0.tgz#31a95ad0a924e2d2c419a813aeb2c4e878ea7400" - integrity sha512-mQw+2fkQbALzQ7V0MY0IqdnXNOeTtP4r0lN9z7AAawCXgqea7bDii20AYrIBrFd/Hx0M2Ocz6S111CaFkUcb0Q== - -eventsource@^1.0.7: - version "1.1.0" - resolved "https://registry.yarnpkg.com/eventsource/-/eventsource-1.1.0.tgz#00e8ca7c92109e94b0ddf32dac677d841028cfaf" - integrity sha512-VSJjT5oCNrFvCS6igjzPAt5hBzQ2qPBFIbJ03zLI9SE0mxwZpMw6BfJrbFHm1a141AavMEB8JHmBhWAd66PfCg== - dependencies: - original "^1.0.0" - -execa@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/execa/-/execa-1.0.0.tgz#c6236a5bb4df6d6f15e88e7f017798216749ddd8" - integrity sha512-adbxcyWV46qiHyvSp50TKt05tB4tK3HcmF7/nxfAdhnox83seTDbwnaqKO4sXRy7roHAIFqJP/Rw/AuEbX61LA== - dependencies: - cross-spawn "^6.0.0" - get-stream "^4.0.0" - is-stream "^1.1.0" - npm-run-path "^2.0.0" - p-finally "^1.0.0" - signal-exit "^3.0.0" - strip-eof "^1.0.0" - -expand-brackets@^2.1.4: - version "2.1.4" - resolved "https://registry.yarnpkg.com/expand-brackets/-/expand-brackets-2.1.4.tgz#b77735e315ce30f6b6eff0f83b04151a22449622" - integrity sha1-t3c14xXOMPa27/D4OwQVGiJEliI= - dependencies: - debug "^2.3.3" - define-property "^0.2.5" - extend-shallow "^2.0.1" - posix-character-classes "^0.1.0" - regex-not "^1.0.0" - snapdragon "^0.8.1" - to-regex "^3.0.1" - -expand-tilde@^2.0.0, expand-tilde@^2.0.2: - version "2.0.2" - resolved "https://registry.yarnpkg.com/expand-tilde/-/expand-tilde-2.0.2.tgz#97e801aa052df02454de46b02bf621642cdc8502" - integrity sha1-l+gBqgUt8CRU3kawK/YhZCzchQI= - dependencies: - homedir-polyfill "^1.0.1" - -expect@=27.2.5: - version "27.2.5" - resolved "https://registry.yarnpkg.com/expect/-/expect-27.2.5.tgz#16154aaa60b4d9a5b0adacfea3e4d6178f4b93fd" - integrity sha512-ZrO0w7bo8BgGoP/bLz+HDCI+0Hfei9jUSZs5yI/Wyn9VkG9w8oJ7rHRgYj+MA7yqqFa0IwHA3flJzZtYugShJA== - dependencies: - "@jest/types" "^27.2.5" - ansi-styles "^5.0.0" - jest-get-type "^27.0.6" - jest-matcher-utils "^27.2.5" - jest-message-util "^27.2.5" - jest-regex-util "^27.0.6" - -express@^4.17.1, express@^4.17.2: - version "4.17.2" - resolved "https://registry.yarnpkg.com/express/-/express-4.17.2.tgz#c18369f265297319beed4e5558753cc8c1364cb3" - integrity sha512-oxlxJxcQlYwqPWKVJJtvQiwHgosH/LrLSPA+H4UxpyvSS6jC5aH+5MoHFM+KABgTOt0APue4w66Ha8jCUo9QGg== - dependencies: - accepts "~1.3.7" - array-flatten "1.1.1" - body-parser "1.19.1" - content-disposition "0.5.4" - content-type "~1.0.4" - cookie "0.4.1" - cookie-signature "1.0.6" - debug "2.6.9" - depd "~1.1.2" - encodeurl "~1.0.2" - escape-html "~1.0.3" - etag "~1.8.1" - finalhandler "~1.1.2" - fresh "0.5.2" - merge-descriptors "1.0.1" - methods "~1.1.2" - on-finished "~2.3.0" - parseurl "~1.3.3" - path-to-regexp "0.1.7" - proxy-addr "~2.0.7" - qs "6.9.6" - range-parser "~1.2.1" - safe-buffer "5.2.1" - send "0.17.2" - serve-static "1.14.2" - setprototypeof "1.2.0" - statuses "~1.5.0" - type-is "~1.6.18" - utils-merge "1.0.1" - vary "~1.1.2" - -extend-shallow@^2.0.1: - version "2.0.1" - resolved "https://registry.yarnpkg.com/extend-shallow/-/extend-shallow-2.0.1.tgz#51af7d614ad9a9f610ea1bafbb989d6b1c56890f" - integrity sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8= - dependencies: - is-extendable "^0.1.0" - -extend-shallow@^3.0.0, extend-shallow@^3.0.2: - version "3.0.2" - resolved "https://registry.yarnpkg.com/extend-shallow/-/extend-shallow-3.0.2.tgz#26a71aaf073b39fb2127172746131c2704028db8" - integrity sha1-Jqcarwc7OfshJxcnRhMcJwQCjbg= - dependencies: - assign-symbols "^1.0.0" - is-extendable "^1.0.1" - -extglob@^2.0.4: - version "2.0.4" - resolved "https://registry.yarnpkg.com/extglob/-/extglob-2.0.4.tgz#ad00fe4dc612a9232e8718711dc5cb5ab0285543" - integrity sha512-Nmb6QXkELsuBr24CJSkilo6UHHgbekK5UiZgfE6UHD3Eb27YC6oD+bhcT+tJ6cl8dmsgdQxnWlcry8ksBIBLpw== - dependencies: - array-unique "^0.3.2" - define-property "^1.0.0" - expand-brackets "^2.1.4" - extend-shallow "^2.0.1" - fragment-cache "^0.2.1" - regex-not "^1.0.0" - snapdragon "^0.8.1" - to-regex "^3.0.1" - -extract-zip@^1.0.3: - version "1.7.0" - resolved "https://registry.yarnpkg.com/extract-zip/-/extract-zip-1.7.0.tgz#556cc3ae9df7f452c493a0cfb51cc30277940927" - integrity sha512-xoh5G1W/PB0/27lXgMQyIhP5DSY/LhoCsOyZgb+6iMmRtCwVBo55uKaMoEYrDCKQhWvqEip5ZPKAc6eFNyf/MA== - dependencies: - concat-stream "^1.6.2" - debug "^2.6.9" - mkdirp "^0.5.4" - yauzl "^2.10.0" - -extract-zip@^2.0.0, extract-zip@^2.0.1: - version "2.0.1" - resolved "https://registry.yarnpkg.com/extract-zip/-/extract-zip-2.0.1.tgz#663dca56fe46df890d5f131ef4a06d22bb8ba13a" - integrity sha512-GDhU9ntwuKyGXdZBUgTIe+vXnWj0fppUEtMDL0+idd5Sta8TGpHssn/eusA9mrPr9qNDym6SxAYZjNvCn/9RBg== - dependencies: - debug "^4.1.1" - get-stream "^5.1.0" - yauzl "^2.10.0" - optionalDependencies: - "@types/yauzl" "^2.9.1" - -extsprintf@^1.2.0: - version "1.4.1" - resolved "https://registry.yarnpkg.com/extsprintf/-/extsprintf-1.4.1.tgz#8d172c064867f235c0c84a596806d279bf4bcc07" - integrity sha512-Wrk35e8ydCKDj/ArClo1VrPVmN8zph5V4AtHwIuHhvMXsKf73UT3BOD+azBIW+3wOJ4FhEH7zyaJCFvChjYvMA== - -fast-deep-equal@^3.1.1: - version "3.1.3" - resolved "https://registry.yarnpkg.com/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz#3a7d56b559d6cbc3eb512325244e619a65c6c525" - integrity sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q== - -fast-json-stable-stringify@^2.0.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz#874bf69c6f404c2b5d99c481341399fd55892633" - integrity sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw== - -fast-safe-stringify@^2.0.6: - version "2.1.1" - resolved "https://registry.yarnpkg.com/fast-safe-stringify/-/fast-safe-stringify-2.1.1.tgz#c406a83b6e70d9e35ce3b30a81141df30aeba884" - integrity sha512-W+KJc2dmILlPplD/H4K9l9LcAHAfPtP6BY84uVLXQ6Evcz9Lcg33Y2z1IVblT6xdY54PXYVHEv+0Wpq8Io6zkA== - -faye-websocket@^0.11.3: - version "0.11.4" - resolved "https://registry.yarnpkg.com/faye-websocket/-/faye-websocket-0.11.4.tgz#7f0d9275cfdd86a1c963dc8b65fcc451edcbb1da" - integrity sha512-CzbClwlXAuiRQAlUyfqPgvPoNKTckTPGfwZV4ZdAhVcP2lh9KUxJg2b5GkE7XbjKQ3YJnQ9z6D9ntLAlB+tP8g== - dependencies: - websocket-driver ">=0.5.1" - -fd-slicer@~1.1.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/fd-slicer/-/fd-slicer-1.1.0.tgz#25c7c89cb1f9077f8891bbe61d8f390eae256f1e" - integrity sha1-JcfInLH5B3+IkbvmHY85Dq4lbx4= - dependencies: - pend "~1.2.0" - -figgy-pudding@^3.5.1: - version "3.5.2" - resolved "https://registry.yarnpkg.com/figgy-pudding/-/figgy-pudding-3.5.2.tgz#b4eee8148abb01dcf1d1ac34367d59e12fa61d6e" - integrity sha512-0btnI/H8f2pavGMN8w40mlSKOfTK2SVJmBfBeVIj3kNw0swwgzyRq0d5TJVOwodFmtvpPeWPN/MCcfuWF0Ezbw== - -file-loader@^6.0.0: - version "6.2.0" - resolved "https://registry.yarnpkg.com/file-loader/-/file-loader-6.2.0.tgz#baef7cf8e1840df325e4390b4484879480eebe4d" - integrity sha512-qo3glqyTa61Ytg4u73GultjHGjdRyig3tG6lPtyX/jOEJvHif9uB0/OCI2Kif6ctF3caQTW2G5gym21oAsI4pw== - dependencies: - loader-utils "^2.0.0" - schema-utils "^3.0.0" - -file-type@16.5.3: - version "16.5.3" - resolved "https://registry.yarnpkg.com/file-type/-/file-type-16.5.3.tgz#474b7e88c74724046abb505e9b8ed4db30c4fc06" - integrity sha512-uVsl7iFhHSOY4bEONLlTK47iAHtNsFHWP5YE4xJfZ4rnX7S1Q3wce09XgqSC7E/xh8Ncv/be1lNoyprlUH/x6A== - dependencies: - readable-web-to-node-stream "^3.0.0" - strtok3 "^6.2.4" - token-types "^4.1.1" - -file-uri-to-path@1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/file-uri-to-path/-/file-uri-to-path-1.0.0.tgz#553a7b8446ff6f684359c445f1e37a05dacc33dd" - integrity sha512-0Zt+s3L7Vf1biwWZ29aARiVYLx7iMGnEUl9x33fbB/j3jR81u/O2LbqK+Bm1CDSNDKVtJ/YjwY7TUd5SkeLQLw== - -filelist@^1.0.1: - version "1.0.2" - resolved "https://registry.yarnpkg.com/filelist/-/filelist-1.0.2.tgz#80202f21462d4d1c2e214119b1807c1bc0380e5b" - integrity sha512-z7O0IS8Plc39rTCq6i6iHxk43duYOn8uFJiWSewIq0Bww1RNybVHSCjahmcC87ZqAm4OTvFzlzeGu3XAzG1ctQ== - dependencies: - minimatch "^3.0.4" - -filename-reserved-regex@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/filename-reserved-regex/-/filename-reserved-regex-2.0.0.tgz#abf73dfab735d045440abfea2d91f389ebbfa229" - integrity sha1-q/c9+rc10EVECr/qLZHzieu/oik= - -filenamify@^4.1.0: - version "4.3.0" - resolved "https://registry.yarnpkg.com/filenamify/-/filenamify-4.3.0.tgz#62391cb58f02b09971c9d4f9d63b3cf9aba03106" - integrity sha512-hcFKyUG57yWGAzu1CMt/dPzYZuv+jAJUT85bL8mrXvNe6hWj6yEHEc4EdcgiA6Z3oi1/9wXJdZPXF2dZNgwgOg== - dependencies: - filename-reserved-regex "^2.0.0" - strip-outer "^1.0.1" - trim-repeated "^1.0.0" - -fill-range@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/fill-range/-/fill-range-4.0.0.tgz#d544811d428f98eb06a63dc402d2403c328c38f7" - integrity sha1-1USBHUKPmOsGpj3EAtJAPDKMOPc= - dependencies: - extend-shallow "^2.0.1" - is-number "^3.0.0" - repeat-string "^1.6.1" - to-regex-range "^2.1.0" - -fill-range@^7.0.1: - version "7.0.1" - resolved "https://registry.yarnpkg.com/fill-range/-/fill-range-7.0.1.tgz#1919a6a7c75fe38b2c7c77e5198535da9acdda40" - integrity sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ== - dependencies: - to-regex-range "^5.0.1" - -finalhandler@~1.1.2: - version "1.1.2" - resolved "https://registry.yarnpkg.com/finalhandler/-/finalhandler-1.1.2.tgz#b7e7d000ffd11938d0fdb053506f6ebabe9f587d" - integrity sha512-aAWcW57uxVNrQZqFXjITpW3sIUQmHGG3qSb9mUah9MgMC4NeWhNOlNjXEYq3HjRAvL6arUviZGGJsBg6z0zsWA== - dependencies: - debug "2.6.9" - encodeurl "~1.0.2" - escape-html "~1.0.3" - on-finished "~2.3.0" - parseurl "~1.3.3" - statuses "~1.5.0" - unpipe "~1.0.0" - -find-babel-config@^1.2.0: - version "1.2.0" - resolved "https://registry.yarnpkg.com/find-babel-config/-/find-babel-config-1.2.0.tgz#a9b7b317eb5b9860cda9d54740a8c8337a2283a2" - integrity sha512-jB2CHJeqy6a820ssiqwrKMeyC6nNdmrcgkKWJWmpoxpE8RKciYJXCcXRq1h2AzCo5I5BJeN2tkGEO3hLTuePRA== - dependencies: - json5 "^0.5.1" - path-exists "^3.0.0" - -find-cache-dir@^3.3.1: - version "3.3.2" - resolved "https://registry.yarnpkg.com/find-cache-dir/-/find-cache-dir-3.3.2.tgz#b30c5b6eff0730731aea9bbd9dbecbd80256d64b" - integrity sha512-wXZV5emFEjrridIgED11OoUKLxiYjAcqot/NJdAkOhlJ+vGzwhOAfcG5OX1jP+S0PcjEn8bdMJv+g2jwQ3Onig== - dependencies: - commondir "^1.0.1" - make-dir "^3.0.2" - pkg-dir "^4.1.0" - -find-up@^2.0.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/find-up/-/find-up-2.1.0.tgz#45d1b7e506c717ddd482775a2b77920a3c0c57a7" - integrity sha1-RdG35QbHF93UgndaK3eSCjwMV6c= - dependencies: - locate-path "^2.0.0" - -find-up@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/find-up/-/find-up-3.0.0.tgz#49169f1d7993430646da61ecc5ae355c21c97b73" - integrity sha512-1yD6RmLI1XBfxugvORwlck6f75tYL+iR0jqwsOrOxMZyGYqUuDhJ0l4AXdO1iX/FTs9cBAMEk1gWSEx1kSbylg== - dependencies: - locate-path "^3.0.0" - -find-up@^4.0.0, find-up@^4.1.0: - version "4.1.0" - resolved "https://registry.yarnpkg.com/find-up/-/find-up-4.1.0.tgz#97afe7d6cdc0bc5928584b7c8d7b16e8a9aa5d19" - integrity sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw== - dependencies: - locate-path "^5.0.0" - path-exists "^4.0.0" - -findup-sync@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/findup-sync/-/findup-sync-3.0.0.tgz#17b108f9ee512dfb7a5c7f3c8b27ea9e1a9c08d1" - integrity sha512-YbffarhcicEhOrm4CtrwdKBdCuz576RLdhJDsIfvNtxUuhdRet1qZcsMjqbePtAseKdAnDyM/IyXbu7PRPRLYg== - dependencies: - detect-file "^1.0.0" - is-glob "^4.0.0" - micromatch "^3.0.4" - resolve-dir "^1.0.1" - -flora-colossus@^1.0.0: - version "1.0.1" - resolved "https://registry.yarnpkg.com/flora-colossus/-/flora-colossus-1.0.1.tgz#aba198425a8185341e64f9d2a6a96fd9a3cbdb93" - integrity sha512-d+9na7t9FyH8gBJoNDSi28mE4NgQVGGvxQ4aHtFRetjyh5SXjuus+V5EZaxFmFdXVemSOrx0lsgEl/ZMjnOWJA== - dependencies: - debug "^4.1.1" - fs-extra "^7.0.0" - -follow-redirects@^1.0.0: - version "1.14.7" - resolved "https://registry.yarnpkg.com/follow-redirects/-/follow-redirects-1.14.7.tgz#2004c02eb9436eee9a21446a6477debf17e81685" - integrity sha512-+hbxoLbFMbRKDwohX8GkTataGqO6Jb7jGwpAlwgy2bIz25XtRm7KEzJM76R1WiNT5SwZkX4Y75SwBolkpmE7iQ== - -for-in@^1.0.2: - version "1.0.2" - resolved "https://registry.yarnpkg.com/for-in/-/for-in-1.0.2.tgz#81068d295a8142ec0ac726c6e2200c30fb6d5e80" - integrity sha1-gQaNKVqBQuwKxybG4iAMMPttXoA= - -form-data@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/form-data/-/form-data-4.0.0.tgz#93919daeaf361ee529584b9b31664dc12c9fa452" - integrity sha512-ETEklSGi5t0QMZuiXoA/Q6vcnxcLQP5vdugSpuAyi6SVGi2clPPp+xgEhuMaHC+zGgn31Kd235W35f7Hykkaww== - dependencies: - asynckit "^0.4.0" - combined-stream "^1.0.8" - mime-types "^2.1.12" - -forwarded@0.2.0: - version "0.2.0" - resolved "https://registry.yarnpkg.com/forwarded/-/forwarded-0.2.0.tgz#2269936428aad4c15c7ebe9779a84bf0b2a81811" - integrity sha512-buRG0fpBtRHSTCOASe6hD258tEubFoRLb4ZNA6NxMVHNw2gOcwHo9wyablzMzOA5z9xA9L1KNjk/Nt6MT9aYow== - -fragment-cache@^0.2.1: - version "0.2.1" - resolved "https://registry.yarnpkg.com/fragment-cache/-/fragment-cache-0.2.1.tgz#4290fad27f13e89be7f33799c6bc5a0abfff0d19" - integrity sha1-QpD60n8T6Jvn8zeZxrxaCr//DRk= - dependencies: - map-cache "^0.2.2" - -fresh@0.5.2: - version "0.5.2" - resolved "https://registry.yarnpkg.com/fresh/-/fresh-0.5.2.tgz#3d8cadd90d976569fa835ab1f8e4b23a105605a7" - integrity sha1-PYyt2Q2XZWn6g1qx+OSyOhBWBac= - -from@~0: - version "0.1.7" - resolved "https://registry.yarnpkg.com/from/-/from-0.1.7.tgz#83c60afc58b9c56997007ed1a768b3ab303a44fe" - integrity sha1-g8YK/Fi5xWmXAH7Rp2izqzA6RP4= - -fs-extra@^10.0.0: - version "10.0.0" - resolved "https://registry.yarnpkg.com/fs-extra/-/fs-extra-10.0.0.tgz#9ff61b655dde53fb34a82df84bb214ce802e17c1" - integrity sha512-C5owb14u9eJwizKGdchcDUQeFtlSHHthBk8pbX9Vc1PFZrLombudjDnNns88aYslCyF6IY5SUw3Roz6xShcEIQ== - dependencies: - graceful-fs "^4.2.0" - jsonfile "^6.0.1" - universalify "^2.0.0" - -fs-extra@^4.0.0: - version "4.0.3" - resolved "https://registry.yarnpkg.com/fs-extra/-/fs-extra-4.0.3.tgz#0d852122e5bc5beb453fb028e9c0c9bf36340c94" - integrity sha512-q6rbdDd1o2mAnQreO7YADIxf/Whx4AHBiRf6d+/cVT8h44ss+lHgxf1FemcqDnQt9X3ct4McHr+JMGlYSsK7Cg== - dependencies: - graceful-fs "^4.1.2" - jsonfile "^4.0.0" - universalify "^0.1.0" - -fs-extra@^7.0.0: - version "7.0.1" - resolved "https://registry.yarnpkg.com/fs-extra/-/fs-extra-7.0.1.tgz#4f189c44aa123b895f722804f55ea23eadc348e9" - integrity sha512-YJDaCJZEnBmcbw13fvdAM9AwNOJwOzrE4pqMqBq5nFiEqXUqHwlK4B+3pUw6JNvfSPtX05xFHtYy/1ni01eGCw== - dependencies: - graceful-fs "^4.1.2" - jsonfile "^4.0.0" - universalify "^0.1.0" - -fs-extra@^8.1.0: - version "8.1.0" - resolved "https://registry.yarnpkg.com/fs-extra/-/fs-extra-8.1.0.tgz#49d43c45a88cd9677668cb7be1b46efdb8d2e1c0" - integrity sha512-yhlQgA6mnOJUKOsRUFsgJdQCvkKhcz8tlZG5HBQfReYZy46OwLcY+Zia0mtdHsOo9y/hP+CxMN0TU9QxoOtG4g== - dependencies: - graceful-fs "^4.2.0" - jsonfile "^4.0.0" - universalify "^0.1.0" - -fs-extra@^9.0.0, fs-extra@^9.0.1: - version "9.1.0" - resolved "https://registry.yarnpkg.com/fs-extra/-/fs-extra-9.1.0.tgz#5954460c764a8da2094ba3554bf839e6b9a7c86d" - integrity sha512-hcg3ZmepS30/7BSFqRvoo3DOMQu7IjqxO5nCDt+zM9XWjb33Wg7ziNT+Qvqbuc3+gWpzO02JubVyk2G4Zvo1OQ== - dependencies: - at-least-node "^1.0.0" - graceful-fs "^4.2.0" - jsonfile "^6.0.1" - universalify "^2.0.0" - -fs-minipass@^2.0.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/fs-minipass/-/fs-minipass-2.1.0.tgz#7f5036fdbf12c63c169190cbe4199c852271f9fb" - integrity sha512-V/JgOLFCS+R6Vcq0slCuaeWEdNC3ouDlJMNIsacH2VtALiu9mV4LPrHc5cDl8k5aw6J8jwgWWpiTo5RYhmIzvg== - dependencies: - minipass "^3.0.0" - -fs-write-stream-atomic@^1.0.8: - version "1.0.10" - resolved "https://registry.yarnpkg.com/fs-write-stream-atomic/-/fs-write-stream-atomic-1.0.10.tgz#b47df53493ef911df75731e70a9ded0189db40c9" - integrity sha1-tH31NJPvkR33VzHnCp3tAYnbQMk= - dependencies: - graceful-fs "^4.1.2" - iferr "^0.1.5" - imurmurhash "^0.1.4" - readable-stream "1 || 2" - -fs.realpath@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/fs.realpath/-/fs.realpath-1.0.0.tgz#1504ad2523158caa40db4a2787cb01411994ea4f" - integrity sha1-FQStJSMVjKpA20onh8sBQRmU6k8= - -fsevents@^1.2.7: - version "1.2.13" - resolved "https://registry.yarnpkg.com/fsevents/-/fsevents-1.2.13.tgz#f325cb0455592428bcf11b383370ef70e3bfcc38" - integrity sha512-oWb1Z6mkHIskLzEJ/XWX0srkpkTQ7vaopMQkyaEIoq0fmtFVxOthb8cCxeT+p3ynTdkk/RZwbgG4brR5BeWECw== - dependencies: - bindings "^1.5.0" - nan "^2.12.1" - -function-bind@^1.1.1: - version "1.1.1" - resolved "https://registry.yarnpkg.com/function-bind/-/function-bind-1.1.1.tgz#a56899d3ea3c9bab874bb9773b7c5ede92f4895d" - integrity sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A== - -galactus@^0.2.1: - version "0.2.1" - resolved "https://registry.yarnpkg.com/galactus/-/galactus-0.2.1.tgz#cbed2d20a40c1f5679a35908e2b9415733e78db9" - integrity sha1-y+0tIKQMH1Z5o1kI4rlBVzPnjbk= - dependencies: - debug "^3.1.0" - flora-colossus "^1.0.0" - fs-extra "^4.0.0" - -gauge@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/gauge/-/gauge-4.0.0.tgz#afba07aa0374a93c6219603b1fb83eaa2264d8f8" - integrity sha512-F8sU45yQpjQjxKkm1UOAhf0U/O0aFt//Fl7hsrNVto+patMHjs7dPI9mFOGUKbhrgKm0S3EjW3scMFuQmWSROw== - dependencies: - ansi-regex "^5.0.1" - aproba "^1.0.3 || ^2.0.0" - color-support "^1.1.2" - console-control-strings "^1.0.0" - has-unicode "^2.0.1" - signal-exit "^3.0.0" - string-width "^4.2.3" - strip-ansi "^6.0.1" - wide-align "^1.1.2" - -gensync@^1.0.0-beta.2: - version "1.0.0-beta.2" - resolved "https://registry.yarnpkg.com/gensync/-/gensync-1.0.0-beta.2.tgz#32a6ee76c3d7f52d46b2b1ae5d93fea8580a25e0" - integrity sha512-3hN7NaskYvMDLQY55gnW3NQ+mesEAepTqlg+VEbj7zzqEMBVNhzcGYYeqFo/TlYz6eQiFcp1HcsCZO+nGgS8zg== - -get-caller-file@^2.0.1, get-caller-file@^2.0.5: - version "2.0.5" - resolved "https://registry.yarnpkg.com/get-caller-file/-/get-caller-file-2.0.5.tgz#4f94412a82db32f36e3b0b9741f8a97feb031f7e" - integrity sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg== - -get-intrinsic@^1.0.2, get-intrinsic@^1.1.0, get-intrinsic@^1.1.1: - version "1.1.1" - resolved "https://registry.yarnpkg.com/get-intrinsic/-/get-intrinsic-1.1.1.tgz#15f59f376f855c446963948f0d24cd3637b4abc6" - integrity sha512-kWZrnVM42QCiEA2Ig1bG8zjoIMOgxWwYCEeNdwY6Tv/cOSeGpcoX4pXHfKUxNKVoArnrEr2e9srnAxxGIraS9Q== - dependencies: - function-bind "^1.1.1" - has "^1.0.3" - has-symbols "^1.0.1" - -get-package-info@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/get-package-info/-/get-package-info-1.0.0.tgz#6432796563e28113cd9474dbbd00052985a4999c" - integrity sha1-ZDJ5ZWPigRPNlHTbvQAFKYWkmZw= - dependencies: - bluebird "^3.1.1" - debug "^2.2.0" - lodash.get "^4.0.0" - read-pkg-up "^2.0.0" - -get-port@^5.1.1: - version "5.1.1" - resolved "https://registry.yarnpkg.com/get-port/-/get-port-5.1.1.tgz#0469ed07563479de6efb986baf053dcd7d4e3193" - integrity sha512-g/Q1aTSDOxFpchXC4i8ZWvxA1lnPqx/JHqcpIw0/LX9T8x/GBbi6YnlN5nhaKIFkT8oFsscUKgDJYxfwfS6QsQ== - -get-stream@^4.0.0, get-stream@^4.1.0: - version "4.1.0" - resolved "https://registry.yarnpkg.com/get-stream/-/get-stream-4.1.0.tgz#c1b255575f3dc21d59bfc79cd3d2b46b1c3a54b5" - integrity sha512-GMat4EJ5161kIy2HevLlr4luNjBgvmj413KaQA7jt4V8B4RDsfpHk7WQ9GVqfYyyx8OS/L66Kox+rJRNklLK7w== - dependencies: - pump "^3.0.0" - -get-stream@^5.1.0: - version "5.2.0" - resolved "https://registry.yarnpkg.com/get-stream/-/get-stream-5.2.0.tgz#4966a1795ee5ace65e706c4b7beb71257d6e22d3" - integrity sha512-nBF+F1rAZVCu/p7rjzgA+Yb4lfYXrpl7a6VmJrU8wF9I1CKvP/QwPNZHnOlwbTkY6dvtFIzFMSyQXbLoTQPRpA== - dependencies: - pump "^3.0.0" - -get-symbol-description@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/get-symbol-description/-/get-symbol-description-1.0.0.tgz#7fdb81c900101fbd564dd5f1a30af5aadc1e58d6" - integrity sha512-2EmdH1YvIQiZpltCNgkuiUnyukzxM/R6NDJX31Ke3BG1Nq5b0S2PhX59UKi9vZpPDQVdqn+1IcaAwnzTT5vCjw== - dependencies: - call-bind "^1.0.2" - get-intrinsic "^1.1.1" - -get-value@^2.0.3, get-value@^2.0.6: - version "2.0.6" - resolved "https://registry.yarnpkg.com/get-value/-/get-value-2.0.6.tgz#dc15ca1c672387ca76bd37ac0a395ba2042a2c28" - integrity sha1-3BXKHGcjh8p2vTesCjlbogQqLCg= - -glob-parent@^3.1.0: - version "3.1.0" - resolved "https://registry.yarnpkg.com/glob-parent/-/glob-parent-3.1.0.tgz#9e6af6299d8d3bd2bd40430832bd113df906c5ae" - integrity sha1-nmr2KZ2NO9K9QEMIMr0RPfkGxa4= - dependencies: - is-glob "^3.1.0" - path-dirname "^1.0.0" - -glob-to-regexp@^0.4.1: - version "0.4.1" - resolved "https://registry.yarnpkg.com/glob-to-regexp/-/glob-to-regexp-0.4.1.tgz#c75297087c851b9a578bd217dd59a92f59fe546e" - integrity sha512-lkX1HJXwyMcprw/5YUZc2s7DrpAiHB21/V+E1rHUrVNokkvB6bqMzT0VfV6/86ZNabt1k14YOIaT7nDvOX3Iiw== - -glob@^7.0.3, glob@^7.1.3, glob@^7.1.4, glob@^7.1.6: - version "7.2.0" - resolved "https://registry.yarnpkg.com/glob/-/glob-7.2.0.tgz#d15535af7732e02e948f4c41628bd910293f6023" - integrity sha512-lmLf6gtyrPq8tTjSmrO94wBeQbFR3HbLHbuyD69wuyQkImp2hWqMGB47OX65FBkPffO641IP9jWa1z4ivqG26Q== - dependencies: - fs.realpath "^1.0.0" - inflight "^1.0.4" - inherits "2" - minimatch "^3.0.4" - once "^1.3.0" - path-is-absolute "^1.0.0" - -global-agent@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/global-agent/-/global-agent-3.0.0.tgz#ae7cd31bd3583b93c5a16437a1afe27cc33a1ab6" - integrity sha512-PT6XReJ+D07JvGoxQMkT6qji/jVNfX/h364XHZOWeRzy64sSFr+xJ5OX7LI3b4MPQzdL4H8Y8M0xzPpsVMwA8Q== - dependencies: - boolean "^3.0.1" - es6-error "^4.1.1" - matcher "^3.0.0" - roarr "^2.15.3" - semver "^7.3.2" - serialize-error "^7.0.1" - -global-dirs@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/global-dirs/-/global-dirs-3.0.0.tgz#70a76fe84ea315ab37b1f5576cbde7d48ef72686" - integrity sha512-v8ho2DS5RiCjftj1nD9NmnfaOzTdud7RRnVd9kFNOjqZbISlx5DQ+OrTkywgd0dIt7oFCvKetZSHoHcP3sDdiA== - dependencies: - ini "2.0.0" - -global-modules@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/global-modules/-/global-modules-1.0.0.tgz#6d770f0eb523ac78164d72b5e71a8877265cc3ea" - integrity sha512-sKzpEkf11GpOFuw0Zzjzmt4B4UZwjOcG757PPvrfhxcLFbq0wpsgpOqxpxtxFiCG4DtG93M6XRVbF2oGdev7bg== - dependencies: - global-prefix "^1.0.1" - is-windows "^1.0.1" - resolve-dir "^1.0.0" - -global-modules@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/global-modules/-/global-modules-2.0.0.tgz#997605ad2345f27f51539bea26574421215c7780" - integrity sha512-NGbfmJBp9x8IxyJSd1P+otYK8vonoJactOogrVfFRIAEY1ukil8RSKDz2Yo7wh1oihl51l/r6W4epkeKJHqL8A== - dependencies: - global-prefix "^3.0.0" - -global-prefix@^1.0.1: - version "1.0.2" - resolved "https://registry.yarnpkg.com/global-prefix/-/global-prefix-1.0.2.tgz#dbf743c6c14992593c655568cb66ed32c0122ebe" - integrity sha1-2/dDxsFJklk8ZVVoy2btMsASLr4= - dependencies: - expand-tilde "^2.0.2" - homedir-polyfill "^1.0.1" - ini "^1.3.4" - is-windows "^1.0.1" - which "^1.2.14" - -global-prefix@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/global-prefix/-/global-prefix-3.0.0.tgz#fc85f73064df69f50421f47f883fe5b913ba9b97" - integrity sha512-awConJSVCHVGND6x3tmMaKcQvwXLhjdkmomy2W+Goaui8YPgYgXJZewhg3fWC+DlfqqQuWg8AwqjGTD2nAPVWg== - dependencies: - ini "^1.3.5" - kind-of "^6.0.2" - which "^1.3.1" - -global-tunnel-ng@^2.7.1: - version "2.7.1" - resolved "https://registry.yarnpkg.com/global-tunnel-ng/-/global-tunnel-ng-2.7.1.tgz#d03b5102dfde3a69914f5ee7d86761ca35d57d8f" - integrity sha512-4s+DyciWBV0eK148wqXxcmVAbFVPqtc3sEtUE/GTQfuU80rySLcMhUmHKSHI7/LDj8q0gDYI1lIhRRB7ieRAqg== - dependencies: - encodeurl "^1.0.2" - lodash "^4.17.10" - npm-conf "^1.1.3" - tunnel "^0.0.6" - -globals@^11.1.0: - version "11.12.0" - resolved "https://registry.yarnpkg.com/globals/-/globals-11.12.0.tgz#ab8795338868a0babd8525758018c2a7eb95c42e" - integrity sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA== - -globalthis@^1.0.1: - version "1.0.2" - resolved "https://registry.yarnpkg.com/globalthis/-/globalthis-1.0.2.tgz#2a235d34f4d8036219f7e34929b5de9e18166b8b" - integrity sha512-ZQnSFO1la8P7auIOQECnm0sSuoMeaSq0EEdXMBFF2QJO4uNcwbyhSgG3MruWNbFTqCLmxVwGOl7LZ9kASvHdeQ== - dependencies: - define-properties "^1.1.3" - -globby@^6.1.0: - version "6.1.0" - resolved "https://registry.yarnpkg.com/globby/-/globby-6.1.0.tgz#f5a6d70e8395e21c858fb0489d64df02424d506c" - integrity sha1-9abXDoOV4hyFj7BInWTfAkJNUGw= - dependencies: - array-union "^1.0.1" - glob "^7.0.3" - object-assign "^4.0.1" - pify "^2.0.0" - pinkie-promise "^2.0.0" - -got@^11.8.3: - version "11.8.3" - resolved "https://registry.yarnpkg.com/got/-/got-11.8.3.tgz#f496c8fdda5d729a90b4905d2b07dbd148170770" - integrity sha512-7gtQ5KiPh1RtGS9/Jbv1ofDpBFuq42gyfEib+ejaRBJuj/3tQFeR5+gw57e4ipaU8c/rCjvX6fkQz2lyDlGAOg== - dependencies: - "@sindresorhus/is" "^4.0.0" - "@szmarczak/http-timer" "^4.0.5" - "@types/cacheable-request" "^6.0.1" - "@types/responselike" "^1.0.0" - cacheable-lookup "^5.0.3" - cacheable-request "^7.0.2" - decompress-response "^6.0.0" - http2-wrapper "^1.0.0-beta.5.2" - lowercase-keys "^2.0.0" - p-cancelable "^2.0.0" - responselike "^2.0.0" - -got@^9.6.0: - version "9.6.0" - resolved "https://registry.yarnpkg.com/got/-/got-9.6.0.tgz#edf45e7d67f99545705de1f7bbeeeb121765ed85" - integrity sha512-R7eWptXuGYxwijs0eV+v3o6+XH1IqVK8dJOEecQfTmkncw9AV4dcw/Dhxi8MdlqPthxxpZyizMzyg8RTmEsG+Q== - dependencies: - "@sindresorhus/is" "^0.14.0" - "@szmarczak/http-timer" "^1.1.2" - cacheable-request "^6.0.0" - decompress-response "^3.3.0" - duplexer3 "^0.1.4" - get-stream "^4.1.0" - lowercase-keys "^1.0.1" - mimic-response "^1.0.1" - p-cancelable "^1.0.0" - to-readable-stream "^1.0.0" - url-parse-lax "^3.0.0" - -graceful-fs@^4.1.11, graceful-fs@^4.1.15, graceful-fs@^4.1.2, graceful-fs@^4.1.6, graceful-fs@^4.2.0, graceful-fs@^4.2.2, graceful-fs@^4.2.4, graceful-fs@^4.2.6: - version "4.2.9" - resolved "https://registry.yarnpkg.com/graceful-fs/-/graceful-fs-4.2.9.tgz#041b05df45755e587a24942279b9d113146e1c96" - integrity sha512-NtNxqUcXgpW2iMrfqSfR73Glt39K+BLwWsPs94yR63v45T0Wbej7eRmL5cWfwEgqXnmjQp3zaJTshdRW/qC2ZQ== - -"graceful-readlink@>= 1.0.0": - version "1.0.1" - resolved "https://registry.yarnpkg.com/graceful-readlink/-/graceful-readlink-1.0.1.tgz#4cafad76bc62f02fa039b2f94e9a3dd3a391a725" - integrity sha1-TK+tdrxi8C+gObL5Tpo906ORpyU= - -handle-thing@^2.0.0: - version "2.0.1" - resolved "https://registry.yarnpkg.com/handle-thing/-/handle-thing-2.0.1.tgz#857f79ce359580c340d43081cc648970d0bb234e" - integrity sha512-9Qn4yBxelxoh2Ow62nP+Ka/kMnOXRi8BXnRaUwezLNhqelnN49xKz4F/dPP8OYLxLxq6JDtZb2i9XznUQbNPTg== - -has-bigints@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/has-bigints/-/has-bigints-1.0.1.tgz#64fe6acb020673e3b78db035a5af69aa9d07b113" - integrity sha512-LSBS2LjbNBTf6287JEbEzvJgftkF5qFkmCo9hDRpAzKhUOlJ+hx8dd4USs00SgsUNwc4617J9ki5YtEClM2ffA== - -has-flag@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/has-flag/-/has-flag-3.0.0.tgz#b5d454dc2199ae225699f3467e5a07f3b955bafd" - integrity sha1-tdRU3CGZriJWmfNGfloH87lVuv0= - -has-flag@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/has-flag/-/has-flag-4.0.0.tgz#944771fd9c81c81265c4d6941860da06bb59479b" - integrity sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ== - -has-symbols@^1.0.1, has-symbols@^1.0.2: - version "1.0.2" - resolved "https://registry.yarnpkg.com/has-symbols/-/has-symbols-1.0.2.tgz#165d3070c00309752a1236a479331e3ac56f1423" - integrity sha512-chXa79rL/UC2KlX17jo3vRGz0azaWEx5tGqZg5pO3NUyEJVB17dMruQlzCCOfUvElghKcm5194+BCRvi2Rv/Gw== - -has-tostringtag@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/has-tostringtag/-/has-tostringtag-1.0.0.tgz#7e133818a7d394734f941e73c3d3f9291e658b25" - integrity sha512-kFjcSNhnlGV1kyoGk7OXKSawH5JOb/LzUc5w9B02hOTO0dfFRjbHQKvg1d6cf3HbeUmtU9VbbV3qzZ2Teh97WQ== - dependencies: - has-symbols "^1.0.2" - -has-unicode@^2.0.1: - version "2.0.1" - resolved "https://registry.yarnpkg.com/has-unicode/-/has-unicode-2.0.1.tgz#e0e6fe6a28cf51138855e086d1691e771de2a8b9" - integrity sha1-4Ob+aijPUROIVeCG0Wkedx3iqLk= - -has-value@^0.3.1: - version "0.3.1" - resolved "https://registry.yarnpkg.com/has-value/-/has-value-0.3.1.tgz#7b1f58bada62ca827ec0a2078025654845995e1f" - integrity sha1-ex9YutpiyoJ+wKIHgCVlSEWZXh8= - dependencies: - get-value "^2.0.3" - has-values "^0.1.4" - isobject "^2.0.0" - -has-value@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/has-value/-/has-value-1.0.0.tgz#18b281da585b1c5c51def24c930ed29a0be6b177" - integrity sha1-GLKB2lhbHFxR3vJMkw7SmgvmsXc= - dependencies: - get-value "^2.0.6" - has-values "^1.0.0" - isobject "^3.0.0" - -has-values@^0.1.4: - version "0.1.4" - resolved "https://registry.yarnpkg.com/has-values/-/has-values-0.1.4.tgz#6d61de95d91dfca9b9a02089ad384bff8f62b771" - integrity sha1-bWHeldkd/Km5oCCJrThL/49it3E= - -has-values@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/has-values/-/has-values-1.0.0.tgz#95b0b63fec2146619a6fe57fe75628d5a39efe4f" - integrity sha1-lbC2P+whRmGab+V/51Yo1aOe/k8= - dependencies: - is-number "^3.0.0" - kind-of "^4.0.0" - -has-yarn@^2.1.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/has-yarn/-/has-yarn-2.1.0.tgz#137e11354a7b5bf11aa5cb649cf0c6f3ff2b2e77" - integrity sha512-UqBRqi4ju7T+TqGNdqAO0PaSVGsDGJUBQvk9eUWNGRY1CFGDzYhLWoM7JQEemnlvVcv/YEmc2wNW8BC24EnUsw== - -has@^1.0.3: - version "1.0.3" - resolved "https://registry.yarnpkg.com/has/-/has-1.0.3.tgz#722d7cbfc1f6aa8241f16dd814e011e1f41e8796" - integrity sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw== - dependencies: - function-bind "^1.1.1" - -he@^1.2.0: - version "1.2.0" - resolved "https://registry.yarnpkg.com/he/-/he-1.2.0.tgz#84ae65fa7eafb165fddb61566ae14baf05664f0f" - integrity sha512-F/1DnUGPopORZi0ni+CvrCgHQ5FyEAHRLSApuYWMmrbSwoN2Mn/7k+Gl38gJnR7yyDZk6WLXwiGod1JOWNDKGw== - -hexy@^0.2.10: - version "0.2.11" - resolved "https://registry.yarnpkg.com/hexy/-/hexy-0.2.11.tgz#9939c25cb6f86a91302f22b8a8a72573518e25b4" - integrity sha512-ciq6hFsSG/Bpt2DmrZJtv+56zpPdnq+NQ4ijEFrveKN0ZG1mhl/LdT1NQZ9se6ty1fACcI4d4vYqC9v8EYpH2A== - -homedir-polyfill@^1.0.1: - version "1.0.3" - resolved "https://registry.yarnpkg.com/homedir-polyfill/-/homedir-polyfill-1.0.3.tgz#743298cef4e5af3e194161fbadcc2151d3a058e8" - integrity sha512-eSmmWE5bZTK2Nou4g0AI3zZ9rswp7GRKoKXS1BLUkvPviOqs4YTN1djQIqrXy9k5gEtdLPy86JjRwsNM9tnDcA== - dependencies: - parse-passwd "^1.0.0" - -hosted-git-info@^2.1.4: - version "2.8.9" - resolved "https://registry.yarnpkg.com/hosted-git-info/-/hosted-git-info-2.8.9.tgz#dffc0bf9a21c02209090f2aa69429e1414daf3f9" - integrity sha512-mxIDAb9Lsm6DoOJ7xH+5+X4y1LU/4Hi50L9C5sIswK3JzULS4bwk1FvjdBgvYR4bzT4tuUQiC15FE2f5HbLvYw== - -hosted-git-info@^4.0.2: - version "4.1.0" - resolved "https://registry.yarnpkg.com/hosted-git-info/-/hosted-git-info-4.1.0.tgz#827b82867e9ff1c8d0c4d9d53880397d2c86d224" - integrity sha512-kyCuEOWjJqZuDbRHzL8V93NzQhwIB71oFWSyzVo+KPZI+pnQPPxucdkrOZvkLRnrf5URsQM+IJ09Dw29cRALIA== - dependencies: - lru-cache "^6.0.0" - -hpack.js@^2.1.6: - version "2.1.6" - resolved "https://registry.yarnpkg.com/hpack.js/-/hpack.js-2.1.6.tgz#87774c0949e513f42e84575b3c45681fade2a0b2" - integrity sha1-h3dMCUnlE/QuhFdbPEVoH63ioLI= - dependencies: - inherits "^2.0.1" - obuf "^1.0.0" - readable-stream "^2.0.1" - wbuf "^1.1.0" - -html-entities@^1.3.1: - version "1.4.0" - resolved "https://registry.yarnpkg.com/html-entities/-/html-entities-1.4.0.tgz#cfbd1b01d2afaf9adca1b10ae7dffab98c71d2dc" - integrity sha512-8nxjcBcd8wovbeKx7h3wTji4e6+rhaVuPNpMqwWgnHh+N9ToqsCs6XztWRBPQ+UtzsoMAdKZtUENoVzU/EMtZA== - -html-loader@^1.1.0: - version "1.3.2" - resolved "https://registry.yarnpkg.com/html-loader/-/html-loader-1.3.2.tgz#5a72ebba420d337083497c9aba7866c9e1aee340" - integrity sha512-DEkUwSd0sijK5PF3kRWspYi56XP7bTNkyg5YWSzBdjaSDmvCufep5c4Vpb3PBf6lUL0YPtLwBfy9fL0t5hBAGA== - dependencies: - html-minifier-terser "^5.1.1" - htmlparser2 "^4.1.0" - loader-utils "^2.0.0" - schema-utils "^3.0.0" - -html-minifier-terser@^5.0.1, html-minifier-terser@^5.1.1: - version "5.1.1" - resolved "https://registry.yarnpkg.com/html-minifier-terser/-/html-minifier-terser-5.1.1.tgz#922e96f1f3bb60832c2634b79884096389b1f054" - integrity sha512-ZPr5MNObqnV/T9akshPKbVgyOqLmy+Bxo7juKCfTfnjNniTAMdy4hz21YQqoofMBJD2kdREaqPPdThoR78Tgxg== - dependencies: - camel-case "^4.1.1" - clean-css "^4.2.3" - commander "^4.1.1" - he "^1.2.0" - param-case "^3.0.3" - relateurl "^0.2.7" - terser "^4.6.3" - -html-webpack-plugin@^4.0.4: - version "4.5.2" - resolved "https://registry.yarnpkg.com/html-webpack-plugin/-/html-webpack-plugin-4.5.2.tgz#76fc83fa1a0f12dd5f7da0404a54e2699666bc12" - integrity sha512-q5oYdzjKUIPQVjOosjgvCHQOv9Ett9CYYHlgvJeXG0qQvdSojnBq4vAdQBwn1+yGveAwHCoe/rMR86ozX3+c2A== - dependencies: - "@types/html-minifier-terser" "^5.0.0" - "@types/tapable" "^1.0.5" - "@types/webpack" "^4.41.8" - html-minifier-terser "^5.0.1" - loader-utils "^1.2.3" - lodash "^4.17.20" - pretty-error "^2.1.1" - tapable "^1.1.3" - util.promisify "1.0.0" - -htmlparser2@^4.1.0: - version "4.1.0" - resolved "https://registry.yarnpkg.com/htmlparser2/-/htmlparser2-4.1.0.tgz#9a4ef161f2e4625ebf7dfbe6c0a2f52d18a59e78" - integrity sha512-4zDq1a1zhE4gQso/c5LP1OtrhYTncXNSpvJYtWJBtXAETPlMfi3IFNjGuQbYLuVY4ZR0QMqRVvo4Pdy9KLyP8Q== - dependencies: - domelementtype "^2.0.1" - domhandler "^3.0.0" - domutils "^2.0.0" - entities "^2.0.0" - -htmlparser2@^6.1.0: - version "6.1.0" - resolved "https://registry.yarnpkg.com/htmlparser2/-/htmlparser2-6.1.0.tgz#c4d762b6c3371a05dbe65e94ae43a9f845fb8fb7" - integrity sha512-gyyPk6rgonLFEDGoeRgQNaEUvdJ4ktTmmUh/h2t7s+M8oPpIPxgNACWa+6ESR57kXstwqPiCut0V8NRpcwgU7A== - dependencies: - domelementtype "^2.0.1" - domhandler "^4.0.0" - domutils "^2.5.2" - entities "^2.0.0" - -http-cache-semantics@^4.0.0, http-cache-semantics@^4.1.0: - version "4.1.0" - resolved "https://registry.yarnpkg.com/http-cache-semantics/-/http-cache-semantics-4.1.0.tgz#49e91c5cbf36c9b94bcfcd71c23d5249ec74e390" - integrity sha512-carPklcUh7ROWRK7Cv27RPtdhYhUsela/ue5/jKzjegVvXDqM2ILE9Q2BGn9JZJh1g87cp56su/FgQSzcWS8cQ== - -http-deceiver@^1.2.7: - version "1.2.7" - resolved "https://registry.yarnpkg.com/http-deceiver/-/http-deceiver-1.2.7.tgz#fa7168944ab9a519d337cb0bec7284dc3e723d87" - integrity sha1-+nFolEq5pRnTN8sL7HKE3D5yPYc= - -http-errors@1.8.1: - version "1.8.1" - resolved "https://registry.yarnpkg.com/http-errors/-/http-errors-1.8.1.tgz#7c3f28577cbc8a207388455dbd62295ed07bd68c" - integrity sha512-Kpk9Sm7NmI+RHhnj6OIWDI1d6fIoFAtFt9RLaTMRlg/8w49juAStsrBgp0Dp4OdxdVbRIeKhtCUvoi/RuAhO4g== - dependencies: - depd "~1.1.2" - inherits "2.0.4" - setprototypeof "1.2.0" - statuses ">= 1.5.0 < 2" - toidentifier "1.0.1" - -http-errors@~1.6.2: - version "1.6.3" - resolved "https://registry.yarnpkg.com/http-errors/-/http-errors-1.6.3.tgz#8b55680bb4be283a0b5bf4ea2e38580be1d9320d" - integrity sha1-i1VoC7S+KDoLW/TqLjhYC+HZMg0= - dependencies: - depd "~1.1.2" - inherits "2.0.3" - setprototypeof "1.1.0" - statuses ">= 1.4.0 < 2" - -http-parser-js@>=0.5.1: - version "0.5.5" - resolved "https://registry.yarnpkg.com/http-parser-js/-/http-parser-js-0.5.5.tgz#d7c30d5d3c90d865b4a2e870181f9d6f22ac7ac5" - integrity sha512-x+JVEkO2PoM8qqpbPbOL3cqHPwerep7OwzK7Ay+sMQjKzaKCqWvjoXm5tqMP9tXWWTnTzAjIhXg+J99XYuPhPA== - -http-proxy-agent@^4.0.1: - version "4.0.1" - resolved "https://registry.yarnpkg.com/http-proxy-agent/-/http-proxy-agent-4.0.1.tgz#8a8c8ef7f5932ccf953c296ca8291b95aa74aa3a" - integrity sha512-k0zdNgqWTGA6aeIRVpvfVob4fL52dTfaehylg0Y4UvSySvOq/Y+BOyPrgpUrA7HylqvU8vIZGsRuXmspskV0Tg== - dependencies: - "@tootallnate/once" "1" - agent-base "6" - debug "4" - -http-proxy-middleware@0.19.1: - version "0.19.1" - resolved "https://registry.yarnpkg.com/http-proxy-middleware/-/http-proxy-middleware-0.19.1.tgz#183c7dc4aa1479150306498c210cdaf96080a43a" - integrity sha512-yHYTgWMQO8VvwNS22eLLloAkvungsKdKTLO8AJlftYIKNfJr3GK3zK0ZCfzDDGUBttdGc8xFy1mCitvNKQtC3Q== - dependencies: - http-proxy "^1.17.0" - is-glob "^4.0.0" - lodash "^4.17.11" - micromatch "^3.1.10" - -http-proxy@^1.17.0: - version "1.18.1" - resolved "https://registry.yarnpkg.com/http-proxy/-/http-proxy-1.18.1.tgz#401541f0534884bbf95260334e72f88ee3976549" - integrity sha512-7mz/721AbnJwIVbnaSv1Cz3Am0ZLT/UBwkC92VlxhXv/k/BBQfM2fXElQNC27BVGr0uwUpplYPQM9LnaBMR5NQ== - dependencies: - eventemitter3 "^4.0.0" - follow-redirects "^1.0.0" - requires-port "^1.0.0" - -http2-wrapper@^1.0.0-beta.5.2: - version "1.0.3" - resolved "https://registry.yarnpkg.com/http2-wrapper/-/http2-wrapper-1.0.3.tgz#b8f55e0c1f25d4ebd08b3b0c2c079f9590800b3d" - integrity sha512-V+23sDMr12Wnz7iTcDeJr3O6AIxlnvT/bmaAAAP/Xda35C90p9599p0F1eHR/N1KILWSoWVAiOMFjBBXaXSMxg== - dependencies: - quick-lru "^5.1.1" - resolve-alpn "^1.0.0" - -https-proxy-agent@^5.0.0: - version "5.0.0" - resolved "https://registry.yarnpkg.com/https-proxy-agent/-/https-proxy-agent-5.0.0.tgz#e2a90542abb68a762e0a0850f6c9edadfd8506b2" - integrity sha512-EkYm5BcKUGiduxzSt3Eppko+PiNWNEpa4ySk9vTC6wDsQJW9rHSa+UhGNJoRYp7bz6Ht1eaRIa6QaJqO5rCFbA== - dependencies: - agent-base "6" - debug "4" - -humanize-ms@^1.2.1: - version "1.2.1" - resolved "https://registry.yarnpkg.com/humanize-ms/-/humanize-ms-1.2.1.tgz#c46e3159a293f6b896da29316d8b6fe8bb79bbed" - integrity sha1-xG4xWaKT9riW2ikxbYtv6Lt5u+0= - dependencies: - ms "^2.0.0" - -iconv-corefoundation@^1.1.7: - version "1.1.7" - resolved "https://registry.yarnpkg.com/iconv-corefoundation/-/iconv-corefoundation-1.1.7.tgz#31065e6ab2c9272154c8b0821151e2c88f1b002a" - integrity sha512-T10qvkw0zz4wnm560lOEg0PovVqUXuOFhhHAkixw8/sycy7TJt7v/RrkEKEQnAw2viPSJu6iAkErxnzR0g8PpQ== - dependencies: - cli-truncate "^2.1.0" - node-addon-api "^1.6.3" - -iconv-lite@0.4.24: - version "0.4.24" - resolved "https://registry.yarnpkg.com/iconv-lite/-/iconv-lite-0.4.24.tgz#2022b4b25fbddc21d2f524974a474aafe733908b" - integrity sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA== - dependencies: - safer-buffer ">= 2.1.2 < 3" - -iconv-lite@^0.6.2: - version "0.6.3" - resolved "https://registry.yarnpkg.com/iconv-lite/-/iconv-lite-0.6.3.tgz#a52f80bf38da1952eb5c681790719871a1a72501" - integrity sha512-4fCk79wshMdzMp2rH06qWrJE4iolqLhCUH+OiuIgU++RB0+94NlDL81atO7GX55uUKueo0txHNtvEyI6D7WdMw== - dependencies: - safer-buffer ">= 2.1.2 < 3.0.0" - -icss-utils@^4.0.0, icss-utils@^4.1.1: - version "4.1.1" - resolved "https://registry.yarnpkg.com/icss-utils/-/icss-utils-4.1.1.tgz#21170b53789ee27447c2f47dd683081403f9a467" - integrity sha512-4aFq7wvWyMHKgxsH8QQtGpvbASCf+eM3wPRLI6R+MgAnTCZ6STYsRvttLvRWK0Nfif5piF394St3HeJDaljGPA== - dependencies: - postcss "^7.0.14" - -ieee754@^1.1.13, ieee754@^1.2.1: - version "1.2.1" - resolved "https://registry.yarnpkg.com/ieee754/-/ieee754-1.2.1.tgz#8eb7a10a63fff25d15a57b001586d177d1b0d352" - integrity sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA== - -iferr@^0.1.5: - version "0.1.5" - resolved "https://registry.yarnpkg.com/iferr/-/iferr-0.1.5.tgz#c60eed69e6d8fdb6b3104a1fcbca1c192dc5b501" - integrity sha1-xg7taebY/bazEEofy8ocGS3FtQE= - -immediate@~3.0.5: - version "3.0.6" - resolved "https://registry.yarnpkg.com/immediate/-/immediate-3.0.6.tgz#9db1dbd0faf8de6fbe0f5dd5e56bb606280de69b" - integrity sha1-nbHb0Pr43m++D13V5Wu2BigN5ps= - -import-lazy@^2.1.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/import-lazy/-/import-lazy-2.1.0.tgz#05698e3d45c88e8d7e9d92cb0584e77f096f3e43" - integrity sha1-BWmOPUXIjo1+nZLLBYTnfwlvPkM= - -import-local@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/import-local/-/import-local-2.0.0.tgz#55070be38a5993cf18ef6db7e961f5bee5c5a09d" - integrity sha512-b6s04m3O+s3CGSbqDIyP4R6aAwAeYlVq9+WUWep6iHa8ETRf9yei1U48C5MmfJmV9AiLYYBKPMq/W+/WRpQmCQ== - dependencies: - pkg-dir "^3.0.0" - resolve-cwd "^2.0.0" - -imurmurhash@^0.1.4: - version "0.1.4" - resolved "https://registry.yarnpkg.com/imurmurhash/-/imurmurhash-0.1.4.tgz#9218b9b2b928a238b13dc4fb6b6d576f231453ea" - integrity sha1-khi5srkoojixPcT7a21XbyMUU+o= - -indent-string@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/indent-string/-/indent-string-4.0.0.tgz#624f8f4497d619b2d9768531d58f4122854d7251" - integrity sha512-EdDDZu4A2OyIK7Lr/2zG+w5jmbuk1DVBnEwREQvBzspBJkCEbRa8GxU1lghYcaGJCnRWibjDXlq779X1/y5xwg== - -infer-owner@^1.0.4: - version "1.0.4" - resolved "https://registry.yarnpkg.com/infer-owner/-/infer-owner-1.0.4.tgz#c4cefcaa8e51051c2a40ba2ce8a3d27295af9467" - integrity sha512-IClj+Xz94+d7irH5qRyfJonOdfTzuDaifE6ZPWfx0N0+/ATZCbuTPq2prFl526urkQd90WyUKIh1DfBQ2hMz9A== - -inflight@^1.0.4: - version "1.0.6" - resolved "https://registry.yarnpkg.com/inflight/-/inflight-1.0.6.tgz#49bd6331d7d02d0c09bc910a1075ba8165b56df9" - integrity sha1-Sb1jMdfQLQwJvJEKEHW6gWW1bfk= - dependencies: - once "^1.3.0" - wrappy "1" - -inherits@2, inherits@2.0.4, inherits@^2.0.1, inherits@^2.0.3, inherits@^2.0.4, inherits@~2.0.3: - version "2.0.4" - resolved "https://registry.yarnpkg.com/inherits/-/inherits-2.0.4.tgz#0fa2c64f932917c3433a0ded55363aae37416b7c" - integrity sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ== - -inherits@2.0.3: - version "2.0.3" - resolved "https://registry.yarnpkg.com/inherits/-/inherits-2.0.3.tgz#633c2c83e3da42a502f52466022480f4208261de" - integrity sha1-Yzwsg+PaQqUC9SRmAiSA9CCCYd4= - -ini@2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/ini/-/ini-2.0.0.tgz#e5fd556ecdd5726be978fa1001862eacb0a94bc5" - integrity sha512-7PnF4oN3CvZF23ADhA5wRaYEQpJ8qygSkbtTXWBeXWXmEVRXK+1ITciHWwHhsjv1TmW0MgacIv6hEi5pX5NQdA== - -ini@^1.3.4, ini@^1.3.5, ini@~1.3.0: - version "1.3.8" - resolved "https://registry.yarnpkg.com/ini/-/ini-1.3.8.tgz#a29da425b48806f34767a4efce397269af28432c" - integrity sha512-JV/yugV2uzW5iMRSiZAyDtQd+nxtUnjeLt0acNdw98kKLrvuRVyB80tsREOE7yvGVgalhZ6RNXCmEHkUKBKxew== - -internal-ip@^4.3.0: - version "4.3.0" - resolved "https://registry.yarnpkg.com/internal-ip/-/internal-ip-4.3.0.tgz#845452baad9d2ca3b69c635a137acb9a0dad0907" - integrity sha512-S1zBo1D6zcsyuC6PMmY5+55YMILQ9av8lotMx447Bq6SAgo/sDK6y6uUKmuYhW7eacnIhFfsPmCNYdDzsnnDCg== - dependencies: - default-gateway "^4.2.0" - ipaddr.js "^1.9.0" - -internal-slot@^1.0.3: - version "1.0.3" - resolved "https://registry.yarnpkg.com/internal-slot/-/internal-slot-1.0.3.tgz#7347e307deeea2faac2ac6205d4bc7d34967f59c" - integrity sha512-O0DB1JC/sPyZl7cIo78n5dR7eUSwwpYPiXRhTzNxZVAMUuB8vlnRFyLxdrVToks6XPLVnFfbzaVd5WLjhgg+vA== - dependencies: - get-intrinsic "^1.1.0" - has "^1.0.3" - side-channel "^1.0.4" - -interpret@^1.4.0: - version "1.4.0" - resolved "https://registry.yarnpkg.com/interpret/-/interpret-1.4.0.tgz#665ab8bc4da27a774a40584e812e3e0fa45b1a1e" - integrity sha512-agE4QfB2Lkp9uICn7BAqoscw4SZP9kTE2hxiFI3jBPmXJfdqiahTbUuKGsMoN2GtqL9AxhYioAcVvgsb1HvRbA== - -ip-regex@^2.1.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/ip-regex/-/ip-regex-2.1.0.tgz#fa78bf5d2e6913c911ce9f819ee5146bb6d844e9" - integrity sha1-+ni/XS5pE8kRzp+BnuUUa7bYROk= - -ip@^1.1.0, ip@^1.1.5: - version "1.1.5" - resolved "https://registry.yarnpkg.com/ip/-/ip-1.1.5.tgz#bdded70114290828c0a039e72ef25f5aaec4354a" - integrity sha1-vd7XARQpCCjAoDnnLvJfWq7ENUo= - -ipaddr.js@1.9.1, ipaddr.js@^1.9.0: - version "1.9.1" - resolved "https://registry.yarnpkg.com/ipaddr.js/-/ipaddr.js-1.9.1.tgz#bff38543eeb8984825079ff3a2a8e6cbd46781b3" - integrity sha512-0KI/607xoxSToH7GjN1FfSbLoU0+btTicjsQSWQlh/hZykN8KpmMf7uYwPW3R+akZ6R/w18ZlXSHBYXiYUPO3g== - -is-absolute-url@^3.0.3: - version "3.0.3" - resolved "https://registry.yarnpkg.com/is-absolute-url/-/is-absolute-url-3.0.3.tgz#96c6a22b6a23929b11ea0afb1836c36ad4a5d698" - integrity sha512-opmNIX7uFnS96NtPmhWQgQx6/NYFgsUXYMllcfzwWKUMwfo8kku1TvE6hkNcH+Q1ts5cMVrsY7j0bxXQDciu9Q== - -is-accessor-descriptor@^0.1.6: - version "0.1.6" - resolved "https://registry.yarnpkg.com/is-accessor-descriptor/-/is-accessor-descriptor-0.1.6.tgz#a9e12cb3ae8d876727eeef3843f8a0897b5c98d6" - integrity sha1-qeEss66Nh2cn7u84Q/igiXtcmNY= - dependencies: - kind-of "^3.0.2" - -is-accessor-descriptor@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz#169c2f6d3df1f992618072365c9b0ea1f6878656" - integrity sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ== - dependencies: - kind-of "^6.0.0" - -is-arguments@^1.0.4: - version "1.1.1" - resolved "https://registry.yarnpkg.com/is-arguments/-/is-arguments-1.1.1.tgz#15b3f88fda01f2a97fec84ca761a560f123efa9b" - integrity sha512-8Q7EARjzEnKpt/PCD7e1cgUS0a6X8u5tdSiMqXhojOdoV9TsMsiO+9VLC5vAmO8N7/GmXn7yjR8qnA6bVAEzfA== - dependencies: - call-bind "^1.0.2" - has-tostringtag "^1.0.0" - -is-arrayish@^0.2.1: - version "0.2.1" - resolved "https://registry.yarnpkg.com/is-arrayish/-/is-arrayish-0.2.1.tgz#77c99840527aa8ecb1a8ba697b80645a7a926a9d" - integrity sha1-d8mYQFJ6qOyxqLppe4BkWnqSap0= - -is-bigint@^1.0.1: - version "1.0.4" - resolved "https://registry.yarnpkg.com/is-bigint/-/is-bigint-1.0.4.tgz#08147a1875bc2b32005d41ccd8291dffc6691df3" - integrity sha512-zB9CruMamjym81i2JZ3UMn54PKGsQzsJeo6xvN3HJJ4CAsQNB6iRutp2To77OfCNuoxspsIhzaPoO1zyCEhFOg== - dependencies: - has-bigints "^1.0.1" - -is-binary-path@^1.0.0: - version "1.0.1" - resolved "https://registry.yarnpkg.com/is-binary-path/-/is-binary-path-1.0.1.tgz#75f16642b480f187a711c814161fd3a4a7655898" - integrity sha1-dfFmQrSA8YenEcgUFh/TpKdlWJg= - dependencies: - binary-extensions "^1.0.0" - -is-boolean-object@^1.1.0: - version "1.1.2" - resolved "https://registry.yarnpkg.com/is-boolean-object/-/is-boolean-object-1.1.2.tgz#5c6dc200246dd9321ae4b885a114bb1f75f63719" - integrity sha512-gDYaKHJmnj4aWxyj6YHyXVpdQawtVLHU5cb+eztPGczf6cjuTdwve5ZIEfgXqH4e57An1D1AKf8CZ3kYrQRqYA== - dependencies: - call-bind "^1.0.2" - has-tostringtag "^1.0.0" - -is-buffer@^1.1.5: - version "1.1.6" - resolved "https://registry.yarnpkg.com/is-buffer/-/is-buffer-1.1.6.tgz#efaa2ea9daa0d7ab2ea13a97b2b8ad51fefbe8be" - integrity sha512-NcdALwpXkTm5Zvvbk7owOUSvVvBKDgKP5/ewfXEznmQFfs4ZRmanOeKBTjRVjka3QFoN6XJ+9F3USqfHqTaU5w== - -is-callable@^1.1.4, is-callable@^1.2.4: - version "1.2.4" - resolved "https://registry.yarnpkg.com/is-callable/-/is-callable-1.2.4.tgz#47301d58dd0259407865547853df6d61fe471945" - integrity sha512-nsuwtxZfMX67Oryl9LCQ+upnC0Z0BgpwntpS89m1H/TLF0zNfzfLMV/9Wa/6MZsj0acpEjAO0KF1xT6ZdLl95w== - -is-ci@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/is-ci/-/is-ci-2.0.0.tgz#6bc6334181810e04b5c22b3d589fdca55026404c" - integrity sha512-YfJT7rkpQB0updsdHLGWrvhBJfcfzNNawYDNIyQXJz0IViGf75O8EBPKSdvw2rF+LGCsX4FZ8tcr3b19LcZq4w== - dependencies: - ci-info "^2.0.0" - -is-ci@^3.0.0: - version "3.0.1" - resolved "https://registry.yarnpkg.com/is-ci/-/is-ci-3.0.1.tgz#db6ecbed1bd659c43dac0f45661e7674103d1867" - integrity sha512-ZYvCgrefwqoQ6yTyYUbQu64HsITZ3NfKX1lzaEYdkTDcfKzzCI/wthRRYKkdjHKFVgNiXKAKm65Zo1pk2as/QQ== - dependencies: - ci-info "^3.2.0" - -is-core-module@^2.8.1: - version "2.8.1" - resolved "https://registry.yarnpkg.com/is-core-module/-/is-core-module-2.8.1.tgz#f59fdfca701d5879d0a6b100a40aa1560ce27211" - integrity sha512-SdNCUs284hr40hFTFP6l0IfZ/RSrMXF3qgoRHd3/79unUTvrFO/JoXwkGm+5J/Oe3E/b5GsnG330uUNgRpu1PA== - dependencies: - has "^1.0.3" - -is-data-descriptor@^0.1.4: - version "0.1.4" - resolved "https://registry.yarnpkg.com/is-data-descriptor/-/is-data-descriptor-0.1.4.tgz#0b5ee648388e2c860282e793f1856fec3f301b56" - integrity sha1-C17mSDiOLIYCgueT8YVv7D8wG1Y= - dependencies: - kind-of "^3.0.2" - -is-data-descriptor@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz#d84876321d0e7add03990406abbbbd36ba9268c7" - integrity sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ== - dependencies: - kind-of "^6.0.0" - -is-date-object@^1.0.1: - version "1.0.5" - resolved "https://registry.yarnpkg.com/is-date-object/-/is-date-object-1.0.5.tgz#0841d5536e724c25597bf6ea62e1bd38298df31f" - integrity sha512-9YQaSxsAiSwcvS33MBk3wTCVnWK+HhF8VZR2jRxehM16QcVOdHqPn4VPHmRK4lSr38n9JriurInLcP90xsYNfQ== - dependencies: - has-tostringtag "^1.0.0" - -is-descriptor@^0.1.0: - version "0.1.6" - resolved "https://registry.yarnpkg.com/is-descriptor/-/is-descriptor-0.1.6.tgz#366d8240dde487ca51823b1ab9f07a10a78251ca" - integrity sha512-avDYr0SB3DwO9zsMov0gKCESFYqCnE4hq/4z3TdUlukEy5t9C0YRq7HLrsN52NAcqXKaepeCD0n+B0arnVG3Hg== - dependencies: - is-accessor-descriptor "^0.1.6" - is-data-descriptor "^0.1.4" - kind-of "^5.0.0" - -is-descriptor@^1.0.0, is-descriptor@^1.0.2: - version "1.0.2" - resolved "https://registry.yarnpkg.com/is-descriptor/-/is-descriptor-1.0.2.tgz#3b159746a66604b04f8c81524ba365c5f14d86ec" - integrity sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg== - dependencies: - is-accessor-descriptor "^1.0.0" - is-data-descriptor "^1.0.0" - kind-of "^6.0.2" - -is-docker@^2.0.0, is-docker@^2.1.1: - version "2.2.1" - resolved "https://registry.yarnpkg.com/is-docker/-/is-docker-2.2.1.tgz#33eeabe23cfe86f14bde4408a02c0cfb853acdaa" - integrity sha512-F+i2BKsFrH66iaUFc0woD8sLy8getkwTwtOBjvs56Cx4CgJDeKQeqfz8wAYiSb8JOprWhHH5p77PbmYCvvUuXQ== - -is-extendable@^0.1.0, is-extendable@^0.1.1: - version "0.1.1" - resolved "https://registry.yarnpkg.com/is-extendable/-/is-extendable-0.1.1.tgz#62b110e289a471418e3ec36a617d472e301dfc89" - integrity sha1-YrEQ4omkcUGOPsNqYX1HLjAd/Ik= - -is-extendable@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/is-extendable/-/is-extendable-1.0.1.tgz#a7470f9e426733d81bd81e1155264e3a3507cab4" - integrity sha512-arnXMxT1hhoKo9k1LZdmlNyJdDDfy2v0fXjFlmok4+i8ul/6WlbVge9bhM74OpNPQPMGUToDtz+KXa1PneJxOA== - dependencies: - is-plain-object "^2.0.4" - -is-extglob@^2.1.0, is-extglob@^2.1.1: - version "2.1.1" - resolved "https://registry.yarnpkg.com/is-extglob/-/is-extglob-2.1.1.tgz#a88c02535791f02ed37c76a1b9ea9773c833f8c2" - integrity sha1-qIwCU1eR8C7TfHahueqXc8gz+MI= - -is-fullwidth-code-point@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz#a3b30a5c4f199183167aaab93beefae3ddfb654f" - integrity sha1-o7MKXE8ZkYMWeqq5O+764937ZU8= - -is-fullwidth-code-point@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz#f116f8064fe90b3f7844a38997c0b75051269f1d" - integrity sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg== - -is-glob@^3.1.0: - version "3.1.0" - resolved "https://registry.yarnpkg.com/is-glob/-/is-glob-3.1.0.tgz#7ba5ae24217804ac70707b96922567486cc3e84a" - integrity sha1-e6WuJCF4BKxwcHuWkiVnSGzD6Eo= - dependencies: - is-extglob "^2.1.0" - -is-glob@^4.0.0: - version "4.0.3" - resolved "https://registry.yarnpkg.com/is-glob/-/is-glob-4.0.3.tgz#64f61e42cbbb2eec2071a9dac0b28ba1e65d5084" - integrity sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg== - dependencies: - is-extglob "^2.1.1" - -is-installed-globally@^0.4.0: - version "0.4.0" - resolved "https://registry.yarnpkg.com/is-installed-globally/-/is-installed-globally-0.4.0.tgz#9a0fd407949c30f86eb6959ef1b7994ed0b7b520" - integrity sha512-iwGqO3J21aaSkC7jWnHP/difazwS7SFeIqxv6wEtLU8Y5KlzFTjyqcSIT0d8s4+dDhKytsk9PJZ2BkS5eZwQRQ== - dependencies: - global-dirs "^3.0.0" - is-path-inside "^3.0.2" - -is-lambda@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/is-lambda/-/is-lambda-1.0.1.tgz#3d9877899e6a53efc0160504cde15f82e6f061d5" - integrity sha1-PZh3iZ5qU+/AFgUEzeFfgubwYdU= - -is-negative-zero@^2.0.1: - version "2.0.2" - resolved "https://registry.yarnpkg.com/is-negative-zero/-/is-negative-zero-2.0.2.tgz#7bf6f03a28003b8b3965de3ac26f664d765f3150" - integrity sha512-dqJvarLawXsFbNDeJW7zAz8ItJ9cd28YufuuFzh0G8pNHjJMnY08Dv7sYX2uF5UpQOwieAeOExEYAWWfu7ZZUA== - -is-npm@^5.0.0: - version "5.0.0" - resolved "https://registry.yarnpkg.com/is-npm/-/is-npm-5.0.0.tgz#43e8d65cc56e1b67f8d47262cf667099193f45a8" - integrity sha512-WW/rQLOazUq+ST/bCAVBp/2oMERWLsR7OrKyt052dNDk4DHcDE0/7QSXITlmi+VBcV13DfIbysG3tZJm5RfdBA== - -is-number-object@^1.0.4: - version "1.0.6" - resolved "https://registry.yarnpkg.com/is-number-object/-/is-number-object-1.0.6.tgz#6a7aaf838c7f0686a50b4553f7e54a96494e89f0" - integrity sha512-bEVOqiRcvo3zO1+G2lVMy+gkkEm9Yh7cDMRusKKu5ZJKPUYSJwICTKZrNKHA2EbSP0Tu0+6B/emsYNHZyn6K8g== - dependencies: - has-tostringtag "^1.0.0" - -is-number@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/is-number/-/is-number-3.0.0.tgz#24fd6201a4782cf50561c810276afc7d12d71195" - integrity sha1-JP1iAaR4LPUFYcgQJ2r8fRLXEZU= - dependencies: - kind-of "^3.0.2" - -is-number@^7.0.0: - version "7.0.0" - resolved "https://registry.yarnpkg.com/is-number/-/is-number-7.0.0.tgz#7535345b896734d5f80c4d06c50955527a14f12b" - integrity sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng== - -is-obj@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/is-obj/-/is-obj-2.0.0.tgz#473fb05d973705e3fd9620545018ca8e22ef4982" - integrity sha512-drqDG3cbczxxEJRoOXcOjtdp1J/lyp1mNn0xaznRs8+muBhgQcrnbspox5X5fOw0HnMnbfDzvnEMEtqDEJEo8w== - -is-path-cwd@^2.0.0: - version "2.2.0" - resolved "https://registry.yarnpkg.com/is-path-cwd/-/is-path-cwd-2.2.0.tgz#67d43b82664a7b5191fd9119127eb300048a9fdb" - integrity sha512-w942bTcih8fdJPJmQHFzkS76NEP8Kzzvmw92cXsazb8intwLqPibPPdXf4ANdKV3rYMuuQYGIWtvz9JilB3NFQ== - -is-path-in-cwd@^2.0.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/is-path-in-cwd/-/is-path-in-cwd-2.1.0.tgz#bfe2dca26c69f397265a4009963602935a053acb" - integrity sha512-rNocXHgipO+rvnP6dk3zI20RpOtrAM/kzbB258Uw5BWr3TpXi861yzjo16Dn4hUox07iw5AyeMLHWsujkjzvRQ== - dependencies: - is-path-inside "^2.1.0" - -is-path-inside@^2.1.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/is-path-inside/-/is-path-inside-2.1.0.tgz#7c9810587d659a40d27bcdb4d5616eab059494b2" - integrity sha512-wiyhTzfDWsvwAW53OBWF5zuvaOGlZ6PwYxAbPVDhpm+gM09xKQGjBq/8uYN12aDvMxnAnq3dxTyoSoRNmg5YFg== - dependencies: - path-is-inside "^1.0.2" - -is-path-inside@^3.0.2: - version "3.0.3" - resolved "https://registry.yarnpkg.com/is-path-inside/-/is-path-inside-3.0.3.tgz#d231362e53a07ff2b0e0ea7fed049161ffd16283" - integrity sha512-Fd4gABb+ycGAmKou8eMftCupSir5lRxqf4aD/vd0cD2qc4HL07OjCeuHMr8Ro4CoMaeCKDB0/ECBOVWjTwUvPQ== - -is-plain-obj@^1.0.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/is-plain-obj/-/is-plain-obj-1.1.0.tgz#71a50c8429dfca773c92a390a4a03b39fcd51d3e" - integrity sha1-caUMhCnfync8kqOQpKA7OfzVHT4= - -is-plain-object@^2.0.3, is-plain-object@^2.0.4: - version "2.0.4" - resolved "https://registry.yarnpkg.com/is-plain-object/-/is-plain-object-2.0.4.tgz#2c163b3fafb1b606d9d17928f05c2a1c38e07677" - integrity sha512-h5PpgXkWitc38BBMYawTYMWJHFZJVnBquFE57xFpjB8pJFiF6gZ+bU+WyI/yqXiFR5mdLsgYNaPe8uao6Uv9Og== - dependencies: - isobject "^3.0.1" - -is-regex@^1.0.4, is-regex@^1.1.4: - version "1.1.4" - resolved "https://registry.yarnpkg.com/is-regex/-/is-regex-1.1.4.tgz#eef5663cd59fa4c0ae339505323df6854bb15958" - integrity sha512-kvRdxDsxZjhzUX07ZnLydzS1TU/TJlTUHHY4YLL87e37oUA49DfkLqgy+VjFocowy29cKvcSiu+kIv728jTTVg== - dependencies: - call-bind "^1.0.2" - has-tostringtag "^1.0.0" - -is-shared-array-buffer@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/is-shared-array-buffer/-/is-shared-array-buffer-1.0.1.tgz#97b0c85fbdacb59c9c446fe653b82cf2b5b7cfe6" - integrity sha512-IU0NmyknYZN0rChcKhRO1X8LYz5Isj/Fsqh8NJOSf+N/hCOTwy29F32Ik7a+QszE63IdvmwdTPDd6cZ5pg4cwA== - -is-stream@^1.1.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/is-stream/-/is-stream-1.1.0.tgz#12d4a3dd4e68e0b79ceb8dbc84173ae80d91ca44" - integrity sha1-EtSj3U5o4Lec6428hBc66A2RykQ= - -is-string@^1.0.5, is-string@^1.0.7: - version "1.0.7" - resolved "https://registry.yarnpkg.com/is-string/-/is-string-1.0.7.tgz#0dd12bf2006f255bb58f695110eff7491eebc0fd" - integrity sha512-tE2UXzivje6ofPW7l23cjDOMa09gb7xlAqG6jG5ej6uPV32TlWP3NKPigtaGeHNu9fohccRYvIiZMfOOnOYUtg== - dependencies: - has-tostringtag "^1.0.0" - -is-symbol@^1.0.2, is-symbol@^1.0.3: - version "1.0.4" - resolved "https://registry.yarnpkg.com/is-symbol/-/is-symbol-1.0.4.tgz#a6dac93b635b063ca6872236de88910a57af139c" - integrity sha512-C/CPBqKWnvdcxqIARxyOh4v1UUEOCHpgDa0WYgpKDFMszcrPcffg5uhwSgPCLD2WWxmq6isisz87tzT01tuGhg== - dependencies: - has-symbols "^1.0.2" - -is-typedarray@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/is-typedarray/-/is-typedarray-1.0.0.tgz#e479c80858df0c1b11ddda6940f96011fcda4a9a" - integrity sha1-5HnICFjfDBsR3dppQPlgEfzaSpo= - -is-weakref@^1.0.1: - version "1.0.2" - resolved "https://registry.yarnpkg.com/is-weakref/-/is-weakref-1.0.2.tgz#9529f383a9338205e89765e0392efc2f100f06f2" - integrity sha512-qctsuLZmIQ0+vSSMfoVvyFe2+GSEvnmZ2ezTup1SBse9+twCCeial6EEi3Nc2KFcf6+qz2FBPnjXsk8xhKSaPQ== - dependencies: - call-bind "^1.0.2" - -is-windows@^1.0.1, is-windows@^1.0.2: - version "1.0.2" - resolved "https://registry.yarnpkg.com/is-windows/-/is-windows-1.0.2.tgz#d1850eb9791ecd18e6182ce12a30f396634bb19d" - integrity sha512-eXK1UInq2bPmjyX6e3VHIzMLobc4J94i4AWn+Hpq3OU5KkrRC96OAcR3PRJ/pGu6m8TRnBHP9dkXQVsT/COVIA== - -is-wsl@^1.1.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/is-wsl/-/is-wsl-1.1.0.tgz#1f16e4aa22b04d1336b66188a66af3c600c3a66d" - integrity sha1-HxbkqiKwTRM2tmGIpmrzxgDDpm0= - -is-wsl@^2.2.0: - version "2.2.0" - resolved "https://registry.yarnpkg.com/is-wsl/-/is-wsl-2.2.0.tgz#74a4c76e77ca9fd3f932f290c17ea326cd157271" - integrity sha512-fKzAra0rGJUUBwGBgNkHZuToZcn+TtXHpeCgmkMJMMYx1sQDYaCSyjJBSCa2nH1DGm7s3n1oBnohoVTBaN7Lww== - dependencies: - is-docker "^2.0.0" - -is-yarn-global@^0.3.0: - version "0.3.0" - resolved "https://registry.yarnpkg.com/is-yarn-global/-/is-yarn-global-0.3.0.tgz#d502d3382590ea3004893746754c89139973e232" - integrity sha512-VjSeb/lHmkoyd8ryPVIKvOCn4D1koMqY+vqyjjUfc3xyKtP4dYOxM44sZrnqQSzSds3xyOrUTLTC9LVCVgLngw== - -isarray@1.0.0, isarray@~1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/isarray/-/isarray-1.0.0.tgz#bb935d48582cba168c06834957a54a3e07124f11" - integrity sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE= - -isbinaryfile@^3.0.2: - version "3.0.3" - resolved "https://registry.yarnpkg.com/isbinaryfile/-/isbinaryfile-3.0.3.tgz#5d6def3edebf6e8ca8cae9c30183a804b5f8be80" - integrity sha512-8cJBL5tTd2OS0dM4jz07wQd5g0dCCqIhUxPIGtZfa5L6hWlvV5MHTITy/DBAsF+Oe2LS1X3krBUhNwaGUWpWxw== - dependencies: - buffer-alloc "^1.2.0" - -isbinaryfile@^4.0.8: - version "4.0.8" - resolved "https://registry.yarnpkg.com/isbinaryfile/-/isbinaryfile-4.0.8.tgz#5d34b94865bd4946633ecc78a026fc76c5b11fcf" - integrity sha512-53h6XFniq77YdW+spoRrebh0mnmTxRPTlcuIArO57lmMdq4uBKFKaeTjnb92oYWrSn/LVL+LT+Hap2tFQj8V+w== - -isexe@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/isexe/-/isexe-2.0.0.tgz#e8fbf374dc556ff8947a10dcb0572d633f2cfa10" - integrity sha1-6PvzdNxVb/iUehDcsFctYz8s+hA= - -isobject@^2.0.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/isobject/-/isobject-2.1.0.tgz#f065561096a3f1da2ef46272f815c840d87e0c89" - integrity sha1-8GVWEJaj8dou9GJy+BXIQNh+DIk= - dependencies: - isarray "1.0.0" - -isobject@^3.0.0, isobject@^3.0.1: - version "3.0.1" - resolved "https://registry.yarnpkg.com/isobject/-/isobject-3.0.1.tgz#4e431e92b11a9731636aa1f9c8d1ccbcfdab78df" - integrity sha1-TkMekrEalzFjaqH5yNHMvP2reN8= - -jake@^10.6.1: - version "10.8.2" - resolved "https://registry.yarnpkg.com/jake/-/jake-10.8.2.tgz#ebc9de8558160a66d82d0eadc6a2e58fbc500a7b" - integrity sha512-eLpKyrfG3mzvGE2Du8VoPbeSkRry093+tyNjdYaBbJS9v17knImYGNXQCUV0gLxQtF82m3E8iRb/wdSQZLoq7A== - dependencies: - async "0.9.x" - chalk "^2.4.2" - filelist "^1.0.1" - minimatch "^3.0.4" - -jest-diff@^27.2.5, jest-diff@^27.4.6: - version "27.4.6" - resolved "https://registry.yarnpkg.com/jest-diff/-/jest-diff-27.4.6.tgz#93815774d2012a2cbb6cf23f84d48c7a2618f98d" - integrity sha512-zjaB0sh0Lb13VyPsd92V7HkqF6yKRH9vm33rwBt7rPYrpQvS1nCvlIy2pICbKta+ZjWngYLNn4cCK4nyZkjS/w== - dependencies: - chalk "^4.0.0" - diff-sequences "^27.4.0" - jest-get-type "^27.4.0" - pretty-format "^27.4.6" - -jest-get-type@^27.0.6, jest-get-type@^27.4.0: - version "27.4.0" - resolved "https://registry.yarnpkg.com/jest-get-type/-/jest-get-type-27.4.0.tgz#7503d2663fffa431638337b3998d39c5e928e9b5" - integrity sha512-tk9o+ld5TWq41DkK14L4wox4s2D9MtTpKaAVzXfr5CUKm5ZK2ExcaFE0qls2W71zE/6R2TxxrK9w2r6svAFDBQ== - -jest-matcher-utils@=27.2.5: - version "27.2.5" - resolved "https://registry.yarnpkg.com/jest-matcher-utils/-/jest-matcher-utils-27.2.5.tgz#4684faaa8eb32bf15e6edaead6834031897e2980" - integrity sha512-qNR/kh6bz0Dyv3m68Ck2g1fLW5KlSOUNcFQh87VXHZwWc/gY6XwnKofx76Qytz3x5LDWT09/2+yXndTkaG4aWg== - dependencies: - chalk "^4.0.0" - jest-diff "^27.2.5" - jest-get-type "^27.0.6" - pretty-format "^27.2.5" - -jest-matcher-utils@^27.2.5: - version "27.4.6" - resolved "https://registry.yarnpkg.com/jest-matcher-utils/-/jest-matcher-utils-27.4.6.tgz#53ca7f7b58170638590e946f5363b988775509b8" - integrity sha512-XD4PKT3Wn1LQnRAq7ZsTI0VRuEc9OrCPFiO1XL7bftTGmfNF0DcEwMHRgqiu7NGf8ZoZDREpGrCniDkjt79WbA== - dependencies: - chalk "^4.0.0" - jest-diff "^27.4.6" - jest-get-type "^27.4.0" - pretty-format "^27.4.6" - -jest-message-util@^27.2.5: - version "27.4.6" - resolved "https://registry.yarnpkg.com/jest-message-util/-/jest-message-util-27.4.6.tgz#9fdde41a33820ded3127465e1a5896061524da31" - integrity sha512-0p5szriFU0U74czRSFjH6RyS7UYIAkn/ntwMuOwTGWrQIOh5NzXXrq72LOqIkJKKvFbPq+byZKuBz78fjBERBA== - dependencies: - "@babel/code-frame" "^7.12.13" - "@jest/types" "^27.4.2" - "@types/stack-utils" "^2.0.0" - chalk "^4.0.0" - graceful-fs "^4.2.4" - micromatch "^4.0.4" - pretty-format "^27.4.6" - slash "^3.0.0" - stack-utils "^2.0.3" - -jest-regex-util@^27.0.6: - version "27.4.0" - resolved "https://registry.yarnpkg.com/jest-regex-util/-/jest-regex-util-27.4.0.tgz#e4c45b52653128843d07ad94aec34393ea14fbca" - integrity sha512-WeCpMpNnqJYMQoOjm1nTtsgbR4XHAk1u00qDoNBQoykM280+/TmgA5Qh5giC1ecy6a5d4hbSsHzpBtu5yvlbEg== - -jest-worker@^25.4.0: - version "25.5.0" - resolved "https://registry.yarnpkg.com/jest-worker/-/jest-worker-25.5.0.tgz#2611d071b79cea0f43ee57a3d118593ac1547db1" - integrity sha512-/dsSmUkIy5EBGfv/IjjqmFxrNAUpBERfGs1oHROyD7yxjG/w+t0GOJDX8O1k32ySmd7+a5IhnJU2qQFcJ4n1vw== - dependencies: - merge-stream "^2.0.0" - supports-color "^7.0.0" - -jest-worker@^27.4.5: - version "27.4.6" - resolved "https://registry.yarnpkg.com/jest-worker/-/jest-worker-27.4.6.tgz#5d2d93db419566cb680752ca0792780e71b3273e" - integrity sha512-gHWJF/6Xi5CTG5QCvROr6GcmpIqNYpDJyc8A1h/DyXqH1tD6SnRCM0d3U5msV31D2LB/U+E0M+W4oyvKV44oNw== - dependencies: - "@types/node" "*" - merge-stream "^2.0.0" - supports-color "^8.0.0" - -jpeg-js@^0.4.2: - version "0.4.3" - resolved "https://registry.yarnpkg.com/jpeg-js/-/jpeg-js-0.4.3.tgz#6158e09f1983ad773813704be80680550eff977b" - integrity sha512-ru1HWKek8octvUHFHvE5ZzQ1yAsJmIvRdGWvSoKV52XKyuyYA437QWDttXT8eZXDSbuMpHlLzPDZUPd6idIz+Q== - -"js-tokens@^3.0.0 || ^4.0.0", js-tokens@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/js-tokens/-/js-tokens-4.0.0.tgz#19203fb59991df98e3a287050d4647cdeaf32499" - integrity sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ== - -js-yaml@^3.13.1: - version "3.14.1" - resolved "https://registry.yarnpkg.com/js-yaml/-/js-yaml-3.14.1.tgz#dae812fdb3825fa306609a8717383c50c36a0537" - integrity sha512-okMH7OXXJ7YrN9Ok3/SXrnu4iX9yOk+25nqX4imS2npuvTYDmo/QEZoqwZkYaIDk3jVvBOTOIEgEhaLOynBS9g== - dependencies: - argparse "^1.0.7" - esprima "^4.0.0" - -js-yaml@^4.1.0: - version "4.1.0" - resolved "https://registry.yarnpkg.com/js-yaml/-/js-yaml-4.1.0.tgz#c1fb65f8f5017901cdd2c951864ba18458a10602" - integrity sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA== - dependencies: - argparse "^2.0.1" - -jsbi@^2.0.5: - version "2.0.5" - resolved "https://registry.yarnpkg.com/jsbi/-/jsbi-2.0.5.tgz#82589011da87dc59b4b549d94dcef51a9155f6fe" - integrity sha512-TzO/62Hxeb26QMb4IGlI/5X+QLr9Uqp1FPkwp2+KOICW+Q+vSuFj61c8pkT6wAns4WcK56X7CmSHhJeDGWOqxQ== - -jsesc@^2.5.1: - version "2.5.2" - resolved "https://registry.yarnpkg.com/jsesc/-/jsesc-2.5.2.tgz#80564d2e483dacf6e8ef209650a67df3f0c283a4" - integrity sha512-OYu7XEzjkCQ3C5Ps3QIZsQfNpqoJyZZA99wd9aWd05NCtC5pWOkShK2mkL6HXQR6/Cy2lbNdPlZBpuQHXE63gA== - -jsesc@~0.5.0: - version "0.5.0" - resolved "https://registry.yarnpkg.com/jsesc/-/jsesc-0.5.0.tgz#e7dee66e35d6fc16f710fe91d5cf69f70f08911d" - integrity sha1-597mbjXW/Bb3EP6R1c9p9w8IkR0= - -json-buffer@3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/json-buffer/-/json-buffer-3.0.0.tgz#5b1f397afc75d677bde8bcfc0e47e1f9a3d9a898" - integrity sha1-Wx85evx11ne96Lz8Dkfh+aPZqJg= - -json-buffer@3.0.1: - version "3.0.1" - resolved "https://registry.yarnpkg.com/json-buffer/-/json-buffer-3.0.1.tgz#9338802a30d3b6605fbe0613e094008ca8c05a13" - integrity sha512-4bV5BfR2mqfQTJm+V5tPPdf+ZpuhiIvTuAB5g8kcrXOZpTT/QwwVRWBywX1ozr6lEuPdbHxwaJlm9G6mI2sfSQ== - -json-parse-better-errors@^1.0.1, json-parse-better-errors@^1.0.2: - version "1.0.2" - resolved "https://registry.yarnpkg.com/json-parse-better-errors/-/json-parse-better-errors-1.0.2.tgz#bb867cfb3450e69107c131d1c514bab3dc8bcaa9" - integrity sha512-mrqyZKfX5EhL7hvqcV6WG1yYjnjeuYDzDhhcAAUrq8Po85NBQBJP+ZDUT75qZQ98IkUoBqdkExkukOU7Ts2wrw== - -json-schema-traverse@^0.4.1: - version "0.4.1" - resolved "https://registry.yarnpkg.com/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz#69f6a87d9513ab8bb8fe63bdb0979c448e684660" - integrity sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg== - -json-schema-traverse@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/json-schema-traverse/-/json-schema-traverse-1.0.0.tgz#ae7bcb3656ab77a73ba5c49bf654f38e6b6860e2" - integrity sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug== - -json-schema-typed@^7.0.3: - version "7.0.3" - resolved "https://registry.yarnpkg.com/json-schema-typed/-/json-schema-typed-7.0.3.tgz#23ff481b8b4eebcd2ca123b4fa0409e66469a2d9" - integrity sha512-7DE8mpG+/fVw+dTpjbxnx47TaMnDfOI1jwft9g1VybltZCduyRQPJPvc+zzKY9WPHxhPWczyFuYa6I8Mw4iU5A== - -json-stringify-safe@^5.0.1: - version "5.0.1" - resolved "https://registry.yarnpkg.com/json-stringify-safe/-/json-stringify-safe-5.0.1.tgz#1296a2d58fd45f19a0f6ce01d65701e2c735b6eb" - integrity sha1-Epai1Y/UXxmg9s4B1lcB4sc1tus= - -json3@^3.3.3: - version "3.3.3" - resolved "https://registry.yarnpkg.com/json3/-/json3-3.3.3.tgz#7fc10e375fc5ae42c4705a5cc0aa6f62be305b81" - integrity sha512-c7/8mbUsKigAbLkD5B010BK4D9LZm7A1pNItkEwiUZRpIN66exu/e7YQWysGun+TRKaJp8MhemM+VkfWv42aCA== - -json5@^0.5.1: - version "0.5.1" - resolved "https://registry.yarnpkg.com/json5/-/json5-0.5.1.tgz#1eade7acc012034ad84e2396767ead9fa5495821" - integrity sha1-Hq3nrMASA0rYTiOWdn6tn6VJWCE= - -json5@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/json5/-/json5-1.0.1.tgz#779fb0018604fa854eacbf6252180d83543e3dbe" - integrity sha512-aKS4WQjPenRxiQsC93MNfjx+nbF4PAdYzmd/1JIj8HYzqfbu86beTuNgXDzPknWk0n0uARlyewZo4s++ES36Ow== - dependencies: - minimist "^1.2.0" - -json5@^2.1.0, json5@^2.1.2, json5@^2.2.0: - version "2.2.0" - resolved "https://registry.yarnpkg.com/json5/-/json5-2.2.0.tgz#2dfefe720c6ba525d9ebd909950f0515316c89a3" - integrity sha512-f+8cldu7X/y7RAJurMEJmdoKXGB/X550w2Nr3tTbezL6RwEE/iMcm+tZnXeoZtKuOq6ft8+CqzEkrIgx1fPoQA== - dependencies: - minimist "^1.2.5" - -jsonc@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/jsonc/-/jsonc-2.0.0.tgz#9e2a25100d164a9bb864c57517563717fa882551" - integrity sha512-B281bLCT2TRMQa+AQUQY5AGcqSOXBOKaYGP4wDzoA/+QswUfN8sODektbPEs9Baq7LGKun5jQbNFpzwGuVYKhw== - dependencies: - fast-safe-stringify "^2.0.6" - graceful-fs "^4.1.15" - mkdirp "^0.5.1" - parse-json "^4.0.0" - strip-bom "^4.0.0" - strip-json-comments "^3.0.1" - -jsonfile@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/jsonfile/-/jsonfile-4.0.0.tgz#8771aae0799b64076b76640fca058f9c10e33ecb" - integrity sha1-h3Gq4HmbZAdrdmQPygWPnBDjPss= - optionalDependencies: - graceful-fs "^4.1.6" - -jsonfile@^6.0.1: - version "6.1.0" - resolved "https://registry.yarnpkg.com/jsonfile/-/jsonfile-6.1.0.tgz#bc55b2634793c679ec6403094eb13698a6ec0aae" - integrity sha512-5dgndWOriYSm5cnYaJNhalLNDKOqFwyDB/rr1E9ZsGciGvKPs8R2xYGCacuf3z6K1YKDz182fd+fY3cn3pMqXQ== - dependencies: - universalify "^2.0.0" - optionalDependencies: - graceful-fs "^4.1.6" - -junk@^3.1.0: - version "3.1.0" - resolved "https://registry.yarnpkg.com/junk/-/junk-3.1.0.tgz#31499098d902b7e98c5d9b9c80f43457a88abfa1" - integrity sha512-pBxcB3LFc8QVgdggvZWyeys+hnrNWg4OcZIU/1X59k5jQdLBlCsYGRQaz234SqoRLTCgMH00fY0xRJH+F9METQ== - -keyv@^3.0.0: - version "3.1.0" - resolved "https://registry.yarnpkg.com/keyv/-/keyv-3.1.0.tgz#ecc228486f69991e49e9476485a5be1e8fc5c4d9" - integrity sha512-9ykJ/46SN/9KPM/sichzQ7OvXyGDYKGTaDlKMGCAlg2UK8KRy4jb0d8sFc+0Tt0YYnThq8X2RZgCg74RPxgcVA== - dependencies: - json-buffer "3.0.0" - -keyv@^4.0.0: - version "4.1.0" - resolved "https://registry.yarnpkg.com/keyv/-/keyv-4.1.0.tgz#8ab5ca4ae6a34e05c629531d9a7f871575af0d5b" - integrity sha512-YsY3wr6HabE11/sscee+3nZ03XjvkrPWGouAmJFBdZoK92wiOlJCzI5/sDEIKdJhdhHO144ei45U9gXfbu14Uw== - dependencies: - json-buffer "3.0.1" - -killable@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/killable/-/killable-1.0.1.tgz#4c8ce441187a061c7474fb87ca08e2a638194892" - integrity sha512-LzqtLKlUwirEUyl/nicirVmNiPvYs7l5n8wOPP7fyJVpUPkvCnW/vuiXGpylGUlnPDnB7311rARzAt3Mhswpjg== - -kind-of@^3.0.2, kind-of@^3.0.3, kind-of@^3.2.0: - version "3.2.2" - resolved "https://registry.yarnpkg.com/kind-of/-/kind-of-3.2.2.tgz#31ea21a734bab9bbb0f32466d893aea51e4a3c64" - integrity sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ= - dependencies: - is-buffer "^1.1.5" - -kind-of@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/kind-of/-/kind-of-4.0.0.tgz#20813df3d712928b207378691a45066fae72dd57" - integrity sha1-IIE989cSkosgc3hpGkUGb65y3Vc= - dependencies: - is-buffer "^1.1.5" - -kind-of@^5.0.0: - version "5.1.0" - resolved "https://registry.yarnpkg.com/kind-of/-/kind-of-5.1.0.tgz#729c91e2d857b7a419a1f9aa65685c4c33f5845d" - integrity sha512-NGEErnH6F2vUuXDh+OlbcKW7/wOcfdRHaZ7VWtqCztfHri/++YKmP51OdWeGPuqCOba6kk2OTe5d02VmTB80Pw== - -kind-of@^6.0.0, kind-of@^6.0.2: - version "6.0.3" - resolved "https://registry.yarnpkg.com/kind-of/-/kind-of-6.0.3.tgz#07c05034a6c349fa06e24fa35aa76db4580ce4dd" - integrity sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw== - -lastfm@0.8.x: - version "0.8.4" - resolved "https://registry.yarnpkg.com/lastfm/-/lastfm-0.8.4.tgz#4dddf08297a6fa23f84d4827052a0d282fe99688" - integrity sha1-Td3wgpem+iP4TUgnBSoNKC/plog= - dependencies: - underscore "" - -lastfmapi@^0.1.1: - version "0.1.1" - resolved "https://registry.yarnpkg.com/lastfmapi/-/lastfmapi-0.1.1.tgz#ce336dcf7cc81820c22dc40247c97b31133486fa" - integrity sha1-zjNtz3zIGCDCLcQCR8l7MRM0hvo= - dependencies: - lastfm "0.8.x" - -latest-version@^5.1.0: - version "5.1.0" - resolved "https://registry.yarnpkg.com/latest-version/-/latest-version-5.1.0.tgz#119dfe908fe38d15dfa43ecd13fa12ec8832face" - integrity sha512-weT+r0kTkRQdCdYCNtkMwWXQTMEswKrFBkm4ckQOMVhhqhIMI1UT2hMj+1iigIhgSZm5gTmrRXBNoGUgaTY1xA== - dependencies: - package-json "^6.3.0" - -lazy-val@^1.0.4, lazy-val@^1.0.5: - version "1.0.5" - resolved "https://registry.yarnpkg.com/lazy-val/-/lazy-val-1.0.5.tgz#6cf3b9f5bc31cee7ee3e369c0832b7583dcd923d" - integrity sha512-0/BnGCCfyUMkBpeDgWihanIAF9JmZhHBgUhEqzvf+adhNGLoP6TaiI5oF8oyb3I45P+PcnrqihSf01M0l0G5+Q== - -lie@3.1.1: - version "3.1.1" - resolved "https://registry.yarnpkg.com/lie/-/lie-3.1.1.tgz#9a436b2cc7746ca59de7a41fa469b3efb76bd87e" - integrity sha1-mkNrLMd0bKWd56QfpGmz77dr2H4= - dependencies: - immediate "~3.0.5" - -load-json-file@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/load-json-file/-/load-json-file-2.0.0.tgz#7947e42149af80d696cbf797bcaabcfe1fe29ca8" - integrity sha1-eUfkIUmvgNaWy/eXvKq8/h/inKg= - dependencies: - graceful-fs "^4.1.2" - parse-json "^2.2.0" - pify "^2.0.0" - strip-bom "^3.0.0" - -loader-runner@^4.2.0: - version "4.2.0" - resolved "https://registry.yarnpkg.com/loader-runner/-/loader-runner-4.2.0.tgz#d7022380d66d14c5fb1d496b89864ebcfd478384" - integrity sha512-92+huvxMvYlMzMt0iIOukcwYBFpkYJdpl2xsZ7LrlayO7E8SOv+JJUEK17B/dJIHAOLMfh2dZZ/Y18WgmGtYNw== - -loader-utils@^1.1.0, loader-utils@^1.2.3, loader-utils@^1.4.0: - version "1.4.0" - resolved "https://registry.yarnpkg.com/loader-utils/-/loader-utils-1.4.0.tgz#c579b5e34cb34b1a74edc6c1fb36bfa371d5a613" - integrity sha512-qH0WSMBtn/oHuwjy/NucEgbx5dbxxnxup9s4PVXJUDHZBQY+s0NWA9rJf53RBnQZxfch7euUui7hpoAPvALZdA== - dependencies: - big.js "^5.2.2" - emojis-list "^3.0.0" - json5 "^1.0.1" - -loader-utils@^2.0.0: - version "2.0.2" - resolved "https://registry.yarnpkg.com/loader-utils/-/loader-utils-2.0.2.tgz#d6e3b4fb81870721ae4e0868ab11dd638368c129" - integrity sha512-TM57VeHptv569d/GKh6TAYdzKblwDNiumOdkFnejjD0XwTH87K90w3O7AiJRqdQoXygvi1VQTJTLGhJl7WqA7A== - dependencies: - big.js "^5.2.2" - emojis-list "^3.0.0" - json5 "^2.1.2" - -localforage@^1.8.1: - version "1.10.0" - resolved "https://registry.yarnpkg.com/localforage/-/localforage-1.10.0.tgz#5c465dc5f62b2807c3a84c0c6a1b1b3212781dd4" - integrity sha512-14/H1aX7hzBBmmh7sGPd+AOMkkIrHM3Z1PAyGgZigA1H1p5O5ANnMyWzvpAETtG68/dC4pC0ncy3+PPGzXZHPg== - dependencies: - lie "3.1.1" - -locate-path@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/locate-path/-/locate-path-2.0.0.tgz#2b568b265eec944c6d9c0de9c3dbbbca0354cd8e" - integrity sha1-K1aLJl7slExtnA3pw9u7ygNUzY4= - dependencies: - p-locate "^2.0.0" - path-exists "^3.0.0" - -locate-path@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/locate-path/-/locate-path-3.0.0.tgz#dbec3b3ab759758071b58fe59fc41871af21400e" - integrity sha512-7AO748wWnIhNqAuaty2ZWHkQHRSNfPVIsPIfwEOWO22AmaoVrWavlOcMR5nzTLNYvp36X220/maaRsrec1G65A== - dependencies: - p-locate "^3.0.0" - path-exists "^3.0.0" - -locate-path@^5.0.0: - version "5.0.0" - resolved "https://registry.yarnpkg.com/locate-path/-/locate-path-5.0.0.tgz#1afba396afd676a6d42504d0a67a3a7eb9f62aa0" - integrity sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g== - dependencies: - p-locate "^4.1.0" - -lodash.debounce@^4.0.8: - version "4.0.8" - resolved "https://registry.yarnpkg.com/lodash.debounce/-/lodash.debounce-4.0.8.tgz#82d79bff30a67c4005ffd5e2515300ad9ca4d7af" - integrity sha1-gteb/zCmfEAF/9XiUVMArZyk168= - -lodash.escaperegexp@^4.1.2: - version "4.1.2" - resolved "https://registry.yarnpkg.com/lodash.escaperegexp/-/lodash.escaperegexp-4.1.2.tgz#64762c48618082518ac3df4ccf5d5886dae20347" - integrity sha1-ZHYsSGGAglGKw99Mz11YhtriA0c= - -lodash.get@^4.0.0: - version "4.4.2" - resolved "https://registry.yarnpkg.com/lodash.get/-/lodash.get-4.4.2.tgz#2d177f652fa31e939b4438d5341499dfa3825e99" - integrity sha1-LRd/ZS+jHpObRDjVNBSZ36OCXpk= - -lodash.isequal@^4.5.0: - version "4.5.0" - resolved "https://registry.yarnpkg.com/lodash.isequal/-/lodash.isequal-4.5.0.tgz#415c4478f2bcc30120c22ce10ed3226f7d3e18e0" - integrity sha1-QVxEePK8wwEgwizhDtMib30+GOA= - -lodash@^4.17.10, lodash@^4.17.11, lodash@^4.17.14, lodash@^4.17.15, lodash@^4.17.20, lodash@^4.17.21, lodash@^4.17.5, lodash@^4.2.0: - version "4.17.21" - resolved "https://registry.yarnpkg.com/lodash/-/lodash-4.17.21.tgz#679591c564c3bffaae8454cf0b3df370c3d6911c" - integrity sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg== - -loglevel@^1.6.8: - version "1.8.0" - resolved "https://registry.yarnpkg.com/loglevel/-/loglevel-1.8.0.tgz#e7ec73a57e1e7b419cb6c6ac06bf050b67356114" - integrity sha512-G6A/nJLRgWOuuwdNuA6koovfEV1YpqqAG4pRUlFaz3jj2QNZ8M4vBqnVA+HBTmU/AMNUtlOsMmSpF6NyOjztbA== - -long@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/long/-/long-4.0.0.tgz#9a7b71cfb7d361a194ea555241c92f7468d5bf28" - integrity sha512-XsP+KhQif4bjX1kbuSiySJFNAehNxgLb6hPRGJ9QsUr8ajHkuXGdrHmFUTUUXhDwVX2R5bY4JNZEwbUiMhV+MA== - -loose-envify@^1.1.0: - version "1.4.0" - resolved "https://registry.yarnpkg.com/loose-envify/-/loose-envify-1.4.0.tgz#71ee51fa7be4caec1a63839f7e682d8132d30caf" - integrity sha512-lyuxPGr/Wfhrlem2CL/UcnUc1zcqKAImBDzukY7Y5F/yQiNdko6+fRLevlw1HgMySw7f611UIY408EtxRSoK3Q== - dependencies: - js-tokens "^3.0.0 || ^4.0.0" - -lower-case@^2.0.2: - version "2.0.2" - resolved "https://registry.yarnpkg.com/lower-case/-/lower-case-2.0.2.tgz#6fa237c63dbdc4a82ca0fd882e4722dc5e634e28" - integrity sha512-7fm3l3NAF9WfN6W3JOmf5drwpVqX78JtoGJ3A6W0a6ZnldM41w2fV5D490psKFTpMds8TJse/eHLFFsNHHjHgg== - dependencies: - tslib "^2.0.3" - -lowercase-keys@^1.0.0, lowercase-keys@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/lowercase-keys/-/lowercase-keys-1.0.1.tgz#6f9e30b47084d971a7c820ff15a6c5167b74c26f" - integrity sha512-G2Lj61tXDnVFFOi8VZds+SoQjtQC3dgokKdDG2mTm1tx4m50NUHBOZSBwQQHyy0V12A0JTG4icfZQH+xPyh8VA== - -lowercase-keys@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/lowercase-keys/-/lowercase-keys-2.0.0.tgz#2603e78b7b4b0006cbca2fbcc8a3202558ac9479" - integrity sha512-tqNXrS78oMOE73NMxK4EMLQsQowWf8jKooH9g7xPavRT706R6bkQJ6DY2Te7QukaZsulxa30wQ7bk0pm4XiHmA== - -lru-cache@^5.1.1: - version "5.1.1" - resolved "https://registry.yarnpkg.com/lru-cache/-/lru-cache-5.1.1.tgz#1da27e6710271947695daf6848e847f01d84b920" - integrity sha512-KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w== - dependencies: - yallist "^3.0.2" - -lru-cache@^6.0.0: - version "6.0.0" - resolved "https://registry.yarnpkg.com/lru-cache/-/lru-cache-6.0.0.tgz#6d6fe6570ebd96aaf90fcad1dafa3b2566db3a94" - integrity sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA== - dependencies: - yallist "^4.0.0" - -lru_map@^0.3.3: - version "0.3.3" - resolved "https://registry.yarnpkg.com/lru_map/-/lru_map-0.3.3.tgz#b5c8351b9464cbd750335a79650a0ec0e56118dd" - integrity sha1-tcg1G5Rky9dQM1p5ZQoOwOVhGN0= - -make-dir@^3.0.0, make-dir@^3.0.2, make-dir@^3.1.0: - version "3.1.0" - resolved "https://registry.yarnpkg.com/make-dir/-/make-dir-3.1.0.tgz#415e967046b3a7f1d185277d84aa58203726a13f" - integrity sha512-g3FeP20LNwhALb/6Cz6Dd4F2ngze0jz7tbzrD2wAV+o9FeNHe4rL+yK2md0J/fiSf1sa1ADhXqi5+oVwOM/eGw== - dependencies: - semver "^6.0.0" - -make-fetch-happen@^9.1.0: - version "9.1.0" - resolved "https://registry.yarnpkg.com/make-fetch-happen/-/make-fetch-happen-9.1.0.tgz#53085a09e7971433e6765f7971bf63f4e05cb968" - integrity sha512-+zopwDy7DNknmwPQplem5lAZX/eCOzSvSNNcSKm5eVwTkOBzoktEfXsa9L23J/GIRhxRsaxzkPEhrJEpE2F4Gg== - dependencies: - agentkeepalive "^4.1.3" - cacache "^15.2.0" - http-cache-semantics "^4.1.0" - http-proxy-agent "^4.0.1" - https-proxy-agent "^5.0.0" - is-lambda "^1.0.1" - lru-cache "^6.0.0" - minipass "^3.1.3" - minipass-collect "^1.0.2" - minipass-fetch "^1.3.2" - minipass-flush "^1.0.5" - minipass-pipeline "^1.2.4" - negotiator "^0.6.2" - promise-retry "^2.0.1" - socks-proxy-agent "^6.0.0" - ssri "^8.0.0" - -map-cache@^0.2.2: - version "0.2.2" - resolved "https://registry.yarnpkg.com/map-cache/-/map-cache-0.2.2.tgz#c32abd0bd6525d9b051645bb4f26ac5dc98a0dbf" - integrity sha1-wyq9C9ZSXZsFFkW7TyasXcmKDb8= - -map-stream@~0.1.0: - version "0.1.0" - resolved "https://registry.yarnpkg.com/map-stream/-/map-stream-0.1.0.tgz#e56aa94c4c8055a16404a0674b78f215f7c8e194" - integrity sha1-5WqpTEyAVaFkBKBnS3jyFffI4ZQ= - -map-visit@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/map-visit/-/map-visit-1.0.0.tgz#ecdca8f13144e660f1b5bd41f12f3479d98dfb8f" - integrity sha1-7Nyo8TFE5mDxtb1B8S80edmN+48= - dependencies: - object-visit "^1.0.0" - -matcher@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/matcher/-/matcher-3.0.0.tgz#bd9060f4c5b70aa8041ccc6f80368760994f30ca" - integrity sha512-OkeDaAZ/bQCxeFAozM55PKcKU0yJMPGifLwV4Qgjitu+5MoAfSQN4lsLJeXZ1b8w0x+/Emda6MZgXS1jvsapng== - dependencies: - escape-string-regexp "^4.0.0" - -"mdns-js@git+https://github.com/bitfocus/node-mdns-js.git": - version "1.0.7" - resolved "git+https://github.com/bitfocus/node-mdns-js.git#1af6b83ce91e5538012f977e1dcadbda5dc0d3b5" - dependencies: - debug "^4.1.1" - dns-js "github:bitfocus/node-dns-js#v0.2.2" - semver "^7.2.3" - -media-typer@0.3.0: - version "0.3.0" - resolved "https://registry.yarnpkg.com/media-typer/-/media-typer-0.3.0.tgz#8710d7af0aa626f8fffa1ce00168545263255748" - integrity sha1-hxDXrwqmJvj/+hzgAWhUUmMlV0g= - -media-typer@^1.1.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/media-typer/-/media-typer-1.1.0.tgz#6ab74b8f2d3320f2064b2a87a38e7931ff3a5561" - integrity sha512-aisnrDP4GNe06UcKFnV5bfMNPBUw4jsLGaWwWfnH3v02GnBuXX2MCVn5RbrWo0j3pczUilYblq7fQ7Nw2t5XKw== - -memory-fs@^0.4.1: - version "0.4.1" - resolved "https://registry.yarnpkg.com/memory-fs/-/memory-fs-0.4.1.tgz#3a9a20b8462523e447cfbc7e8bb80ed667bfc552" - integrity sha1-OpoguEYlI+RHz7x+i7gO1me/xVI= - dependencies: - errno "^0.1.3" - readable-stream "^2.0.1" - -memory-fs@^0.5.0: - version "0.5.0" - resolved "https://registry.yarnpkg.com/memory-fs/-/memory-fs-0.5.0.tgz#324c01288b88652966d161db77838720845a8e3c" - integrity sha512-jA0rdU5KoQMC0e6ppoNRtpp6vjFq6+NY7r8hywnC7V+1Xj/MtHwGIbB1QaK/dunyjWteJzmkpd7ooeWg10T7GA== - dependencies: - errno "^0.1.3" - readable-stream "^2.0.1" - -merge-descriptors@1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/merge-descriptors/-/merge-descriptors-1.0.1.tgz#b00aaa556dd8b44568150ec9d1b953f3f90cbb61" - integrity sha1-sAqqVW3YtEVoFQ7J0blT8/kMu2E= - -merge-stream@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/merge-stream/-/merge-stream-2.0.0.tgz#52823629a14dd00c9770fb6ad47dc6310f2c1f60" - integrity sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w== - -methods@~1.1.2: - version "1.1.2" - resolved "https://registry.yarnpkg.com/methods/-/methods-1.1.2.tgz#5529a4d67654134edcc5266656835b0f851afcee" - integrity sha1-VSmk1nZUE07cxSZmVoNbD4Ua/O4= - -micromatch@^3.0.4, micromatch@^3.1.10, micromatch@^3.1.4: - version "3.1.10" - resolved "https://registry.yarnpkg.com/micromatch/-/micromatch-3.1.10.tgz#70859bc95c9840952f359a068a3fc49f9ecfac23" - integrity sha512-MWikgl9n9M3w+bpsY3He8L+w9eF9338xRl8IAO5viDizwSzziFEyUzo2xrrloB64ADbTf8uA8vRqqttDTOmccg== - dependencies: - arr-diff "^4.0.0" - array-unique "^0.3.2" - braces "^2.3.1" - define-property "^2.0.2" - extend-shallow "^3.0.2" - extglob "^2.0.4" - fragment-cache "^0.2.1" - kind-of "^6.0.2" - nanomatch "^1.2.9" - object.pick "^1.3.0" - regex-not "^1.0.0" - snapdragon "^0.8.1" - to-regex "^3.0.2" - -micromatch@^4.0.4: - version "4.0.4" - resolved "https://registry.yarnpkg.com/micromatch/-/micromatch-4.0.4.tgz#896d519dfe9db25fce94ceb7a500919bf881ebf9" - integrity sha512-pRmzw/XUcwXGpD9aI9q/0XOwLNygjETJ8y0ao0wdqprrzDa4YnxLcz7fQRZr8voh8V10kGhABbNcHVk5wHgWwg== - dependencies: - braces "^3.0.1" - picomatch "^2.2.3" - -mime-db@1.51.0, "mime-db@>= 1.43.0 < 2": - version "1.51.0" - resolved "https://registry.yarnpkg.com/mime-db/-/mime-db-1.51.0.tgz#d9ff62451859b18342d960850dc3cfb77e63fb0c" - integrity sha512-5y8A56jg7XVQx2mbv1lu49NR4dokRnhZYTtL+KGfaa27uq4pSTXkwQkFJl4pkRMyNFz/EtYDSkiiEHx3F7UN6g== - -mime-types@^2.1.12, mime-types@^2.1.27, mime-types@~2.1.17, mime-types@~2.1.24, mime-types@~2.1.34: - version "2.1.34" - resolved "https://registry.yarnpkg.com/mime-types/-/mime-types-2.1.34.tgz#5a712f9ec1503511a945803640fafe09d3793c24" - integrity sha512-6cP692WwGIs9XXdOO4++N+7qjqv0rqxxVvJ3VHPh/Sc9mVZcQP+ZGhkKiTvWMQRr2tbHkJP/Yn7Y0npb3ZBs4A== - dependencies: - mime-db "1.51.0" - -mime@1.6.0: - version "1.6.0" - resolved "https://registry.yarnpkg.com/mime/-/mime-1.6.0.tgz#32cd9e5c64553bd58d19a568af452acff04981b1" - integrity sha512-x0Vn8spI+wuJ1O6S7gnbaQg8Pxh4NNHb7KSINmEWKiPE4RKOplvijn+NkmYmmRgP68mc70j2EbeTFRsrswaQeg== - -mime@^2.4.4, mime@^2.4.6, mime@^2.5.2: - version "2.6.0" - resolved "https://registry.yarnpkg.com/mime/-/mime-2.6.0.tgz#a2a682a95cd4d0cb1d6257e28f83da7e35800367" - integrity sha512-USPkMeET31rOMiarsBNIHZKLGgvKc/LrjofAnBlOttf5ajRvqiRA8QsenbcooctK6d6Ts6aqZXBA+XbkKthiQg== - -mimic-fn@^2.1.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/mimic-fn/-/mimic-fn-2.1.0.tgz#7ed2c2ccccaf84d3ffcb7a69b57711fc2083401b" - integrity sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg== - -mimic-fn@^3.0.0: - version "3.1.0" - resolved "https://registry.yarnpkg.com/mimic-fn/-/mimic-fn-3.1.0.tgz#65755145bbf3e36954b949c16450427451d5ca74" - integrity sha512-Ysbi9uYW9hFyfrThdDEQuykN4Ey6BuwPD2kpI5ES/nFTDn/98yxYNLZJcgUAKPT/mcrLLKaGzJR9YVxJrIdASQ== - -mimic-response@^1.0.0, mimic-response@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/mimic-response/-/mimic-response-1.0.1.tgz#4923538878eef42063cb8a3e3b0798781487ab1b" - integrity sha512-j5EctnkH7amfV/q5Hgmoal1g2QHFJRraOtmx0JpIqkxhBhI/lJSl1nMpQ45hVarwNETOoWEimndZ4QK0RHxuxQ== - -mimic-response@^3.1.0: - version "3.1.0" - resolved "https://registry.yarnpkg.com/mimic-response/-/mimic-response-3.1.0.tgz#2d1d59af9c1b129815accc2c46a022a5ce1fa3c9" - integrity sha512-z0yWI+4FDrrweS8Zmt4Ej5HdJmky15+L2e6Wgn3+iK5fWzb6T3fhNFq2+MeTRb064c6Wr4N/wv0DzQTjNzHNGQ== - -mini-css-extract-plugin@^0.9.0: - version "0.9.0" - resolved "https://registry.yarnpkg.com/mini-css-extract-plugin/-/mini-css-extract-plugin-0.9.0.tgz#47f2cf07aa165ab35733b1fc97d4c46c0564339e" - integrity sha512-lp3GeY7ygcgAmVIcRPBVhIkf8Us7FZjA+ILpal44qLdSu11wmjKQ3d9k15lfD7pO4esu9eUIAW7qiYIBppv40A== - dependencies: - loader-utils "^1.1.0" - normalize-url "1.9.1" - schema-utils "^1.0.0" - webpack-sources "^1.1.0" - -minimalistic-assert@^1.0.0: - version "1.0.1" - resolved "https://registry.yarnpkg.com/minimalistic-assert/-/minimalistic-assert-1.0.1.tgz#2e194de044626d4a10e7f7fbc00ce73e83e4d5c7" - integrity sha512-UtJcAD4yEaGtjPezWuO9wC4nwUnVH/8/Im3yEHQP4b67cXlD/Qr9hdITCU1xDbSEXg2XKNaP8jsReV7vQd00/A== - -minimatch@3.0.4, minimatch@^3.0.3, minimatch@^3.0.4: - version "3.0.4" - resolved "https://registry.yarnpkg.com/minimatch/-/minimatch-3.0.4.tgz#5166e286457f03306064be5497e8dbb0c3d32083" - integrity sha512-yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA== - dependencies: - brace-expansion "^1.1.7" - -minimist@^1.2.0, minimist@^1.2.5: - version "1.2.5" - resolved "https://registry.yarnpkg.com/minimist/-/minimist-1.2.5.tgz#67d66014b66a6a8aaa0c083c5fd58df4e4e97602" - integrity sha512-FM9nNUYrRBAELZQT3xeZQ7fmMOBg6nWNmJKTcgsJeaLstP/UODVpGsr5OhXhhXg6f+qtJ8uiZ+PUxkDWcgIXLw== - -minipass-collect@^1.0.2: - version "1.0.2" - resolved "https://registry.yarnpkg.com/minipass-collect/-/minipass-collect-1.0.2.tgz#22b813bf745dc6edba2576b940022ad6edc8c617" - integrity sha512-6T6lH0H8OG9kITm/Jm6tdooIbogG9e0tLgpY6mphXSm/A9u8Nq1ryBG+Qspiub9LjWlBPsPS3tWQ/Botq4FdxA== - dependencies: - minipass "^3.0.0" - -minipass-fetch@^1.3.2: - version "1.4.1" - resolved "https://registry.yarnpkg.com/minipass-fetch/-/minipass-fetch-1.4.1.tgz#d75e0091daac1b0ffd7e9d41629faff7d0c1f1b6" - integrity sha512-CGH1eblLq26Y15+Azk7ey4xh0J/XfJfrCox5LDJiKqI2Q2iwOLOKrlmIaODiSQS8d18jalF6y2K2ePUm0CmShw== - dependencies: - minipass "^3.1.0" - minipass-sized "^1.0.3" - minizlib "^2.0.0" - optionalDependencies: - encoding "^0.1.12" - -minipass-flush@^1.0.5: - version "1.0.5" - resolved "https://registry.yarnpkg.com/minipass-flush/-/minipass-flush-1.0.5.tgz#82e7135d7e89a50ffe64610a787953c4c4cbb373" - integrity sha512-JmQSYYpPUqX5Jyn1mXaRwOda1uQ8HP5KAT/oDSLCzt1BYRhQU0/hDtsB1ufZfEEzMZ9aAVmsBw8+FWsIXlClWw== - dependencies: - minipass "^3.0.0" - -minipass-pipeline@^1.2.2, minipass-pipeline@^1.2.4: - version "1.2.4" - resolved "https://registry.yarnpkg.com/minipass-pipeline/-/minipass-pipeline-1.2.4.tgz#68472f79711c084657c067c5c6ad93cddea8214c" - integrity sha512-xuIq7cIOt09RPRJ19gdi4b+RiNvDFYe5JH+ggNvBqGqpQXcru3PcRmOZuHBKWK1Txf9+cQ+HMVN4d6z46LZP7A== - dependencies: - minipass "^3.0.0" - -minipass-sized@^1.0.3: - version "1.0.3" - resolved "https://registry.yarnpkg.com/minipass-sized/-/minipass-sized-1.0.3.tgz#70ee5a7c5052070afacfbc22977ea79def353b70" - integrity sha512-MbkQQ2CTiBMlA2Dm/5cY+9SWFEN8pzzOXi6rlM5Xxq0Yqbda5ZQy9sU75a673FE9ZK0Zsbr6Y5iP6u9nktfg2g== - dependencies: - minipass "^3.0.0" - -minipass@^3.0.0, minipass@^3.1.0, minipass@^3.1.1, minipass@^3.1.3: - version "3.1.6" - resolved "https://registry.yarnpkg.com/minipass/-/minipass-3.1.6.tgz#3b8150aa688a711a1521af5e8779c1d3bb4f45ee" - integrity sha512-rty5kpw9/z8SX9dmxblFA6edItUmwJgMeYDZRrwlIVN27i8gysGbznJwUggw2V/FVqFSDdWy040ZPS811DYAqQ== - dependencies: - yallist "^4.0.0" - -minizlib@^2.0.0, minizlib@^2.1.1: - version "2.1.2" - resolved "https://registry.yarnpkg.com/minizlib/-/minizlib-2.1.2.tgz#e90d3466ba209b932451508a11ce3d3632145931" - integrity sha512-bAxsR8BVfj60DWXHE3u30oHzfl4G7khkSuPW+qvpd7jFRHm7dLxOjUk1EHACJ/hxLY8phGJ0YhYHZo7jil7Qdg== - dependencies: - minipass "^3.0.0" - yallist "^4.0.0" - -mixin-deep@^1.2.0: - version "1.3.2" - resolved "https://registry.yarnpkg.com/mixin-deep/-/mixin-deep-1.3.2.tgz#1120b43dc359a785dce65b55b82e257ccf479566" - integrity sha512-WRoDn//mXBiJ1H40rqa3vH0toePwSsGb45iInWlTySa+Uu4k3tYUSxa2v1KqAiLtvlrSzaExqS1gtk96A9zvEA== - dependencies: - for-in "^1.0.2" - is-extendable "^1.0.1" - -mkdirp@^0.5.1, mkdirp@^0.5.4, mkdirp@^0.5.5: - version "0.5.5" - resolved "https://registry.yarnpkg.com/mkdirp/-/mkdirp-0.5.5.tgz#d91cefd62d1436ca0f41620e251288d420099def" - integrity sha512-NKmAlESf6jMGym1++R0Ra7wvhV+wFW63FaSOFPwRahvea0gMUcGUhVeAg/0BC0wiv9ih5NYPB1Wn1UEI1/L+xQ== - dependencies: - minimist "^1.2.5" - -mkdirp@^1.0.3, mkdirp@^1.0.4: - version "1.0.4" - resolved "https://registry.yarnpkg.com/mkdirp/-/mkdirp-1.0.4.tgz#3eb5ed62622756d79a5f0e2a221dfebad75c2f7e" - integrity sha512-vVqVZQyf3WLx2Shd0qJ9xuvqgAyKPLAiqITEtqW0oIUjzo3PePDd6fW9iFz30ef7Ysp/oiWqbhszeGWW2T6Gzw== - -move-concurrently@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/move-concurrently/-/move-concurrently-1.0.1.tgz#be2c005fda32e0b29af1f05d7c4b33214c701f92" - integrity sha1-viwAX9oy4LKa8fBdfEszIUxwH5I= - dependencies: - aproba "^1.1.1" - copy-concurrently "^1.0.0" - fs-write-stream-atomic "^1.0.8" - mkdirp "^0.5.1" - rimraf "^2.5.4" - run-queue "^1.0.3" - -mpris-service@^2.1.2: - version "2.1.2" - resolved "https://registry.yarnpkg.com/mpris-service/-/mpris-service-2.1.2.tgz#ed6db2574f48e1fc356413fd3fc8e857d93d2e7b" - integrity sha512-AC6WepCnFWwOME9OWplHZ8ps/BB+g9QrEpUKCv7wX82fDPzR3nPrypOFmL/Fm0JloEAu6QTWSfDLLc6mM/jinw== - dependencies: - dbus-next "^0.9.2" - deep-equal "^1.0.1" - source-map-support "^0.5.11" - -ms@2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/ms/-/ms-2.0.0.tgz#5608aeadfc00be6c2901df5f9861788de0d597c8" - integrity sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g= - -ms@2.1.2: - version "2.1.2" - resolved "https://registry.yarnpkg.com/ms/-/ms-2.1.2.tgz#d09d1f357b443f493382a8eb3ccd183872ae6009" - integrity sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w== - -ms@2.1.3, ms@^2.0.0, ms@^2.1.1, ms@^2.1.2: - version "2.1.3" - resolved "https://registry.yarnpkg.com/ms/-/ms-2.1.3.tgz#574c8138ce1d2b5861f0b44579dbadd60c6615b2" - integrity sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA== - -multicast-dns-service-types@^1.1.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/multicast-dns-service-types/-/multicast-dns-service-types-1.1.0.tgz#899f11d9686e5e05cb91b35d5f0e63b773cfc901" - integrity sha1-iZ8R2WhuXgXLkbNdXw5jt3PPyQE= - -multicast-dns@^6.0.1: - version "6.2.3" - resolved "https://registry.yarnpkg.com/multicast-dns/-/multicast-dns-6.2.3.tgz#a0ec7bd9055c4282f790c3c82f4e28db3b31b229" - integrity sha512-ji6J5enbMyGRHIAkAOu3WdV8nggqviKCEKtXcOqfphZZtQrmHKycfynJ2V7eVPUA4NhJ6V7Wf4TmGbTwKE9B6g== - dependencies: - dns-packet "^1.3.1" - thunky "^1.0.2" - -music-metadata@^7.11.4: - version "7.11.8" - resolved "https://registry.yarnpkg.com/music-metadata/-/music-metadata-7.11.8.tgz#be67ff6d5e5499d2a31a7044079cb83c03544cc2" - integrity sha512-KaJzxDlYId05zN029WaKhJYcT5FB0QmTRSGDq5bRfPTBUw4Hl0VvJvaO5C5mm0ATWMREecMANV9YUatLMg+0Mg== - dependencies: - "@tokenizer/token" "^0.3.0" - content-type "^1.0.4" - debug "^4.3.3" - file-type "16.5.3" - media-typer "^1.1.0" - strtok3 "^6.2.4" - token-types "^4.1.1" - -musickit-typescript@^1.2.4: - version "1.2.4" - resolved "https://registry.yarnpkg.com/musickit-typescript/-/musickit-typescript-1.2.4.tgz#d055117e2c897c4ebc570f0d969ad31649744837" - integrity sha512-3+/20Pi2zOVAHfUFf631LU2NwaC/qEHBBksM+YQzQ/fff4tIMPX5WJ6We/WXmwTHkAkHIOEitJW4cRPnvVAq+A== - -nan@^2.12.1: - version "2.15.0" - resolved "https://registry.yarnpkg.com/nan/-/nan-2.15.0.tgz#3f34a473ff18e15c1b5626b62903b5ad6e665fee" - integrity sha512-8ZtvEnA2c5aYCZYd1cvgdnU6cqwixRoYg70xPLWUws5ORTa/lnw+u4amixRS/Ac5U5mQVgp9pnlSUnbNWFaWZQ== - -nanomatch@^1.2.9: - version "1.2.13" - resolved "https://registry.yarnpkg.com/nanomatch/-/nanomatch-1.2.13.tgz#b87a8aa4fc0de8fe6be88895b38983ff265bd119" - integrity sha512-fpoe2T0RbHwBTBUOftAfBPaDEi06ufaUai0mE6Yn1kacc3SnTErfb/h+X94VXzI64rKFHYImXSvdwGGCmwOqCA== - dependencies: - arr-diff "^4.0.0" - array-unique "^0.3.2" - define-property "^2.0.2" - extend-shallow "^3.0.2" - fragment-cache "^0.2.1" - is-windows "^1.0.2" - kind-of "^6.0.2" - object.pick "^1.3.0" - regex-not "^1.0.0" - snapdragon "^0.8.1" - to-regex "^3.0.1" - -negotiator@0.6.3, negotiator@^0.6.2: - version "0.6.3" - resolved "https://registry.yarnpkg.com/negotiator/-/negotiator-0.6.3.tgz#58e323a72fedc0d6f9cd4d31fe49f51479590ccd" - integrity sha512-+EUsqGPLsM+j/zdChZjsnX51g4XrHFOIXwfnCVPGlQk/k5giakcKsuxCObBRu6DSm9opw/O6slWbJdghQM4bBg== - -neo-async@^2.6.2: - version "2.6.2" - resolved "https://registry.yarnpkg.com/neo-async/-/neo-async-2.6.2.tgz#b4aafb93e3aeb2d8174ca53cf163ab7d7308305f" - integrity sha512-Yd3UES5mWCSqR+qNT93S3UoYUkqAZ9lLg8a7g9rimsWmYGK8cVToA4/sF3RrshdyV3sAGMXVUmpMYOw+dLpOuw== - -nice-try@^1.0.4: - version "1.0.5" - resolved "https://registry.yarnpkg.com/nice-try/-/nice-try-1.0.5.tgz#a3378a7696ce7d223e88fc9b764bd7ef1089e366" - integrity sha512-1nh45deeb5olNY7eX82BkPO7SSxR5SSYJiPTrTdFUVYwAl8CKMA5N9PjTYkHiRjisVcxcQ1HXdLhx2qxxJzLNQ== - -no-case@^3.0.4: - version "3.0.4" - resolved "https://registry.yarnpkg.com/no-case/-/no-case-3.0.4.tgz#d361fd5c9800f558551a8369fc0dcd4662b6124d" - integrity sha512-fgAN3jGAh+RoxUGZHTSOLJIqUc2wmoBwGR4tbpNAKmmovFoWq0OdRkb0VkldReO2a2iBT/OEulG9XSUc10r3zg== - dependencies: - lower-case "^2.0.2" - tslib "^2.0.3" - -node-addon-api@^1.3.0, node-addon-api@^1.6.3: - version "1.7.2" - resolved "https://registry.yarnpkg.com/node-addon-api/-/node-addon-api-1.7.2.tgz#3df30b95720b53c24e59948b49532b662444f54d" - integrity sha512-ibPK3iA+vaY1eEjESkQkM0BbCqFOaZMiXRTtdB0u7b4djtY6JnsjvPdUHVMg6xQt3B8fpTTWHI9A+ADjM9frzg== - -node-fetch@^2.6.1: - version "2.6.7" - resolved "https://registry.yarnpkg.com/node-fetch/-/node-fetch-2.6.7.tgz#24de9fba827e3b4ae44dc8b20256a379160052ad" - integrity sha512-ZjMPFEfVx5j+y2yF35Kzx5sF7kDzxuDj6ziH4FFbOp87zKDZNx8yExJIb05OGF4Nlt9IHFIMBkRl41VdvcNdbQ== - dependencies: - whatwg-url "^5.0.0" - -node-forge@^0.10.0: - version "0.10.0" - resolved "https://registry.yarnpkg.com/node-forge/-/node-forge-0.10.0.tgz#32dea2afb3e9926f02ee5ce8794902691a676bf3" - integrity sha512-PPmu8eEeG9saEUvI97fm4OYxXVB6bFvyNTyiUOBichBpFG8A1Ljw3bY62+5oOjDEMHRnd0Y7HQ+x7uzxOzC6JA== - -node-gyp@^8.4.1: - version "8.4.1" - resolved "https://registry.yarnpkg.com/node-gyp/-/node-gyp-8.4.1.tgz#3d49308fc31f768180957d6b5746845fbd429937" - integrity sha512-olTJRgUtAb/hOXG0E93wZDs5YiJlgbXxTwQAFHyNlRsXQnYzUaF2aGgujZbw+hR8aF4ZG/rST57bWMWD16jr9w== - dependencies: - env-paths "^2.2.0" - glob "^7.1.4" - graceful-fs "^4.2.6" - make-fetch-happen "^9.1.0" - nopt "^5.0.0" - npmlog "^6.0.0" - rimraf "^3.0.2" - semver "^7.3.5" - tar "^6.1.2" - which "^2.0.2" - -node-loader@^0.6.0: - version "0.6.0" - resolved "https://registry.yarnpkg.com/node-loader/-/node-loader-0.6.0.tgz#c797ef51095ed5859902b157f6384f6361e05ae8" - integrity sha1-x5fvUQle1YWZArFX9jhPY2HgWug= - -node-releases@^2.0.1: - version "2.0.1" - resolved "https://registry.yarnpkg.com/node-releases/-/node-releases-2.0.1.tgz#3d1d395f204f1f2f29a54358b9fb678765ad2fc5" - integrity sha512-CqyzN6z7Q6aMeF/ktcMVTzhAHCEpf8SOarwpzpf8pNBY2k5/oM34UHldUwp8VKI7uxct2HxSRdJjBaZeESzcxA== - -nopt@^5.0.0: - version "5.0.0" - resolved "https://registry.yarnpkg.com/nopt/-/nopt-5.0.0.tgz#530942bb58a512fccafe53fe210f13a25355dc88" - integrity sha512-Tbj67rffqceeLpcRXrT7vKAN8CwfPeIBgM7E6iBkmKLV7bEMwpGgYLGv0jACUsECaa/vuxP0IjEont6umdMgtQ== - dependencies: - abbrev "1" - -normalize-package-data@^2.3.2: - version "2.5.0" - resolved "https://registry.yarnpkg.com/normalize-package-data/-/normalize-package-data-2.5.0.tgz#e66db1838b200c1dfc233225d12cb36520e234a8" - integrity sha512-/5CMN3T0R4XTj4DcGaexo+roZSdSFW/0AOOTROrjxzCG1wrWXEsGbRKevjlIL+ZDE4sZlJr5ED4YW0yqmkK+eA== - dependencies: - hosted-git-info "^2.1.4" - resolve "^1.10.0" - semver "2 || 3 || 4 || 5" - validate-npm-package-license "^3.0.1" - -normalize-path@^2.1.1: - version "2.1.1" - resolved "https://registry.yarnpkg.com/normalize-path/-/normalize-path-2.1.1.tgz#1ab28b556e198363a8c1a6f7e6fa20137fe6aed9" - integrity sha1-GrKLVW4Zg2Oowab35vogE3/mrtk= - dependencies: - remove-trailing-separator "^1.0.1" - -normalize-path@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/normalize-path/-/normalize-path-3.0.0.tgz#0dcd69ff23a1c9b11fd0978316644a0388216a65" - integrity sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA== - -normalize-url@1.9.1, normalize-url@^1.9.1: - version "1.9.1" - resolved "https://registry.yarnpkg.com/normalize-url/-/normalize-url-1.9.1.tgz#2cc0d66b31ea23036458436e3620d85954c66c3c" - integrity sha1-LMDWazHqIwNkWENuNiDYWVTGbDw= - dependencies: - object-assign "^4.0.1" - prepend-http "^1.0.0" - query-string "^4.1.0" - sort-keys "^1.0.0" - -normalize-url@^4.1.0: - version "4.5.1" - resolved "https://registry.yarnpkg.com/normalize-url/-/normalize-url-4.5.1.tgz#0dd90cf1288ee1d1313b87081c9a5932ee48518a" - integrity sha512-9UZCFRHQdNrfTpGg8+1INIg93B6zE0aXMVFkw1WFwvO4SlZywU6aLg5Of0Ap/PgcbSw4LNxvMWXMeugwMCX0AA== - -normalize-url@^6.0.1: - version "6.1.0" - resolved "https://registry.yarnpkg.com/normalize-url/-/normalize-url-6.1.0.tgz#40d0885b535deffe3f3147bec877d05fe4c5668a" - integrity sha512-DlL+XwOy3NxAQ8xuC0okPgK46iuVNAK01YN7RueYBqqFeGsBjV9XmCAzAdgt+667bCl5kPh9EqKKDwnaPG1I7A== - -npm-conf@^1.1.3: - version "1.1.3" - resolved "https://registry.yarnpkg.com/npm-conf/-/npm-conf-1.1.3.tgz#256cc47bd0e218c259c4e9550bf413bc2192aff9" - integrity sha512-Yic4bZHJOt9RCFbRP3GgpqhScOY4HH3V2P8yBj6CeYq118Qr+BLXqT2JvpJ00mryLESpgOxf5XlFv4ZjXxLScw== - dependencies: - config-chain "^1.1.11" - pify "^3.0.0" - -npm-run-path@^2.0.0: - version "2.0.2" - resolved "https://registry.yarnpkg.com/npm-run-path/-/npm-run-path-2.0.2.tgz#35a9232dfa35d7067b4cb2ddf2357b1871536c5f" - integrity sha1-NakjLfo11wZ7TLLd8jV7GHFTbF8= - dependencies: - path-key "^2.0.0" - -npmlog@^6.0.0: - version "6.0.0" - resolved "https://registry.yarnpkg.com/npmlog/-/npmlog-6.0.0.tgz#ba9ef39413c3d936ea91553db7be49c34ad0520c" - integrity sha512-03ppFRGlsyUaQFbGC2C8QWJN/C/K7PsfyD9aQdhVKAQIH4sQBc8WASqFBP7O+Ut4d2oo5LoeoboB3cGdBZSp6Q== - dependencies: - are-we-there-yet "^2.0.0" - console-control-strings "^1.1.0" - gauge "^4.0.0" - set-blocking "^2.0.0" - -nth-check@^2.0.1: - version "2.0.1" - resolved "https://registry.yarnpkg.com/nth-check/-/nth-check-2.0.1.tgz#2efe162f5c3da06a28959fbd3db75dbeea9f0fc2" - integrity sha512-it1vE95zF6dTT9lBsYbxvqh0Soy4SPowchj0UBGj/V6cTPnXXtQOPUbhZ6CmGzAD/rW22LQK6E96pcdJXk4A4w== - dependencies: - boolbase "^1.0.0" - -object-assign@^4.0.1, object-assign@^4.1.0, object-assign@^4.1.1: - version "4.1.1" - resolved "https://registry.yarnpkg.com/object-assign/-/object-assign-4.1.1.tgz#2109adc7965887cfc05cbbd442cac8bfbb360863" - integrity sha1-IQmtx5ZYh8/AXLvUQsrIv7s2CGM= - -object-copy@^0.1.0: - version "0.1.0" - resolved "https://registry.yarnpkg.com/object-copy/-/object-copy-0.1.0.tgz#7e7d858b781bd7c991a41ba975ed3812754e998c" - integrity sha1-fn2Fi3gb18mRpBupde04EnVOmYw= - dependencies: - copy-descriptor "^0.1.0" - define-property "^0.2.5" - kind-of "^3.0.3" - -object-inspect@^1.11.0, object-inspect@^1.9.0: - version "1.12.0" - resolved "https://registry.yarnpkg.com/object-inspect/-/object-inspect-1.12.0.tgz#6e2c120e868fd1fd18cb4f18c31741d0d6e776f0" - integrity sha512-Ho2z80bVIvJloH+YzRmpZVQe87+qASmBUKZDWgx9cu+KDrX2ZDH/3tMy+gXbZETVGs2M8YdxObOh7XAtim9Y0g== - -object-is@^1.0.1: - version "1.1.5" - resolved "https://registry.yarnpkg.com/object-is/-/object-is-1.1.5.tgz#b9deeaa5fc7f1846a0faecdceec138e5778f53ac" - integrity sha512-3cyDsyHgtmi7I7DfSSI2LDp6SK2lwvtbg0p0R1e0RvTqF5ceGx+K2dfSjm1bKDMVCFEDAQvy+o8c6a7VujOddw== - dependencies: - call-bind "^1.0.2" - define-properties "^1.1.3" - -object-keys@^1.0.12, object-keys@^1.1.1: - version "1.1.1" - resolved "https://registry.yarnpkg.com/object-keys/-/object-keys-1.1.1.tgz#1c47f272df277f3b1daf061677d9c82e2322c60e" - integrity sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA== - -object-visit@^1.0.0: - version "1.0.1" - resolved "https://registry.yarnpkg.com/object-visit/-/object-visit-1.0.1.tgz#f79c4493af0c5377b59fe39d395e41042dd045bb" - integrity sha1-95xEk68MU3e1n+OdOV5BBC3QRbs= - dependencies: - isobject "^3.0.0" - -object.assign@^4.1.0, object.assign@^4.1.2: - version "4.1.2" - resolved "https://registry.yarnpkg.com/object.assign/-/object.assign-4.1.2.tgz#0ed54a342eceb37b38ff76eb831a0e788cb63940" - integrity sha512-ixT2L5THXsApyiUPYKmW+2EHpXXe5Ii3M+f4e+aJFAHao5amFRW6J0OO6c/LU8Be47utCx2GL89hxGB6XSmKuQ== - dependencies: - call-bind "^1.0.0" - define-properties "^1.1.3" - has-symbols "^1.0.1" - object-keys "^1.1.1" - -object.getownpropertydescriptors@^2.0.3: - version "2.1.3" - resolved "https://registry.yarnpkg.com/object.getownpropertydescriptors/-/object.getownpropertydescriptors-2.1.3.tgz#b223cf38e17fefb97a63c10c91df72ccb386df9e" - integrity sha512-VdDoCwvJI4QdC6ndjpqFmoL3/+HxffFBbcJzKi5hwLLqqx3mdbedRpfZDdK0SrOSauj8X4GzBvnDZl4vTN7dOw== - dependencies: - call-bind "^1.0.2" - define-properties "^1.1.3" - es-abstract "^1.19.1" - -object.pick@^1.3.0: - version "1.3.0" - resolved "https://registry.yarnpkg.com/object.pick/-/object.pick-1.3.0.tgz#87a10ac4c1694bd2e1cbf53591a66141fb5dd747" - integrity sha1-h6EKxMFpS9Lhy/U1kaZhQftd10c= - dependencies: - isobject "^3.0.1" - -obuf@^1.0.0, obuf@^1.1.2: - version "1.1.2" - resolved "https://registry.yarnpkg.com/obuf/-/obuf-1.1.2.tgz#09bea3343d41859ebd446292d11c9d4db619084e" - integrity sha512-PX1wu0AmAdPqOL1mWhqmlOd8kOIZQwGZw6rh7uby9fTc5lhaOWFLX3I6R1hrF9k3zUY40e6igsLGkDXK92LJNg== - -on-finished@~2.3.0: - version "2.3.0" - resolved "https://registry.yarnpkg.com/on-finished/-/on-finished-2.3.0.tgz#20f1336481b083cd75337992a16971aa2d906947" - integrity sha1-IPEzZIGwg811M3mSoWlxqi2QaUc= - dependencies: - ee-first "1.1.1" - -on-headers@~1.0.2: - version "1.0.2" - resolved "https://registry.yarnpkg.com/on-headers/-/on-headers-1.0.2.tgz#772b0ae6aaa525c399e489adfad90c403eb3c28f" - integrity sha512-pZAE+FJLoyITytdqK0U5s+FIpjN0JP3OzFi/u8Rx+EV5/W+JTWGXG8xFzevE7AjBfDqHv/8vL8qQsIhHnqRkrA== - -once@^1.3.0, once@^1.3.1, once@^1.4.0: - version "1.4.0" - resolved "https://registry.yarnpkg.com/once/-/once-1.4.0.tgz#583b1aa775961d4b113ac17d9c50baef9dd76bd1" - integrity sha1-WDsap3WWHUsROsF9nFC6753Xa9E= - dependencies: - wrappy "1" - -onetime@^5.1.2: - version "5.1.2" - resolved "https://registry.yarnpkg.com/onetime/-/onetime-5.1.2.tgz#d0e96ebb56b07476df1dd9c4806e5237985ca45e" - integrity sha512-kbpaSSGJTWdAY5KPVeMOKXSrPtr8C8C7wodJbcsd51jRnmD+GZu8Y0VoU6Dm5Z4vWr0Ig/1NKuWRKf7j5aaYSg== - dependencies: - mimic-fn "^2.1.0" - -open@^8.3.0: - version "8.4.0" - resolved "https://registry.yarnpkg.com/open/-/open-8.4.0.tgz#345321ae18f8138f82565a910fdc6b39e8c244f8" - integrity sha512-XgFPPM+B28FtCCgSb9I+s9szOC1vZRSwgWsRUA5ylIxRTgKozqjOCrVOqGsYABPYK5qnfqClxZTFBa8PKt2v6Q== - dependencies: - define-lazy-prop "^2.0.0" - is-docker "^2.1.1" - is-wsl "^2.2.0" - -opn@^5.5.0: - version "5.5.0" - resolved "https://registry.yarnpkg.com/opn/-/opn-5.5.0.tgz#fc7164fab56d235904c51c3b27da6758ca3b9bfc" - integrity sha512-PqHpggC9bLV0VeWcdKhkpxY+3JTzetLSqTCWL/z/tFIbI6G8JCjondXklT1JinczLz2Xib62sSp0T/gKT4KksA== - dependencies: - is-wsl "^1.1.0" - -original@^1.0.0: - version "1.0.2" - resolved "https://registry.yarnpkg.com/original/-/original-1.0.2.tgz#e442a61cffe1c5fd20a65f3261c26663b303f25f" - integrity sha512-hyBVl6iqqUOJ8FqRe+l/gS8H+kKYjrEndd5Pm1MfBtsEKA038HkkdbAl/72EAXGyonD/PFsvmVG+EvcIpliMBg== - dependencies: - url-parse "^1.4.3" - -p-cancelable@^1.0.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/p-cancelable/-/p-cancelable-1.1.0.tgz#d078d15a3af409220c886f1d9a0ca2e441ab26cc" - integrity sha512-s73XxOZ4zpt1edZYZzvhqFa6uvQc1vwUa0K0BdtIZgQMAJj9IbebH+JkgKZc9h+B05PKHLOTl4ajG1BmNrVZlw== - -p-cancelable@^2.0.0: - version "2.1.1" - resolved "https://registry.yarnpkg.com/p-cancelable/-/p-cancelable-2.1.1.tgz#aab7fbd416582fa32a3db49859c122487c5ed2cf" - integrity sha512-BZOr3nRQHOntUjTrH8+Lh54smKHoHyur8We1V8DSMVrl5A2malOOwuJRnKRDjSnkoeBh4at6BwEnb5I7Jl31wg== - -p-finally@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/p-finally/-/p-finally-1.0.0.tgz#3fbcfb15b899a44123b34b6dcc18b724336a2cae" - integrity sha1-P7z7FbiZpEEjs0ttzBi3JDNqLK4= - -p-limit@^1.1.0: - version "1.3.0" - resolved "https://registry.yarnpkg.com/p-limit/-/p-limit-1.3.0.tgz#b86bd5f0c25690911c7590fcbfc2010d54b3ccb8" - integrity sha512-vvcXsLAJ9Dr5rQOPk7toZQZJApBl2K4J6dANSsEuh6QI41JYcsS/qhTGa9ErIUUgK3WNQoJYvylxvjqmiqEA9Q== - dependencies: - p-try "^1.0.0" - -p-limit@^2.0.0, p-limit@^2.2.0, p-limit@^2.3.0: - version "2.3.0" - resolved "https://registry.yarnpkg.com/p-limit/-/p-limit-2.3.0.tgz#3dd33c647a214fdfffd835933eb086da0dc21db1" - integrity sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w== - dependencies: - p-try "^2.0.0" - -p-locate@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/p-locate/-/p-locate-2.0.0.tgz#20a0103b222a70c8fd39cc2e580680f3dde5ec43" - integrity sha1-IKAQOyIqcMj9OcwuWAaA893l7EM= - dependencies: - p-limit "^1.1.0" - -p-locate@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/p-locate/-/p-locate-3.0.0.tgz#322d69a05c0264b25997d9f40cd8a891ab0064a4" - integrity sha512-x+12w/To+4GFfgJhBEpiDcLozRJGegY+Ei7/z0tSLkMmxGZNybVMSfWj9aJn8Z5Fc7dBUNJOOVgPv2H7IwulSQ== - dependencies: - p-limit "^2.0.0" - -p-locate@^4.1.0: - version "4.1.0" - resolved "https://registry.yarnpkg.com/p-locate/-/p-locate-4.1.0.tgz#a3428bb7088b3a60292f66919278b7c297ad4f07" - integrity sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A== - dependencies: - p-limit "^2.2.0" - -p-map@^2.0.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/p-map/-/p-map-2.1.0.tgz#310928feef9c9ecc65b68b17693018a665cea175" - integrity sha512-y3b8Kpd8OAN444hxfBbFfj1FY/RjtTd8tzYwhUqNYXx0fXx2iX4maP4Qr6qhIKbQXI02wTLAda4fYUbDagTUFw== - -p-map@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/p-map/-/p-map-3.0.0.tgz#d704d9af8a2ba684e2600d9a215983d4141a979d" - integrity sha512-d3qXVTF/s+W+CdJ5A29wywV2n8CQQYahlgz2bFiA+4eVNJbHJodPZ+/gXwPGh0bOqA+j8S+6+ckmvLGPk1QpxQ== - dependencies: - aggregate-error "^3.0.0" - -p-map@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/p-map/-/p-map-4.0.0.tgz#bb2f95a5eda2ec168ec9274e06a747c3e2904d2b" - integrity sha512-/bjOqmgETBYB5BoEeGVea8dmvHb2m9GLy1E9W43yeyfP6QQCZGFNa+XRceJEuDB6zqr+gKpIAmlLebMpykw/MQ== - dependencies: - aggregate-error "^3.0.0" - -p-retry@^3.0.1: - version "3.0.1" - resolved "https://registry.yarnpkg.com/p-retry/-/p-retry-3.0.1.tgz#316b4c8893e2c8dc1cfa891f406c4b422bebf328" - integrity sha512-XE6G4+YTTkT2a0UWb2kjZe8xNwf8bIbnqpc/IS/idOBVhyves0mK5OJgeocjx7q5pvX/6m23xuzVPYT1uGM73w== - dependencies: - retry "^0.12.0" - -p-try@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/p-try/-/p-try-1.0.0.tgz#cbc79cdbaf8fd4228e13f621f2b1a237c1b207b3" - integrity sha1-y8ec26+P1CKOE/Yh8rGiN8GyB7M= - -p-try@^2.0.0: - version "2.2.0" - resolved "https://registry.yarnpkg.com/p-try/-/p-try-2.2.0.tgz#cb2868540e313d61de58fafbe35ce9004d5540e6" - integrity sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ== - -package-json@^6.3.0: - version "6.5.0" - resolved "https://registry.yarnpkg.com/package-json/-/package-json-6.5.0.tgz#6feedaca35e75725876d0b0e64974697fed145b0" - integrity sha512-k3bdm2n25tkyxcjSKzB5x8kfVxlMdgsbPr0GkZcwHsLpba6cBjqCt1KlcChKEvxHIcTB1FVMuwoijZ26xex5MQ== - dependencies: - got "^9.6.0" - registry-auth-token "^4.0.0" - registry-url "^5.0.0" - semver "^6.2.0" - -param-case@^3.0.3: - version "3.0.4" - resolved "https://registry.yarnpkg.com/param-case/-/param-case-3.0.4.tgz#7d17fe4aa12bde34d4a77d91acfb6219caad01c5" - integrity sha512-RXlj7zCYokReqWpOPH9oYivUzLYZ5vAPIfEmCTNViosC78F8F0H9y7T7gG2M39ymgutxF5gcFEsyZQSph9Bp3A== - dependencies: - dot-case "^3.0.4" - tslib "^2.0.3" - -parse-author@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/parse-author/-/parse-author-2.0.0.tgz#d3460bf1ddd0dfaeed42da754242e65fb684a81f" - integrity sha1-00YL8d3Q367tQtp1QkLmX7aEqB8= - dependencies: - author-regex "^1.0.0" - -parse-json@^2.2.0: - version "2.2.0" - resolved "https://registry.yarnpkg.com/parse-json/-/parse-json-2.2.0.tgz#f480f40434ef80741f8469099f8dea18f55a4dc9" - integrity sha1-9ID0BDTvgHQfhGkJn43qGPVaTck= - dependencies: - error-ex "^1.2.0" - -parse-json@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/parse-json/-/parse-json-4.0.0.tgz#be35f5425be1f7f6c747184f98a788cb99477ee0" - integrity sha1-vjX1Qlvh9/bHRxhPmKeIy5lHfuA= - dependencies: - error-ex "^1.3.1" - json-parse-better-errors "^1.0.1" - -parse-passwd@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/parse-passwd/-/parse-passwd-1.0.0.tgz#6d5b934a456993b23d37f40a382d6f1666a8e5c6" - integrity sha1-bVuTSkVpk7I9N/QKOC1vFmao5cY= - -parseurl@~1.3.2, parseurl@~1.3.3: - version "1.3.3" - resolved "https://registry.yarnpkg.com/parseurl/-/parseurl-1.3.3.tgz#9da19e7bee8d12dff0513ed5b76957793bc2e8d4" - integrity sha512-CiyeOxFT/JZyN5m0z9PfXw4SCBJ6Sygz1Dpl0wqjlhDEGGBP1GnsUVEL0p63hoG1fcj3fHynXi9NYO4nWOL+qQ== - -pascal-case@^3.1.2: - version "3.1.2" - resolved "https://registry.yarnpkg.com/pascal-case/-/pascal-case-3.1.2.tgz#b48e0ef2b98e205e7c1dae747d0b1508237660eb" - integrity sha512-uWlGT3YSnK9x3BQJaOdcZwrnV6hPpd8jFH1/ucpiLRPh/2zCVJKS19E4GvYHvaCcACn3foXZ0cLB9Wrx1KGe5g== - dependencies: - no-case "^3.0.4" - tslib "^2.0.3" - -pascalcase@^0.1.1: - version "0.1.1" - resolved "https://registry.yarnpkg.com/pascalcase/-/pascalcase-0.1.1.tgz#b363e55e8006ca6fe21784d2db22bd15d7917f14" - integrity sha1-s2PlXoAGym/iF4TS2yK9FdeRfxQ= - -path-dirname@^1.0.0: - version "1.0.2" - resolved "https://registry.yarnpkg.com/path-dirname/-/path-dirname-1.0.2.tgz#cc33d24d525e099a5388c0336c6e32b9160609e0" - integrity sha1-zDPSTVJeCZpTiMAzbG4yuRYGCeA= - -path-exists@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/path-exists/-/path-exists-3.0.0.tgz#ce0ebeaa5f78cb18925ea7d810d7b59b010fd515" - integrity sha1-zg6+ql94yxiSXqfYENe1mwEP1RU= - -path-exists@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/path-exists/-/path-exists-4.0.0.tgz#513bdbe2d3b95d7762e8c1137efa195c6c61b5b3" - integrity sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w== - -path-is-absolute@^1.0.0: - version "1.0.1" - resolved "https://registry.yarnpkg.com/path-is-absolute/-/path-is-absolute-1.0.1.tgz#174b9268735534ffbc7ace6bf53a5a9e1b5c5f5f" - integrity sha1-F0uSaHNVNP+8es5r9TpanhtcX18= - -path-is-inside@^1.0.2: - version "1.0.2" - resolved "https://registry.yarnpkg.com/path-is-inside/-/path-is-inside-1.0.2.tgz#365417dede44430d1c11af61027facf074bdfc53" - integrity sha1-NlQX3t5EQw0cEa9hAn+s8HS9/FM= - -path-key@^2.0.0, path-key@^2.0.1: - version "2.0.1" - resolved "https://registry.yarnpkg.com/path-key/-/path-key-2.0.1.tgz#411cadb574c5a140d3a4b1910d40d80cc9f40b40" - integrity sha1-QRyttXTFoUDTpLGRDUDYDMn0C0A= - -path-key@^3.1.0: - version "3.1.1" - resolved "https://registry.yarnpkg.com/path-key/-/path-key-3.1.1.tgz#581f6ade658cbba65a0d3380de7753295054f375" - integrity sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q== - -path-parse@^1.0.7: - version "1.0.7" - resolved "https://registry.yarnpkg.com/path-parse/-/path-parse-1.0.7.tgz#fbc114b60ca42b30d9daf5858e4bd68bbedb6735" - integrity sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw== - -path-to-regexp@0.1.7: - version "0.1.7" - resolved "https://registry.yarnpkg.com/path-to-regexp/-/path-to-regexp-0.1.7.tgz#df604178005f522f15eb4490e7247a1bfaa67f8c" - integrity sha1-32BBeABfUi8V60SQ5yR6G/qmf4w= - -path-type@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/path-type/-/path-type-2.0.0.tgz#f012ccb8415b7096fc2daa1054c3d72389594c73" - integrity sha1-8BLMuEFbcJb8LaoQVMPXI4lZTHM= - dependencies: - pify "^2.0.0" - -pause-stream@0.0.11: - version "0.0.11" - resolved "https://registry.yarnpkg.com/pause-stream/-/pause-stream-0.0.11.tgz#fe5a34b0cbce12b5aa6a2b403ee2e73b602f1445" - integrity sha1-/lo0sMvOErWqaitAPuLnO2AvFEU= - dependencies: - through "~2.3" - -peek-readable@^4.0.1: - version "4.0.2" - resolved "https://registry.yarnpkg.com/peek-readable/-/peek-readable-4.0.2.tgz#a5cb847e347d3eccdc37642c82d2b4155c1ab8af" - integrity sha512-9fMaz6zoxw9ypO1KZy5RDJgSupEtu0Q+g/OqqsVHX3rKGR8qehRLYzsFARZ4bVvdvfknKiXvuDbkMnO1g6cRpQ== - -pend@~1.2.0: - version "1.2.0" - resolved "https://registry.yarnpkg.com/pend/-/pend-1.2.0.tgz#7a57eb550a6783f9115331fcf4663d5c8e007a50" - integrity sha1-elfrVQpng/kRUzH89GY9XI4AelA= - -picocolors@^0.2.1: - version "0.2.1" - resolved "https://registry.yarnpkg.com/picocolors/-/picocolors-0.2.1.tgz#570670f793646851d1ba135996962abad587859f" - integrity sha512-cMlDqaLEqfSaW8Z7N5Jw+lyIW869EzT73/F5lhtY9cLGoVxSXznfgfXMO0Z5K0o0Q2TkTXq+0KFsdnSe3jDViA== - -picocolors@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/picocolors/-/picocolors-1.0.0.tgz#cb5bdc74ff3f51892236eaf79d68bc44564ab81c" - integrity sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ== - -picomatch@^2.0.4, picomatch@^2.2.3: - version "2.3.1" - resolved "https://registry.yarnpkg.com/picomatch/-/picomatch-2.3.1.tgz#3ba3833733646d9d3e4995946c1365a67fb07a42" - integrity sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA== - -pify@^2.0.0: - version "2.3.0" - resolved "https://registry.yarnpkg.com/pify/-/pify-2.3.0.tgz#ed141a6ac043a849ea588498e7dca8b15330e90c" - integrity sha1-7RQaasBDqEnqWISY59yosVMw6Qw= - -pify@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/pify/-/pify-3.0.0.tgz#e5a4acd2c101fdf3d9a4d07f0dbc4db49dd28176" - integrity sha1-5aSs0sEB/fPZpNB/DbxNtJ3SgXY= - -pify@^4.0.1: - version "4.0.1" - resolved "https://registry.yarnpkg.com/pify/-/pify-4.0.1.tgz#4b2cd25c50d598735c50292224fd8c6df41e3231" - integrity sha512-uB80kBFb/tfd68bVleG9T5GGsGPjJrLAUpR5PZIrhBnIaRTQRjqdJSsIKkOP6OAIFbj7GOrcudc5pNjZ+geV2g== - -pinkie-promise@^2.0.0: - version "2.0.1" - resolved "https://registry.yarnpkg.com/pinkie-promise/-/pinkie-promise-2.0.1.tgz#2135d6dfa7a358c069ac9b178776288228450ffa" - integrity sha1-ITXW36ejWMBprJsXh3YogihFD/o= - dependencies: - pinkie "^2.0.0" - -pinkie@^2.0.0: - version "2.0.4" - resolved "https://registry.yarnpkg.com/pinkie/-/pinkie-2.0.4.tgz#72556b80cfa0d48a974e80e77248e80ed4f7f870" - integrity sha1-clVrgM+g1IqXToDnckjoDtT3+HA= - -pirates@^4.0.1: - version "4.0.5" - resolved "https://registry.yarnpkg.com/pirates/-/pirates-4.0.5.tgz#feec352ea5c3268fb23a37c702ab1699f35a5f3b" - integrity sha512-8V9+HQPupnaXMA23c5hvl69zXvTwTzyAYasnkb0Tts4XvO4CliqONMOnvlq26rkhLC3nWDFBJf73LU1e1VZLaQ== - -pixelmatch@^5.2.1: - version "5.2.1" - resolved "https://registry.yarnpkg.com/pixelmatch/-/pixelmatch-5.2.1.tgz#9e4e4f4aa59648208a31310306a5bed5522b0d65" - integrity sha512-WjcAdYSnKrrdDdqTcVEY7aB7UhhwjYQKYhHiBXdJef0MOaQeYpUdQ+iVyBLa5YBKS8MPVPPMX7rpOByISLpeEQ== - dependencies: - pngjs "^4.0.1" - -pkg-dir@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/pkg-dir/-/pkg-dir-3.0.0.tgz#2749020f239ed990881b1f71210d51eb6523bea3" - integrity sha512-/E57AYkoeQ25qkxMj5PBOVgF8Kiu/h7cYS30Z5+R7WaiCCBfLq58ZI/dSeaEKb9WVJV5n/03QwrN3IeWIFllvw== - dependencies: - find-up "^3.0.0" - -pkg-dir@^4.1.0: - version "4.2.0" - resolved "https://registry.yarnpkg.com/pkg-dir/-/pkg-dir-4.2.0.tgz#f099133df7ede422e81d1d8448270eeb3e4261f3" - integrity sha512-HRDzbaKjC+AOWVXxAU/x54COGeIv9eb+6CkDSQoNTt4XyWoIJvuPsXizxu/Fr23EiekbtZwmh1IcIG/l/a10GQ== - dependencies: - find-up "^4.0.0" - -pkg-up@^3.1.0: - version "3.1.0" - resolved "https://registry.yarnpkg.com/pkg-up/-/pkg-up-3.1.0.tgz#100ec235cc150e4fd42519412596a28512a0def5" - integrity sha512-nDywThFk1i4BQK4twPQ6TA4RT8bDY96yeuCVBWL3ePARCiEKDRSrNGbFIgUJpLp+XeIR65v8ra7WuJOFUBtkMA== - dependencies: - find-up "^3.0.0" - -playwright-core@=1.18.1: - version "1.18.1" - resolved "https://registry.yarnpkg.com/playwright-core/-/playwright-core-1.18.1.tgz#a5cf3f212d10692382e2acd1f7bc8c9ff9bbb849" - integrity sha512-NALGl8R1GHzGLlhUApmpmfh6M1rrrPcDTygWvhTbprxwGB9qd/j9DRwyn4HTQcUB6o0/VOpo46fH9ez3+D/Rog== - dependencies: - commander "^8.2.0" - debug "^4.1.1" - extract-zip "^2.0.1" - https-proxy-agent "^5.0.0" - jpeg-js "^0.4.2" - mime "^2.4.6" - pngjs "^5.0.0" - progress "^2.0.3" - proper-lockfile "^4.1.1" - proxy-from-env "^1.1.0" - rimraf "^3.0.2" - socks-proxy-agent "^6.1.0" - stack-utils "^2.0.3" - ws "^7.4.6" - yauzl "^2.10.0" - yazl "^2.5.1" - -playwright@^1.18.1: - version "1.18.1" - resolved "https://registry.yarnpkg.com/playwright/-/playwright-1.18.1.tgz#45c2ca6ee25c44e336985de9b51955727b5f17cf" - integrity sha512-8EaX9EtbtAoMq5tnzIsoA3b/V86V/6Mq2skuOU4qEw+5OVxs1lwesDwmjy/RVU1Qfx5UuwSQzhp45wyH22oa+A== - dependencies: - playwright-core "=1.18.1" - -plist@^3.0.0, plist@^3.0.1, plist@^3.0.4: - version "3.0.4" - resolved "https://registry.yarnpkg.com/plist/-/plist-3.0.4.tgz#a62df837e3aed2bb3b735899d510c4f186019cbe" - integrity sha512-ksrr8y9+nXOxQB2osVNqrgvX/XQPOXaU4BQMKjYq8PvaY1U18mo+fKgBSwzK+luSyinOuPae956lSVcBwxlAMg== - dependencies: - base64-js "^1.5.1" - xmlbuilder "^9.0.7" - -pngjs@^4.0.1: - version "4.0.1" - resolved "https://registry.yarnpkg.com/pngjs/-/pngjs-4.0.1.tgz#f803869bb2fc1bfe1bf99aa4ec21c108117cfdbe" - integrity sha512-rf5+2/ioHeQxR6IxuYNYGFytUyG3lma/WW1nsmjeHlWwtb2aByla6dkVc8pmJ9nplzkTA0q2xx7mMWrOTqT4Gg== - -pngjs@^5.0.0: - version "5.0.0" - resolved "https://registry.yarnpkg.com/pngjs/-/pngjs-5.0.0.tgz#e79dd2b215767fd9c04561c01236df960bce7fbb" - integrity sha512-40QW5YalBNfQo5yRYmiw7Yz6TKKVr3h6970B2YE+3fQpsWcrbj1PzJgxeJ19DRQjhMbKPIuMY8rFaXc8moolVw== - -portfinder@^1.0.26: - version "1.0.28" - resolved "https://registry.yarnpkg.com/portfinder/-/portfinder-1.0.28.tgz#67c4622852bd5374dd1dd900f779f53462fac778" - integrity sha512-Se+2isanIcEqf2XMHjyUKskczxbPH7dQnlMjXX6+dybayyHvAf/TCgyMRlzf/B6QDhAEFOGes0pzRo3by4AbMA== - dependencies: - async "^2.6.2" - debug "^3.1.1" - mkdirp "^0.5.5" - -posix-character-classes@^0.1.0: - version "0.1.1" - resolved "https://registry.yarnpkg.com/posix-character-classes/-/posix-character-classes-0.1.1.tgz#01eac0fe3b5af71a2a6c02feabb8c1fef7e00eab" - integrity sha1-AerA/jta9xoqbAL+q7jB/vfgDqs= - -postcss-modules-extract-imports@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/postcss-modules-extract-imports/-/postcss-modules-extract-imports-2.0.0.tgz#818719a1ae1da325f9832446b01136eeb493cd7e" - integrity sha512-LaYLDNS4SG8Q5WAWqIJgdHPJrDDr/Lv775rMBFUbgjTz6j34lUznACHcdRWroPvXANP2Vj7yNK57vp9eFqzLWQ== - dependencies: - postcss "^7.0.5" - -postcss-modules-local-by-default@^3.0.2: - version "3.0.3" - resolved "https://registry.yarnpkg.com/postcss-modules-local-by-default/-/postcss-modules-local-by-default-3.0.3.tgz#bb14e0cc78279d504dbdcbfd7e0ca28993ffbbb0" - integrity sha512-e3xDq+LotiGesympRlKNgaJ0PCzoUIdpH0dj47iWAui/kyTgh3CiAr1qP54uodmJhl6p9rN6BoNcdEDVJx9RDw== - dependencies: - icss-utils "^4.1.1" - postcss "^7.0.32" - postcss-selector-parser "^6.0.2" - postcss-value-parser "^4.1.0" - -postcss-modules-scope@^2.2.0: - version "2.2.0" - resolved "https://registry.yarnpkg.com/postcss-modules-scope/-/postcss-modules-scope-2.2.0.tgz#385cae013cc7743f5a7d7602d1073a89eaae62ee" - integrity sha512-YyEgsTMRpNd+HmyC7H/mh3y+MeFWevy7V1evVhJWewmMbjDHIbZbOXICC2y+m1xI1UVfIT1HMW/O04Hxyu9oXQ== - dependencies: - postcss "^7.0.6" - postcss-selector-parser "^6.0.0" - -postcss-modules-values@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/postcss-modules-values/-/postcss-modules-values-3.0.0.tgz#5b5000d6ebae29b4255301b4a3a54574423e7f10" - integrity sha512-1//E5jCBrZ9DmRX+zCtmQtRSV6PV42Ix7Bzj9GbwJceduuf7IqP8MgeTXuRDHOWj2m0VzZD5+roFWDuU8RQjcg== - dependencies: - icss-utils "^4.0.0" - postcss "^7.0.6" - -postcss-selector-parser@^6.0.0, postcss-selector-parser@^6.0.2: - version "6.0.9" - resolved "https://registry.yarnpkg.com/postcss-selector-parser/-/postcss-selector-parser-6.0.9.tgz#ee71c3b9ff63d9cd130838876c13a2ec1a992b2f" - integrity sha512-UO3SgnZOVTwu4kyLR22UQ1xZh086RyNZppb7lLAKBFK8a32ttG5i87Y/P3+2bRSjZNyJ1B7hfFNo273tKe9YxQ== - dependencies: - cssesc "^3.0.0" - util-deprecate "^1.0.2" - -postcss-value-parser@^4.1.0: - version "4.2.0" - resolved "https://registry.yarnpkg.com/postcss-value-parser/-/postcss-value-parser-4.2.0.tgz#723c09920836ba6d3e5af019f92bc0971c02e514" - integrity sha512-1NNCs6uurfkVbeXG4S8JFT9t19m45ICnif8zWLd5oPSZ50QnwMfK+H3jv408d4jw/7Bttv5axS5IiHoLaVNHeQ== - -postcss@^7.0.14, postcss@^7.0.32, postcss@^7.0.5, postcss@^7.0.6: - version "7.0.39" - resolved "https://registry.yarnpkg.com/postcss/-/postcss-7.0.39.tgz#9624375d965630e2e1f2c02a935c82a59cb48309" - integrity sha512-yioayjNbHn6z1/Bywyb2Y4s3yvDAeXGOyxqD+LnVOinq6Mdmd++SW2wUNVzavyyHxd6+DxzWGIuosg6P1Rj8uA== - dependencies: - picocolors "^0.2.1" - source-map "^0.6.1" - -prepend-http@^1.0.0: - version "1.0.4" - resolved "https://registry.yarnpkg.com/prepend-http/-/prepend-http-1.0.4.tgz#d4f4562b0ce3696e41ac52d0e002e57a635dc6dc" - integrity sha1-1PRWKwzjaW5BrFLQ4ALlemNdxtw= - -prepend-http@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/prepend-http/-/prepend-http-2.0.0.tgz#e92434bfa5ea8c19f41cdfd401d741a3c819d897" - integrity sha1-6SQ0v6XqjBn0HN/UAddBo8gZ2Jc= - -pretty-error@^2.1.1: - version "2.1.2" - resolved "https://registry.yarnpkg.com/pretty-error/-/pretty-error-2.1.2.tgz#be89f82d81b1c86ec8fdfbc385045882727f93b6" - integrity sha512-EY5oDzmsX5wvuynAByrmY0P0hcp+QpnAKbJng2A2MPjVKXCxrDSUkzghVJ4ZGPIv+JC4gX8fPUWscC0RtjsWGw== - dependencies: - lodash "^4.17.20" - renderkid "^2.0.4" - -pretty-format@^27.2.5, pretty-format@^27.4.6: - version "27.4.6" - resolved "https://registry.yarnpkg.com/pretty-format/-/pretty-format-27.4.6.tgz#1b784d2f53c68db31797b2348fa39b49e31846b7" - integrity sha512-NblstegA1y/RJW2VyML+3LlpFjzx62cUrtBIKIWDXEDkjNeleA7Od7nrzcs/VLQvAeV4CgSYhrN39DRN88Qi/g== - dependencies: - ansi-regex "^5.0.1" - ansi-styles "^5.0.0" - react-is "^17.0.1" - -process-nextick-args@~2.0.0: - version "2.0.1" - resolved "https://registry.yarnpkg.com/process-nextick-args/-/process-nextick-args-2.0.1.tgz#7820d9b16120cc55ca9ae7792680ae7dba6d7fe2" - integrity sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag== - -progress@^2.0.3: - version "2.0.3" - resolved "https://registry.yarnpkg.com/progress/-/progress-2.0.3.tgz#7e8cf8d8f5b8f239c1bc68beb4eb78567d572ef8" - integrity sha512-7PiHtLll5LdnKIMw100I+8xJXR5gW2QwWYkT6iJva0bXitZKa/XMrSbdmg3r2Xnaidz9Qumd0VPaMrZlF9V9sA== - -promise-inflight@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/promise-inflight/-/promise-inflight-1.0.1.tgz#98472870bf228132fcbdd868129bad12c3c029e3" - integrity sha1-mEcocL8igTL8vdhoEputEsPAKeM= - -promise-retry@^2.0.1: - version "2.0.1" - resolved "https://registry.yarnpkg.com/promise-retry/-/promise-retry-2.0.1.tgz#ff747a13620ab57ba688f5fc67855410c370da22" - integrity sha512-y+WKFlBR8BGXnsNlIHFGPZmyDf3DFMoLhaflAnyZgV6rG6xu+JwesTo2Q9R6XwYmtmwAFCkAk3e35jEdoeh/3g== - dependencies: - err-code "^2.0.2" - retry "^0.12.0" - -proper-lockfile@^4.1.1: - version "4.1.2" - resolved "https://registry.yarnpkg.com/proper-lockfile/-/proper-lockfile-4.1.2.tgz#c8b9de2af6b2f1601067f98e01ac66baa223141f" - integrity sha512-TjNPblN4BwAWMXU8s9AEz4JmQxnD1NNL7bNOY/AKUzyamc379FWASUhc/K1pL2noVb+XmZKLL68cjzLsiOAMaA== - dependencies: - graceful-fs "^4.2.4" - retry "^0.12.0" - signal-exit "^3.0.2" - -proto-list@~1.2.1: - version "1.2.4" - resolved "https://registry.yarnpkg.com/proto-list/-/proto-list-1.2.4.tgz#212d5bfe1318306a420f6402b8e26ff39647a849" - integrity sha1-IS1b/hMYMGpCD2QCuOJv85ZHqEk= - -proxy-addr@~2.0.7: - version "2.0.7" - resolved "https://registry.yarnpkg.com/proxy-addr/-/proxy-addr-2.0.7.tgz#f19fe69ceab311eeb94b42e70e8c2070f9ba1025" - integrity sha512-llQsMLSUDUPT44jdrU/O37qlnifitDP+ZwrmmZcoSKyLKvtZxpyV0n2/bD/N4tBAAZ/gJEdZU7KMraoK1+XYAg== - dependencies: - forwarded "0.2.0" - ipaddr.js "1.9.1" - -proxy-from-env@^1.1.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/proxy-from-env/-/proxy-from-env-1.1.0.tgz#e102f16ca355424865755d2c9e8ea4f24d58c3e2" - integrity sha512-D+zkORCbA9f1tdWRK0RaCR3GPv50cMxcrz4X8k5LTSUD1Dkw47mKJEZQNunItRTkWwgtaUSo1RVFRIG9ZXiFYg== - -prr@~1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/prr/-/prr-1.0.1.tgz#d3fc114ba06995a45ec6893f484ceb1d78f5f476" - integrity sha1-0/wRS6BplaRexok/SEzrHXj19HY= - -pump@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/pump/-/pump-3.0.0.tgz#b4a2116815bde2f4e1ea602354e8c75565107a64" - integrity sha512-LwZy+p3SFs1Pytd/jYct4wpv49HiYCqd9Rlc5ZVdk0V+8Yzv6jR5Blk3TRmPL1ft69TxP0IMZGJ+WPFU2BFhww== - dependencies: - end-of-stream "^1.1.0" - once "^1.3.1" - -punycode@1.3.2: - version "1.3.2" - resolved "https://registry.yarnpkg.com/punycode/-/punycode-1.3.2.tgz#9653a036fb7c1ee42342f2325cceefea3926c48d" - integrity sha1-llOgNvt8HuQjQvIyXM7v6jkmxI0= - -punycode@^2.1.0: - version "2.1.1" - resolved "https://registry.yarnpkg.com/punycode/-/punycode-2.1.1.tgz#b58b010ac40c22c5657616c8d2c2c02c7bf479ec" - integrity sha512-XRsRjdf+j5ml+y/6GKHPZbrF/8p2Yga0JPtdqTIY2Xe5ohJPD9saDJJLPvp9+NSBprVvevdXZybnj2cv8OEd0A== - -pupa@^2.1.1: - version "2.1.1" - resolved "https://registry.yarnpkg.com/pupa/-/pupa-2.1.1.tgz#f5e8fd4afc2c5d97828faa523549ed8744a20d62" - integrity sha512-l1jNAspIBSFqbT+y+5FosojNpVpF94nlI+wDUpqP9enwOTfHx9f0gh5nB96vl+6yTpsJsypeNrwfzPrKuHB41A== - dependencies: - escape-goat "^2.0.0" - -qap@^3.1.2: - version "3.3.1" - resolved "https://registry.yarnpkg.com/qap/-/qap-3.3.1.tgz#11f9e8fa8890fe7cb99210c0f44d0613b7372cac" - integrity sha1-Efno+oiQ/ny5khDA9E0GE7c3LKw= - -qrcode-terminal@^0.12.0: - version "0.12.0" - resolved "https://registry.yarnpkg.com/qrcode-terminal/-/qrcode-terminal-0.12.0.tgz#bb5b699ef7f9f0505092a3748be4464fe71b5819" - integrity sha512-EXtzRZmC+YGmGlDFbXKxQiMZNwCLEO6BANKXG4iCtSIM0yqc/pappSx3RIKr4r0uh5JsBckOXeKrB3Iz7mdQpQ== - -qrcode@^1.5.0: - version "1.5.0" - resolved "https://registry.yarnpkg.com/qrcode/-/qrcode-1.5.0.tgz#95abb8a91fdafd86f8190f2836abbfc500c72d1b" - integrity sha512-9MgRpgVc+/+47dFvQeD6U2s0Z92EsKzcHogtum4QB+UNd025WOJSHvn/hjk9xmzj7Stj95CyUAs31mrjxliEsQ== - dependencies: - dijkstrajs "^1.0.1" - encode-utf8 "^1.0.3" - pngjs "^5.0.0" - yargs "^15.3.1" - -qs@6.9.6: - version "6.9.6" - resolved "https://registry.yarnpkg.com/qs/-/qs-6.9.6.tgz#26ed3c8243a431b2924aca84cc90471f35d5a0ee" - integrity sha512-TIRk4aqYLNoJUbd+g2lEdz5kLWIuTMRagAXxl78Q0RiVjAOugHmeKNGdd3cwo/ktpf9aL9epCfFqWDEKysUlLQ== - -query-string@^4.1.0: - version "4.3.4" - resolved "https://registry.yarnpkg.com/query-string/-/query-string-4.3.4.tgz#bbb693b9ca915c232515b228b1a02b609043dbeb" - integrity sha1-u7aTucqRXCMlFbIosaArYJBD2+s= - dependencies: - object-assign "^4.1.0" - strict-uri-encode "^1.0.0" - -querystring@0.2.0: - version "0.2.0" - resolved "https://registry.yarnpkg.com/querystring/-/querystring-0.2.0.tgz#b209849203bb25df820da756e747005878521620" - integrity sha1-sgmEkgO7Jd+CDadW50cAWHhSFiA= - -querystringify@^2.1.1: - version "2.2.0" - resolved "https://registry.yarnpkg.com/querystringify/-/querystringify-2.2.0.tgz#3345941b4153cb9d082d8eee4cda2016a9aef7f6" - integrity sha512-FIqgj2EUvTa7R50u0rGsyTftzjYmv/a3hO345bZNrqabNqjtgiDMgmo4mkUjd+nzU5oF3dClKqFIPUKybUyqoQ== - -quick-lru@^5.1.1: - version "5.1.1" - resolved "https://registry.yarnpkg.com/quick-lru/-/quick-lru-5.1.1.tgz#366493e6b3e42a3a6885e2e99d18f80fb7a8c932" - integrity sha512-WuyALRjWPDGtt/wzJiadO5AXY+8hZ80hVpe6MyivgraREW751X3SbhRvG3eLKOYN+8VEvqLcf3wdnt44Z4S4SA== - -randombytes@^2.1.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/randombytes/-/randombytes-2.1.0.tgz#df6f84372f0270dc65cdf6291349ab7a473d4f2a" - integrity sha512-vYl3iOX+4CKUWuxGi9Ukhie6fsqXqS9FE2Zaic4tNFD2N2QQaXOMFbuKK4QmDHC0JO6B1Zp41J0LpT0oR68amQ== - dependencies: - safe-buffer "^5.1.0" - -range-parser@^1.2.1, range-parser@~1.2.1: - version "1.2.1" - resolved "https://registry.yarnpkg.com/range-parser/-/range-parser-1.2.1.tgz#3cf37023d199e1c24d1a55b84800c2f3e6468031" - integrity sha512-Hrgsx+orqoygnmhFbKaHE6c296J+HTAQXoxEF6gNupROmmGJRoyzfG3ccAveqCBrwr/2yxQ5BVd/GTl5agOwSg== - -raw-body@2.4.2: - version "2.4.2" - resolved "https://registry.yarnpkg.com/raw-body/-/raw-body-2.4.2.tgz#baf3e9c21eebced59dd6533ac872b71f7b61cb32" - integrity sha512-RPMAFUJP19WIet/99ngh6Iv8fzAbqum4Li7AD6DtGaW2RpMB/11xDoalPiJMTbu6I3hkbMVkATvZrqb9EEqeeQ== - dependencies: - bytes "3.1.1" - http-errors "1.8.1" - iconv-lite "0.4.24" - unpipe "1.0.0" - -rc@^1.2.8: - version "1.2.8" - resolved "https://registry.yarnpkg.com/rc/-/rc-1.2.8.tgz#cd924bf5200a075b83c188cd6b9e211b7fc0d3ed" - integrity sha512-y3bGgqKj3QBdxLbLkomlohkvsA8gdAiUQlSBJnBhfn+BPxg4bc62d8TcBW15wavDfgexCgccckhcZvywyQYPOw== - dependencies: - deep-extend "^0.6.0" - ini "~1.3.0" - minimist "^1.2.0" - strip-json-comments "~2.0.1" - -rcedit@^3.0.1: - version "3.0.1" - resolved "https://registry.yarnpkg.com/rcedit/-/rcedit-3.0.1.tgz#ae21b43e49c075f4d84df1929832a12c302f3c90" - integrity sha512-XM0Jv40/y4hVAqj/MO70o/IWs4uOsaSoo2mLyk3klFDW+SStLnCtzuQu+1OBTIMGlM8CvaK9ftlYCp6DJ+cMsw== - dependencies: - cross-spawn-windows-exe "^1.1.0" - -react-dom@^17.0.2: - version "17.0.2" - resolved "https://registry.yarnpkg.com/react-dom/-/react-dom-17.0.2.tgz#ecffb6845e3ad8dbfcdc498f0d0a939736502c23" - integrity sha512-s4h96KtLDUQlsENhMn1ar8t2bEa+q/YAtj8pPPdIjPDGBDIVNsrD9aXNWqspUe6AzKCIG0C1HZZLqLV7qpOBGA== - dependencies: - loose-envify "^1.1.0" - object-assign "^4.1.1" - scheduler "^0.20.2" - -react-is@^17.0.1: - version "17.0.2" - resolved "https://registry.yarnpkg.com/react-is/-/react-is-17.0.2.tgz#e691d4a8e9c789365655539ab372762b0efb54f0" - integrity sha512-w2GsyukL62IJnlaff/nRegPQR94C/XXamvMWmSHRJ4y7Ts/4ocGRmTHvOs8PSE6pB3dWOrD/nueuU5sduBsQ4w== - -react@^17.0.2: - version "17.0.2" - resolved "https://registry.yarnpkg.com/react/-/react-17.0.2.tgz#d0b5cc516d29eb3eee383f75b62864cfb6800037" - integrity sha512-gnhPt75i/dq/z3/6q/0asP78D0u592D5L1pd7M8P+dck6Fu/jJeL6iVVK23fptSUZj8Vjf++7wXA8UNclGQcbA== - dependencies: - loose-envify "^1.1.0" - object-assign "^4.1.1" - -read-config-file@6.2.0: - version "6.2.0" - resolved "https://registry.yarnpkg.com/read-config-file/-/read-config-file-6.2.0.tgz#71536072330bcd62ba814f91458b12add9fc7ade" - integrity sha512-gx7Pgr5I56JtYz+WuqEbQHj/xWo+5Vwua2jhb1VwM4Wid5PqYmZ4i00ZB0YEGIfkVBsCv9UrjgyqCiQfS/Oosg== - dependencies: - dotenv "^9.0.2" - dotenv-expand "^5.1.0" - js-yaml "^4.1.0" - json5 "^2.2.0" - lazy-val "^1.0.4" - -read-config-file@~4.0.1: - version "4.0.1" - resolved "https://registry.yarnpkg.com/read-config-file/-/read-config-file-4.0.1.tgz#ece5f6b1a5e6a46d0d93fdd0339f2f60ab892776" - integrity sha512-5caED3uo2IAZMPcbh/9hx/O29s2430RLxtnFDdzxpH/epEpawOrQnGBHueotIXUrGPPIgdNQN+S/CIp2WmiSfw== - dependencies: - ajv "^6.10.1" - ajv-keywords "^3.4.1" - dotenv "^8.0.0" - dotenv-expand "^5.1.0" - fs-extra "^8.1.0" - js-yaml "^3.13.1" - json5 "^2.1.0" - lazy-val "^1.0.4" - -read-pkg-up@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/read-pkg-up/-/read-pkg-up-2.0.0.tgz#6b72a8048984e0c41e79510fd5e9fa99b3b549be" - integrity sha1-a3KoBImE4MQeeVEP1en6mbO1Sb4= - dependencies: - find-up "^2.0.0" - read-pkg "^2.0.0" - -read-pkg@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/read-pkg/-/read-pkg-2.0.0.tgz#8ef1c0623c6a6db0dc6713c4bfac46332b2368f8" - integrity sha1-jvHAYjxqbbDcZxPEv6xGMysjaPg= - dependencies: - load-json-file "^2.0.0" - normalize-package-data "^2.3.2" - path-type "^2.0.0" - -"readable-stream@1 || 2", readable-stream@^2.0.1, readable-stream@^2.0.2, readable-stream@^2.2.2: - version "2.3.7" - resolved "https://registry.yarnpkg.com/readable-stream/-/readable-stream-2.3.7.tgz#1eca1cf711aef814c04f62252a36a62f6cb23b57" - integrity sha512-Ebho8K4jIbHAxnuxi7o42OrZgF/ZTNcsZj6nRKyUmkhLFq8CHItp/fy6hQZuZmP/n3yZ9VBUbp4zz/mX8hmYPw== - 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" - -readable-stream@^3.0.6, readable-stream@^3.6.0: - version "3.6.0" - resolved "https://registry.yarnpkg.com/readable-stream/-/readable-stream-3.6.0.tgz#337bbda3adc0706bd3e024426a286d4b4b2c9198" - integrity sha512-BViHy7LKeTz4oNnkcLJ+lVSL6vpiFeX6/d3oSH8zCW7UxP2onchk+vTGB143xuFjHS3deTgkKoXXymXqymiIdA== - dependencies: - inherits "^2.0.3" - string_decoder "^1.1.1" - util-deprecate "^1.0.1" - -readable-web-to-node-stream@^3.0.0: - version "3.0.2" - resolved "https://registry.yarnpkg.com/readable-web-to-node-stream/-/readable-web-to-node-stream-3.0.2.tgz#5d52bb5df7b54861fd48d015e93a2cb87b3ee0bb" - integrity sha512-ePeK6cc1EcKLEhJFt/AebMCLL+GgSKhuygrZ/GLaKZYEecIgIECf4UaUuaByiGtzckwR4ain9VzUh95T1exYGw== - dependencies: - readable-stream "^3.6.0" - -readdirp@^2.2.1: - version "2.2.1" - resolved "https://registry.yarnpkg.com/readdirp/-/readdirp-2.2.1.tgz#0e87622a3325aa33e892285caf8b4e846529a525" - integrity sha512-1JU/8q+VgFZyxwrJ+SVIOsh+KywWGpds3NTqikiKpDMZWScmAYyKIgqkO+ARvNWJfXeXR1zxz7aHF4u4CyH6vQ== - dependencies: - graceful-fs "^4.1.11" - micromatch "^3.1.10" - readable-stream "^2.0.2" - -regenerate-unicode-properties@^10.0.1: - version "10.0.1" - resolved "https://registry.yarnpkg.com/regenerate-unicode-properties/-/regenerate-unicode-properties-10.0.1.tgz#7f442732aa7934a3740c779bb9b3340dccc1fb56" - integrity sha512-vn5DU6yg6h8hP/2OkQo3K7uVILvY4iu0oI4t3HFa81UPkhGJwkRwM10JEc3upjdhHjs/k8GJY1sRBhk5sr69Bw== - dependencies: - regenerate "^1.4.2" - -regenerate@^1.4.2: - version "1.4.2" - resolved "https://registry.yarnpkg.com/regenerate/-/regenerate-1.4.2.tgz#b9346d8827e8f5a32f7ba29637d398b69014848a" - integrity sha512-zrceR/XhGYU/d/opr2EKO7aRHUeiBI8qjtfHqADTwZd6Szfy16la6kqD0MIUs5z5hx6AaKa+PixpPrR289+I0A== - -regenerator-runtime@^0.13.4: - version "0.13.9" - resolved "https://registry.yarnpkg.com/regenerator-runtime/-/regenerator-runtime-0.13.9.tgz#8925742a98ffd90814988d7566ad30ca3b263b52" - integrity sha512-p3VT+cOEgxFsRRA9X4lkI1E+k2/CtnKtU4gcxyaCUreilL/vqI6CdZ3wxVUx3UOUg+gnUOQQcRI7BmSI656MYA== - -regenerator-transform@^0.14.2: - version "0.14.5" - resolved "https://registry.yarnpkg.com/regenerator-transform/-/regenerator-transform-0.14.5.tgz#c98da154683671c9c4dcb16ece736517e1b7feb4" - integrity sha512-eOf6vka5IO151Jfsw2NO9WpGX58W6wWmefK3I1zEGr0lOD0u8rwPaNqQL1aRxUaxLeKO3ArNh3VYg1KbaD+FFw== - dependencies: - "@babel/runtime" "^7.8.4" - -regex-not@^1.0.0, regex-not@^1.0.2: - version "1.0.2" - resolved "https://registry.yarnpkg.com/regex-not/-/regex-not-1.0.2.tgz#1f4ece27e00b0b65e0247a6810e6a85d83a5752c" - integrity sha512-J6SDjUgDxQj5NusnOtdFxDwN/+HWykR8GELwctJ7mdqhcyy1xEc4SRFHUXvxTp661YaVKAjfRLZ9cCqS6tn32A== - dependencies: - extend-shallow "^3.0.2" - safe-regex "^1.1.0" - -regexp.prototype.flags@^1.2.0: - version "1.4.1" - resolved "https://registry.yarnpkg.com/regexp.prototype.flags/-/regexp.prototype.flags-1.4.1.tgz#b3f4c0059af9e47eca9f3f660e51d81307e72307" - integrity sha512-pMR7hBVUUGI7PMA37m2ofIdQCsomVnas+Jn5UPGAHQ+/LlwKm/aTLJHdasmHRzlfeZwHiAOaRSo2rbBDm3nNUQ== - dependencies: - call-bind "^1.0.2" - define-properties "^1.1.3" - -regexpu-core@^5.0.1: - version "5.0.1" - resolved "https://registry.yarnpkg.com/regexpu-core/-/regexpu-core-5.0.1.tgz#c531122a7840de743dcf9c83e923b5560323ced3" - integrity sha512-CriEZlrKK9VJw/xQGJpQM5rY88BtuL8DM+AEwvcThHilbxiTAy8vq4iJnd2tqq8wLmjbGZzP7ZcKFjbGkmEFrw== - dependencies: - regenerate "^1.4.2" - regenerate-unicode-properties "^10.0.1" - regjsgen "^0.6.0" - regjsparser "^0.8.2" - unicode-match-property-ecmascript "^2.0.0" - unicode-match-property-value-ecmascript "^2.0.0" - -"register-scheme@github:devsnek/node-register-scheme": - version "0.0.2" - resolved "https://codeload.github.com/devsnek/node-register-scheme/tar.gz/e7cc9a63a1f512565da44cb57316d9fb10750e17" - dependencies: - bindings "^1.3.0" - node-addon-api "^1.3.0" - -registry-auth-token@^4.0.0: - version "4.2.1" - resolved "https://registry.yarnpkg.com/registry-auth-token/-/registry-auth-token-4.2.1.tgz#6d7b4006441918972ccd5fedcd41dc322c79b250" - integrity sha512-6gkSb4U6aWJB4SF2ZvLb76yCBjcvufXBqvvEx1HbmKPkutswjW1xNVRY0+daljIYRbogN7O0etYSlbiaEQyMyw== - dependencies: - rc "^1.2.8" - -registry-url@^5.0.0: - version "5.1.0" - resolved "https://registry.yarnpkg.com/registry-url/-/registry-url-5.1.0.tgz#e98334b50d5434b81136b44ec638d9c2009c5009" - integrity sha512-8acYXXTI0AkQv6RAOjE3vOaIXZkT9wo4LOFbBKYQEEnnMNBpKqdUrI6S4NT0KPIo/WVvJ5tE/X5LF/TQUf0ekw== - dependencies: - rc "^1.2.8" - -regjsgen@^0.6.0: - version "0.6.0" - resolved "https://registry.yarnpkg.com/regjsgen/-/regjsgen-0.6.0.tgz#83414c5354afd7d6627b16af5f10f41c4e71808d" - integrity sha512-ozE883Uigtqj3bx7OhL1KNbCzGyW2NQZPl6Hs09WTvCuZD5sTI4JY58bkbQWa/Y9hxIsvJ3M8Nbf7j54IqeZbA== - -regjsparser@^0.8.2: - version "0.8.4" - resolved "https://registry.yarnpkg.com/regjsparser/-/regjsparser-0.8.4.tgz#8a14285ffcc5de78c5b95d62bbf413b6bc132d5f" - integrity sha512-J3LABycON/VNEu3abOviqGHuB/LOtOQj8SKmfP9anY5GfAVw/SPjwzSjxGjbZXIxbGfqTHtJw58C2Li/WkStmA== - dependencies: - jsesc "~0.5.0" - -relateurl@^0.2.7: - version "0.2.7" - resolved "https://registry.yarnpkg.com/relateurl/-/relateurl-0.2.7.tgz#54dbf377e51440aca90a4cd274600d3ff2d888a9" - integrity sha1-VNvzd+UUQKypCkzSdGANP/LYiKk= - -remove-trailing-separator@^1.0.1: - version "1.1.0" - resolved "https://registry.yarnpkg.com/remove-trailing-separator/-/remove-trailing-separator-1.1.0.tgz#c24bce2a283adad5bc3f58e0d48249b92379d8ef" - integrity sha1-wkvOKig62tW8P1jg1IJJuSN52O8= - -renderkid@^2.0.4: - version "2.0.7" - resolved "https://registry.yarnpkg.com/renderkid/-/renderkid-2.0.7.tgz#464f276a6bdcee606f4a15993f9b29fc74ca8609" - integrity sha512-oCcFyxaMrKsKcTY59qnCAtmDVSLfPbrv6A3tVbPdFMMrv5jaK10V6m40cKsoPNhAqN6rmHW9sswW4o3ruSrwUQ== - dependencies: - css-select "^4.1.3" - dom-converter "^0.2.0" - htmlparser2 "^6.1.0" - lodash "^4.17.21" - strip-ansi "^3.0.1" - -repeat-element@^1.1.2: - version "1.1.4" - resolved "https://registry.yarnpkg.com/repeat-element/-/repeat-element-1.1.4.tgz#be681520847ab58c7568ac75fbfad28ed42d39e9" - integrity sha512-LFiNfRcSu7KK3evMyYOuCzv3L10TW7yC1G2/+StMjK8Y6Vqd2MG7r/Qjw4ghtuCOjFvlnms/iMmLqpvW/ES/WQ== - -repeat-string@^1.6.1: - version "1.6.1" - resolved "https://registry.yarnpkg.com/repeat-string/-/repeat-string-1.6.1.tgz#8dcae470e1c88abc2d600fff4a776286da75e637" - integrity sha1-jcrkcOHIirwtYA//Sndihtp15jc= - -require-directory@^2.1.1: - version "2.1.1" - resolved "https://registry.yarnpkg.com/require-directory/-/require-directory-2.1.1.tgz#8c64ad5fd30dab1c976e2344ffe7f792a6a6df42" - integrity sha1-jGStX9MNqxyXbiNE/+f3kqam30I= - -require-from-string@^2.0.2: - version "2.0.2" - resolved "https://registry.yarnpkg.com/require-from-string/-/require-from-string-2.0.2.tgz#89a7fdd938261267318eafe14f9c32e598c36909" - integrity sha512-Xf0nWe6RseziFMu+Ap9biiUbmplq6S9/p+7w7YXP/JBHhrUDDUhwa+vANyubuqfZWTveU//DYVGsDG7RKL/vEw== - -require-main-filename@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/require-main-filename/-/require-main-filename-2.0.0.tgz#d0b329ecc7cc0f61649f62215be69af54aa8989b" - integrity sha512-NKN5kMDylKuldxYLSUfrbo5Tuzh4hd+2E8NPPX02mZtn1VuREQToYe/ZdlJy+J3uCpfaiGF05e7B8W0iXbQHmg== - -requires-port@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/requires-port/-/requires-port-1.0.0.tgz#925d2601d39ac485e091cf0da5c6e694dc3dcaff" - integrity sha1-kl0mAdOaxIXgkc8NpcbmlNw9yv8= - -reselect@^4.0.0: - version "4.1.5" - resolved "https://registry.yarnpkg.com/reselect/-/reselect-4.1.5.tgz#852c361247198da6756d07d9296c2b51eddb79f6" - integrity sha512-uVdlz8J7OO+ASpBYoz1Zypgx0KasCY20H+N8JD13oUMtPvSHQuscrHop4KbXrbsBcdB9Ds7lVK7eRkBIfO43vQ== - -resolve-alpn@^1.0.0: - version "1.2.1" - resolved "https://registry.yarnpkg.com/resolve-alpn/-/resolve-alpn-1.2.1.tgz#b7adbdac3546aaaec20b45e7d8265927072726f9" - integrity sha512-0a1F4l73/ZFZOakJnQ3FvkJ2+gSTQWz/r2KE5OdDY0TxPm5h4GkqkWWfM47T7HsbnOtcJVEF4epCVy6u7Q3K+g== - -resolve-cwd@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/resolve-cwd/-/resolve-cwd-2.0.0.tgz#00a9f7387556e27038eae232caa372a6a59b665a" - integrity sha1-AKn3OHVW4nA46uIyyqNypqWbZlo= - dependencies: - resolve-from "^3.0.0" - -resolve-dir@^1.0.0, resolve-dir@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/resolve-dir/-/resolve-dir-1.0.1.tgz#79a40644c362be82f26effe739c9bb5382046f43" - integrity sha1-eaQGRMNivoLybv/nOcm7U4IEb0M= - dependencies: - expand-tilde "^2.0.0" - global-modules "^1.0.0" - -resolve-from@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/resolve-from/-/resolve-from-3.0.0.tgz#b22c7af7d9d6881bc8b6e653335eebcb0a188748" - integrity sha1-six699nWiBvItuZTM17rywoYh0g= - -resolve-url@^0.2.1: - version "0.2.1" - resolved "https://registry.yarnpkg.com/resolve-url/-/resolve-url-0.2.1.tgz#2c637fe77c893afd2a663fe21aa9080068e2052a" - integrity sha1-LGN/53yJOv0qZj/iGqkIAGjiBSo= - -resolve@^1.1.6, resolve@^1.10.0, resolve@^1.13.1, resolve@^1.14.2: - version "1.22.0" - resolved "https://registry.yarnpkg.com/resolve/-/resolve-1.22.0.tgz#5e0b8c67c15df57a89bdbabe603a002f21731198" - integrity sha512-Hhtrw0nLeSrFQ7phPp4OOcVjLPIeMnRlr5mcnVuMe7M/7eBn98A3hmFRLoFo3DLZkivSYwhRUJTyPyWAk56WLw== - dependencies: - is-core-module "^2.8.1" - path-parse "^1.0.7" - supports-preserve-symlinks-flag "^1.0.0" - -responselike@^1.0.2: - version "1.0.2" - resolved "https://registry.yarnpkg.com/responselike/-/responselike-1.0.2.tgz#918720ef3b631c5642be068f15ade5a46f4ba1e7" - integrity sha1-kYcg7ztjHFZCvgaPFa3lpG9Loec= - dependencies: - lowercase-keys "^1.0.0" - -responselike@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/responselike/-/responselike-2.0.0.tgz#26391bcc3174f750f9a79eacc40a12a5c42d7723" - integrity sha512-xH48u3FTB9VsZw7R+vvgaKeLKzT6jOogbQhEe/jewwnZgzPcnyWui2Av6JpoYZF/91uueC+lqhWqeURw5/qhCw== - dependencies: - lowercase-keys "^2.0.0" - -ret@~0.1.10: - version "0.1.15" - resolved "https://registry.yarnpkg.com/ret/-/ret-0.1.15.tgz#b8a4825d5bdb1fc3f6f53c2bc33f81388681c7bc" - integrity sha512-TTlYpa+OL+vMMNG24xSlQGEJ3B/RzEfUlLct7b5G/ytav+wPrplCpVMFuwzXbkecJrb6IYo1iFb0S9v37754mg== - -retry@^0.12.0: - version "0.12.0" - resolved "https://registry.yarnpkg.com/retry/-/retry-0.12.0.tgz#1b42a6266a21f07421d1b0b54b7dc167b01c013b" - integrity sha1-G0KmJmoh8HQh0bC1S33BZ7AcATs= - -rimraf@^2.5.2, rimraf@^2.5.4, rimraf@^2.6.3, rimraf@^2.7.1: - version "2.7.1" - resolved "https://registry.yarnpkg.com/rimraf/-/rimraf-2.7.1.tgz#35797f13a7fdadc566142c29d4f07ccad483e3ec" - integrity sha512-uWjbaKIK3T1OSVptzX7Nl6PvQ3qAGtKEtVRjRuazjfL3Bx5eI409VZSqgND+4UNnmzLVdPj9FqFJNPqBZFve4w== - dependencies: - glob "^7.1.3" - -rimraf@^3.0.0, rimraf@^3.0.2: - version "3.0.2" - resolved "https://registry.yarnpkg.com/rimraf/-/rimraf-3.0.2.tgz#f1a5402ba6220ad52cc1282bac1ae3aa49fd061a" - integrity sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA== - dependencies: - glob "^7.1.3" - -roarr@^2.15.3: - version "2.15.4" - resolved "https://registry.yarnpkg.com/roarr/-/roarr-2.15.4.tgz#f5fe795b7b838ccfe35dc608e0282b9eba2e7afd" - integrity sha512-CHhPh+UNHD2GTXNYhPWLnU8ONHdI+5DI+4EYIAOaiD63rHeYlZvyh8P+in5999TTSFgUYuKUAjzRI4mdh/p+2A== - dependencies: - boolean "^3.0.1" - detect-node "^2.0.4" - globalthis "^1.0.1" - json-stringify-safe "^5.0.1" - semver-compare "^1.0.0" - sprintf-js "^1.1.2" - -run-queue@^1.0.0, run-queue@^1.0.3: - version "1.0.3" - resolved "https://registry.yarnpkg.com/run-queue/-/run-queue-1.0.3.tgz#e848396f057d223f24386924618e25694161ec47" - integrity sha1-6Eg5bwV9Ij8kOGkkYY4laUFh7Ec= - dependencies: - aproba "^1.1.1" - -run-script-os@^1.1.6: - version "1.1.6" - resolved "https://registry.yarnpkg.com/run-script-os/-/run-script-os-1.1.6.tgz#8b0177fb1b54c99a670f95c7fdc54f18b9c72347" - integrity sha512-ql6P2LzhBTTDfzKts+Qo4H94VUKpxKDFz6QxxwaUZN0mwvi7L3lpOI7BqPCq7lgDh3XLl0dpeXwfcVIitlrYrw== - -safe-buffer@5.1.2, safe-buffer@~5.1.0, safe-buffer@~5.1.1: - version "5.1.2" - resolved "https://registry.yarnpkg.com/safe-buffer/-/safe-buffer-5.1.2.tgz#991ec69d296e0313747d59bdfd2b745c35f8828d" - integrity sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g== - -safe-buffer@5.2.1, safe-buffer@>=5.1.0, safe-buffer@^5.0.1, safe-buffer@^5.1.0, safe-buffer@^5.1.1, safe-buffer@~5.2.0: - version "5.2.1" - resolved "https://registry.yarnpkg.com/safe-buffer/-/safe-buffer-5.2.1.tgz#1eaf9fa9bdb1fdd4ec75f58f9cdb4e6b7827eec6" - integrity sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ== - -safe-regex@^1.1.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/safe-regex/-/safe-regex-1.1.0.tgz#40a3669f3b077d1e943d44629e157dd48023bf2e" - integrity sha1-QKNmnzsHfR6UPURinhV91IAjvy4= - dependencies: - ret "~0.1.10" - -"safer-buffer@>= 2.1.2 < 3", "safer-buffer@>= 2.1.2 < 3.0.0": - version "2.1.2" - resolved "https://registry.yarnpkg.com/safer-buffer/-/safer-buffer-2.1.2.tgz#44fa161b0187b9549dd84bb91802f9bd8385cd6a" - integrity sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg== - -sanitize-filename@^1.6.3: - version "1.6.3" - resolved "https://registry.yarnpkg.com/sanitize-filename/-/sanitize-filename-1.6.3.tgz#755ebd752045931977e30b2025d340d7c9090378" - integrity sha512-y/52Mcy7aw3gRm7IrcGDFx/bCk4AhRh2eI9luHOQM86nZsqwiRkkq2GekHXBBD+SmPidc8i2PqtYZl+pWJ8Oeg== - dependencies: - truncate-utf8-bytes "^1.0.0" - -sax@>=0.6.0, sax@^1.2.4: - version "1.2.4" - resolved "https://registry.yarnpkg.com/sax/-/sax-1.2.4.tgz#2816234e2378bddc4e5354fab5caa895df7100d9" - integrity sha512-NqVDv9TpANUjFm0N8uM5GxL36UgKi9/atZw+x7YFnQ8ckwFGKrl4xX4yWtrey3UJm5nP1kUbnYgLopqWNSRhWw== - -scheduler@^0.20.2: - version "0.20.2" - resolved "https://registry.yarnpkg.com/scheduler/-/scheduler-0.20.2.tgz#4baee39436e34aa93b4874bddcbf0fe8b8b50e91" - integrity sha512-2eWfGgAqqWFGqtdMmcL5zCMK1U8KlXv8SQFGglL3CEtd0aDVDWgeF/YoCmvln55m5zSk3J/20hTaSBeSObsQDQ== - dependencies: - loose-envify "^1.1.0" - object-assign "^4.1.1" - -schema-utils@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/schema-utils/-/schema-utils-1.0.0.tgz#0b79a93204d7b600d4b2850d1f66c2a34951c770" - integrity sha512-i27Mic4KovM/lnGsy8whRCHhc7VicJajAjTrYg11K9zfZXnYIt4k5F+kZkwjnrhKzLic/HLU4j11mjsz2G/75g== - dependencies: - ajv "^6.1.0" - ajv-errors "^1.0.0" - ajv-keywords "^3.1.0" - -schema-utils@^2.6.5, schema-utils@^2.6.6, schema-utils@^2.7.0: - version "2.7.1" - resolved "https://registry.yarnpkg.com/schema-utils/-/schema-utils-2.7.1.tgz#1ca4f32d1b24c590c203b8e7a50bf0ea4cd394d7" - integrity sha512-SHiNtMOUGWBQJwzISiVYKu82GiV4QYGePp3odlY1tuKO7gPtphAT5R/py0fA6xtbgLL/RvtJZnU9b8s0F1q0Xg== - dependencies: - "@types/json-schema" "^7.0.5" - ajv "^6.12.4" - ajv-keywords "^3.5.2" - -schema-utils@^3.0.0, schema-utils@^3.1.0, schema-utils@^3.1.1: - version "3.1.1" - resolved "https://registry.yarnpkg.com/schema-utils/-/schema-utils-3.1.1.tgz#bc74c4b6b6995c1d88f76a8b77bea7219e0c8281" - integrity sha512-Y5PQxS4ITlC+EahLuXaY86TXfR7Dc5lw294alXOq86JAHCihAIZfqv8nNCWvaEJvaC51uN9hbLGeV0cFBdH+Fw== - dependencies: - "@types/json-schema" "^7.0.8" - ajv "^6.12.5" - ajv-keywords "^3.5.2" - -select-hose@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/select-hose/-/select-hose-2.0.0.tgz#625d8658f865af43ec962bfc376a37359a4994ca" - integrity sha1-Yl2GWPhlr0Psliv8N2o3NZpJlMo= - -selfsigned@^1.10.8: - version "1.10.14" - resolved "https://registry.yarnpkg.com/selfsigned/-/selfsigned-1.10.14.tgz#ee51d84d9dcecc61e07e4aba34f229ab525c1574" - integrity sha512-lkjaiAye+wBZDCBsu5BGi0XiLRxeUlsGod5ZP924CRSEoGuZAw/f7y9RKu28rwTfiHVhdavhB0qH0INV6P1lEA== - dependencies: - node-forge "^0.10.0" - -semver-compare@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/semver-compare/-/semver-compare-1.0.0.tgz#0dee216a1c941ab37e9efb1788f6afc5ff5537fc" - integrity sha1-De4hahyUGrN+nvsXiPavxf9VN/w= - -semver-diff@^3.1.1: - version "3.1.1" - resolved "https://registry.yarnpkg.com/semver-diff/-/semver-diff-3.1.1.tgz#05f77ce59f325e00e2706afd67bb506ddb1ca32b" - integrity sha512-GX0Ix/CJcHyB8c4ykpHGIAvLyOwOobtM/8d+TQkAd81/bEjgPHrfba41Vpesr7jX/t8Uh+R3EX9eAS5be+jQYg== - dependencies: - semver "^6.3.0" - -"semver@2 || 3 || 4 || 5", semver@^5.3.0, semver@^5.5.0: - version "5.7.1" - resolved "https://registry.yarnpkg.com/semver/-/semver-5.7.1.tgz#a954f931aeba508d307bbf069eff0c01c96116f7" - integrity sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ== - -semver@7.0.0: - version "7.0.0" - resolved "https://registry.yarnpkg.com/semver/-/semver-7.0.0.tgz#5f3ca35761e47e05b206c6daff2cf814f0316b8e" - integrity sha512-+GB6zVA9LWh6zovYQLALHwv5rb2PHGlJi3lfiqIHxR0uuwCgefcOJc59v9fv1w8GbStwxuuqqAjI9NMAOOgq1A== - -semver@^6.0.0, semver@^6.1.1, semver@^6.1.2, semver@^6.2.0, semver@^6.3.0: - version "6.3.0" - resolved "https://registry.yarnpkg.com/semver/-/semver-6.3.0.tgz#ee0a64c8af5e8ceea67687b133761e1becbd1d3d" - integrity sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw== - -semver@^7.1.3, semver@^7.2.3, semver@^7.3.2, semver@^7.3.4, semver@^7.3.5: - version "7.3.5" - resolved "https://registry.yarnpkg.com/semver/-/semver-7.3.5.tgz#0b621c879348d8998e4b0e4be94b3f12e6018ef7" - integrity sha512-PoeGJYh8HK4BTO/a9Tf6ZG3veo/A7ZVsYrSA6J8ny9nb3B1VrpkuN+z9OE5wfE5p6H4LchYZsegiQgbJD94ZFQ== - dependencies: - lru-cache "^6.0.0" - -send@0.17.2: - version "0.17.2" - resolved "https://registry.yarnpkg.com/send/-/send-0.17.2.tgz#926622f76601c41808012c8bf1688fe3906f7820" - integrity sha512-UJYB6wFSJE3G00nEivR5rgWp8c2xXvJ3OPWPhmuteU0IKj8nKbG3DrjiOmLwpnHGYWAVwA69zmTm++YG0Hmwww== - dependencies: - debug "2.6.9" - depd "~1.1.2" - destroy "~1.0.4" - encodeurl "~1.0.2" - escape-html "~1.0.3" - etag "~1.8.1" - fresh "0.5.2" - http-errors "1.8.1" - mime "1.6.0" - ms "2.1.3" - on-finished "~2.3.0" - range-parser "~1.2.1" - statuses "~1.5.0" - -serialize-error@^7.0.1: - version "7.0.1" - resolved "https://registry.yarnpkg.com/serialize-error/-/serialize-error-7.0.1.tgz#f1360b0447f61ffb483ec4157c737fab7d778e18" - integrity sha512-8I8TjW5KMOKsZQTvoxjuSIa7foAwPWGOts+6o7sgjz41/qMD9VQHEDxi6PBvK2l0MXUmqZyNpUK+T2tQaaElvw== - dependencies: - type-fest "^0.13.1" - -serialize-javascript@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/serialize-javascript/-/serialize-javascript-4.0.0.tgz#b525e1238489a5ecfc42afacc3fe99e666f4b1aa" - integrity sha512-GaNA54380uFefWghODBWEGisLZFj00nS5ACs6yHa9nLqlLpVLO8ChDGeKRjZnV4Nh4n0Qi7nhYZD/9fCPzEqkw== - dependencies: - randombytes "^2.1.0" - -serialize-javascript@^6.0.0: - version "6.0.0" - resolved "https://registry.yarnpkg.com/serialize-javascript/-/serialize-javascript-6.0.0.tgz#efae5d88f45d7924141da8b5c3a7a7e663fefeb8" - integrity sha512-Qr3TosvguFt8ePWqsvRfrKyQXIiW+nGbYpy8XK24NQHE83caxWt+mIymTT19DGFbNWNLfEwsrkSmN64lVWB9ag== - dependencies: - randombytes "^2.1.0" - -serve-index@^1.9.1: - version "1.9.1" - resolved "https://registry.yarnpkg.com/serve-index/-/serve-index-1.9.1.tgz#d3768d69b1e7d82e5ce050fff5b453bea12a9239" - integrity sha1-03aNabHn2C5c4FD/9bRTvqEqkjk= - dependencies: - accepts "~1.3.4" - batch "0.6.1" - debug "2.6.9" - escape-html "~1.0.3" - http-errors "~1.6.2" - mime-types "~2.1.17" - parseurl "~1.3.2" - -serve-static@1.14.2: - version "1.14.2" - resolved "https://registry.yarnpkg.com/serve-static/-/serve-static-1.14.2.tgz#722d6294b1d62626d41b43a013ece4598d292bfa" - integrity sha512-+TMNA9AFxUEGuC0z2mevogSnn9MXKb4fa7ngeRMJaaGv8vTwnIEkKi+QGvPt33HSnf8pRS+WGM0EbMtCJLKMBQ== - dependencies: - encodeurl "~1.0.2" - escape-html "~1.0.3" - parseurl "~1.3.3" - send "0.17.2" - -set-blocking@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/set-blocking/-/set-blocking-2.0.0.tgz#045f9782d011ae9a6803ddd382b24392b3d890f7" - integrity sha1-BF+XgtARrppoA93TgrJDkrPYkPc= - -set-value@^2.0.0, set-value@^2.0.1: - version "2.0.1" - resolved "https://registry.yarnpkg.com/set-value/-/set-value-2.0.1.tgz#a18d40530e6f07de4228c7defe4227af8cad005b" - integrity sha512-JxHc1weCN68wRY0fhCoXpyK55m/XPHafOmK4UWD7m2CI14GMcFypt4w/0+NV5f/ZMby2F6S2wwA7fgynh9gWSw== - dependencies: - extend-shallow "^2.0.1" - is-extendable "^0.1.1" - is-plain-object "^2.0.3" - split-string "^3.0.1" - -setprototypeof@1.1.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/setprototypeof/-/setprototypeof-1.1.0.tgz#d0bd85536887b6fe7c0d818cb962d9d91c54e656" - integrity sha512-BvE/TwpZX4FXExxOxZyRGQQv651MSwmWKZGqvmPcRIjDqWub67kTKuIMx43cZZrS/cBBzwBcNDWoFxt2XEFIpQ== - -setprototypeof@1.2.0: - version "1.2.0" - resolved "https://registry.yarnpkg.com/setprototypeof/-/setprototypeof-1.2.0.tgz#66c9a24a73f9fc28cbe66b09fed3d33dcaf1b424" - integrity sha512-E5LDX7Wrp85Kil5bhZv46j8jOeboKq5JMmYM3gVGdGH8xFpPWXUMsNrlODCrkoxMEeNi/XZIwuRvY4XNwYMJpw== - -shebang-command@^1.2.0: - version "1.2.0" - resolved "https://registry.yarnpkg.com/shebang-command/-/shebang-command-1.2.0.tgz#44aac65b695b03398968c39f363fee5deafdf1ea" - integrity sha1-RKrGW2lbAzmJaMOfNj/uXer98eo= - dependencies: - shebang-regex "^1.0.0" - -shebang-command@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/shebang-command/-/shebang-command-2.0.0.tgz#ccd0af4f8835fbdc265b82461aaf0c36663f34ea" - integrity sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA== - dependencies: - shebang-regex "^3.0.0" - -shebang-regex@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/shebang-regex/-/shebang-regex-1.0.0.tgz#da42f49740c0b42db2ca9728571cb190c98efea3" - integrity sha1-2kL0l0DAtC2yypcoVxyxkMmO/qM= - -shebang-regex@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/shebang-regex/-/shebang-regex-3.0.0.tgz#ae16f1644d873ecad843b0307b143362d4c42172" - integrity sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A== - -side-channel@^1.0.4: - version "1.0.4" - resolved "https://registry.yarnpkg.com/side-channel/-/side-channel-1.0.4.tgz#efce5c8fdc104ee751b25c58d4290011fa5ea2cf" - integrity sha512-q5XPytqFEIKHkGdiMIrY10mvLRvnQh42/+GoBlFW3b2LXLE2xxJpZFdm94we0BaoV3RwJyGqg5wS7epxTv0Zvw== - dependencies: - call-bind "^1.0.0" - get-intrinsic "^1.0.2" - object-inspect "^1.9.0" - -signal-exit@^3.0.0, signal-exit@^3.0.2: - version "3.0.7" - resolved "https://registry.yarnpkg.com/signal-exit/-/signal-exit-3.0.7.tgz#a9a1767f8af84155114eaabd73f99273c8f59ad9" - integrity sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ== - -slash@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/slash/-/slash-3.0.0.tgz#6539be870c165adbd5240220dbe361f1bc4d4634" - integrity sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q== - -slice-ansi@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/slice-ansi/-/slice-ansi-3.0.0.tgz#31ddc10930a1b7e0b67b08c96c2f49b77a789787" - integrity sha512-pSyv7bSTC7ig9Dcgbw9AuRNUb5k5V6oDudjZoMBSr13qpLBG7tB+zgCkARjq7xIUgdz5P1Qe8u+rSGdouOOIyQ== - dependencies: - ansi-styles "^4.0.0" - astral-regex "^2.0.0" - is-fullwidth-code-point "^3.0.0" - -smart-buffer@^4.0.2, smart-buffer@^4.1.0: - version "4.2.0" - resolved "https://registry.yarnpkg.com/smart-buffer/-/smart-buffer-4.2.0.tgz#6e1d71fa4f18c05f7d0ff216dd16a481d0e8d9ae" - integrity sha512-94hK0Hh8rPqQl2xXc3HsaBoOXKV20MToPkcXvwbISWLEs+64sBq5kFgn2kJDHb1Pry9yrP0dxrCI9RRci7RXKg== - -snapdragon-node@^2.0.1: - version "2.1.1" - resolved "https://registry.yarnpkg.com/snapdragon-node/-/snapdragon-node-2.1.1.tgz#6c175f86ff14bdb0724563e8f3c1b021a286853b" - integrity sha512-O27l4xaMYt/RSQ5TR3vpWCAB5Kb/czIcqUFOM/C4fYcLnbZUc1PkjTAMjof2pBWaSTwOUd6qUHcFGVGj7aIwnw== - dependencies: - define-property "^1.0.0" - isobject "^3.0.0" - snapdragon-util "^3.0.1" - -snapdragon-util@^3.0.1: - version "3.0.1" - resolved "https://registry.yarnpkg.com/snapdragon-util/-/snapdragon-util-3.0.1.tgz#f956479486f2acd79700693f6f7b805e45ab56e2" - integrity sha512-mbKkMdQKsjX4BAL4bRYTj21edOf8cN7XHdYUJEe+Zn99hVEYcMvKPct1IqNe7+AZPirn8BCDOQBHQZknqmKlZQ== - dependencies: - kind-of "^3.2.0" - -snapdragon@^0.8.1: - version "0.8.2" - resolved "https://registry.yarnpkg.com/snapdragon/-/snapdragon-0.8.2.tgz#64922e7c565b0e14204ba1aa7d6964278d25182d" - integrity sha512-FtyOnWN/wCHTVXOMwvSv26d+ko5vWlIDD6zoUJ7LW8vh+ZBC8QdljveRP+crNrtBwioEUWy/4dMtbBjA4ioNlg== - dependencies: - base "^0.11.1" - debug "^2.2.0" - define-property "^0.2.5" - extend-shallow "^2.0.1" - map-cache "^0.2.2" - source-map "^0.5.6" - source-map-resolve "^0.5.0" - use "^3.1.0" - -sockjs-client@^1.5.0: - version "1.5.2" - resolved "https://registry.yarnpkg.com/sockjs-client/-/sockjs-client-1.5.2.tgz#4bc48c2da9ce4769f19dc723396b50f5c12330a3" - integrity sha512-ZzRxPBISQE7RpzlH4tKJMQbHM9pabHluk0WBaxAQ+wm/UieeBVBou0p4wVnSQGN9QmpAZygQ0cDIypWuqOFmFQ== - dependencies: - debug "^3.2.6" - eventsource "^1.0.7" - faye-websocket "^0.11.3" - inherits "^2.0.4" - json3 "^3.3.3" - url-parse "^1.5.3" - -sockjs@^0.3.21: - version "0.3.24" - resolved "https://registry.yarnpkg.com/sockjs/-/sockjs-0.3.24.tgz#c9bc8995f33a111bea0395ec30aa3206bdb5ccce" - integrity sha512-GJgLTZ7vYb/JtPSSZ10hsOYIvEYsjbNU+zPdIHcUaWVNUEPivzxku31865sSSud0Da0W4lEeOPlmw93zLQchuQ== - dependencies: - faye-websocket "^0.11.3" - uuid "^8.3.2" - websocket-driver "^0.7.4" - -socks-proxy-agent@^6.0.0, socks-proxy-agent@^6.1.0: - version "6.1.1" - resolved "https://registry.yarnpkg.com/socks-proxy-agent/-/socks-proxy-agent-6.1.1.tgz#e664e8f1aaf4e1fb3df945f09e3d94f911137f87" - integrity sha512-t8J0kG3csjA4g6FTbsMOWws+7R7vuRC8aQ/wy3/1OWmsgwA68zs/+cExQ0koSitUDXqhufF/YJr9wtNMZHw5Ew== - dependencies: - agent-base "^6.0.2" - debug "^4.3.1" - socks "^2.6.1" - -socks@^2.6.1: - version "2.6.1" - resolved "https://registry.yarnpkg.com/socks/-/socks-2.6.1.tgz#989e6534a07cf337deb1b1c94aaa44296520d30e" - integrity sha512-kLQ9N5ucj8uIcxrDwjm0Jsqk06xdpBjGNQtpXy4Q8/QY2k+fY7nZH8CARy+hkbG+SGAovmzzuauCpBlb8FrnBA== - dependencies: - ip "^1.1.5" - smart-buffer "^4.1.0" - -sort-keys@^1.0.0: - version "1.1.2" - resolved "https://registry.yarnpkg.com/sort-keys/-/sort-keys-1.1.2.tgz#441b6d4d346798f1b4e49e8920adfba0e543f9ad" - integrity sha1-RBttTTRnmPG05J6JIK37oOVD+a0= - dependencies: - is-plain-obj "^1.0.0" - -source-list-map@^2.0.0: - version "2.0.1" - resolved "https://registry.yarnpkg.com/source-list-map/-/source-list-map-2.0.1.tgz#3993bd873bfc48479cca9ea3a547835c7c154b34" - integrity sha512-qnQ7gVMxGNxsiL4lEuJwe/To8UnK7fAnmbGEEH8RpLouuKbeEm0lhbQVFIrNSuB+G7tVrAlVsZgETT5nljf+Iw== - -source-map-resolve@^0.5.0: - version "0.5.3" - resolved "https://registry.yarnpkg.com/source-map-resolve/-/source-map-resolve-0.5.3.tgz#190866bece7553e1f8f267a2ee82c606b5509a1a" - integrity sha512-Htz+RnsXWk5+P2slx5Jh3Q66vhQj1Cllm0zvnaY98+NFx+Dv2CF/f5O/t8x+KaNdrdIAsruNzoh/KpialbqAnw== - dependencies: - atob "^2.1.2" - decode-uri-component "^0.2.0" - resolve-url "^0.2.1" - source-map-url "^0.4.0" - urix "^0.1.0" - -source-map-support@^0.4.18: - version "0.4.18" - resolved "https://registry.yarnpkg.com/source-map-support/-/source-map-support-0.4.18.tgz#0286a6de8be42641338594e97ccea75f0a2c585f" - integrity sha512-try0/JqxPLF9nOjvSta7tVondkP5dwgyLDjVoyMDlmjugT2lRZ1OfsrYTkCd2hkDnJTKRbO/Rl3orm8vlsUzbA== - dependencies: - source-map "^0.5.6" - -source-map-support@^0.5.11, source-map-support@^0.5.16, source-map-support@^0.5.19, source-map-support@^0.5.21, source-map-support@~0.5.12, source-map-support@~0.5.20: - version "0.5.21" - resolved "https://registry.yarnpkg.com/source-map-support/-/source-map-support-0.5.21.tgz#04fe7c7f9e1ed2d662233c28cb2b35b9f63f6e4f" - integrity sha512-uBHU3L3czsIyYXKX88fdrGovxdSCoTGDRZ6SYXtSRxLZUzHg5P/66Ht6uoUlHu9EZod+inXhKo3qQgwXUT/y1w== - dependencies: - buffer-from "^1.0.0" - source-map "^0.6.0" - -source-map-url@^0.4.0: - version "0.4.1" - resolved "https://registry.yarnpkg.com/source-map-url/-/source-map-url-0.4.1.tgz#0af66605a745a5a2f91cf1bbf8a7afbc283dec56" - integrity sha512-cPiFOTLUKvJFIg4SKVScy4ilPPW6rFgMgfuZJPNoDuMs3nC1HbMUycBoJw77xFIp6z1UJQJOfx6C9GMH80DiTw== - -source-map@^0.5.0, source-map@^0.5.6: - version "0.5.7" - resolved "https://registry.yarnpkg.com/source-map/-/source-map-0.5.7.tgz#8a039d2d1021d22d1ea14c80d8ea468ba2ef3fcc" - integrity sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w= - -source-map@^0.6.0, source-map@^0.6.1, source-map@~0.6.0, source-map@~0.6.1: - version "0.6.1" - resolved "https://registry.yarnpkg.com/source-map/-/source-map-0.6.1.tgz#74722af32e9614e9c287a8d0bbde48b5e2f1a263" - integrity sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g== - -source-map@^0.7.3, source-map@~0.7.2: - version "0.7.3" - resolved "https://registry.yarnpkg.com/source-map/-/source-map-0.7.3.tgz#5302f8169031735226544092e64981f751750383" - integrity sha512-CkCj6giN3S+n9qrYiBTX5gystlENnRW5jZeNLHpe6aue+SrHcG5VYwujhW9s4dY31mEGsxBDrHR6oI69fTXsaQ== - -spdx-correct@^3.0.0: - version "3.1.1" - resolved "https://registry.yarnpkg.com/spdx-correct/-/spdx-correct-3.1.1.tgz#dece81ac9c1e6713e5f7d1b6f17d468fa53d89a9" - integrity sha512-cOYcUWwhCuHCXi49RhFRCyJEK3iPj1Ziz9DpViV3tbZOwXD49QzIN3MpOLJNxh2qwq2lJJZaKMVw9qNi4jTC0w== - dependencies: - spdx-expression-parse "^3.0.0" - spdx-license-ids "^3.0.0" - -spdx-exceptions@^2.1.0: - version "2.3.0" - resolved "https://registry.yarnpkg.com/spdx-exceptions/-/spdx-exceptions-2.3.0.tgz#3f28ce1a77a00372683eade4a433183527a2163d" - integrity sha512-/tTrYOC7PPI1nUAgx34hUpqXuyJG+DTHJTnIULG4rDygi4xu/tfgmq1e1cIRwRzwZgo4NLySi+ricLkZkw4i5A== - -spdx-expression-parse@^3.0.0: - version "3.0.1" - resolved "https://registry.yarnpkg.com/spdx-expression-parse/-/spdx-expression-parse-3.0.1.tgz#cf70f50482eefdc98e3ce0a6833e4a53ceeba679" - integrity sha512-cbqHunsQWnJNE6KhVSMsMeH5H/L9EpymbzqTQ3uLwNCLZ1Q481oWaofqH7nO6V07xlXwY6PhQdQ2IedWx/ZK4Q== - dependencies: - spdx-exceptions "^2.1.0" - spdx-license-ids "^3.0.0" - -spdx-license-ids@^3.0.0: - version "3.0.11" - resolved "https://registry.yarnpkg.com/spdx-license-ids/-/spdx-license-ids-3.0.11.tgz#50c0d8c40a14ec1bf449bae69a0ea4685a9d9f95" - integrity sha512-Ctl2BrFiM0X3MANYgj3CkygxhRmr9mi6xhejbdO960nF6EDJApTYpn0BQnDKlnNBULKiCN1n3w9EBkHK8ZWg+g== - -spdy-transport@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/spdy-transport/-/spdy-transport-3.0.0.tgz#00d4863a6400ad75df93361a1608605e5dcdcf31" - integrity sha512-hsLVFE5SjA6TCisWeJXFKniGGOpBgMLmerfO2aCyCU5s7nJ/rpAepqmFifv/GCbSbueEeAJJnmSQ2rKC/g8Fcw== - dependencies: - debug "^4.1.0" - detect-node "^2.0.4" - hpack.js "^2.1.6" - obuf "^1.1.2" - readable-stream "^3.0.6" - wbuf "^1.7.3" - -spdy@^4.0.2: - version "4.0.2" - resolved "https://registry.yarnpkg.com/spdy/-/spdy-4.0.2.tgz#b74f466203a3eda452c02492b91fb9e84a27677b" - integrity sha512-r46gZQZQV+Kl9oItvl1JZZqJKGr+oEkB08A6BzkiR7593/7IbtuncXHd2YoYeTsG4157ZssMu9KYvUHLcjcDoA== - dependencies: - debug "^4.1.0" - handle-thing "^2.0.0" - http-deceiver "^1.2.7" - select-hose "^2.0.0" - spdy-transport "^3.0.0" - -split-string@^3.0.1, split-string@^3.0.2: - version "3.1.0" - resolved "https://registry.yarnpkg.com/split-string/-/split-string-3.1.0.tgz#7cb09dda3a86585705c64b39a6466038682e8fe2" - integrity sha512-NzNVhJDYpwceVVii8/Hu6DKfD2G+NrQHlS/V/qgv763EYudVwEcMQNxd2lh+0VrUByXN/oJkl5grOhYWvQUYiw== - dependencies: - extend-shallow "^3.0.0" - -split@0.3: - version "0.3.3" - resolved "https://registry.yarnpkg.com/split/-/split-0.3.3.tgz#cd0eea5e63a211dfff7eb0f091c4133e2d0dd28f" - integrity sha1-zQ7qXmOiEd//frDwkcQTPi0N0o8= - dependencies: - through "2" - -sprintf-js@^1.1.2: - version "1.1.2" - resolved "https://registry.yarnpkg.com/sprintf-js/-/sprintf-js-1.1.2.tgz#da1765262bf8c0f571749f2ad6c26300207ae673" - integrity sha512-VE0SOVEHCk7Qc8ulkWw3ntAzXuqf7S2lvwQaDLRnUeIEaKNQJzV6BwmLKhOqT61aGhfUMrXeaBk+oDGCzvhcug== - -sprintf-js@~1.0.2: - version "1.0.3" - resolved "https://registry.yarnpkg.com/sprintf-js/-/sprintf-js-1.0.3.tgz#04e6926f662895354f3dd015203633b857297e2c" - integrity sha1-BOaSb2YolTVPPdAVIDYzuFcpfiw= - -ssri@^7.0.0: - version "7.1.1" - resolved "https://registry.yarnpkg.com/ssri/-/ssri-7.1.1.tgz#33e44f896a967158e3c63468e47ec46613b95b5f" - integrity sha512-w+daCzXN89PseTL99MkA+fxJEcU3wfaE/ah0i0lnOlpG1CYLJ2ZjzEry68YBKfLs4JfoTShrTEsJkAZuNZ/stw== - dependencies: - figgy-pudding "^3.5.1" - minipass "^3.1.1" - -ssri@^8.0.0, ssri@^8.0.1: - version "8.0.1" - resolved "https://registry.yarnpkg.com/ssri/-/ssri-8.0.1.tgz#638e4e439e2ffbd2cd289776d5ca457c4f51a2af" - integrity sha512-97qShzy1AiyxvPNIkLWoGua7xoQzzPjQ0HAH4B0rWKo7SZ6USuPcrUiAFrws0UH8RrbWmgq3LMTObhPIHbbBeQ== - dependencies: - minipass "^3.1.1" - -stack-utils@^2.0.3: - version "2.0.5" - resolved "https://registry.yarnpkg.com/stack-utils/-/stack-utils-2.0.5.tgz#d25265fca995154659dbbfba3b49254778d2fdd5" - integrity sha512-xrQcmYhOsn/1kX+Vraq+7j4oE2j/6BFscZ0etmYg81xuM8Gq0022Pxb8+IqgOFUIaxHs0KaSb7T1+OegiNrNFA== - dependencies: - escape-string-regexp "^2.0.0" - -stat-mode@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/stat-mode/-/stat-mode-1.0.0.tgz#68b55cb61ea639ff57136f36b216a291800d1465" - integrity sha512-jH9EhtKIjuXZ2cWxmXS8ZP80XyC3iasQxMDV8jzhNJpfDb7VbQLVW4Wvsxz9QZvzV+G4YoSfBUVKDOyxLzi/sg== - -static-extend@^0.1.1: - version "0.1.2" - resolved "https://registry.yarnpkg.com/static-extend/-/static-extend-0.1.2.tgz#60809c39cbff55337226fd5e0b520f341f1fb5c6" - integrity sha1-YICcOcv/VTNyJv1eC1IPNB8ftcY= - dependencies: - define-property "^0.2.5" - object-copy "^0.1.0" - -"statuses@>= 1.4.0 < 2", "statuses@>= 1.5.0 < 2", statuses@~1.5.0: - version "1.5.0" - resolved "https://registry.yarnpkg.com/statuses/-/statuses-1.5.0.tgz#161c7dac177659fd9811f43771fa99381478628c" - integrity sha1-Fhx9rBd2Wf2YEfQ3cfqZOBR4Yow= - -stream-combiner@~0.0.4: - version "0.0.4" - resolved "https://registry.yarnpkg.com/stream-combiner/-/stream-combiner-0.0.4.tgz#4d5e433c185261dde623ca3f44c586bcf5c4ad14" - integrity sha1-TV5DPBhSYd3mI8o/RMWGvPXErRQ= - dependencies: - duplexer "~0.1.1" - -strict-uri-encode@^1.0.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/strict-uri-encode/-/strict-uri-encode-1.1.0.tgz#279b225df1d582b1f54e65addd4352e18faa0713" - integrity sha1-J5siXfHVgrH1TmWt3UNS4Y+qBxM= - -"string-width@^1.0.2 || 2 || 3 || 4", string-width@^4.0.0, string-width@^4.1.0, string-width@^4.2.0, string-width@^4.2.2, string-width@^4.2.3: - version "4.2.3" - resolved "https://registry.yarnpkg.com/string-width/-/string-width-4.2.3.tgz#269c7117d27b05ad2e536830a8ec895ef9c6d010" - integrity sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g== - dependencies: - emoji-regex "^8.0.0" - is-fullwidth-code-point "^3.0.0" - strip-ansi "^6.0.1" - -string-width@^3.0.0, string-width@^3.1.0: - version "3.1.0" - resolved "https://registry.yarnpkg.com/string-width/-/string-width-3.1.0.tgz#22767be21b62af1081574306f69ac51b62203961" - integrity sha512-vafcv6KjVZKSgz06oM/H6GDBrAtz8vdhQakGjFIvNrHA6y3HCF1CInLy+QLq8dTJPQ1b+KDUqDFctkdRW44e1w== - dependencies: - emoji-regex "^7.0.1" - is-fullwidth-code-point "^2.0.0" - strip-ansi "^5.1.0" - -string.prototype.trimend@^1.0.4: - version "1.0.4" - resolved "https://registry.yarnpkg.com/string.prototype.trimend/-/string.prototype.trimend-1.0.4.tgz#e75ae90c2942c63504686c18b287b4a0b1a45f80" - integrity sha512-y9xCjw1P23Awk8EvTpcyL2NIr1j7wJ39f+k6lvRnSMz+mz9CGz9NYPelDk42kOz6+ql8xjfK8oYzy3jAP5QU5A== - dependencies: - call-bind "^1.0.2" - define-properties "^1.1.3" - -string.prototype.trimstart@^1.0.4: - version "1.0.4" - resolved "https://registry.yarnpkg.com/string.prototype.trimstart/-/string.prototype.trimstart-1.0.4.tgz#b36399af4ab2999b4c9c648bd7a3fb2bb26feeed" - integrity sha512-jh6e984OBfvxS50tdY2nRZnoC5/mLFKOREQfw8t5yytkoUsJRNxvI/E39qu1sD0OtWI3OC0XgKSmcWwziwYuZw== - dependencies: - call-bind "^1.0.2" - define-properties "^1.1.3" - -string_decoder@^1.1.1: - version "1.3.0" - resolved "https://registry.yarnpkg.com/string_decoder/-/string_decoder-1.3.0.tgz#42f114594a46cf1a8e30b0a84f56c78c3edac21e" - integrity sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA== - dependencies: - safe-buffer "~5.2.0" - -string_decoder@~1.1.1: - version "1.1.1" - resolved "https://registry.yarnpkg.com/string_decoder/-/string_decoder-1.1.1.tgz#9cf1611ba62685d7030ae9e4ba34149c3af03fc8" - integrity sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg== - dependencies: - safe-buffer "~5.1.0" - -strip-ansi@^3.0.1: - version "3.0.1" - resolved "https://registry.yarnpkg.com/strip-ansi/-/strip-ansi-3.0.1.tgz#6a385fb8853d952d5ff05d0e8aaf94278dc63dcf" - integrity sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8= - dependencies: - ansi-regex "^2.0.0" - -strip-ansi@^5.0.0, strip-ansi@^5.1.0, strip-ansi@^5.2.0: - version "5.2.0" - resolved "https://registry.yarnpkg.com/strip-ansi/-/strip-ansi-5.2.0.tgz#8c9a536feb6afc962bdfa5b104a5091c1ad9c0ae" - integrity sha512-DuRs1gKbBqsMKIZlrffwlug8MHkcnpjs5VPmL1PAh+mA30U0DTotfDZ0d2UUsXpPmPmMMJ6W773MaA3J+lbiWA== - dependencies: - ansi-regex "^4.1.0" - -strip-ansi@^6.0.0, strip-ansi@^6.0.1: - version "6.0.1" - resolved "https://registry.yarnpkg.com/strip-ansi/-/strip-ansi-6.0.1.tgz#9e26c63d30f53443e9489495b2105d37b67a85d9" - integrity sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A== - dependencies: - ansi-regex "^5.0.1" - -strip-bom@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/strip-bom/-/strip-bom-3.0.0.tgz#2334c18e9c759f7bdd56fdef7e9ae3d588e68ed3" - integrity sha1-IzTBjpx1n3vdVv3vfprj1YjmjtM= - -strip-bom@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/strip-bom/-/strip-bom-4.0.0.tgz#9c3505c1db45bcedca3d9cf7a16f5c5aa3901878" - integrity sha512-3xurFv5tEgii33Zi8Jtp55wEIILR9eh34FAW00PZf+JnSsTmV/ioewSgQl97JHvgjoRGwPShsWm+IdrxB35d0w== - -strip-eof@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/strip-eof/-/strip-eof-1.0.0.tgz#bb43ff5598a6eb05d89b59fcd129c983313606bf" - integrity sha1-u0P/VZim6wXYm1n80SnJgzE2Br8= - -strip-json-comments@^3.0.1: - version "3.1.1" - resolved "https://registry.yarnpkg.com/strip-json-comments/-/strip-json-comments-3.1.1.tgz#31f1281b3832630434831c310c01cccda8cbe006" - integrity sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig== - -strip-json-comments@~2.0.1: - version "2.0.1" - resolved "https://registry.yarnpkg.com/strip-json-comments/-/strip-json-comments-2.0.1.tgz#3c531942e908c2697c0ec344858c286c7ca0a60a" - integrity sha1-PFMZQukIwml8DsNEhYwobHygpgo= - -strip-outer@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/strip-outer/-/strip-outer-1.0.1.tgz#b2fd2abf6604b9d1e6013057195df836b8a9d631" - integrity sha512-k55yxKHwaXnpYGsOzg4Vl8+tDrWylxDEpknGjhTiZB8dFRU5rTo9CAzeycivxV3s+zlTKwrs6WxMxR95n26kwg== - dependencies: - escape-string-regexp "^1.0.2" - -strtok3@^6.2.4: - version "6.2.4" - resolved "https://registry.yarnpkg.com/strtok3/-/strtok3-6.2.4.tgz#302aea64c0fa25d12a0385069ba66253fdc38a81" - integrity sha512-GO8IcFF9GmFDvqduIspUBwCzCbqzegyVKIsSymcMgiZKeCfrN9SowtUoi8+b59WZMAjIzVZic/Ft97+pynR3Iw== - dependencies: - "@tokenizer/token" "^0.3.0" - peek-readable "^4.0.1" - -style-loader@^1.1.3: - version "1.3.0" - resolved "https://registry.yarnpkg.com/style-loader/-/style-loader-1.3.0.tgz#828b4a3b3b7e7aa5847ce7bae9e874512114249e" - integrity sha512-V7TCORko8rs9rIqkSrlMfkqA63DfoGBBJmK1kKGCcSi+BWb4cqz0SRsnp4l6rU5iwOEd0/2ePv68SV22VXon4Q== - dependencies: - loader-utils "^2.0.0" - schema-utils "^2.7.0" - -sumchecker@^3.0.1: - version "3.0.1" - resolved "https://registry.yarnpkg.com/sumchecker/-/sumchecker-3.0.1.tgz#6377e996795abb0b6d348e9b3e1dfb24345a8e42" - integrity sha512-MvjXzkz/BOfyVDkG0oFOtBxHX2u3gKbMHIF/dXblZsgD3BWOFLmHovIpZY7BykJdAjcqRCBi1WYBNdEC9yI7vg== - dependencies: - debug "^4.1.0" - -supports-color@^5.3.0: - version "5.5.0" - resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-5.5.0.tgz#e2e69a44ac8772f78a1ec0b35b689df6530efc8f" - integrity sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow== - dependencies: - has-flag "^3.0.0" - -supports-color@^6.1.0: - version "6.1.0" - resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-6.1.0.tgz#0764abc69c63d5ac842dd4867e8d025e880df8f3" - integrity sha512-qe1jfm1Mg7Nq/NSh6XE24gPXROEVsWHxC1LIx//XNlD9iw7YZQGjZNjYN7xGaEG6iKdA8EtNFW6R0gjnVXp+wQ== - dependencies: - has-flag "^3.0.0" - -supports-color@^7.0.0, supports-color@^7.1.0: - version "7.2.0" - resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-7.2.0.tgz#1b7dcdcb32b8138801b3e478ba6a51caa89648da" - integrity sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw== - dependencies: - has-flag "^4.0.0" - -supports-color@^8.0.0: - version "8.1.1" - resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-8.1.1.tgz#cd6fc17e28500cff56c1b86c0a7fd4a54a73005c" - integrity sha512-MpUEN2OodtUzxvKQl72cUF7RQ5EiHsGvSsVG0ia9c5RbWGL2CI4C7EpPS8UTBIplnlzZiNuV56w+FuNxy3ty2Q== - dependencies: - has-flag "^4.0.0" - -supports-preserve-symlinks-flag@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/supports-preserve-symlinks-flag/-/supports-preserve-symlinks-flag-1.0.0.tgz#6eda4bd344a3c94aea376d4cc31bc77311039e09" - integrity sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w== - -tapable@^1.0.0, tapable@^1.1.3: - version "1.1.3" - resolved "https://registry.yarnpkg.com/tapable/-/tapable-1.1.3.tgz#a1fccc06b58db61fd7a45da2da44f5f3a3e67ba2" - integrity sha512-4WK/bYZmj8xLr+HUCODHGF1ZFzsYffasLUgEiMBY4fgtltdO6B4WJtlSbPaDTLpYTcGVwM2qLnFTICEcNxs3kA== - -tapable@^2.1.1, tapable@^2.2.0: - version "2.2.1" - resolved "https://registry.yarnpkg.com/tapable/-/tapable-2.2.1.tgz#1967a73ef4060a82f12ab96af86d52fdb76eeca0" - integrity sha512-GNzQvQTOIP6RyTfE2Qxb8ZVlNmw0n88vp1szwWRimP02mnTsx3Wtn5qRdqY9w2XduFNUgvOwhNnQsjwCp+kqaQ== - -tar@^6.0.2, tar@^6.1.2: - version "6.1.11" - resolved "https://registry.yarnpkg.com/tar/-/tar-6.1.11.tgz#6760a38f003afa1b2ffd0ffe9e9abbd0eab3d621" - integrity sha512-an/KZQzQUkZCkuoAA64hM92X0Urb6VpRhAFllDzz44U2mcD5scmT3zBc4VgVpkugF580+DQn8eAFSyoQt0tznA== - dependencies: - chownr "^2.0.0" - fs-minipass "^2.0.0" - minipass "^3.0.0" - minizlib "^2.1.1" - mkdirp "^1.0.3" - yallist "^4.0.0" - -temp-file@^3.4.0: - version "3.4.0" - resolved "https://registry.yarnpkg.com/temp-file/-/temp-file-3.4.0.tgz#766ea28911c683996c248ef1a20eea04d51652c7" - integrity sha512-C5tjlC/HCtVUOi3KWVokd4vHVViOmGjtLwIh4MuzPo/nMYTV/p1urt3RnMz2IWXDdKEGJH3k5+KPxtqRsUYGtg== - dependencies: - async-exit-hook "^2.0.1" - fs-extra "^10.0.0" - -terser-webpack-plugin@^2.3.5: - version "2.3.8" - resolved "https://registry.yarnpkg.com/terser-webpack-plugin/-/terser-webpack-plugin-2.3.8.tgz#894764a19b0743f2f704e7c2a848c5283a696724" - integrity sha512-/fKw3R+hWyHfYx7Bv6oPqmk4HGQcrWLtV3X6ggvPuwPNHSnzvVV51z6OaaCOus4YLjutYGOz3pEpbhe6Up2s1w== - dependencies: - cacache "^13.0.1" - find-cache-dir "^3.3.1" - jest-worker "^25.4.0" - p-limit "^2.3.0" - schema-utils "^2.6.6" - serialize-javascript "^4.0.0" - source-map "^0.6.1" - terser "^4.6.12" - webpack-sources "^1.4.3" - -terser-webpack-plugin@^5.1.3: - version "5.3.1" - resolved "https://registry.yarnpkg.com/terser-webpack-plugin/-/terser-webpack-plugin-5.3.1.tgz#0320dcc270ad5372c1e8993fabbd927929773e54" - integrity sha512-GvlZdT6wPQKbDNW/GDQzZFg/j4vKU96yl2q6mcUkzKOgW4gwf1Z8cZToUCrz31XHlPWH8MVb1r2tFtdDtTGJ7g== - dependencies: - jest-worker "^27.4.5" - schema-utils "^3.1.1" - serialize-javascript "^6.0.0" - source-map "^0.6.1" - terser "^5.7.2" - -terser@^4.6.12, terser@^4.6.3: - version "4.8.0" - resolved "https://registry.yarnpkg.com/terser/-/terser-4.8.0.tgz#63056343d7c70bb29f3af665865a46fe03a0df17" - integrity sha512-EAPipTNeWsb/3wLPeup1tVPaXfIaU68xMnVdPafIL1TV05OhASArYyIfFvnvJCNrR2NIOvDVNNTFRa+Re2MWyw== - dependencies: - commander "^2.20.0" - source-map "~0.6.1" - source-map-support "~0.5.12" - -terser@^5.7.2: - version "5.10.0" - resolved "https://registry.yarnpkg.com/terser/-/terser-5.10.0.tgz#b86390809c0389105eb0a0b62397563096ddafcc" - integrity sha512-AMmF99DMfEDiRJfxfY5jj5wNH/bYO09cniSqhfoyxc8sFoYIgkJy86G04UoZU5VjlpnplVu0K6Tx6E9b5+DlHA== - dependencies: - commander "^2.20.0" - source-map "~0.7.2" - source-map-support "~0.5.20" - -through@2, through@~2.3, through@~2.3.1: - version "2.3.8" - resolved "https://registry.yarnpkg.com/through/-/through-2.3.8.tgz#0dd4c9ffaabc357960b1b724115d7e0e86a2e1f5" - integrity sha1-DdTJ/6q8NXlgsbckEV1+Doai4fU= - -thunky@^1.0.2: - version "1.1.0" - resolved "https://registry.yarnpkg.com/thunky/-/thunky-1.1.0.tgz#5abaf714a9405db0504732bbccd2cedd9ef9537d" - integrity sha512-eHY7nBftgThBqOyHGVN+l8gF0BucP09fMo0oO/Lb0w1OF80dJv+lDVpXG60WMQvkcxAkNybKsrEIE3ZtKGmPrA== - -tmp-promise@^3.0.2: - version "3.0.3" - resolved "https://registry.yarnpkg.com/tmp-promise/-/tmp-promise-3.0.3.tgz#60a1a1cc98c988674fcbfd23b6e3367bdeac4ce7" - integrity sha512-RwM7MoPojPxsOBYnyd2hy0bxtIlVrihNs9pj5SUvY8Zz1sQcQG2tG1hSr8PDxfgEB8RNKDhqbIlroIarSNDNsQ== - dependencies: - tmp "^0.2.0" - -tmp@^0.2.0: - version "0.2.1" - resolved "https://registry.yarnpkg.com/tmp/-/tmp-0.2.1.tgz#8457fc3037dcf4719c251367a1af6500ee1ccf14" - integrity sha512-76SUhtfqR2Ijn+xllcI5P1oyannHNHByD80W1q447gU3mp9G9PSpGdWmjUOHRDPiHYacIk66W7ubDTuPF3BEtQ== - dependencies: - rimraf "^3.0.0" - -to-fast-properties@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/to-fast-properties/-/to-fast-properties-2.0.0.tgz#dc5e698cbd079265bc73e0377681a4e4e83f616e" - integrity sha1-3F5pjL0HkmW8c+A3doGk5Og/YW4= - -to-object-path@^0.3.0: - version "0.3.0" - resolved "https://registry.yarnpkg.com/to-object-path/-/to-object-path-0.3.0.tgz#297588b7b0e7e0ac08e04e672f85c1f4999e17af" - integrity sha1-KXWIt7Dn4KwI4E5nL4XB9JmeF68= - dependencies: - kind-of "^3.0.2" - -to-readable-stream@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/to-readable-stream/-/to-readable-stream-1.0.0.tgz#ce0aa0c2f3df6adf852efb404a783e77c0475771" - integrity sha512-Iq25XBt6zD5npPhlLVXGFN3/gyR2/qODcKNNyTMd4vbm39HUaOiAM4PMq0eMVC/Tkxz+Zjdsc55g9yyz+Yq00Q== - -to-regex-range@^2.1.0: - version "2.1.1" - resolved "https://registry.yarnpkg.com/to-regex-range/-/to-regex-range-2.1.1.tgz#7c80c17b9dfebe599e27367e0d4dd5590141db38" - integrity sha1-fIDBe53+vlmeJzZ+DU3VWQFB2zg= - dependencies: - is-number "^3.0.0" - repeat-string "^1.6.1" - -to-regex-range@^5.0.1: - version "5.0.1" - resolved "https://registry.yarnpkg.com/to-regex-range/-/to-regex-range-5.0.1.tgz#1648c44aae7c8d988a326018ed72f5b4dd0392e4" - integrity sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ== - dependencies: - is-number "^7.0.0" - -to-regex@^3.0.1, to-regex@^3.0.2: - version "3.0.2" - resolved "https://registry.yarnpkg.com/to-regex/-/to-regex-3.0.2.tgz#13cfdd9b336552f30b51f33a8ae1b42a7a7599ce" - integrity sha512-FWtleNAtZ/Ki2qtqej2CXTOayOH9bHDQF+Q48VpWyDXjbYxA4Yz8iDB31zXOBUlOHHKidDbqGVrTUvQMPmBGBw== - dependencies: - define-property "^2.0.2" - extend-shallow "^3.0.2" - regex-not "^1.0.2" - safe-regex "^1.1.0" - -toidentifier@1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/toidentifier/-/toidentifier-1.0.1.tgz#3be34321a88a820ed1bd80dfaa33e479fbb8dd35" - integrity sha512-o5sSPKEkg/DIQNmH43V0/uerLrpzVedkUh8tGNvaeXpfpuwjKenlSox/2O/BTlZUtEe+JG7s5YhEz608PlAHRA== - -token-types@^4.1.1: - version "4.1.1" - resolved "https://registry.yarnpkg.com/token-types/-/token-types-4.1.1.tgz#ef9e8c8e2e0ded9f1b3f8dbaa46a3228b113ba1a" - integrity sha512-hD+QyuUAyI2spzsI0B7gf/jJ2ggR4RjkAo37j3StuePhApJUwcWDjnHDOFdIWYSwNR28H14hpwm4EI+V1Ted1w== - dependencies: - "@tokenizer/token" "^0.3.0" - ieee754 "^1.2.1" - -tr46@~0.0.3: - version "0.0.3" - resolved "https://registry.yarnpkg.com/tr46/-/tr46-0.0.3.tgz#8184fd347dac9cdc185992f3a6622e14b9d9ab6a" - integrity sha1-gYT9NH2snNwYWZLzpmIuFLnZq2o= - -trim-repeated@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/trim-repeated/-/trim-repeated-1.0.0.tgz#e3646a2ea4e891312bf7eace6cfb05380bc01c21" - integrity sha1-42RqLqTokTEr9+rObPsFOAvAHCE= - dependencies: - escape-string-regexp "^1.0.2" - -truncate-utf8-bytes@^1.0.0: - version "1.0.2" - resolved "https://registry.yarnpkg.com/truncate-utf8-bytes/-/truncate-utf8-bytes-1.0.2.tgz#405923909592d56f78a5818434b0b78489ca5f2b" - integrity sha1-QFkjkJWS1W94pYGENLC3hInKXys= - dependencies: - utf8-byte-length "^1.0.1" - -tslib@^1.9.3: - version "1.14.1" - resolved "https://registry.yarnpkg.com/tslib/-/tslib-1.14.1.tgz#cf2d38bdc34a134bcaf1091c41f6619e2f672d00" - integrity sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg== - -tslib@^2.0.3, tslib@^2.2.0: - version "2.3.1" - resolved "https://registry.yarnpkg.com/tslib/-/tslib-2.3.1.tgz#e8a335add5ceae51aa261d32a490158ef042ef01" - integrity sha512-77EbyPPpMz+FRFRuAFlWMtmgUWGe9UOG2Z25NqCwiIjRhOf5iKGuzSe5P2w1laq+FkRy4p+PCuVkJSGkzTEKVw== - -tunnel@^0.0.6: - version "0.0.6" - resolved "https://registry.yarnpkg.com/tunnel/-/tunnel-0.0.6.tgz#72f1314b34a5b192db012324df2cc587ca47f92c" - integrity sha512-1h/Lnq9yajKY2PEbBadPXj3VxsDDu844OnaAo52UVmIzIvwwtBPIuNvkjuzBlTWpfJyUbG3ez0KSBibQkj4ojg== - -type-fest@^0.13.1: - version "0.13.1" - resolved "https://registry.yarnpkg.com/type-fest/-/type-fest-0.13.1.tgz#0172cb5bce80b0bd542ea348db50c7e21834d934" - integrity sha512-34R7HTnG0XIJcBSn5XhDd7nNFPRcXYRZrBB2O2jdKqYODldSzBAqzsWoZYYvduky73toYS/ESqxPvkDf/F0XMg== - -type-fest@^0.20.2: - version "0.20.2" - resolved "https://registry.yarnpkg.com/type-fest/-/type-fest-0.20.2.tgz#1bf207f4b28f91583666cb5fbd327887301cd5f4" - integrity sha512-Ne+eE4r0/iWnpAxD852z3A+N0Bt5RN//NjJwRd2VFHEmrywxf5vsZlh4R6lixl6B+wz/8d+maTSAkN1FIkI3LQ== - -type-fest@^1.0.2: - version "1.4.0" - resolved "https://registry.yarnpkg.com/type-fest/-/type-fest-1.4.0.tgz#e9fb813fe3bf1744ec359d55d1affefa76f14be1" - integrity sha512-yGSza74xk0UG8k+pLh5oeoYirvIiWo5t0/o3zHHAO2tRDiZcxWP7fywNlXhqb6/r6sWvwi+RsyQMWhVLe4BVuA== - -type-is@~1.6.18: - version "1.6.18" - resolved "https://registry.yarnpkg.com/type-is/-/type-is-1.6.18.tgz#4e552cd05df09467dcbc4ef739de89f2cf37c131" - integrity sha512-TkRKr9sUTxEH8MdfuCSP7VizJyzRNMjj2J2do2Jr3Kym598JVdEksuzPQCnlFPW4ky9Q+iA+ma9BGm06XQBy8g== - dependencies: - media-typer "0.3.0" - mime-types "~2.1.24" - -typedarray-to-buffer@^3.1.5: - version "3.1.5" - resolved "https://registry.yarnpkg.com/typedarray-to-buffer/-/typedarray-to-buffer-3.1.5.tgz#a97ee7a9ff42691b9f783ff1bc5112fe3fca9080" - integrity sha512-zdu8XMNEDepKKR+XYOXAVPtWui0ly0NtohUscw+UmaHiAWT8hrV1rr//H6V+0DvJ3OQ19S979M0laLfX8rm82Q== - dependencies: - is-typedarray "^1.0.0" - -typedarray@^0.0.6: - version "0.0.6" - resolved "https://registry.yarnpkg.com/typedarray/-/typedarray-0.0.6.tgz#867ac74e3864187b1d3d47d996a78ec5c8830777" - integrity sha1-hnrHTjhkGHsdPUfZlqeOxciDB3c= - -typescript@^4.5.5: - version "4.5.5" - resolved "https://registry.yarnpkg.com/typescript/-/typescript-4.5.5.tgz#d8c953832d28924a9e3d37c73d729c846c5896f3" - integrity sha512-TCTIul70LyWe6IJWT8QSYeA54WQe8EjQFU4wY52Fasj5UKx88LNYKCgBEHcOMOrFF1rKGbD8v/xcNWVUq9SymA== - -unbox-primitive@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/unbox-primitive/-/unbox-primitive-1.0.1.tgz#085e215625ec3162574dc8859abee78a59b14471" - integrity sha512-tZU/3NqK3dA5gpE1KtyiJUrEB0lxnGkMFHptJ7q6ewdZ8s12QrODwNbhIJStmJkd1QDXa1NRA8aF2A1zk/Ypyw== - dependencies: - function-bind "^1.1.1" - has-bigints "^1.0.1" - has-symbols "^1.0.2" - which-boxed-primitive "^1.0.2" - -underscore@: - version "1.13.2" - resolved "https://registry.yarnpkg.com/underscore/-/underscore-1.13.2.tgz#276cea1e8b9722a8dbed0100a407dda572125881" - integrity sha512-ekY1NhRzq0B08g4bGuX4wd2jZx5GnKz6mKSqFL4nqBlfyMGiG10gDFhDTMEfYmDL6Jy0FUIZp7wiRB+0BP7J2g== - -unicode-canonical-property-names-ecmascript@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/unicode-canonical-property-names-ecmascript/-/unicode-canonical-property-names-ecmascript-2.0.0.tgz#301acdc525631670d39f6146e0e77ff6bbdebddc" - integrity sha512-yY5PpDlfVIU5+y/BSCxAJRBIS1Zc2dDG3Ujq+sR0U+JjUevW2JhocOF+soROYDSaAezOzOKuyyixhD6mBknSmQ== - -unicode-match-property-ecmascript@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/unicode-match-property-ecmascript/-/unicode-match-property-ecmascript-2.0.0.tgz#54fd16e0ecb167cf04cf1f756bdcc92eba7976c3" - integrity sha512-5kaZCrbp5mmbz5ulBkDkbY0SsPOjKqVS35VpL9ulMPfSl0J0Xsm+9Evphv9CoIZFwre7aJoa94AY6seMKGVN5Q== - dependencies: - unicode-canonical-property-names-ecmascript "^2.0.0" - unicode-property-aliases-ecmascript "^2.0.0" - -unicode-match-property-value-ecmascript@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/unicode-match-property-value-ecmascript/-/unicode-match-property-value-ecmascript-2.0.0.tgz#1a01aa57247c14c568b89775a54938788189a714" - integrity sha512-7Yhkc0Ye+t4PNYzOGKedDhXbYIBe1XEQYQxOPyhcXNMJ0WCABqqj6ckydd6pWRZTHV4GuCPKdBAUiMc60tsKVw== - -unicode-property-aliases-ecmascript@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/unicode-property-aliases-ecmascript/-/unicode-property-aliases-ecmascript-2.0.0.tgz#0a36cb9a585c4f6abd51ad1deddb285c165297c8" - integrity sha512-5Zfuy9q/DFr4tfO7ZPeVXb1aPoeQSdeFMLpYuFebehDAhbuevLs5yxSZmIFN1tP5F9Wl4IpJrYojg85/zgyZHQ== - -union-value@^1.0.0: - version "1.0.1" - resolved "https://registry.yarnpkg.com/union-value/-/union-value-1.0.1.tgz#0b6fe7b835aecda61c6ea4d4f02c14221e109847" - integrity sha512-tJfXmxMeWYnczCVs7XAEvIV7ieppALdyepWMkHkwciRpZraG/xwT+s2JN8+pr1+8jCRf80FFzvr+MpQeeoF4Xg== - dependencies: - arr-union "^3.1.0" - get-value "^2.0.6" - is-extendable "^0.1.1" - set-value "^2.0.1" - -unique-filename@^1.1.1: - version "1.1.1" - resolved "https://registry.yarnpkg.com/unique-filename/-/unique-filename-1.1.1.tgz#1d69769369ada0583103a1e6ae87681b56573230" - integrity sha512-Vmp0jIp2ln35UTXuryvjzkjGdRyf9b2lTXuSYUiPmzRcl3FDtYqAwOnTJkAngD9SWhnoJzDbTKwaOrZ+STtxNQ== - dependencies: - unique-slug "^2.0.0" - -unique-slug@^2.0.0: - version "2.0.2" - resolved "https://registry.yarnpkg.com/unique-slug/-/unique-slug-2.0.2.tgz#baabce91083fc64e945b0f3ad613e264f7cd4e6c" - integrity sha512-zoWr9ObaxALD3DOPfjPSqxt4fnZiWblxHIgeWqW8x7UqDzEtHEQLzji2cuJYQFCU6KmoJikOYAZlrTHHebjx2w== - dependencies: - imurmurhash "^0.1.4" - -unique-string@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/unique-string/-/unique-string-2.0.0.tgz#39c6451f81afb2749de2b233e3f7c5e8843bd89d" - integrity sha512-uNaeirEPvpZWSgzwsPGtU2zVSTrn/8L5q/IexZmH0eH6SA73CmAA5U4GwORTxQAZs95TAXLNqeLoPPNO5gZfWg== - dependencies: - crypto-random-string "^2.0.0" - -universalify@^0.1.0: - version "0.1.2" - resolved "https://registry.yarnpkg.com/universalify/-/universalify-0.1.2.tgz#b646f69be3942dabcecc9d6639c80dc105efaa66" - integrity sha512-rBJeI5CXAlmy1pV+617WB9J63U6XcazHHF2f2dbJix4XzpUF0RS3Zbj0FGIOCAva5P/d/GBOYaACQ1w+0azUkg== - -universalify@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/universalify/-/universalify-2.0.0.tgz#75a4984efedc4b08975c5aeb73f530d02df25717" - integrity sha512-hAZsKq7Yy11Zu1DE0OzWjw7nnLZmJZYTDZZyEFHZdUhV8FkH5MCfoU1XMaxXovpyW5nq5scPqq0ZDP9Zyl04oQ== - -unpipe@1.0.0, unpipe@~1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/unpipe/-/unpipe-1.0.0.tgz#b2bf4ee8514aae6165b4817829d21b2ef49904ec" - integrity sha1-sr9O6FFKrmFltIF4KdIbLvSZBOw= - -unset-value@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/unset-value/-/unset-value-1.0.0.tgz#8376873f7d2335179ffb1e6fc3a8ed0dfc8ab559" - integrity sha1-g3aHP30jNRef+x5vw6jtDfyKtVk= - dependencies: - has-value "^0.3.1" - isobject "^3.0.0" - -upath@^1.1.1: - version "1.2.0" - resolved "https://registry.yarnpkg.com/upath/-/upath-1.2.0.tgz#8f66dbcd55a883acdae4408af8b035a5044c1894" - integrity sha512-aZwGpamFO61g3OlfT7OQCHqhGnW43ieH9WZeP7QxN/G/jS4jfqUkZxoryvJgVPEcrl5NL/ggHsSmLMHuH64Lhg== - -update-notifier@^5.1.0: - version "5.1.0" - resolved "https://registry.yarnpkg.com/update-notifier/-/update-notifier-5.1.0.tgz#4ab0d7c7f36a231dd7316cf7729313f0214d9ad9" - integrity sha512-ItnICHbeMh9GqUy31hFPrD1kcuZ3rpxDZbf4KUDavXwS0bW5m7SLbDQpGX3UYr072cbrF5hFUs3r5tUsPwjfHw== - dependencies: - boxen "^5.0.0" - chalk "^4.1.0" - configstore "^5.0.1" - has-yarn "^2.1.0" - import-lazy "^2.1.0" - is-ci "^2.0.0" - is-installed-globally "^0.4.0" - is-npm "^5.0.0" - is-yarn-global "^0.3.0" - latest-version "^5.1.0" - pupa "^2.1.1" - semver "^7.3.4" - semver-diff "^3.1.1" - xdg-basedir "^4.0.0" - -uri-js@^4.2.2: - version "4.4.1" - resolved "https://registry.yarnpkg.com/uri-js/-/uri-js-4.4.1.tgz#9b1a52595225859e55f669d928f88c6c57f2a77e" - integrity sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg== - dependencies: - punycode "^2.1.0" - -urix@^0.1.0: - version "0.1.0" - resolved "https://registry.yarnpkg.com/urix/-/urix-0.1.0.tgz#da937f7a62e21fec1fd18d49b35c2935067a6c72" - integrity sha1-2pN/emLiH+wf0Y1Js1wpNQZ6bHI= - -url-loader@^4.0.0: - version "4.1.1" - resolved "https://registry.yarnpkg.com/url-loader/-/url-loader-4.1.1.tgz#28505e905cae158cf07c92ca622d7f237e70a4e2" - integrity sha512-3BTV812+AVHHOJQO8O5MkWgZ5aosP7GnROJwvzLS9hWDj00lZ6Z0wNak423Lp9PBZN05N+Jk/N5Si8jRAlGyWA== - dependencies: - loader-utils "^2.0.0" - mime-types "^2.1.27" - schema-utils "^3.0.0" - -url-parse-lax@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/url-parse-lax/-/url-parse-lax-3.0.0.tgz#16b5cafc07dbe3676c1b1999177823d6503acb0c" - integrity sha1-FrXK/Afb42dsGxmZF3gj1lA6yww= - dependencies: - prepend-http "^2.0.0" - -url-parse@^1.4.3, url-parse@^1.5.3: - version "1.5.4" - resolved "https://registry.yarnpkg.com/url-parse/-/url-parse-1.5.4.tgz#e4f645a7e2a0852cc8a66b14b292a3e9a11a97fd" - integrity sha512-ITeAByWWoqutFClc/lRZnFplgXgEZr3WJ6XngMM/N9DMIm4K8zXPCZ1Jdu0rERwO84w1WC5wkle2ubwTA4NTBg== - dependencies: - querystringify "^2.1.1" - requires-port "^1.0.0" - -url@^0.11.0: - version "0.11.0" - resolved "https://registry.yarnpkg.com/url/-/url-0.11.0.tgz#3838e97cfc60521eb73c525a8e55bfdd9e2e28f1" - integrity sha1-ODjpfPxgUh63PFJajlW/3Z4uKPE= - dependencies: - punycode "1.3.2" - querystring "0.2.0" - -use@^3.1.0: - version "3.1.1" - resolved "https://registry.yarnpkg.com/use/-/use-3.1.1.tgz#d50c8cac79a19fbc20f2911f56eb973f4e10070f" - integrity sha512-cwESVXlO3url9YWlFW/TA9cshCEhtu7IKJ/p5soJ/gGpj7vbvFrAY/eIioQ6Dw23KjZhYgiIo8HOs1nQ2vr/oQ== - -utf8-byte-length@^1.0.1: - version "1.0.4" - resolved "https://registry.yarnpkg.com/utf8-byte-length/-/utf8-byte-length-1.0.4.tgz#f45f150c4c66eee968186505ab93fcbb8ad6bf61" - integrity sha1-9F8VDExm7uloGGUFq5P8u4rWv2E= - -util-deprecate@^1.0.1, util-deprecate@^1.0.2, util-deprecate@~1.0.1: - version "1.0.2" - resolved "https://registry.yarnpkg.com/util-deprecate/-/util-deprecate-1.0.2.tgz#450d4dc9fa70de732762fbd2d4a28981419a0ccf" - integrity sha1-RQ1Nyfpw3nMnYvvS1KKJgUGaDM8= - -util.promisify@1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/util.promisify/-/util.promisify-1.0.0.tgz#440f7165a459c9a16dc145eb8e72f35687097030" - integrity sha512-i+6qA2MPhvoKLuxnJNpXAGhg7HphQOSUq2LKMZD0m15EiskXUkMvKdF4Uui0WYeCUGea+o2cw/ZuwehtfsrNkA== - dependencies: - define-properties "^1.1.2" - object.getownpropertydescriptors "^2.0.3" - -utila@~0.4: - version "0.4.0" - resolved "https://registry.yarnpkg.com/utila/-/utila-0.4.0.tgz#8a16a05d445657a3aea5eecc5b12a4fa5379772c" - integrity sha1-ihagXURWV6Oupe7MWxKk+lN5dyw= - -utils-merge@1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/utils-merge/-/utils-merge-1.0.1.tgz#9f95710f50a267947b2ccc124741c1028427e713" - integrity sha1-n5VxD1CiZ5R7LMwSR0HBAoQn5xM= - -uuid@^3.3.2: - version "3.4.0" - resolved "https://registry.yarnpkg.com/uuid/-/uuid-3.4.0.tgz#b23e4358afa8a202fe7a100af1f5f883f02007ee" - integrity sha512-HjSDRw6gZE5JMggctHBcjVak08+KEVhSIiDzFnT9S9aegmp85S/bReBVTb4QTFaRNptJ9kuYaNhnbNEOkbKb/A== - -uuid@^8.3.2: - version "8.3.2" - resolved "https://registry.yarnpkg.com/uuid/-/uuid-8.3.2.tgz#80d5b5ced271bb9af6c445f21a1a04c606cefbe2" - integrity sha512-+NYs2QeMWy+GWFOEm9xnn6HCDp0l7QBD7ml8zLUmJ+93Q5NF0NocErnwkTkXVFNiX3/fpC6afS8Dhb/gz7R7eg== - -v8-compile-cache@^2.1.1, v8-compile-cache@^2.3.0: - version "2.3.0" - resolved "https://registry.yarnpkg.com/v8-compile-cache/-/v8-compile-cache-2.3.0.tgz#2de19618c66dc247dcfb6f99338035d8245a2cee" - integrity sha512-l8lCEmLcLYZh4nbunNZvQCJc5pv7+RCwa8q/LdUx8u7lsWvPDKmpodJAJNwkAhJC//dFY48KuIEmjtd4RViDrA== - -validate-npm-package-license@^3.0.1: - version "3.0.4" - resolved "https://registry.yarnpkg.com/validate-npm-package-license/-/validate-npm-package-license-3.0.4.tgz#fc91f6b9c7ba15c857f4cb2c5defeec39d4f410a" - integrity sha512-DpKm2Ui/xN7/HQKCtpZxoRWBhZ9Z0kqtygG8XCgNQ8ZlDnxuQmWhj566j8fN4Cu3/JmbhsDo7fcAJq4s9h27Ew== - dependencies: - spdx-correct "^3.0.0" - spdx-expression-parse "^3.0.0" - -vary@~1.1.2: - version "1.1.2" - resolved "https://registry.yarnpkg.com/vary/-/vary-1.1.2.tgz#2299f02c6ded30d4a5961b0b9f74524a18f634fc" - integrity sha1-IpnwLG3tMNSllhsLn3RSShj2NPw= - -verror@^1.10.0: - version "1.10.1" - resolved "https://registry.yarnpkg.com/verror/-/verror-1.10.1.tgz#4bf09eeccf4563b109ed4b3d458380c972b0cdeb" - integrity sha512-veufcmxri4e3XSrT0xwfUR7kguIkaxBeosDg00yDWhk49wdwkSUrvvsm7nc75e1PUyvIeZj6nS8VQRYz2/S4Xg== - dependencies: - assert-plus "^1.0.0" - core-util-is "1.0.2" - extsprintf "^1.2.0" - -vue-devtools@^5.1.4: - version "5.1.4" - resolved "https://registry.yarnpkg.com/vue-devtools/-/vue-devtools-5.1.4.tgz#265a7458ade2affb291739176964256b597fa302" - integrity sha512-EBAEXvAHUinsPzoSiElps0JgtLXUnJXKIJbP6nfdz/R63VdKBMfJ34/rFip+4iT7iMbVS5lA4W6N1jq4Hj4LCg== - -watchpack@^2.3.1: - version "2.3.1" - resolved "https://registry.yarnpkg.com/watchpack/-/watchpack-2.3.1.tgz#4200d9447b401156eeca7767ee610f8809bc9d25" - integrity sha512-x0t0JuydIo8qCNctdDrn1OzH/qDzk2+rdCOC3YzumZ42fiMqmQ7T3xQurykYMhYfHaPHTp4ZxAx2NfUo1K6QaA== - dependencies: - glob-to-regexp "^0.4.1" - graceful-fs "^4.1.2" - -wbuf@^1.1.0, wbuf@^1.7.3: - version "1.7.3" - resolved "https://registry.yarnpkg.com/wbuf/-/wbuf-1.7.3.tgz#c1d8d149316d3ea852848895cb6a0bfe887b87df" - integrity sha512-O84QOnr0icsbFGLS0O3bI5FswxzRr8/gHwWkDlQFskhSPryQXvrTMxjxGP4+iWYoauLoBvfDpkrOauZ+0iZpDA== - dependencies: - minimalistic-assert "^1.0.0" - -webidl-conversions@^3.0.0: - version "3.0.1" - resolved "https://registry.yarnpkg.com/webidl-conversions/-/webidl-conversions-3.0.1.tgz#24534275e2a7bc6be7bc86611cc16ae0a5654871" - integrity sha1-JFNCdeKnvGvnvIZhHMFq4KVlSHE= - -webpack-cli@^3.3.11: - version "3.3.12" - resolved "https://registry.yarnpkg.com/webpack-cli/-/webpack-cli-3.3.12.tgz#94e9ada081453cd0aa609c99e500012fd3ad2d4a" - integrity sha512-NVWBaz9k839ZH/sinurM+HcDvJOTXwSjYp1ku+5XKeOC03z8v5QitnK/x+lAxGXFyhdayoIf/GOpv85z3/xPag== - dependencies: - chalk "^2.4.2" - cross-spawn "^6.0.5" - enhanced-resolve "^4.1.1" - findup-sync "^3.0.0" - global-modules "^2.0.0" - import-local "^2.0.0" - interpret "^1.4.0" - loader-utils "^1.4.0" - supports-color "^6.1.0" - v8-compile-cache "^2.1.1" - yargs "^13.3.2" - -webpack-dev-middleware@^3.7.2: - version "3.7.3" - resolved "https://registry.yarnpkg.com/webpack-dev-middleware/-/webpack-dev-middleware-3.7.3.tgz#0639372b143262e2b84ab95d3b91a7597061c2c5" - integrity sha512-djelc/zGiz9nZj/U7PTBi2ViorGJXEWo/3ltkPbDyxCXhhEXkW0ce99falaok4TPj+AsxLiXJR0EBOb0zh9fKQ== - dependencies: - memory-fs "^0.4.1" - mime "^2.4.4" - mkdirp "^0.5.1" - range-parser "^1.2.1" - webpack-log "^2.0.0" - -webpack-dev-server@^3.10.3: - version "3.11.3" - resolved "https://registry.yarnpkg.com/webpack-dev-server/-/webpack-dev-server-3.11.3.tgz#8c86b9d2812bf135d3c9bce6f07b718e30f7c3d3" - integrity sha512-3x31rjbEQWKMNzacUZRE6wXvUFuGpH7vr0lIEbYpMAG9BOxi0928QU1BBswOAP3kg3H1O4hiS+sq4YyAn6ANnA== - dependencies: - ansi-html-community "0.0.8" - bonjour "^3.5.0" - chokidar "^2.1.8" - compression "^1.7.4" - connect-history-api-fallback "^1.6.0" - debug "^4.1.1" - del "^4.1.1" - express "^4.17.1" - html-entities "^1.3.1" - http-proxy-middleware "0.19.1" - import-local "^2.0.0" - internal-ip "^4.3.0" - ip "^1.1.5" - is-absolute-url "^3.0.3" - killable "^1.0.1" - loglevel "^1.6.8" - opn "^5.5.0" - p-retry "^3.0.1" - portfinder "^1.0.26" - schema-utils "^1.0.0" - selfsigned "^1.10.8" - semver "^6.3.0" - serve-index "^1.9.1" - sockjs "^0.3.21" - sockjs-client "^1.5.0" - spdy "^4.0.2" - strip-ansi "^3.0.1" - supports-color "^6.1.0" - url "^0.11.0" - webpack-dev-middleware "^3.7.2" - webpack-log "^2.0.0" - ws "^6.2.1" - yargs "^13.3.2" - -webpack-log@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/webpack-log/-/webpack-log-2.0.0.tgz#5b7928e0637593f119d32f6227c1e0ac31e1b47f" - integrity sha512-cX8G2vR/85UYG59FgkoMamwHUIkSSlV3bBMRsbxVXVUk2j6NleCKjQ/WE9eYg9WY4w25O9w8wKP4rzNZFmUcUg== - dependencies: - ansi-colors "^3.0.0" - uuid "^3.3.2" - -webpack-merge@^4.2.2: - version "4.2.2" - resolved "https://registry.yarnpkg.com/webpack-merge/-/webpack-merge-4.2.2.tgz#a27c52ea783d1398afd2087f547d7b9d2f43634d" - integrity sha512-TUE1UGoTX2Cd42j3krGYqObZbOD+xF7u28WB7tfUordytSjbWTIjK/8V0amkBfTYN4/pB/GIDlJZZ657BGG19g== - dependencies: - lodash "^4.17.15" - -webpack-sources@^1.1.0, webpack-sources@^1.4.3: - version "1.4.3" - resolved "https://registry.yarnpkg.com/webpack-sources/-/webpack-sources-1.4.3.tgz#eedd8ec0b928fbf1cbfe994e22d2d890f330a933" - integrity sha512-lgTS3Xhv1lCOKo7SA5TjKXMjpSM4sBjNV5+q2bqesbSPs5FjGmU6jjtBSkX9b4qW87vDIsCIlUPOEhbZrMdjeQ== - dependencies: - source-list-map "^2.0.0" - source-map "~0.6.1" - -webpack-sources@^3.2.2: - version "3.2.3" - resolved "https://registry.yarnpkg.com/webpack-sources/-/webpack-sources-3.2.3.tgz#2d4daab8451fd4b240cc27055ff6a0c2ccea0cde" - integrity sha512-/DyMEOrDgLKKIG0fmvtz+4dUX/3Ghozwgm6iPp8KRhvn+eQf9+Q7GWxVNMk3+uCPWfdXYC4ExGBckIXdFEfH1w== - -webpack@~5.65.0: - version "5.65.0" - resolved "https://registry.yarnpkg.com/webpack/-/webpack-5.65.0.tgz#ed2891d9145ba1f0d318e4ea4f89c3fa18e6f9be" - integrity sha512-Q5or2o6EKs7+oKmJo7LaqZaMOlDWQse9Tm5l1WAfU/ujLGN5Pb0SqGeVkN/4bpPmEqEP5RnVhiqsOtWtUVwGRw== - dependencies: - "@types/eslint-scope" "^3.7.0" - "@types/estree" "^0.0.50" - "@webassemblyjs/ast" "1.11.1" - "@webassemblyjs/wasm-edit" "1.11.1" - "@webassemblyjs/wasm-parser" "1.11.1" - acorn "^8.4.1" - acorn-import-assertions "^1.7.6" - browserslist "^4.14.5" - chrome-trace-event "^1.0.2" - enhanced-resolve "^5.8.3" - es-module-lexer "^0.9.0" - eslint-scope "5.1.1" - events "^3.2.0" - glob-to-regexp "^0.4.1" - graceful-fs "^4.2.4" - json-parse-better-errors "^1.0.2" - loader-runner "^4.2.0" - mime-types "^2.1.27" - neo-async "^2.6.2" - schema-utils "^3.1.0" - tapable "^2.1.1" - terser-webpack-plugin "^5.1.3" - watchpack "^2.3.1" - webpack-sources "^3.2.2" - -websocket-driver@>=0.5.1, websocket-driver@^0.7.4: - version "0.7.4" - resolved "https://registry.yarnpkg.com/websocket-driver/-/websocket-driver-0.7.4.tgz#89ad5295bbf64b480abcba31e4953aca706f5760" - integrity sha512-b17KeDIQVjvb0ssuSDF2cYXSg2iztliJ4B9WdsuB6J952qCPKmnVq4DyW5motImXHDC1cBT/1UezrJVsKw5zjg== - dependencies: - http-parser-js ">=0.5.1" - safe-buffer ">=5.1.0" - websocket-extensions ">=0.1.1" - -websocket-extensions@>=0.1.1: - version "0.1.4" - resolved "https://registry.yarnpkg.com/websocket-extensions/-/websocket-extensions-0.1.4.tgz#7f8473bc839dfd87608adb95d7eb075211578a42" - integrity sha512-OqedPIGOfsDlo31UNwYbCFMSaO9m9G/0faIHj5/dZFDMFqPTcx6UwqyOy3COEaEOg/9VsGIpdqn62W5KhoKSpg== - -whatwg-url@^5.0.0: - version "5.0.0" - resolved "https://registry.yarnpkg.com/whatwg-url/-/whatwg-url-5.0.0.tgz#966454e8765462e37644d3626f6742ce8b70965d" - integrity sha1-lmRU6HZUYuN2RNNib2dCzotwll0= - dependencies: - tr46 "~0.0.3" - webidl-conversions "^3.0.0" - -which-boxed-primitive@^1.0.2: - version "1.0.2" - resolved "https://registry.yarnpkg.com/which-boxed-primitive/-/which-boxed-primitive-1.0.2.tgz#13757bc89b209b049fe5d86430e21cf40a89a8e6" - integrity sha512-bwZdv0AKLpplFY2KZRX6TvyuN7ojjr7lwkg6ml0roIy9YeuSr7JS372qlNW18UQYzgYK9ziGcerWqZOmEn9VNg== - dependencies: - is-bigint "^1.0.1" - is-boolean-object "^1.1.0" - is-number-object "^1.0.4" - is-string "^1.0.5" - is-symbol "^1.0.3" - -which-module@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/which-module/-/which-module-2.0.0.tgz#d9ef07dce77b9902b8a3a8fa4b31c3e3f7e6e87a" - integrity sha1-2e8H3Od7mQK4o6j6SzHD4/fm6Ho= - -which@^1.2.14, which@^1.2.9, which@^1.3.1: - version "1.3.1" - resolved "https://registry.yarnpkg.com/which/-/which-1.3.1.tgz#a45043d54f5805316da8d62f9f50918d3da70b0a" - integrity sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ== - dependencies: - isexe "^2.0.0" - -which@^2.0.1, which@^2.0.2: - version "2.0.2" - resolved "https://registry.yarnpkg.com/which/-/which-2.0.2.tgz#7c6a8dd0a636a0327e10b59c9286eee93f3f51b1" - integrity sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA== - dependencies: - isexe "^2.0.0" - -wide-align@^1.1.2: - version "1.1.5" - resolved "https://registry.yarnpkg.com/wide-align/-/wide-align-1.1.5.tgz#df1d4c206854369ecf3c9a4898f1b23fbd9d15d3" - integrity sha512-eDMORYaPNZ4sQIuuYPDHdQvf4gyCF9rEEV/yPxGfwPkRodwEgiMUUXTx/dex+Me0wxx53S+NgUHaP7y3MGlDmg== - dependencies: - string-width "^1.0.2 || 2 || 3 || 4" - -widest-line@^3.1.0: - version "3.1.0" - resolved "https://registry.yarnpkg.com/widest-line/-/widest-line-3.1.0.tgz#8292333bbf66cb45ff0de1603b136b7ae1496eca" - integrity sha512-NsmoXalsWVDMGupxZ5R08ka9flZjjiLvHVAWYOKtiKM8ujtZWr9cRffak+uSE48+Ob8ObalXpwyeUiyDD6QFgg== - dependencies: - string-width "^4.0.0" - -wrap-ansi@^5.1.0: - version "5.1.0" - resolved "https://registry.yarnpkg.com/wrap-ansi/-/wrap-ansi-5.1.0.tgz#1fd1f67235d5b6d0fee781056001bfb694c03b09" - integrity sha512-QC1/iN/2/RPVJ5jYK8BGttj5z83LmSKmvbvrXPNCLZSEb32KKVDJDl/MOt2N01qU2H/FkzEa9PKto1BqDjtd7Q== - dependencies: - ansi-styles "^3.2.0" - string-width "^3.0.0" - strip-ansi "^5.0.0" - -wrap-ansi@^6.2.0: - version "6.2.0" - resolved "https://registry.yarnpkg.com/wrap-ansi/-/wrap-ansi-6.2.0.tgz#e9393ba07102e6c91a3b221478f0257cd2856e53" - integrity sha512-r6lPcBGxZXlIcymEu7InxDMhdW0KDxpLgoFLcguasxCaJ/SOIZwINatK9KY/tf+ZrlywOKU0UDj3ATXUBfxJXA== - dependencies: - ansi-styles "^4.0.0" - string-width "^4.1.0" - strip-ansi "^6.0.0" - -wrap-ansi@^7.0.0: - version "7.0.0" - resolved "https://registry.yarnpkg.com/wrap-ansi/-/wrap-ansi-7.0.0.tgz#67e145cff510a6a6984bdf1152911d69d2eb9e43" - integrity sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q== - dependencies: - ansi-styles "^4.0.0" - string-width "^4.1.0" - strip-ansi "^6.0.0" - -wrappy@1: - version "1.0.2" - resolved "https://registry.yarnpkg.com/wrappy/-/wrappy-1.0.2.tgz#b5243d8f3ec1aa35f1364605bc0d1036e30ab69f" - integrity sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8= - -write-file-atomic@^3.0.0: - version "3.0.3" - resolved "https://registry.yarnpkg.com/write-file-atomic/-/write-file-atomic-3.0.3.tgz#56bd5c5a5c70481cd19c571bd39ab965a5de56e8" - integrity sha512-AvHcyZ5JnSfq3ioSyjrBkH9yW4m7Ayk8/9My/DD9onKeu/94fwrMocemO2QAJFAlnnDN+ZDS+ZjAR5ua1/PV/Q== - dependencies: - imurmurhash "^0.1.4" - is-typedarray "^1.0.0" - signal-exit "^3.0.2" - typedarray-to-buffer "^3.1.5" - -ws@^6.2.1: - version "6.2.2" - resolved "https://registry.yarnpkg.com/ws/-/ws-6.2.2.tgz#dd5cdbd57a9979916097652d78f1cc5faea0c32e" - integrity sha512-zmhltoSR8u1cnDsD43TX59mzoMZsLKqUweyYBAIvTngR3shc0W6aOZylZmq/7hqyVxPdi+5Ud2QInblgyE72fw== - dependencies: - async-limiter "~1.0.0" - -ws@^7.3.1, ws@^7.4.6: - version "7.5.6" - resolved "https://registry.yarnpkg.com/ws/-/ws-7.5.6.tgz#e59fc509fb15ddfb65487ee9765c5a51dec5fe7b" - integrity sha512-6GLgCqo2cy2A2rjCNFlxQS6ZljG/coZfZXclldI8FB/1G3CCI36Zd8xy2HrFVACi8tfk5XrgLQEk+P0Tnz9UcA== - -ws@^8.4.2: - version "8.4.2" - resolved "https://registry.yarnpkg.com/ws/-/ws-8.4.2.tgz#18e749868d8439f2268368829042894b6907aa0b" - integrity sha512-Kbk4Nxyq7/ZWqr/tarI9yIt/+iNNFOjBXEWgTb4ydaNHBNGgvf2QHbS9fdfsndfjFlFwEd4Al+mw83YkaD10ZA== - -xdg-basedir@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/xdg-basedir/-/xdg-basedir-4.0.0.tgz#4bc8d9984403696225ef83a1573cbbcb4e79db13" - integrity sha512-PSNhEJDejZYV7h50BohL09Er9VaIefr2LMAf3OEmpCkjOi34eYyQYAXUTjEQtZJTKcF0E2UKTh+osDLsgNim9Q== - -xml2js@^0.4.17, xml2js@^0.4.23: - version "0.4.23" - resolved "https://registry.yarnpkg.com/xml2js/-/xml2js-0.4.23.tgz#a0c69516752421eb2ac758ee4d4ccf58843eac66" - integrity sha512-ySPiMjM0+pLDftHgXY4By0uswI3SPKLDw/i3UXbnO8M/p28zqexCUoPmQFrYD+/1BzhGJSs2i1ERWKJAtiLrug== - dependencies: - sax ">=0.6.0" - xmlbuilder "~11.0.0" - -xmlbuilder@>=11.0.1: - version "15.1.1" - resolved "https://registry.yarnpkg.com/xmlbuilder/-/xmlbuilder-15.1.1.tgz#9dcdce49eea66d8d10b42cae94a79c3c8d0c2ec5" - integrity sha512-yMqGBqtXyeN1e3TGYvgNgDVZ3j84W4cwkOXQswghol6APgZWaff9lnbvN7MHYJOiXsvGPXtjTYJEiC9J2wv9Eg== - -xmlbuilder@^9.0.7: - version "9.0.7" - resolved "https://registry.yarnpkg.com/xmlbuilder/-/xmlbuilder-9.0.7.tgz#132ee63d2ec5565c557e20f4c22df9aca686b10d" - integrity sha1-Ey7mPS7FVlxVfiD0wi35rKaGsQ0= - -xmlbuilder@~11.0.0: - version "11.0.1" - resolved "https://registry.yarnpkg.com/xmlbuilder/-/xmlbuilder-11.0.1.tgz#be9bae1c8a046e76b31127726347d0ad7002beb3" - integrity sha512-fDlsI/kFEx7gLvbecc0/ohLG50fugQp8ryHzMTuW9vSa1GJ0XYWKnhsUx7oie3G98+r56aTQIUB4kht42R3JvA== - -xpipe@*: - version "1.0.5" - resolved "https://registry.yarnpkg.com/xpipe/-/xpipe-1.0.5.tgz#8dd8bf45fc3f7f55f0e054b878f43a62614dafdf" - integrity sha1-jdi/Rfw/f1Xw4FS4ePQ6YmFNr98= - -y18n@^4.0.0: - version "4.0.3" - resolved "https://registry.yarnpkg.com/y18n/-/y18n-4.0.3.tgz#b5f259c82cd6e336921efd7bfd8bf560de9eeedf" - integrity sha512-JKhqTOwSrqNA1NY5lSztJ1GrBiUodLMmIZuLiDaMRJ+itFd+ABVE8XBjOvIWL+rSqNDC74LCSFmlb/U4UZ4hJQ== - -y18n@^5.0.5: - version "5.0.8" - resolved "https://registry.yarnpkg.com/y18n/-/y18n-5.0.8.tgz#7f4934d0f7ca8c56f95314939ddcd2dd91ce1d55" - integrity sha512-0pfFzegeDWJHJIAmTLRP2DwHjdF5s7jo9tuztdQxAhINCdvS+3nGINqPd00AphqJR/0LhANUS6/+7SCb98YOfA== - -yallist@^3.0.2: - version "3.1.1" - resolved "https://registry.yarnpkg.com/yallist/-/yallist-3.1.1.tgz#dbb7daf9bfd8bac9ab45ebf602b8cbad0d5d08fd" - integrity sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g== - -yallist@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/yallist/-/yallist-4.0.0.tgz#9bb92790d9c0effec63be73519e11a35019a3a72" - integrity sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A== - -yargs-parser@^13.1.2: - version "13.1.2" - resolved "https://registry.yarnpkg.com/yargs-parser/-/yargs-parser-13.1.2.tgz#130f09702ebaeef2650d54ce6e3e5706f7a4fb38" - integrity sha512-3lbsNRf/j+A4QuSZfDRA7HRSfWrzO0YjqTJd5kjAq37Zep1CEgaYmrH9Q3GwPiB9cHyd1Y1UwggGhJGoxipbzg== - dependencies: - camelcase "^5.0.0" - decamelize "^1.2.0" - -yargs-parser@^18.1.2: - version "18.1.3" - resolved "https://registry.yarnpkg.com/yargs-parser/-/yargs-parser-18.1.3.tgz#be68c4975c6b2abf469236b0c870362fab09a7b0" - integrity sha512-o50j0JeToy/4K6OZcaQmW6lyXXKhq7csREXcDwk2omFPJEwUNOVtJKvmDr9EI1fAJZUyZcRF7kxGBWmRXudrCQ== - dependencies: - camelcase "^5.0.0" - decamelize "^1.2.0" - -yargs-parser@^20.0.0: - version "20.2.9" - resolved "https://registry.yarnpkg.com/yargs-parser/-/yargs-parser-20.2.9.tgz#2eb7dc3b0289718fc295f362753845c41a0c94ee" - integrity sha512-y11nGElTIV+CT3Zv9t7VKl+Q3hTQoT9a1Qzezhhl6Rp21gJ/IVTW7Z3y9EWXhuUBC2Shnf+DX0antecpAwSP8w== - -yargs-parser@^21.0.0: - version "21.0.0" - resolved "https://registry.yarnpkg.com/yargs-parser/-/yargs-parser-21.0.0.tgz#a485d3966be4317426dd56bdb6a30131b281dc55" - integrity sha512-z9kApYUOCwoeZ78rfRYYWdiU/iNL6mwwYlkkZfJoyMR1xps+NEBX5X7XmRpxkZHhXJ6+Ey00IwKxBBSW9FIjyA== - -yargs@^13.3.2: - version "13.3.2" - resolved "https://registry.yarnpkg.com/yargs/-/yargs-13.3.2.tgz#ad7ffefec1aa59565ac915f82dccb38a9c31a2dd" - integrity sha512-AX3Zw5iPruN5ie6xGRIDgqkT+ZhnRlZMLMHAs8tg7nRruy2Nb+i5o9bwghAogtM08q1dpr2LVoS8KSTMYpWXUw== - dependencies: - cliui "^5.0.0" - find-up "^3.0.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 "^3.0.0" - which-module "^2.0.0" - y18n "^4.0.0" - yargs-parser "^13.1.2" - -yargs@^15.3.1: - version "15.4.1" - resolved "https://registry.yarnpkg.com/yargs/-/yargs-15.4.1.tgz#0d87a16de01aee9d8bec2bfbf74f67851730f4f8" - integrity sha512-aePbxDmcYW++PaqBsJ+HYUFwCdv4LVvdnhBy78E57PIor8/OVvhMrADFFEDh8DHDFRv/O9i3lPhsENjO7QX0+A== - 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" - -yargs@^17.0.1: - version "17.3.1" - resolved "https://registry.yarnpkg.com/yargs/-/yargs-17.3.1.tgz#da56b28f32e2fd45aefb402ed9c26f42be4c07b9" - integrity sha512-WUANQeVgjLbNsEmGk20f+nlHgOqzRFpiGWVaBrYGYIGANIIu3lWjoyi0fNlFmJkvfhCZ6BXINe7/W2O2bV4iaA== - dependencies: - cliui "^7.0.2" - 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.0.0" - -yauzl@^2.10.0: - version "2.10.0" - resolved "https://registry.yarnpkg.com/yauzl/-/yauzl-2.10.0.tgz#c7eb17c93e112cb1086fa6d8e51fb0667b79a5f9" - integrity sha1-x+sXyT4RLLEIb6bY5R+wZnt5pfk= - dependencies: - buffer-crc32 "~0.2.3" - fd-slicer "~1.1.0" - -yazl@^2.5.1: - version "2.5.1" - resolved "https://registry.yarnpkg.com/yazl/-/yazl-2.5.1.tgz#a3d65d3dd659a5b0937850e8609f22fffa2b5c35" - integrity sha512-phENi2PLiHnHb6QBVot+dJnaAZ0xosj7p3fWl+znIjBDlnMI2PsZCJZ306BPTFOaHf5qdDEI8x5qFrSOBN5vrw== - dependencies: - buffer-crc32 "~0.2.3" - -youtube-search-without-api-key@^1.0.7: - version "1.0.7" - resolved "https://registry.yarnpkg.com/youtube-search-without-api-key/-/youtube-search-without-api-key-1.0.7.tgz#39b348d6416318731430a9316da7900c3744bf4f" - integrity sha512-PjwejF6YApZDqTFo46/4q6IQlztUtQsP/8ygcHYyakPHqijIKn36+yUQVPTC92/+IZtqyZBhpTKP1bG6uZKP/Q== - dependencies: - got "^11.8.3" From 827dc79c8fcd23cc7001bb90fa840e0ffe77bdcf Mon Sep 17 00:00:00 2001 From: Maikiwi Date: Sat, 5 Feb 2022 10:23:58 -0800 Subject: [PATCH 005/573] Update index.js --- src/renderer/index.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/renderer/index.js b/src/renderer/index.js index 4d0faad6..21f1045f 100644 --- a/src/renderer/index.js +++ b/src/renderer/index.js @@ -2355,7 +2355,7 @@ const app = new Vue({ if (extendedAssets.attributes.audioTraits.includes('lossless')) { app.mk.nowPlayingItem['attributes']['lossless'] = true CiderAudio.audioNodes.llpwEnabled = 1 - console.log("[Cider][Lossless] Audio being decrypted...") + console.log("[Cider][Enhanced] Audio being processed by PPE") } else { CiderAudio.audioNodes.llpwEnabled = 0 From a73d024d12afc7a2bca205a655caa617aa1fb3c5 Mon Sep 17 00:00:00 2001 From: Maikiwi Date: Sat, 5 Feb 2022 10:31:02 -0800 Subject: [PATCH 006/573] Before I fuck myself again --- .gitignore | 1 + 1 file changed, 1 insertion(+) diff --git a/.gitignore b/.gitignore index d2c0e538..4f9409f1 100644 --- a/.gitignore +++ b/.gitignore @@ -316,3 +316,4 @@ src/renderer/workbox-962786f2.js.map keys.sh package-lock.json +yarn.lock From 147ee609b67edabfeef5a9b8618883787403d753 Mon Sep 17 00:00:00 2001 From: Maikiwi Date: Sat, 5 Feb 2022 10:37:10 -0800 Subject: [PATCH 007/573] Change PPE to everything (not just lossless supported songs) --- src/renderer/index.js | 9 +++++---- yarn.lock | 1 - 2 files changed, 5 insertions(+), 5 deletions(-) delete mode 100644 yarn.lock diff --git a/src/renderer/index.js b/src/renderer/index.js index 21f1045f..ba64287e 100644 --- a/src/renderer/index.js +++ b/src/renderer/index.js @@ -2348,18 +2348,19 @@ const app = new Vue({ }) notyf.success('Removed from library.') }, + async losslessBadge() { const songID = (this.mk.nowPlayingItem != null) ? this.mk.nowPlayingItem["_songId"] ?? -1 : -1; - if (app.cfg.audio.quality == 2304 && app.cfg.advanced.ciderPPE && songID != -1) { + if (app.cfg.audio.quality == 2303 && app.cfg.advanced.ciderPPE && songID != -1) { let extendedAssets = await app.mk.api.song(songID, {extend : 'extendedAssetUrls'}) - if (extendedAssets.attributes.audioTraits.includes('lossless')) { + /** if (extendedAssets.attributes.audioTraits.includes('lossless')) {*/ app.mk.nowPlayingItem['attributes']['lossless'] = true CiderAudio.audioNodes.llpwEnabled = 1 console.log("[Cider][Enhanced] Audio being processed by PPE") - } + /**} else { CiderAudio.audioNodes.llpwEnabled = 0 - } + } */ } else { diff --git a/yarn.lock b/yarn.lock deleted file mode 100644 index 8b137891..00000000 --- a/yarn.lock +++ /dev/null @@ -1 +0,0 @@ - From e92eaa41cb99f116688b8a10b4e8f0b0f151869d Mon Sep 17 00:00:00 2001 From: Maikiwi Date: Sat, 5 Feb 2022 10:54:50 -0800 Subject: [PATCH 008/573] one less api request --- src/renderer/index.js | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/renderer/index.js b/src/renderer/index.js index ba64287e..f3c89277 100644 --- a/src/renderer/index.js +++ b/src/renderer/index.js @@ -2352,8 +2352,8 @@ const app = new Vue({ async losslessBadge() { const songID = (this.mk.nowPlayingItem != null) ? this.mk.nowPlayingItem["_songId"] ?? -1 : -1; if (app.cfg.audio.quality == 2303 && app.cfg.advanced.ciderPPE && songID != -1) { - let extendedAssets = await app.mk.api.song(songID, {extend : 'extendedAssetUrls'}) - /** if (extendedAssets.attributes.audioTraits.includes('lossless')) {*/ + /**let extendedAssets = await app.mk.api.song(songID, {extend : 'extendedAssetUrls'}) + if (extendedAssets.attributes.audioTraits.includes('lossless')) {*/ app.mk.nowPlayingItem['attributes']['lossless'] = true CiderAudio.audioNodes.llpwEnabled = 1 console.log("[Cider][Enhanced] Audio being processed by PPE") From 514c49c80e50670834c39b64d34adfe31faf598a Mon Sep 17 00:00:00 2001 From: Maikiwi Date: Sat, 5 Feb 2022 10:56:05 -0800 Subject: [PATCH 009/573] removed enhanced quality, only the switch is needed. --- src/renderer/index.js | 2 +- src/renderer/views/pages/settings.ejs | 1 - 2 files changed, 1 insertion(+), 2 deletions(-) diff --git a/src/renderer/index.js b/src/renderer/index.js index f3c89277..50128982 100644 --- a/src/renderer/index.js +++ b/src/renderer/index.js @@ -2351,7 +2351,7 @@ const app = new Vue({ async losslessBadge() { const songID = (this.mk.nowPlayingItem != null) ? this.mk.nowPlayingItem["_songId"] ?? -1 : -1; - if (app.cfg.audio.quality == 2303 && app.cfg.advanced.ciderPPE && songID != -1) { + if (app.cfg.advanced.ciderPPE && songID != -1) { /**let extendedAssets = await app.mk.api.song(songID, {extend : 'extendedAssetUrls'}) if (extendedAssets.attributes.audioTraits.includes('lossless')) {*/ app.mk.nowPlayingItem['attributes']['lossless'] = true diff --git a/src/renderer/views/pages/settings.ejs b/src/renderer/views/pages/settings.ejs index ce513e07..c66333ab 100644 --- a/src/renderer/views/pages/settings.ejs +++ b/src/renderer/views/pages/settings.ejs @@ -37,7 +37,6 @@ v-on:change="changeAudioQuality"> - From 8d2f75acd21708d7a51cc3413d7da59779941baa Mon Sep 17 00:00:00 2001 From: cryptofyre Date: Sat, 5 Feb 2022 12:56:23 -0600 Subject: [PATCH 010/573] Updated config.yml --- .circleci/config.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.circleci/config.yml b/.circleci/config.yml index 75893099..7f531a89 100644 --- a/.circleci/config.yml +++ b/.circleci/config.yml @@ -15,7 +15,7 @@ jobs: - yarn-packages-{{ checksum "cider-yarn.lock" }} - run: name: Install Dependencies - command: yarn install --frozen-lockfile --cache-folder ~/.cache/yarn + command: yarn install --cache-folder ~/.cache/yarn - save_cache: name: Save Yarn Package Cache key: yarn-packages-{{ checksum "cider-yarn.lock" }} From 618687af694e0a78d231d905d0f88c37da0665ed Mon Sep 17 00:00:00 2001 From: cryptofyre Date: Sat, 5 Feb 2022 13:38:42 -0600 Subject: [PATCH 011/573] ooga booga PPE icon. --- src/renderer/assets/ppe.svg | 1 + src/renderer/style.less | 9 +++++++++ src/renderer/views/app/chrome-top.ejs | 4 ++-- 3 files changed, 12 insertions(+), 2 deletions(-) create mode 100644 src/renderer/assets/ppe.svg diff --git a/src/renderer/assets/ppe.svg b/src/renderer/assets/ppe.svg new file mode 100644 index 00000000..49848f52 --- /dev/null +++ b/src/renderer/assets/ppe.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/renderer/style.less b/src/renderer/style.less index 14d76ebb..181abb32 100644 --- a/src/renderer/style.less +++ b/src/renderer/style.less @@ -1163,6 +1163,15 @@ body[platform="darwin"] .app-chrome .app-chrome-item > .window-controls > div.cl margin-left: 3px; background-size: contain; } + + .ppe-icon { + background-image: url("./assets/ppe.svg"); + height: 12px; + width: 13px; + filter: contrast(0); + background-repeat: no-repeat; + background-size: contain; + } } .app-chrome .app-chrome-item > .app-playback-controls .song-duration p { diff --git a/src/renderer/views/app/chrome-top.ejs b/src/renderer/views/app/chrome-top.ejs index ce4a261d..1a7f92ab 100644 --- a/src/renderer/views/app/chrome-top.ejs +++ b/src/renderer/views/app/chrome-top.ejs @@ -57,8 +57,8 @@
-
From 0a486bfc8929fbab29881db67f284dc55fc1265e Mon Sep 17 00:00:00 2001 From: Saboor <42164502+saboooor@users.noreply.github.com> Date: Sat, 5 Feb 2022 13:08:56 -0700 Subject: [PATCH 012/573] clear piss and Cidew Pswychwoacwoustic Pwocessing Engwine (#341) * update owo to PPE * update en_piss * update en_piss --- src/i18n/en_OWO.jsonc | 4 ++-- src/i18n/en_PISS.jsonc | 37 ++++++++++++++++++++++++++++++++++++- 2 files changed, 38 insertions(+), 3 deletions(-) diff --git a/src/i18n/en_OWO.jsonc b/src/i18n/en_OWO.jsonc index f39dd492..e3156225 100644 --- a/src/i18n/en_OWO.jsonc +++ b/src/i18n/en_OWO.jsonc @@ -240,8 +240,8 @@ "settings.option.audio.seamlessTransition": "Seamwess Audiowo Twansition", // Toggle "settings.option.audio.enableAdvancedFunctionality": "Enabwe Advanced Functionawity", // Toggle "settings.option.audio.enableAdvancedFunctionality.description": "Enabwing AudiowoContext functionawity wiww awwow fow extended audiowo featuwes wike Audiowo Nowmawization, Equalizews and Visuawizews, howevew on some systems dis may cause stuttewing in audiowo twacks.", - "settings.option.audio.enableAdvancedFunctionality.decryptLLPW": "Decwypt losswess pwayback wowkfwow", // Toggle - "settings.option.audio.enableAdvancedFunctionality.decryptLLPW.description": "Enabwes the abiwity fow cidew to decwypt losswess auwdio fiwes. A minow pewfowmance hit wiww occuww.", + "settings.option.audio.enableAdvancedFunctionality.ciderPPE": "Cidew Pswychwoacwoustic Pwocessing Engwine", // Toggle + "settings.option.audio.enableAdvancedFunctionality.ciderPPE.description": "Pwocessing wowkfwow that twicks youw bwain into thinking that the fiwes awe highew-quawity sownding.", "settings.option.audio.enableAdvancedFunctionality.audioNormalization": "Audiowo Nowmawization", // Toggle "settings.option.audio.enableAdvancedFunctionality.audioNormalization.description": "Nowmawizes peak vowume fow individuaw twacks to cweate a moar unifowm wistening expewience.", "settings.option.audio.enableAdvancedFunctionality.audioSpatialization": "Audiowo Spatiawization", // Toggle diff --git a/src/i18n/en_PISS.jsonc b/src/i18n/en_PISS.jsonc index 1d2c4f56..4e53489f 100644 --- a/src/i18n/en_PISS.jsonc +++ b/src/i18n/en_PISS.jsonc @@ -4,7 +4,7 @@ "i18n.languageName": "piss", // name of language in native language "i18n.languageNameEnglish": "English (piss)", // name of language in English "i18n.category": "fun", // main = real language, fun = fun community languages - "i18n.authors": "@SoNothingMC", // Authors, if you contribute to this file feel free to add your name seperated with a space + "i18n.authors": "@SoNothingMC @saboooor", // Authors, if you contribute to this file feel free to add your name seperated with a space // App info "app.name": "piss", @@ -33,6 +33,7 @@ "term.about": "piss info", "term.privateSession": "piss in private", "term.queue": "the toilet", + "term.history": "the sewage", "term.search": "find piss", "term.library": "obtained piss", "term.listenNow": "piss now", @@ -60,6 +61,7 @@ "term.mute": "piss without sound", "term.unmute": "piss with sound", "term.share": "piss on your friends", + "term.share.success": "copied piss, go piss on your friends", "term.settings": "pissettings", "term.seeAll": "all of the piss", "term.sortBy": "piss by", @@ -126,6 +128,21 @@ "term.check": "piss!", "term.aboutArtist": "about pisser {{artistName}}", // e.g. 'About Doja Cat' "term.updateCider": "piss on cider", + "term.topResult": "top piss", // Search Results + "term.sharedPlaylists": "shared pisslists", // Search Results + "term.people": "pissers", // Search Results + "term.newpreset.name": "new advanced piss prepiss name", // Equalizer Preset + "term.addedpreset": "pissed prepiss", + "term.deletepreset.warn": "are you sure you want to unpiss this prepiss?", + "term.deletedpreset": "unpissed prepiss", + "term.musicVideos": "piss music videos", // Search page friendlyTypes + "term.stations": "pisses", + "term.curators": "pissators", + "term.appleCurators": "piss pissators", + "term.radioShows": "shows that piss everywhere", + "term.recordLabels": "piss labels", + "term.videoExtras": "extra piss videos", + "term.top": "topiss", // Home "home.title": "piss central", @@ -197,6 +214,9 @@ "action.tray.quit": "piss off", "action.tray.show": "piss back", "action.update": "piss!", + "action.copy": "copiss", + "action.newpreset": "new prepiss...", // Equalizer Preset + "action.deletepreset": "unpiss prepiss", // Settings - General "settings.header.general": "general", @@ -212,12 +232,19 @@ "settings.header.audio": "piss sounds", "settings.header.audio.description": "change how your piss sounds", "settings.option.audio.quality": "piss quality", // Dropdown + "settings.header.audio.quality.hireslossless": "ungodly piss", + "settings.header.audio.quality.hireslossless.description": "(up to 24-pisses/192 piss hertz)", + "settings.header.audio.quality.lossless": "colorful piss", + "settings.header.audio.quality.lossless.description": "(up to 24-pisses/48 piss hertz)", + "settings.header.audio.quality.enhanced": "enhanced piss", "settings.header.audio.quality.high": "nice piss", "settings.header.audio.quality.low": "piss with blood", "settings.header.audio.quality.auto": "automatic piss", "settings.option.audio.seamlessTransition": "seamless piss-to-piss transition", // Toggle "settings.option.audio.enableAdvancedFunctionality": "cool piss tricks", // Toggle "settings.option.audio.enableAdvancedFunctionality.description": "enabling the AudioContext thingy allows you to do cool stuffs, however on some systems your song may stutter", + "settings.option.audio.enableAdvancedFunctionality.ciderPPE": "clear piss", // Toggle + "settings.option.audio.enableAdvancedFunctionality.ciderPPE.description": "makes your bladder go overboard and makes your piss crisp and clear.", "settings.option.audio.enableAdvancedFunctionality.audioNormalization": "piss normaliztion", // Toggle "settings.option.audio.enableAdvancedFunctionality.audioNormalization.description": "protect your eardrums from overly loud/slient pisses", "settings.option.audio.enableAdvancedFunctionality.audioSpatialization": "3D piss", // Toggle @@ -244,6 +271,12 @@ "settings.option.visual.hardwareAcceleration.description": "you need to relaunch Cider", "settings.header.visual.hardwareAcceleration.default": "default piss", "settings.header.visual.hardwareAcceleration.webGPU": "WebPISS", + "settings.header.visual.theme": "colored piss", + + // Settings - Visual - Theme name + "settings.option.visual.theme.default": "regular piss", + "settings.option.visual.theme.dark": "black piss", + // Refer to term.disabled for the disabled option "settings.option.visual.showPersonalInfo": "show yourself to the pissiverse", // Toggle @@ -276,6 +309,8 @@ "settings.header.experimental.description": "mitochondria is the powerhouse of the cell", "settings.option.experimental.compactUI": "compact piss", // Toggle "settings.option.experimental.close_button_hide": "play hide-and-seek when clicking close button", + "settings.option.experimental.copy_log": "copy sewage to pissboard", + "settings.option.experimental.inline_playlists": "inpiss pisslists and piss collections", // Refer to term.disabled & term.enabled // Spatialization Menu From a2dcd61d3f69d59f3c8c87e70982289417c9a78c Mon Sep 17 00:00:00 2001 From: Maikiwi Date: Sat, 5 Feb 2022 12:27:56 -0800 Subject: [PATCH 013/573] 10% increase in PPE intensity --- src/renderer/audio/audio.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/renderer/audio/audio.js b/src/renderer/audio/audio.js index fe1f6024..067bb721 100644 --- a/src/renderer/audio/audio.js +++ b/src/renderer/audio/audio.js @@ -145,7 +145,7 @@ var CiderAudio = { CiderAudio.audioNodes.llpw[i].type = 'peaking'; // 'peaking'; CiderAudio.audioNodes.llpw[i].frequency.value = LLPW_FREQUENCIES[i]; CiderAudio.audioNodes.llpw[i].Q.value = LLPW_Q[i]; - CiderAudio.audioNodes.llpw[i].gain.value = LLPW_GAIN[i] * 0.5 * CiderAudio.audioNodes.llpwEnabled; + CiderAudio.audioNodes.llpw[i].gain.value = LLPW_GAIN[i] * 0.6 * CiderAudio.audioNodes.llpwEnabled; } CiderAudio.audioNodes.preampNode = CiderAudio.context.createBiquadFilter(); From 506949a03450369521fcdb5a1c7d6817f23a98d9 Mon Sep 17 00:00:00 2001 From: Erwan <24718500+ErwanGit@users.noreply.github.com> Date: Sat, 5 Feb 2022 21:41:06 +0100 Subject: [PATCH 014/573] =?UTF-8?q?feat:=20=F0=9F=8C=90=20Update=20French?= =?UTF-8?q?=20language=20(#343)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/i18n/fr_FR.jsonc | 61 +++++++++++++++++++++++++++++++++++++++----- 1 file changed, 54 insertions(+), 7 deletions(-) diff --git a/src/i18n/fr_FR.jsonc b/src/i18n/fr_FR.jsonc index 83ecc9e2..ad8b26cb 100644 --- a/src/i18n/fr_FR.jsonc +++ b/src/i18n/fr_FR.jsonc @@ -33,6 +33,7 @@ "term.about": "À propos", "term.privateSession": "Session privée", "term.queue": "File d'attente", + "term.history": "Historique", "term.search": "Recherche", "term.library": "Bibliothèque", "term.listenNow": "Écoutez maintenant", @@ -45,6 +46,11 @@ "term.podcasts": "Podcasts", "term.playlists": "Playlists", "term.playlist": "Playlist", + "term.newPlaylist": "Nouvelle Playlist", + "term.newPlaylistFolder": "Nouveau dossier de playlist", + "term.createNewPlaylist": "Créer une nouvelle playlist", + "term.createNewPlaylistFolder": "Create New Playlist Folder", + "term.deletePlaylist": "Êtes-vous sûr de vouloir supprimer cette playlist ?", "term.play": "Lecture", "term.pause": "Pause", "term.previous": "Précédent", @@ -56,6 +62,7 @@ "term.unmute": "Ne plus rendre muet", "term.share": "Partager", "term.settings": "Paramètres", + "term.share.success": "Copié dans le presse-papier", "term.seeAll": "Voir tout", "term.sortBy": "Trier par", "term.sortBy.album": "Album", @@ -111,13 +118,31 @@ "term.ciderTeam": "Équipe Cider", "term.developer": "Développeur", "term.socialTeam": "Équipe de communication", + "term.socials": "Réseaux sociaux", "term.contributors": "Contributeurs", "term.equalizer": "Égaliseur", "term.reset": "Réinitialiser", "term.tracks": "musiques", // Assume x amount of tracks. e.g. 50 tracks "term.videos": "Vidéos", "term.menu": "Menu", - "action.showAlbum": "Afficher l'album complet", + "term.check": "Vérifier", + "term.aboutArtist": "À propos de {{artistName}}", // e.g. 'About Doja Cat' + "term.updateCider": "Mettre à jour Cider", + "term.topResult": "Meilleurs résultats", // Search Results + "term.sharedPlaylists": "Playlists partagées", // Search Results + "term.people": "Personnes", // Search Results + "term.newpreset.name": "Nouveau nom du préréglage de l'égaliseur", // Equalizer Preset + "term.addedpreset": "Ajout d'un préréglage", + "term.deletepreset.warn": "Êtes-vous sûr de vouloir supprimer ce préréglage ?", + "term.deletedpreset": "Suppression d'un préréglage", + "term.musicVideos": "Vidéos musicales", // Search page friendlyTypes + "term.stations": "Stations", + "term.curators": "Curateurs", + "term.appleCurators": "Curateurs Apple", + "term.radioShows": "Émissions de radio", + "term.recordLabels": "Labels de disques", + "term.videoExtras": "Vidéos bonus", + "term.top": "Top", // Home "home.title": "Accueil", @@ -156,6 +181,7 @@ "action.removeFromQueue": "Retirer de la file d'attente", "action.removeFromQueue.success": "Retiré de la file d'attente", "action.removeFromQueue.error": "Erreur lors du retrait de la file d'attente", + "action.createPlaylist": "Créer une nouvelle playlist", "action.addToPlaylist": "Ajouter à une playlist", "action.removeFromPlaylist": "Retirer de la playlist", "action.addToFavorites": "Ajouter aux favoris", @@ -183,6 +209,14 @@ "action.removeTracks": "Retirer ${self.selectedItems.length} musiques de la file d'attente", "action.import": "Importer", "action.export": "Exporter", + "action.showAlbum": "Afficher l'album complet", + "action.tray.minimize": "Réduire dans la barre d'outils", + "action.tray.quit": "Quitter", + "action.tray.show": "Afficher", + "action.update": "Mettre à jour", + "action.copy": "Copier", + "action.newpreset": "Nouveau préréglage...", // Equalizer Preset + "action.deletepreset": "Supprimer le préréglage", // Settings - General "settings.header.general": "Général", @@ -198,12 +232,19 @@ "settings.header.audio": "Audio", "settings.header.audio.description": "Ajuster les paramètres audio de Cider.", "settings.option.audio.quality": "Qualité Audio", // Dropdown + "settings.header.audio.quality.hireslossless": "Lossless haute qualité (Hi-Res)", + "settings.header.audio.quality.hireslossless.description": "(jusqu'à 24 bits/192 kHz)", + "settings.header.audio.quality.lossless": "Lossless", + "settings.header.audio.quality.lossless.description": "(jusqu'à 24 bits/48 kHz)", + "settings.header.audio.quality.enhanced": "Amélioré", "settings.header.audio.quality.high": "Élevée", "settings.header.audio.quality.low": "Faible", "settings.header.audio.quality.auto": "Automatique", "settings.option.audio.seamlessTransition": "Fondu audio transparent", // Toggle "settings.option.audio.enableAdvancedFunctionality": "Activer les fonctions avancées", // Toggle "settings.option.audio.enableAdvancedFunctionality.description": "L'activation de la fonctionnalité AudioContext permet d'utiliser des fonctions audio étendues telles que la normalisation du son, les égaliseurs et les visualiseurs. Toutefois, sur certains systèmes, cela peut provoquer des bégaiements dans les pistes audio.", + "settings.option.audio.enableAdvancedFunctionality.ciderPPE": "Moteur de traitement psycho-acoustique Cider", // Toggle + "settings.option.audio.enableAdvancedFunctionality.ciderPPE.description": "Un processus de traitement qui fait croire à votre cerveau que les fichiers sont de meilleure qualité.", "settings.option.audio.enableAdvancedFunctionality.audioNormalization": "Normalisation du son", // Toggle "settings.option.audio.enableAdvancedFunctionality.audioNormalization.description": "Normalise le volume maximal des pistes individuelles pour créer une expérience d'écoute plus uniforme.", "settings.option.audio.enableAdvancedFunctionality.audioSpatialization": "Spatialisation audio", // Toggle @@ -230,6 +271,12 @@ "settings.option.visual.hardwareAcceleration.description": "Nécessite un relancement", "settings.header.visual.hardwareAcceleration.default": "Défaut", "settings.header.visual.hardwareAcceleration.webGPU": "WebGPU", + "settings.header.visual.theme": "Thème", + + // Settings - Visual - Theme name + "settings.option.visual.theme.default": "Cider", + "settings.option.visual.theme.dark": "Sombre", + // Refer to term.disabled for the disabled option "settings.option.visual.showPersonalInfo": "Afficher vos informations personnelles", // Toggle @@ -261,13 +308,13 @@ "settings.header.experimental": "Expérimental", "settings.header.experimental.description": "Ajuster les paramètres expérimentaux de Cider.", "settings.option.experimental.compactUI": "Interface utilisateur compacte", // Toggle - "settings.option.experimental.closeButtonBehaviour": "Comportement du bouton de fermeture", - "settings.option.experimental.closeButtonBehaviour.quit": "Quitter Cider", - "settings.option.experimental.closeButtonBehaviour.minimizeTaskbar": "Réduire dans la barre des tâches", - "settings.option.experimental.closeButtonBehaviour.minimizeTray": "Réduire dans la barre d'outils", + "settings.option.experimental.close_button_hide": "Le bouton de fermeture doit masquer l'application", + "settings.option.experimental.copy_log": "Copier les logs dans le presse-papier", + "settings.option.experimental.inline_playlists": "Playlists et albums en ligne", // Refer to term.disabled & term.enabled // Spatialization Menu + "spatial.notTurnedOn": "La spatialisation audio est désactivée. Pour l'utiliser, vous devez d'abord l'activer.", "spatial.spatialProperties": "Propriétés spatiales", "spatial.width": "Largeur", "spatial.height": "Hauteur", @@ -291,10 +338,10 @@ "settings.header.unfinished": "Inachevée", // Web Remote - "remote.web.title": "Cider Remote", + "remote.web.title": "Cider à distance", "remote.web.description": "Scanner le QR code pour associer votre téléphone avec cette instance Cider", // About "about.thanks": "Un grand merci à l'équipe de la Cider Collective et à tous nos contributeurs." - } +} \ No newline at end of file From 8f9b379cbdca991d8605954fdcedd6bde846c8a2 Mon Sep 17 00:00:00 2001 From: Maikiwi Date: Sat, 5 Feb 2022 12:50:31 -0800 Subject: [PATCH 015/573] 5% step down from previous commit --- src/renderer/audio/audio.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/renderer/audio/audio.js b/src/renderer/audio/audio.js index 067bb721..36de906f 100644 --- a/src/renderer/audio/audio.js +++ b/src/renderer/audio/audio.js @@ -145,7 +145,7 @@ var CiderAudio = { CiderAudio.audioNodes.llpw[i].type = 'peaking'; // 'peaking'; CiderAudio.audioNodes.llpw[i].frequency.value = LLPW_FREQUENCIES[i]; CiderAudio.audioNodes.llpw[i].Q.value = LLPW_Q[i]; - CiderAudio.audioNodes.llpw[i].gain.value = LLPW_GAIN[i] * 0.6 * CiderAudio.audioNodes.llpwEnabled; + CiderAudio.audioNodes.llpw[i].gain.value = LLPW_GAIN[i] * 0.55 * CiderAudio.audioNodes.llpwEnabled; } CiderAudio.audioNodes.preampNode = CiderAudio.context.createBiquadFilter(); From a2f3903b4cace8061fba973e939834f9d004fd90 Mon Sep 17 00:00:00 2001 From: Maikiwi Date: Sat, 5 Feb 2022 12:54:19 -0800 Subject: [PATCH 016/573] cfg prep for ciderppe --- src/main/base/store.ts | 1 + src/renderer/audio/audio.js | 2 +- 2 files changed, 2 insertions(+), 1 deletion(-) diff --git a/src/main/base/store.ts b/src/main/base/store.ts index e0fa604d..564f267a 100644 --- a/src/main/base/store.ts +++ b/src/main/base/store.ts @@ -32,6 +32,7 @@ export class Store { "seamless_audio": true, "normalization": false, "ciderPPE": false, + "ciderPPE_value": 0.5, "spatial": false, "maxVolume": 1, "volumePrecision": 0.1, diff --git a/src/renderer/audio/audio.js b/src/renderer/audio/audio.js index 36de906f..caabddaf 100644 --- a/src/renderer/audio/audio.js +++ b/src/renderer/audio/audio.js @@ -145,7 +145,7 @@ var CiderAudio = { CiderAudio.audioNodes.llpw[i].type = 'peaking'; // 'peaking'; CiderAudio.audioNodes.llpw[i].frequency.value = LLPW_FREQUENCIES[i]; CiderAudio.audioNodes.llpw[i].Q.value = LLPW_Q[i]; - CiderAudio.audioNodes.llpw[i].gain.value = LLPW_GAIN[i] * 0.55 * CiderAudio.audioNodes.llpwEnabled; + CiderAudio.audioNodes.llpw[i].gain.value = LLPW_GAIN[i] * app.cfg.audio.ciderPPE_value * CiderAudio.audioNodes.llpwEnabled; } CiderAudio.audioNodes.preampNode = CiderAudio.context.createBiquadFilter(); From e453bfb94e5cf3c705561f3f748c7969badb887c Mon Sep 17 00:00:00 2001 From: cryptofyre Date: Sat, 5 Feb 2022 15:15:44 -0600 Subject: [PATCH 017/573] eternal pain, suffering, and dad's car. --- src/renderer/views/pages/settings.ejs | 15 +++++++++++++++ 1 file changed, 15 insertions(+) diff --git a/src/renderer/views/pages/settings.ejs b/src/renderer/views/pages/settings.ejs index c66333ab..eb52d165 100644 --- a/src/renderer/views/pages/settings.ejs +++ b/src/renderer/views/pages/settings.ejs @@ -72,6 +72,21 @@
+
+
+ CPPE Strength +
+ Changes the strength of the processing done to audio. (May cause clipping or abnormal bass) +
+
+ + +
+
{{$root.getLz('term.equalizer')}} From 74ffd4811c4aa598b62f7034df287f1fbbce5176 Mon Sep 17 00:00:00 2001 From: child_duckling <19170969+quacksire@users.noreply.github.com> Date: Sat, 5 Feb 2022 16:37:00 -0800 Subject: [PATCH 018/573] macOS handoff and cider go beep --- package.json | 5 +++++ src/main/base/app.ts | 10 ++++++++++ src/main/base/browserwindow.ts | 3 +++ 3 files changed, 18 insertions(+) diff --git a/package.json b/package.json index 57a2c1a6..7d189bf0 100644 --- a/package.json +++ b/package.json @@ -30,6 +30,7 @@ "dependencies": { "@sentry/electron": "^2.5.4", "@sentry/integrations": "^6.17.4", + "castv2-client": "^1.2.0", "discord-rpc": "^4.0.1", "ejs": "^3.1.6", "electron-fetch": "^1.7.4", @@ -47,14 +48,18 @@ "mpris-service": "^2.1.2", "music-metadata": "^7.11.4", "node-gyp": "^8.4.1", + "node-ssdp": "^4.0.1", "qrcode": "^1.5.0", "qrcode-terminal": "^0.12.0", "react": "^17.0.2", "react-dom": "^17.0.2", "run-script-os": "^1.1.6", "source-map-support": "^0.5.21", + "tsc": "^2.0.4", "typescript": "^4.5.5", + "upnp-mediarenderer-client": "^1.4.0", "v8-compile-cache": "^2.3.0", + "wavefile": "^11.0.0", "ws": "^8.4.2", "xml2js": "^0.4.23", "youtube-search-without-api-key": "^1.0.7" diff --git a/src/main/base/app.ts b/src/main/base/app.ts index 913d3947..7aae7e89 100644 --- a/src/main/base/app.ts +++ b/src/main/base/app.ts @@ -174,6 +174,16 @@ export class AppEvents { utils.getWindow().webContents.send('play', 'url', url) } else if (arg.includes('/debug/appdata')) { shell.openPath(app.getPath('userData')) + } else if (arg.includes('/debug/logs')) { + shell.openPath(app.getPath('logs')) + } else if (arg.includes('/discord')) { + shell.openExternal('https://discord.gg/applemusic') + } else if (arg.includes('/github')) { + shell.openExternal('https://github.com/ciderapp/cider') + } else if (arg.includes('/donate')) { + shell.openExternal('https://opencollective.com/ciderapp') + } else if (arg.includes('/beep')) { + shell.beep() } } diff --git a/src/main/base/browserwindow.ts b/src/main/base/browserwindow.ts index 8b5b7f03..19db105b 100644 --- a/src/main/base/browserwindow.ts +++ b/src/main/base/browserwindow.ts @@ -549,6 +549,9 @@ export class BrowserWindow { let url = `http://${BrowserWindow.getIP()}:${this.remotePort}`; BrowserWindow.win.webContents.send('send-remote-pair-url', url); }) + app.setUserActivity('com.CiderCollective.remote.pair', { + ip: `${BrowserWindow.getIP()}` + }, `http://${BrowserWindow.getIP()}:${this.remotePort}`); // Get previews for normalization ipcMain.on("getPreviewURL", (_event, url) => { From 51a2fb53c5cb1551da26e9eef833de407f0f27ee Mon Sep 17 00:00:00 2001 From: Maikiwi Date: Sat, 5 Feb 2022 20:03:15 -0800 Subject: [PATCH 019/573] unbreak qwack's commit --- src/main/base/browserwindow.ts | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/main/base/browserwindow.ts b/src/main/base/browserwindow.ts index 19db105b..e9722e9d 100644 --- a/src/main/base/browserwindow.ts +++ b/src/main/base/browserwindow.ts @@ -549,10 +549,11 @@ export class BrowserWindow { let url = `http://${BrowserWindow.getIP()}:${this.remotePort}`; BrowserWindow.win.webContents.send('send-remote-pair-url', url); }) + if (process.platform === "darwin") { app.setUserActivity('com.CiderCollective.remote.pair', { ip: `${BrowserWindow.getIP()}` }, `http://${BrowserWindow.getIP()}:${this.remotePort}`); - + } // Get previews for normalization ipcMain.on("getPreviewURL", (_event, url) => { From 0616d713e9f1b1a06149fd54637121c7f84660cc Mon Sep 17 00:00:00 2001 From: cryptofyre Date: Sat, 5 Feb 2022 22:21:08 -0600 Subject: [PATCH 020/573] i forgot to push this --- src/i18n/en_US.jsonc | 4 ++-- src/renderer/views/pages/settings.ejs | 8 ++++---- 2 files changed, 6 insertions(+), 6 deletions(-) diff --git a/src/i18n/en_US.jsonc b/src/i18n/en_US.jsonc index 61e9ca20..e8f2002a 100644 --- a/src/i18n/en_US.jsonc +++ b/src/i18n/en_US.jsonc @@ -243,8 +243,8 @@ "settings.option.audio.seamlessTransition": "Seamless Audio Transition", // Toggle "settings.option.audio.enableAdvancedFunctionality": "Enable Advanced Functionality", // Toggle "settings.option.audio.enableAdvancedFunctionality.description": "Enabling AudioContext functionality will allow for extended audio features like Audio Normalization , Equalizers and Visualizers, however on some systems this may cause stuttering in audio tracks.", - "settings.option.audio.enableAdvancedFunctionality.ciderPPE": "Cider Psychoacoustic Processing Engine", // Toggle - "settings.option.audio.enableAdvancedFunctionality.ciderPPE.description": "Processing workflow that tricks your brain into thinking that the files are higher-quality sounding.", + "settings.option.audio.enableAdvancedFunctionality.ciderPPE": "Cider Adrenaline Process Engine", // Toggle + "settings.option.audio.enableAdvancedFunctionality.ciderPPE.description": "CAPE sets a pre-defined advanced mix/process that allows media to produce more rich sounding frequencies. (Designed by Maikiwi)", "settings.option.audio.enableAdvancedFunctionality.audioNormalization": "Audio Normalization", // Toggle "settings.option.audio.enableAdvancedFunctionality.audioNormalization.description": "Normalizes peak volume for individual tracks to create a more uniform listening experience.", "settings.option.audio.enableAdvancedFunctionality.audioSpatialization": "Audio Spatialization", // Toggle diff --git a/src/renderer/views/pages/settings.ejs b/src/renderer/views/pages/settings.ejs index eb52d165..7889224a 100644 --- a/src/renderer/views/pages/settings.ejs +++ b/src/renderer/views/pages/settings.ejs @@ -74,15 +74,15 @@
- CPPE Strength + CAPE Strength
- Changes the strength of the processing done to audio. (May cause clipping or abnormal bass) + Changes the strength of the mixing/processing done to audio. (May cause clipping or abnormal low freq's if set too high.)
- -
From fbd1006962a10a44d7d8d71a4e186eb3870de299 Mon Sep 17 00:00:00 2001 From: cryptofyre Date: Sat, 5 Feb 2022 22:42:35 -0600 Subject: [PATCH 021/573] cap cap cap cap cap cap cap cap cap cap cap cap --- src/i18n/en_US.jsonc | 4 ++-- src/renderer/views/pages/settings.ejs | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/src/i18n/en_US.jsonc b/src/i18n/en_US.jsonc index e8f2002a..e65fb95b 100644 --- a/src/i18n/en_US.jsonc +++ b/src/i18n/en_US.jsonc @@ -243,8 +243,8 @@ "settings.option.audio.seamlessTransition": "Seamless Audio Transition", // Toggle "settings.option.audio.enableAdvancedFunctionality": "Enable Advanced Functionality", // Toggle "settings.option.audio.enableAdvancedFunctionality.description": "Enabling AudioContext functionality will allow for extended audio features like Audio Normalization , Equalizers and Visualizers, however on some systems this may cause stuttering in audio tracks.", - "settings.option.audio.enableAdvancedFunctionality.ciderPPE": "Cider Adrenaline Process Engine", // Toggle - "settings.option.audio.enableAdvancedFunctionality.ciderPPE.description": "CAPE sets a pre-defined advanced mix/process that allows media to produce more rich sounding frequencies. (Designed by Maikiwi)", + "settings.option.audio.enableAdvancedFunctionality.ciderPPE": "Cider Adrenaline Process", // Toggle + "settings.option.audio.enableAdvancedFunctionality.ciderPPE.description": "CAP sets a pre-defined advanced mix/process that allows media to produce more rich sounding frequencies. (Designed by Maikiwi)", "settings.option.audio.enableAdvancedFunctionality.audioNormalization": "Audio Normalization", // Toggle "settings.option.audio.enableAdvancedFunctionality.audioNormalization.description": "Normalizes peak volume for individual tracks to create a more uniform listening experience.", "settings.option.audio.enableAdvancedFunctionality.audioSpatialization": "Audio Spatialization", // Toggle diff --git a/src/renderer/views/pages/settings.ejs b/src/renderer/views/pages/settings.ejs index 7889224a..ea64580e 100644 --- a/src/renderer/views/pages/settings.ejs +++ b/src/renderer/views/pages/settings.ejs @@ -74,7 +74,7 @@
- CAPE Strength + CAP Strength
Changes the strength of the mixing/processing done to audio. (May cause clipping or abnormal low freq's if set too high.)
From 1f6b1301ce32afc5a0ef370d26ad0ac020da2923 Mon Sep 17 00:00:00 2001 From: GamingLiamStudios Date: Sun, 6 Feb 2022 15:59:18 +1100 Subject: [PATCH 022/573] Move CAP Strength to i18n --- src/i18n/en_US.jsonc | 50 +++----- src/renderer/views/pages/settings.ejs | 168 +++++++++++++------------- 2 files changed, 100 insertions(+), 118 deletions(-) diff --git a/src/i18n/en_US.jsonc b/src/i18n/en_US.jsonc index e65fb95b..30426d97 100644 --- a/src/i18n/en_US.jsonc +++ b/src/i18n/en_US.jsonc @@ -1,20 +1,15 @@ { // Base File - // i18n Info - "i18n.languageName": "English (US)", // name of language in native language + "i18n.languageName": "English (US)", // name of language in native language "i18n.languageNameEnglish": "English (US)", // name of language in English "i18n.category": "main", // main = real language, fun = fun community languages "i18n.authors": "@maikirakiwi", // Authors, if you contribute to this file feel free to add your name seperated with a space - // App info "app.name": "Cider", - "date.format": "${m} ${d}, ${y}", - // Dialogs "dialog.cancel": "Cancel", "dialog.ok": "OK", - // Notification "notification.updatingLibrarySongs": "Updating library songs...", "notification.updatingLibraryAlbums": "Updating library albums...", @@ -93,10 +88,10 @@ "term.less": "Less", "term.showMore": "Show more", "term.showLess": "Show less", - "term.topSongs" : "Top Songs", + "term.topSongs": "Top Songs", "term.latestReleases": "Latest Releases", "term.time.added": "Added", - "term.time.released": "Released", + "term.time.released": "Released", "term.time.updated": "Updated", "term.time.hours": "hours", "term.time.hour": "hour", @@ -123,12 +118,12 @@ "term.equalizer": "Equalizer", "term.reset": "Reset", "term.tracks": "tracks", // Assume x amount of tracks. e.g. 50 tracks - "term.videos": "Videos", + "term.videos": "Videos", "term.menu": "Menu", "term.check": "Check", "term.aboutArtist": "About {{artistName}}", // e.g. 'About Doja Cat' "term.updateCider": "Update Cider", - "term.topResult": "Top Result", // Search Results + "term.topResult": "Top Result", // Search Results "term.sharedPlaylists": "Shared Playlists", // Search Results "term.people": "People", // Search Results "term.newpreset.name": "New EQ Preset Name", // Equalizer Preset @@ -143,7 +138,6 @@ "term.recordLabels": "Record Labels", "term.videoExtras": "Video Extras", "term.top": "Top", - // Home "home.title": "Home", "home.recentlyPlayed": "Recently Played", @@ -158,7 +152,6 @@ "error.connectionError": "There was a problem connecting to Apple Music.", "error.noResults": "No Results.", "error.noResults.description": "Try a new search.", - //Podcasts "podcast.followOnCider": "Follow On Cider", "podcast.followedOnCider": "Following On Cider", @@ -168,7 +161,6 @@ "podcast.episodes": "Episodes", "podcast.playEpisode": "Play Episode", "podcast.website": "Podcast Website", - // Actions "action.addToLibrary": "Add to Library", "action.addToLibrary.success": "Added to Library", @@ -215,19 +207,16 @@ "action.tray.show": "Show", "action.update": "Update", "action.copy": "Copy", - "action.newpreset": "New Preset...", // Equalizer Preset + "action.newpreset": "New Preset...", // Equalizer Preset "action.deletepreset": "Delete Preset", - // Settings - General "settings.header.general": "General", "settings.header.general.description": "Adjust the general settings for Cider.", "settings.option.general.language": "Language", - // Language optgroups "settings.option.general.language.main": "Languages", "settings.option.general.language.fun": "Fun Languages", "settings.option.general.language.unsorted": "Unsorted", - // Settings - Audio "settings.header.audio": "Audio", "settings.header.audio.description": "Adjust the audio settings for Cider.", @@ -245,12 +234,14 @@ "settings.option.audio.enableAdvancedFunctionality.description": "Enabling AudioContext functionality will allow for extended audio features like Audio Normalization , Equalizers and Visualizers, however on some systems this may cause stuttering in audio tracks.", "settings.option.audio.enableAdvancedFunctionality.ciderPPE": "Cider Adrenaline Process", // Toggle "settings.option.audio.enableAdvancedFunctionality.ciderPPE.description": "CAP sets a pre-defined advanced mix/process that allows media to produce more rich sounding frequencies. (Designed by Maikiwi)", + "settings.option.audio.enableAdvancedFunctionality.ciderPPE.strength": "CAP Strength", // Multiple Choice + "settings.option.audio.enableAdvancedFunctionality.ciderPPE.strength.description": "Changes the strength of the mixing/processing done to audio. (May cause clipping or abnormal low freq's if set too high.)", "settings.option.audio.enableAdvancedFunctionality.audioNormalization": "Audio Normalization", // Toggle "settings.option.audio.enableAdvancedFunctionality.audioNormalization.description": "Normalizes peak volume for individual tracks to create a more uniform listening experience.", "settings.option.audio.enableAdvancedFunctionality.audioSpatialization": "Audio Spatialization", // Toggle "settings.option.audio.enableAdvancedFunctionality.audioSpatialization.description": "Spatialize audio and make audio more 3-dimensional (note: This is not Dolby Atmos)", // Settings - Visual - "settings.header.visual": "Visual", + "settings.header.visual": "Visual", "settings.header.visual.description": "Adjust the visual settings for Cider.", "settings.option.visual.windowBackgroundStyle": "Window Background Style", // Toggle "settings.header.visual.windowBackgroundStyle.none": "None", @@ -269,17 +260,14 @@ "settings.option.visual.animatedWindowBackground": "Animated Window Background", // Toggle "settings.option.visual.hardwareAcceleration": "Hardware Acceleration", // Dropdown "settings.option.visual.hardwareAcceleration.description": "Requires relaunch", - "settings.header.visual.hardwareAcceleration.default": "Default", - "settings.header.visual.hardwareAcceleration.webGPU": "WebGPU", + "settings.header.visual.hardwareAcceleration.default": "Default", + "settings.header.visual.hardwareAcceleration.webGPU": "WebGPU", "settings.header.visual.theme": "Theme", - // Settings - Visual - Theme name "settings.option.visual.theme.default": "Cider", "settings.option.visual.theme.dark": "Dark", - // Refer to term.disabled for the disabled option "settings.option.visual.showPersonalInfo": "Show Personal Info", // Toggle - // Settings - Lyrics "settings.header.lyrics": "Lyrics", "settings.header.lyrics.description": "Adjust the lyrics settings for Cider.", @@ -287,7 +275,6 @@ "settings.option.lyrics.enableMusixmatchKaraoke": "Enable Karaoke Mode (Musixmatch only)", // Toggle "settings.option.lyrics.musixmatchPreferredLanguage": "Musixmatch Translation Preferred Language", // Dropdown "settings.option.lyrics.enableYoutubeLyrics": "Enable Youtube Lyrics for Music Videos", // Toggle - // Settings - Connectivity "settings.header.connectivity": "Connectivity", "settings.header.connectivity.description": "Adjust the connectivity settings for Cider.", @@ -298,12 +285,11 @@ "settings.header.connectivity.discordRPC.appleMusic": "Display as 'Apple Music'", "settings.option.connectivity.discordRPC.clearOnPause": "Clear Discord Rich Presence on Pause", // Toggle "settings.option.connectivity.lastfmScrobble": "Last.fm Scrobbling", // Option to Connect - "settings.option.connectivity.lastfmScrobble.delay": "Last.fm Scrobble Delay (%)", - "settings.option.connectivity.lastfmScrobble.nowPlaying": "Enable Last.fm Now Playing", - "settings.option.connectivity.lastfmScrobble.removeFeatured": "Remove featuring artists from song title (Last.fm)", - "settings.option.connectivity.lastfmScrobble.filterLoop": "Filter looped track (Last.fm)", + "settings.option.connectivity.lastfmScrobble.delay": "Last.fm Scrobble Delay (%)", + "settings.option.connectivity.lastfmScrobble.nowPlaying": "Enable Last.fm Now Playing", + "settings.option.connectivity.lastfmScrobble.removeFeatured": "Remove featuring artists from song title (Last.fm)", + "settings.option.connectivity.lastfmScrobble.filterLoop": "Filter looped track (Last.fm)", // Refer to term.connect for the connect button - // Settings - Experimental "settings.header.experimental": "Experimental", "settings.header.experimental.description": "Adjust the experimental settings for Cider.", @@ -312,7 +298,6 @@ "settings.option.experimental.copy_log": "Copy logs to clipboard", "settings.option.experimental.inline_playlists": "Inline Playlists and Albums", // Refer to term.disabled & term.enabled - // Spatialization Menu "spatial.notTurnedOn": "Audio Spatialization is disabled. To use, please enable it first.", "spatial.spatialProperties": "Spatial Properties", @@ -333,14 +318,11 @@ "spatial.down": "Down", "spatial.listener": "Listener", "spatial.audioSource": "Audio Source", - // Settings - Unfinished "settings.header.unfinished": "Unfinished", - // Web Remote "remote.web.title": "Cider Remote", "remote.web.description": "Scan the QR code to pair your phone up with this Cider instance", - // About "about.thanks": "Major thanks to the Cider Collective Team and all of our contributors." -} +} \ No newline at end of file diff --git a/src/renderer/views/pages/settings.ejs b/src/renderer/views/pages/settings.ejs index ea64580e..d8f9ad8b 100644 --- a/src/renderer/views/pages/settings.ejs +++ b/src/renderer/views/pages/settings.ejs @@ -74,9 +74,9 @@
- CAP Strength + {{$root.getLz('settings.option.audio.enableAdvancedFunctionality.ciderPPE.strength')}}
- Changes the strength of the mixing/processing done to audio. (May cause clipping or abnormal low freq's if set too high.) + {{$root.getLz('settings.option.audio.enableAdvancedFunctionality.ciderPPE.strength.description')}}
From 14e5e2dc86738c69b3403ef4a06c298cc1781642 Mon Sep 17 00:00:00 2001 From: GamingLiamStudios Date: Sun, 6 Feb 2022 16:09:34 +1100 Subject: [PATCH 025/573] Update en_OWO.jsonc --- src/i18n/en_OWO.jsonc | 2 ++ 1 file changed, 2 insertions(+) diff --git a/src/i18n/en_OWO.jsonc b/src/i18n/en_OWO.jsonc index d08c7eb6..e274ae2a 100644 --- a/src/i18n/en_OWO.jsonc +++ b/src/i18n/en_OWO.jsonc @@ -233,6 +233,8 @@ "settings.option.audio.enableAdvancedFunctionality.ciderPPE.description": "CAP sets a pwe-defined advanced mix/pwocess that awwows media to pwoduwce mowe wich souwnding fwequwencies. (Designed by maikiwi)", "settings.option.audio.enableAdvancedFunctionality.ciderPPE.strength": "CAP stwength", // Multiple Choice "settings.option.audio.enableAdvancedFunctionality.ciderPPE.strength.description": "Changes the stwength of the mixing/pwocessing done to auwdio. (May cauwse cwipping ow abnowmaw wow fweq's if set too high.)", + "settings.option.audio.enableAdvancedFunctionality.ciderPPE.strength.aggressive": "Aggwessive", + "settings.option.audio.enableAdvancedFunctionality.ciderPPE.strength.standard": "Standawd", "settings.option.audio.enableAdvancedFunctionality.audioNormalization": "Audiowo Nowmawization", // Toggle "settings.option.audio.enableAdvancedFunctionality.audioNormalization.description": "Nowmawizes peak vowume fow individuaw twacks to cweate a moar unifowm wistening expewience.", "settings.option.audio.enableAdvancedFunctionality.audioSpatialization": "Audiowo Spatiawization", // Toggle From 3fddd25374e0488092809df6be7060bf2b9594d3 Mon Sep 17 00:00:00 2001 From: GamingLiamStudios Date: Sun, 6 Feb 2022 16:21:21 +1100 Subject: [PATCH 026/573] shite (#345) --- src/renderer/views/pages/settings.ejs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/renderer/views/pages/settings.ejs b/src/renderer/views/pages/settings.ejs index 907b8ede..d0f60993 100644 --- a/src/renderer/views/pages/settings.ejs +++ b/src/renderer/views/pages/settings.ejs @@ -80,7 +80,7 @@
- {{$root.getLz('settings.option.audio.enableAdvancedFunctionality.ciderPPE.strength')}} + {{$root.getLz('settings.option.audio.enableAdvancedFunctionality.ciderPPEStrength')}}
- {{$root.getLz('settings.option.audio.enableAdvancedFunctionality.ciderPPE.strength.description')}} + {{$root.getLz('settings.option.audio.enableAdvancedFunctionality.ciderPPEStrength.description')}}
- -
From 87dd21f45b365efb46209b49a1b73f62b3355f73 Mon Sep 17 00:00:00 2001 From: child_duckling <19170969+quacksire@users.noreply.github.com> Date: Sat, 5 Feb 2022 21:25:44 -0800 Subject: [PATCH 028/573] Revert "cap cap cap cap cap cap cap cap cap cap cap cap" This reverts commit fbd1006962a10a44d7d8d71a4e186eb3870de299. --- src/i18n/en_US.jsonc | 4 ++-- src/renderer/views/pages/settings.ejs | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/src/i18n/en_US.jsonc b/src/i18n/en_US.jsonc index e65fb95b..e8f2002a 100644 --- a/src/i18n/en_US.jsonc +++ b/src/i18n/en_US.jsonc @@ -243,8 +243,8 @@ "settings.option.audio.seamlessTransition": "Seamless Audio Transition", // Toggle "settings.option.audio.enableAdvancedFunctionality": "Enable Advanced Functionality", // Toggle "settings.option.audio.enableAdvancedFunctionality.description": "Enabling AudioContext functionality will allow for extended audio features like Audio Normalization , Equalizers and Visualizers, however on some systems this may cause stuttering in audio tracks.", - "settings.option.audio.enableAdvancedFunctionality.ciderPPE": "Cider Adrenaline Process", // Toggle - "settings.option.audio.enableAdvancedFunctionality.ciderPPE.description": "CAP sets a pre-defined advanced mix/process that allows media to produce more rich sounding frequencies. (Designed by Maikiwi)", + "settings.option.audio.enableAdvancedFunctionality.ciderPPE": "Cider Adrenaline Process Engine", // Toggle + "settings.option.audio.enableAdvancedFunctionality.ciderPPE.description": "CAPE sets a pre-defined advanced mix/process that allows media to produce more rich sounding frequencies. (Designed by Maikiwi)", "settings.option.audio.enableAdvancedFunctionality.audioNormalization": "Audio Normalization", // Toggle "settings.option.audio.enableAdvancedFunctionality.audioNormalization.description": "Normalizes peak volume for individual tracks to create a more uniform listening experience.", "settings.option.audio.enableAdvancedFunctionality.audioSpatialization": "Audio Spatialization", // Toggle diff --git a/src/renderer/views/pages/settings.ejs b/src/renderer/views/pages/settings.ejs index ea64580e..7889224a 100644 --- a/src/renderer/views/pages/settings.ejs +++ b/src/renderer/views/pages/settings.ejs @@ -74,7 +74,7 @@
- CAP Strength + CAPE Strength
Changes the strength of the mixing/processing done to audio. (May cause clipping or abnormal low freq's if set too high.)
From b253832e45cf0de25bf2c789344f4beb199b6640 Mon Sep 17 00:00:00 2001 From: GamingLiamStudios Date: Sun, 6 Feb 2022 16:39:51 +1100 Subject: [PATCH 029/573] Update en_OWO.jsonc (#346) * shite * Update en_OWO.jsonc --- src/i18n/en_OWO.jsonc | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/src/i18n/en_OWO.jsonc b/src/i18n/en_OWO.jsonc index e274ae2a..286af8bc 100644 --- a/src/i18n/en_OWO.jsonc +++ b/src/i18n/en_OWO.jsonc @@ -229,12 +229,12 @@ "settings.option.audio.seamlessTransition": "Seamwess Audiowo Twansition", // Toggle "settings.option.audio.enableAdvancedFunctionality": "Enabwe Advanced Functionawity", // Toggle "settings.option.audio.enableAdvancedFunctionality.description": "Enabwing AudiowoContext functionawity wiww awwow fow extended audiowo featuwes wike Audiowo Nowmawization, Equalizews and Visuawizews, howevew on some systems dis may cause stuttewing in audiowo twacks.", - "settings.option.audio.enableAdvancedFunctionality.ciderPPE": "Cidew Adwenawine Pwocess", // Toggle - "settings.option.audio.enableAdvancedFunctionality.ciderPPE.description": "CAP sets a pwe-defined advanced mix/pwocess that awwows media to pwoduwce mowe wich souwnding fwequwencies. (Designed by maikiwi)", - "settings.option.audio.enableAdvancedFunctionality.ciderPPE.strength": "CAP stwength", // Multiple Choice - "settings.option.audio.enableAdvancedFunctionality.ciderPPE.strength.description": "Changes the stwength of the mixing/pwocessing done to auwdio. (May cauwse cwipping ow abnowmaw wow fweq's if set too high.)", - "settings.option.audio.enableAdvancedFunctionality.ciderPPE.strength.aggressive": "Aggwessive", - "settings.option.audio.enableAdvancedFunctionality.ciderPPE.strength.standard": "Standawd", + "settings.option.audio.enableAdvancedFunctionality.ciderPPE": "Cidew Adwenawine Pwocessow", // Toggle + "settings.option.audio.enableAdvancedFunctionality.ciderPPE.description": "Psychoacouwstic enhancements that makes evewything souwnd both wichew and mowe wivewy. | Designed by Maikiwi", + "settings.option.audio.enableAdvancedFunctionality.ciderPPEStrength": "CAP stwength", // Toggle + "settings.option.audio.enableAdvancedFunctionality.ciderPPEStrength.description": "Changes the stwength of the pwocessing done to the auwdio. (Aggwessive may yiewd uwndesiwabwe wesuwwts)", + "settings.option.audio.enableAdvancedFunctionality.ciderPPEStrength.standard": "Standawd", + "settings.option.audio.enableAdvancedFunctionality.ciderPPEStrength.aggressive": "Aggwessive", "settings.option.audio.enableAdvancedFunctionality.audioNormalization": "Audiowo Nowmawization", // Toggle "settings.option.audio.enableAdvancedFunctionality.audioNormalization.description": "Nowmawizes peak vowume fow individuaw twacks to cweate a moar unifowm wistening expewience.", "settings.option.audio.enableAdvancedFunctionality.audioSpatialization": "Audiowo Spatiawization", // Toggle From dfc8863497a4121dc9c1b46ae85411e5d15bd796 Mon Sep 17 00:00:00 2001 From: Maikiwi Date: Sat, 5 Feb 2022 21:57:47 -0800 Subject: [PATCH 030/573] PPE compatibility warning --- src/renderer/views/pages/settings.ejs | 16 +++++++++++++--- 1 file changed, 13 insertions(+), 3 deletions(-) diff --git a/src/renderer/views/pages/settings.ejs b/src/renderer/views/pages/settings.ejs index 82d4c32a..8d3573c6 100644 --- a/src/renderer/views/pages/settings.ejs +++ b/src/renderer/views/pages/settings.ejs @@ -79,10 +79,10 @@ {{$root.getLz('settings.option.audio.enableAdvancedFunctionality.ciderPPEStrength.description')}}
- -
@@ -805,12 +805,22 @@ CiderAudio.normalizerOff() } }, + ciderPPECompatibility: function () { + if (app.cfg.audio.spatial) { + notyf.error("CAP is not compatible with Spatialization. Please disable Spatialization to continue.") + } + }, toggleSpatial: function () { if (app.cfg.audio.spatial) { - CiderAudio.spatialOn() + if (!app.cfg.audio.advanced.ciderPPE) { + CiderAudio.spatialOn()} + else { + notyf.error("Spatialization is not compatible with CAP. Please disable CAP to continue.") + } } else { CiderAudio.spatialOff() } + }, changeAudioQuality: function () { app.mk.bitrate = app.cfg.audio.quality From 9fe17e7869dcccf56fbfb51ac7fa3dc4a4a9cc10 Mon Sep 17 00:00:00 2001 From: Maikiwi Date: Sat, 5 Feb 2022 22:02:02 -0800 Subject: [PATCH 031/573] just in case --- src/renderer/views/pages/settings.ejs | 1 + 1 file changed, 1 insertion(+) diff --git a/src/renderer/views/pages/settings.ejs b/src/renderer/views/pages/settings.ejs index 8d3573c6..89b2ac15 100644 --- a/src/renderer/views/pages/settings.ejs +++ b/src/renderer/views/pages/settings.ejs @@ -808,6 +808,7 @@ ciderPPECompatibility: function () { if (app.cfg.audio.spatial) { notyf.error("CAP is not compatible with Spatialization. Please disable Spatialization to continue.") + app.cfg.audio.advanced.ciderPPE = false; } }, toggleSpatial: function () { From 393b0a7e0dcd11b1a7c7b2a8d8959c0c0b0985fe Mon Sep 17 00:00:00 2001 From: Maikiwi Date: Sat, 5 Feb 2022 22:32:10 -0800 Subject: [PATCH 032/573] trademark LMAO --- src/i18n/en_OWO.jsonc | 2 +- src/i18n/en_PISS.jsonc | 2 +- src/i18n/en_US.jsonc | 4 ++-- src/i18n/ja_JP.jsonc | 2 +- src/i18n/zh_CN.jsonc | 2 +- src/i18n/zh_TW.jsonc | 2 +- 6 files changed, 7 insertions(+), 7 deletions(-) diff --git a/src/i18n/en_OWO.jsonc b/src/i18n/en_OWO.jsonc index 286af8bc..8db529b0 100644 --- a/src/i18n/en_OWO.jsonc +++ b/src/i18n/en_OWO.jsonc @@ -229,7 +229,7 @@ "settings.option.audio.seamlessTransition": "Seamwess Audiowo Twansition", // Toggle "settings.option.audio.enableAdvancedFunctionality": "Enabwe Advanced Functionawity", // Toggle "settings.option.audio.enableAdvancedFunctionality.description": "Enabwing AudiowoContext functionawity wiww awwow fow extended audiowo featuwes wike Audiowo Nowmawization, Equalizews and Visuawizews, howevew on some systems dis may cause stuttewing in audiowo twacks.", - "settings.option.audio.enableAdvancedFunctionality.ciderPPE": "Cidew Adwenawine Pwocessow", // Toggle + "settings.option.audio.enableAdvancedFunctionality.ciderPPE": "Cidew Adwenawine Pwocessow™️", // Toggle "settings.option.audio.enableAdvancedFunctionality.ciderPPE.description": "Psychoacouwstic enhancements that makes evewything souwnd both wichew and mowe wivewy. | Designed by Maikiwi", "settings.option.audio.enableAdvancedFunctionality.ciderPPEStrength": "CAP stwength", // Toggle "settings.option.audio.enableAdvancedFunctionality.ciderPPEStrength.description": "Changes the stwength of the pwocessing done to the auwdio. (Aggwessive may yiewd uwndesiwabwe wesuwwts)", diff --git a/src/i18n/en_PISS.jsonc b/src/i18n/en_PISS.jsonc index 4e53489f..07dd925c 100644 --- a/src/i18n/en_PISS.jsonc +++ b/src/i18n/en_PISS.jsonc @@ -243,7 +243,7 @@ "settings.option.audio.seamlessTransition": "seamless piss-to-piss transition", // Toggle "settings.option.audio.enableAdvancedFunctionality": "cool piss tricks", // Toggle "settings.option.audio.enableAdvancedFunctionality.description": "enabling the AudioContext thingy allows you to do cool stuffs, however on some systems your song may stutter", - "settings.option.audio.enableAdvancedFunctionality.ciderPPE": "clear piss", // Toggle + "settings.option.audio.enableAdvancedFunctionality.ciderPPE": "clear piss™️", // Toggle "settings.option.audio.enableAdvancedFunctionality.ciderPPE.description": "makes your bladder go overboard and makes your piss crisp and clear.", "settings.option.audio.enableAdvancedFunctionality.audioNormalization": "piss normaliztion", // Toggle "settings.option.audio.enableAdvancedFunctionality.audioNormalization.description": "protect your eardrums from overly loud/slient pisses", diff --git a/src/i18n/en_US.jsonc b/src/i18n/en_US.jsonc index f5066780..91bc9d14 100644 --- a/src/i18n/en_US.jsonc +++ b/src/i18n/en_US.jsonc @@ -232,8 +232,8 @@ "settings.option.audio.seamlessTransition": "Seamless Audio Transition", // Toggle "settings.option.audio.enableAdvancedFunctionality": "Enable Advanced Functionality", // Toggle "settings.option.audio.enableAdvancedFunctionality.description": "Enabling AudioContext functionality will allow for extended audio features like Audio Normalization , Equalizers and Visualizers, however on some systems this may cause stuttering in audio tracks.", - "settings.option.audio.enableAdvancedFunctionality.ciderPPE": "Cider Adrenaline Processor", // Toggle - "settings.option.audio.enableAdvancedFunctionality.ciderPPE.description": "Psychoacoustic Enhancements that makes everything sound both richer and more lively. | Designed by Maikiwi", + "settings.option.audio.enableAdvancedFunctionality.ciderPPE": "Cider Adrenaline Processor™️", // Toggle + "settings.option.audio.enableAdvancedFunctionality.ciderPPE.description": "Psychoacoustic Enhancements that makes everything sound both richer and more lively | Designed by Maikiwi.", "settings.option.audio.enableAdvancedFunctionality.ciderPPEStrength": "CAP Strength", // Toggle "settings.option.audio.enableAdvancedFunctionality.ciderPPEStrength.description": "Changes the strength of the processing done to the audio. (Aggressive may yield undesirable results)", "settings.option.audio.enableAdvancedFunctionality.ciderPPEStrength.standard": "Standard", diff --git a/src/i18n/ja_JP.jsonc b/src/i18n/ja_JP.jsonc index 9cec0629..d1867969 100644 --- a/src/i18n/ja_JP.jsonc +++ b/src/i18n/ja_JP.jsonc @@ -208,7 +208,7 @@ "settings.option.audio.seamlessTransition": "曲間なしで再生", // Toggle "settings.option.audio.enableAdvancedFunctionality": "先進的な機能", // Toggle "settings.option.audio.enableAdvancedFunctionality.description": "AudioContext 機能を有効にすると、オーディオノーマライズ、空間オーディオ、イコライザーなどの機能を使用できますが、音が途切れるかもしれません。", // Toggle - "settings.option.audio.enableAdvancedFunctionality.ciderPPE": "Cider AEP", // Toggle + "settings.option.audio.enableAdvancedFunctionality.ciderPPE": "Cider AEP™️", // Toggle "settings.option.audio.enableAdvancedFunctionality.ciderPPE.description": "圧縮音源を高解像度に処理することによって、ロスレス相当の音質に向上させます。", // Toggle "settings.option.audio.enableAdvancedFunctionality.ciderPPEStrength": "AEPの強さ", // Toggle "settings.option.audio.enableAdvancedFunctionality.ciderPPEStrength.description": "Changes the strength of the processing done to the audio. (Aggressive may yield undesirable results)", diff --git a/src/i18n/zh_CN.jsonc b/src/i18n/zh_CN.jsonc index cb323812..0ebcb5ab 100644 --- a/src/i18n/zh_CN.jsonc +++ b/src/i18n/zh_CN.jsonc @@ -208,7 +208,7 @@ "settings.option.audio.seamlessTransition": "无缝播放", // Toggle "settings.option.audio.enableAdvancedFunctionality": "进阶功能", // Toggle "settings.option.audio.enableAdvancedFunctionality.description": "启用 AudioContext 将解锁例如音量标准化和音频空间化的功能,但可能会在小部分设备上出现音频上的卡顿。", - "settings.option.audio.enableAdvancedFunctionality.ciderPPE": "Cider 数字增强引擎", // Toggle + "settings.option.audio.enableAdvancedFunctionality.ciderPPE": "Cider 数字增强引擎™️", // Toggle "settings.option.audio.enableAdvancedFunctionality.ciderPPE.description": "将欺骗您的大脑来感知到近似无损音频的效果。", "settings.option.audio.enableAdvancedFunctionality.audioNormalization": "音量标准化", // Toggle "settings.option.audio.enableAdvancedFunctionality.audioNormalization.description": "使所感知到的音频响度统一", diff --git a/src/i18n/zh_TW.jsonc b/src/i18n/zh_TW.jsonc index 67dd8aff..0e40cf5b 100644 --- a/src/i18n/zh_TW.jsonc +++ b/src/i18n/zh_TW.jsonc @@ -209,7 +209,7 @@ "settings.option.audio.seamlessTransition": "無間斷播放", // Toggle "settings.option.audio.enableAdvancedFunctionality": "進階機能", // Toggle "settings.option.audio.enableAdvancedFunctionality.description": "啟用 AudioContext 將解鎖類似音訊標準化和等化器的進階機能。但是會在部分電腦造成音樂卡頓。", - "settings.option.audio.enableAdvancedFunctionality.ciderPPE": "Cider 數位增强音訊處理", // Toggle + "settings.option.audio.enableAdvancedFunctionality.ciderPPE": "Cider 數位增强音訊處理™️", // Toggle "settings.option.audio.enableAdvancedFunctionality.ciderPPE.description": "將欺騙您的大腦使其感受近似保真壓縮的音質。| 由 Maikiwi 設計", "settings.option.audio.enableAdvancedFunctionality.ciderPPEStrength": "數位增强音訊處理設置", // Toggle "settings.option.audio.enableAdvancedFunctionality.ciderPPEStrength.description": "將更改音訊處理的激進程度(增强選項有可能會引起雜訊)", From 34e447f9902e7426d1a70dcff02e6d1bbfc79015 Mon Sep 17 00:00:00 2001 From: Maikiwi Date: Sat, 5 Feb 2022 22:50:30 -0800 Subject: [PATCH 033/573] missspelll --- src/renderer/views/pages/settings.ejs | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/renderer/views/pages/settings.ejs b/src/renderer/views/pages/settings.ejs index 89b2ac15..99da6a3d 100644 --- a/src/renderer/views/pages/settings.ejs +++ b/src/renderer/views/pages/settings.ejs @@ -808,12 +808,12 @@ ciderPPECompatibility: function () { if (app.cfg.audio.spatial) { notyf.error("CAP is not compatible with Spatialization. Please disable Spatialization to continue.") - app.cfg.audio.advanced.ciderPPE = false; + app.cfg.advanced.ciderPPE = false; } }, toggleSpatial: function () { if (app.cfg.audio.spatial) { - if (!app.cfg.audio.advanced.ciderPPE) { + if (!app.cfg.advanced.ciderPPE) { CiderAudio.spatialOn()} else { notyf.error("Spatialization is not compatible with CAP. Please disable CAP to continue.") From 8f5a1234125258efbc6358576cd441e61c3bc3ed Mon Sep 17 00:00:00 2001 From: Core <64542347+coredev-uk@users.noreply.github.com> Date: Sun, 6 Feb 2022 07:15:06 +0000 Subject: [PATCH 034/573] removed unused depends and qr code depend as not necessary --- package.json | 7 ------- src/main/base/browserwindow.ts | 6 +----- 2 files changed, 1 insertion(+), 12 deletions(-) diff --git a/package.json b/package.json index 7d189bf0..93141b16 100644 --- a/package.json +++ b/package.json @@ -30,13 +30,11 @@ "dependencies": { "@sentry/electron": "^2.5.4", "@sentry/integrations": "^6.17.4", - "castv2-client": "^1.2.0", "discord-rpc": "^4.0.1", "ejs": "^3.1.6", "electron-fetch": "^1.7.4", "electron-log": "^4.4.5", "electron-notarize": "^1.1.1", - "electron-packager": "^15.4.0", "electron-store": "^8.0.1", "electron-updater": "^4.6.1", "electron-window-state": "^5.0.3", @@ -48,18 +46,13 @@ "mpris-service": "^2.1.2", "music-metadata": "^7.11.4", "node-gyp": "^8.4.1", - "node-ssdp": "^4.0.1", "qrcode": "^1.5.0", - "qrcode-terminal": "^0.12.0", "react": "^17.0.2", "react-dom": "^17.0.2", "run-script-os": "^1.1.6", "source-map-support": "^0.5.21", - "tsc": "^2.0.4", "typescript": "^4.5.5", - "upnp-mediarenderer-client": "^1.4.0", "v8-compile-cache": "^2.3.0", - "wavefile": "^11.0.0", "ws": "^8.4.2", "xml2js": "^0.4.23", "youtube-search-without-api-key": "^1.0.7" diff --git a/src/main/base/browserwindow.ts b/src/main/base/browserwindow.ts index e9722e9d..655bd67e 100644 --- a/src/main/base/browserwindow.ts +++ b/src/main/base/browserwindow.ts @@ -6,8 +6,7 @@ import * as getPort from "get-port"; import {search} from "youtube-search-without-api-key"; import {existsSync, mkdirSync, readdirSync, readFileSync, writeFileSync} from "fs"; import {Stream} from "stream"; -import {generate as generateQR} from "qrcode-terminal"; -import {hostname, networkInterfaces} from "os"; +import {networkInterfaces} from "os"; import * as mm from 'music-metadata'; import fetch from 'electron-fetch' import {wsapi} from "./wsapi"; @@ -287,9 +286,6 @@ export class BrowserWindow { this.broadcastRemote() remote.listen(this.remotePort, () => { console.log(`Cider remote port: ${this.remotePort}`); - if (firstRequest) { - generateQR(`http://${hostname}:${this.remotePort}`); - } firstRequest = false; }) remote.get("/", (_req, res) => { From 4651b791060ba678709ce63a7360758ecdc15b69 Mon Sep 17 00:00:00 2001 From: Core <64542347+coredev-uk@users.noreply.github.com> Date: Sun, 6 Feb 2022 07:15:56 +0000 Subject: [PATCH 035/573] this should be false --- src/main/base/store.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/main/base/store.ts b/src/main/base/store.ts index 564f267a..c8ac6280 100644 --- a/src/main/base/store.ts +++ b/src/main/base/store.ts @@ -6,7 +6,7 @@ export class Store { private defaults: any = { "general": { - "close_button_hide": true, + "close_button_hide": false, "open_on_startup": false, "discord_rpc": 1, // 0 = disabled, 1 = enabled as Cider, 2 = enabled as Apple Music "discord_rpc_clear_on_pause": true, From e7537e4a2bf0459e7cf965b75736b09a0e4c6b61 Mon Sep 17 00:00:00 2001 From: Core <64542347+coredev-uk@users.noreply.github.com> Date: Sun, 6 Feb 2022 08:12:22 +0000 Subject: [PATCH 036/573] Menubar Moved to Plugin --- src/main/base/browserwindow.ts | 133 ++-------------------- src/main/base/utils.ts | 2 + src/main/plugins/menubar.ts | 197 +++++++++++++++++++++++++++++++++ src/main/plugins/thumbar.ts | 2 +- 4 files changed, 207 insertions(+), 127 deletions(-) create mode 100644 src/main/plugins/menubar.ts diff --git a/src/main/base/browserwindow.ts b/src/main/base/browserwindow.ts index 655bd67e..9c701a04 100644 --- a/src/main/base/browserwindow.ts +++ b/src/main/base/browserwindow.ts @@ -1,5 +1,5 @@ import {join} from "path"; -import {app, BrowserWindow as bw, ipcMain, shell, ShareMenu, Menu, nativeImage} from "electron"; +import {app, BrowserWindow as bw, ipcMain, ShareMenu, shell} from "electron"; import * as windowStateKeeper from "electron-window-state"; import * as express from "express"; import * as getPort from "get-port"; @@ -13,8 +13,6 @@ import {wsapi} from "./wsapi"; import {jsonc} from "jsonc"; import {AppImageUpdater, NsisUpdater} from "electron-updater"; import {utils} from './utils'; -import * as path from "path"; - export class BrowserWindow { @@ -198,9 +196,9 @@ export class BrowserWindow { res.render("main", this.EnvironmentVariables); }); - app.get("/api/playback/:action", (req, res)=>{ + app.get("/api/playback/:action", (req, res) => { const action = req.params.action; - switch(action) { + switch (action) { case "playpause": BrowserWindow.win.webContents.executeJavaScript("wsapi.togglePlayPause()") res.send("Play/Pause toggle") @@ -546,9 +544,9 @@ export class BrowserWindow { BrowserWindow.win.webContents.send('send-remote-pair-url', url); }) if (process.platform === "darwin") { - app.setUserActivity('com.CiderCollective.remote.pair', { - ip: `${BrowserWindow.getIP()}` - }, `http://${BrowserWindow.getIP()}:${this.remotePort}`); + app.setUserActivity('com.CiderCollective.remote.pair', { + ip: `${BrowserWindow.getIP()}` + }, `http://${BrowserWindow.getIP()}:${this.remotePort}`); } // Get previews for normalization ipcMain.on("getPreviewURL", (_event, url) => { @@ -580,7 +578,7 @@ export class BrowserWindow { }) ipcMain.on('share-menu', async (_event, url) => { - if ( process.platform != 'darwin') return; + if (process.platform != 'darwin') return; //https://www.electronjs.org/docs/latest/api/share-menu console.log('[Share Sheet - App.ts]', url) const options = { @@ -593,11 +591,6 @@ export class BrowserWindow { }) - - - - - /* ********************************************************************************************* * Window Events * **********************************************************************************************/ @@ -662,118 +655,6 @@ export class BrowserWindow { shell.openExternal(x.url).catch(console.error); return {action: "deny"}; }); - - /* ********************************************************************************************* - * Menu - * **********************************************************************************************/ - //@ts-ignore - console.log(path.join(__dirname, '../../src/renderer/views/svg/smartphone.svg')) - const isMac = process.platform === 'darwin'; - //TODO: Figure out the icons - const remoteIcon = nativeImage.createFromPath(path.join(__dirname, '../../src/renderer/views/svg/smartphone.svg')).toPNG() - const soundIcon = nativeImage.createFromPath(path.join(__dirname, '../../src/renderer/views/svg/headphones.svg')).toPNG() - const aboutIcon = nativeImage.createFromPath(path.join(__dirname, '../../src/renderer/views/svg/info.svg')).toPNG() - const settingsIcon = nativeImage.createFromPath(path.join(__dirname, '../../src/renderer/views/svg/settings.svg')).toPNG() - const logoutIcon = nativeImage.createFromPath(path.join(__dirname, '../../src/renderer/views/svg/log-out.svg')).toPNG() - const ciderIcon = nativeImage.createFromPath(path.join(__dirname, '../../src/renderer/assets/logocute.png')) - const template = [ - // { role: 'appMenu' } - ...(isMac ? [{ - label: app.name, - submenu: [ - { label: 'Web Remote', accelerator: 'CommandOrControl+W', sublabel: 'Opens in external window', click: () => BrowserWindow.win.webContents.executeJavaScript(`ipcRenderer.invoke('showQR')`)}, //accelerator - { label: 'Audio Settings', accelerator: 'CommandOrControl+Shift+A', click: () => BrowserWindow.win.webContents.executeJavaScript(`app.modals.audioSettings = true`)}, - { label: 'About', accelerator: 'CommandOrControl+Shift+B', click: () => BrowserWindow.win.webContents.executeJavaScript(`app.appRoute('about'`)}, - { label: 'Settings', accelerator: 'CommandOrControl+,', click: () => BrowserWindow.win.webContents.executeJavaScript(`app.appRoute('settings')`)}, - { label: 'Logout', accelerator: 'CommandOrControl+Shift+O', click: () => BrowserWindow.win.webContents.executeJavaScript(`app.unauthorize(); document.location.reload()`)}, - { type: 'separator' }, - { role: 'quit' } - ] - }] : []), - // { role: 'viewMenu' } - { - label: 'View', - submenu: [ - { role: 'reload' }, - { role: 'forceReload' }, - { role: 'toggleDevTools' }, - { type: 'separator' }, - { role: 'resetZoom' }, - { role: 'zoomIn' }, - { role: 'zoomOut' }, - { type: 'separator' }, - { role: 'togglefullscreen' } - ] - }, - // { role: 'windowMenu' } - { - label: 'Window', - submenu: [ - { role: 'minimize' }, - { role: 'zoom' }, - ...(isMac ? [ - { type: 'separator' }, - { role: 'front' }, - { type: 'separator' }, - { role: 'window' } - ] : [ - { role: 'close' } - ]) - ] - }, - { - role: 'help', - submenu: [ - { - label: 'Discord', - accelerator: 'CommandOrControl+Shift+D', - click: async () => { - const { shell } = require('electron') - await shell.openExternal('https://discord.gg/applemusic') - } - }, - { - label: 'Donate', - accelerator: 'CommandOrControl+D', - icon: ciderIcon, - click: async () => { - const { shell } = require('electron') - await shell.openExternal('https://opencollective.com/ciderapp/') - } - }, - { - label: 'Report a...', - submenu: [ - { - label: 'Bug', - click: async () => { - const {shell} = require('electron') - await shell.openExternal("https://github.com/ciderapp/Cider/issues/new?assignees=&labels=bug%2Ctriage&template=bug_report.yaml&title=%5BBug%5D%3A+") - } - }, - { - label: 'Feature Request', - click: async () => { - const {shell} = require('electron') - await shell.openExternal("https://github.com/ciderapp/Cider/issues/new?assignees=&labels=enhancement%2Ctriage&template=feature_request.yaml&title=%5BEnhancement%5D%3A+") - } - }, - { - label: 'Translation Report/Request', - click: async () => { - const {shell} = require('electron') - await shell.openExternal("https://github.com/ciderapp/Cider/issues/new?assignees=&labels=%F0%9F%8C%90+Translations&template=translation.yaml&title=%5BTranslation%5D%3A+") - } - }, - ] - }, - ] - } - ] - //@ts-ignore - const menu = Menu.buildFromTemplate(template) - Menu.setApplicationMenu(menu) - } /** diff --git a/src/main/base/utils.ts b/src/main/base/utils.ts index 5197a6eb..96b937d0 100644 --- a/src/main/base/utils.ts +++ b/src/main/base/utils.ts @@ -12,6 +12,8 @@ export class utils { */ private static paths: any = { srcPath: path.join(__dirname, "../../src"), + rendererPath: path.join(__dirname, "../../src/renderer"), + mainPath: path.join(__dirname, "../../src/main"), resourcePath: path.join(__dirname, "../../resources"), i18nPath: path.join(__dirname, "../../src/i18n"), ciderCache: path.resolve(app.getPath("userData"), "CiderCache"), diff --git a/src/main/plugins/menubar.ts b/src/main/plugins/menubar.ts new file mode 100644 index 00000000..3477a5d7 --- /dev/null +++ b/src/main/plugins/menubar.ts @@ -0,0 +1,197 @@ +import {app, Menu, shell} from "electron"; + +export default class Thumbar { + /** + * Private variables for interaction in plugins + */ + private _win: any; + private _app: any; + private _store: any; + + /** + * Base Plugin Details (Eventually implemented into a GUI in settings) + */ + public name: string = 'Menubar Plugin'; + public description: string = 'Creates the menubar'; + public version: string = '1.0.0'; + public author: string = 'Core / Quack'; + + /** + * Thumbnail Toolbar Assets + * NATIVE-IMAGE DOESN'T SUPPORT SVG + private icons: { [key: string]: Electron.NativeImage } = { + remoteIcon: nativeImage.createFromPath(join(utils.getPath('rendererPath'), 'views/svg/smartphone.svg')).toPNG(), + soundIcon: nativeImage.createFromPath(join(utils.getPath('rendererPath'), 'views/svg/headphones.svg')).toPNG(), + aboutIcon: nativeImage.createFromPath(join(utils.getPath('rendererPath'), 'views/svg/info.svg')).toPNG(), + settingsIcon: nativeImage.createFromPath(join(utils.getPath('rendererPath'), 'views/svg/settings.svg')).toPNG(), + logoutIcon: nativeImage.createFromPath(join(utils.getPath('rendererPath'), 'views/svg/log-out.svg')).toPNG(), + ciderIcon: nativeImage.createFromPath(join(utils.getPath('rendererPath'), 'assets/logocute.png')).toPNG(), + } + */ + + /** + * Menubar Assets + * @private + */ + private isMac: boolean = process.platform === 'darwin'; + private menubarTemplate: any = [ + { + label: app.name, + submenu: [ + { + label: 'Web Remote', + accelerator: 'CommandOrControl+Shift+W', + sublabel: 'Opens in external window', + click: () => this._win.webContents.executeJavaScript(`ipcRenderer.invoke('showQR')`) + }, //accelerator + { + label: 'Audio Settings', + accelerator: 'CommandOrControl+Shift+A', + click: () => this._win.webContents.executeJavaScript(`app.modals.audioSettings = true`) + }, + { + label: 'About', + accelerator: 'CommandOrControl+Shift+B', + click: () => this._win.webContents.executeJavaScript(`app.appRoute('about'`) + }, + { + label: 'Settings', + accelerator: 'CommandOrControl+,', + click: () => this._win.webContents.executeJavaScript(`app.appRoute('settings')`) + }, + { + label: 'Logout', + accelerator: 'CommandOrControl+Shift+O', + click: () => this._win.webContents.executeJavaScript(`app.unauthorize()`) + }, + {type: 'separator'}, + {role: 'quit'} + ] + }, + { + label: 'View', + submenu: [ + {role: 'reload'}, + {role: 'forceReload'}, + {role: 'toggleDevTools'}, + {type: 'separator'}, + {role: 'resetZoom'}, + {role: 'zoomIn'}, + {role: 'zoomOut'}, + {type: 'separator'}, + {role: 'togglefullscreen'} + ] + }, + { + label: 'Window', + submenu: [ + {role: 'minimize'}, + {role: 'zoom'}, + ...(this.isMac ? [ + {type: 'separator'}, + {role: 'front'}, + {type: 'separator'}, + {role: 'window'} + ] : [ + {role: 'close'} + ]) + ] + }, + { + label: 'Support', + role: 'help', + submenu: [ + { + label: 'Discord', + click: () => shell.openExternal("https://discord.gg/AppleMusic").catch(console.error) + }, + { + label: 'GitHub Wiki', + click: () => shell.openExternal("https://github.com/ciderapp/Cider/wiki/Troubleshooting").catch(console.error) + }, + { + label: 'About', + click: () => this._win.webContents.executeJavaScript(`app.appRoute('about')`) + }, + {type: 'separator'}, + { + label: 'Report a...', + submenu: [ + { + label: 'Bug', + click: () => shell.openExternal("https://github.com/ciderapp/Cider/issues/new?assignees=&labels=bug%2Ctriage&template=bug_report.yaml&title=%5BBug%5D%3A+").catch(console.error) + }, + { + label: 'Feature Request', + click: () => shell.openExternal("https://github.com/ciderapp/Cider/issues/new?assignees=&labels=enhancement%2Ctriage&template=feature_request.yaml&title=%5BEnhancement%5D%3A+").catch(console.error) + }, + { + label: 'Translation Report/Request', + click: () => shell.openExternal("https://github.com/ciderapp/Cider/issues/new?assignees=&labels=%F0%9F%8C%90+Translations&template=translation.yaml&title=%5BTranslation%5D%3A+").catch(console.error) + }, + ] + }, + {type: 'separator'}, + { + label: 'View License', + click: () => shell.openExternal("https://github.com/ciderapp/Cider/blob/main/LICENSE").catch(console.error) + }, + {type: 'separator'}, + { + label: 'Toggle Developer Tools', + accelerator: 'Option+CommandOrControl+I', + click: () => this._win.webContents.openDevTools() + }, + { + label: 'Open Configuration File in Editor', + click: () => this._store.openInEditor() + } + ] + } + ] + + /******************************************************************************************* + * Public Methods + * ****************************************************************************************/ + + /** + * Runs on plugin load (Currently run on application start) + */ + constructor(app: any, store: any) { + this._app = app; + this._store = store + console.debug(`[Plugin][${this.name}] Loading Complete.`); + } + + /** + * Runs on app ready + */ + onReady(win: Electron.BrowserWindow): void { + this._win = win; + Menu.setApplicationMenu(Menu.buildFromTemplate(this.menubarTemplate)) + } + + /** + * Runs on app stop + */ + onBeforeQuit(): void { + console.debug(`[Plugin][${this.name}] Stopped.`); + } + + /** + * Runs on playback State Change + * @param attributes Music Attributes (attributes.status = current state) + */ + onPlaybackStateDidChange(attributes: object): void { + + } + + /** + * Runs on song change + * @param attributes Music Attributes + */ + onNowPlayingItemDidChange(attributes: object): void { + + } + +} diff --git a/src/main/plugins/thumbar.ts b/src/main/plugins/thumbar.ts index 4644920e..2ba1f1a9 100644 --- a/src/main/plugins/thumbar.ts +++ b/src/main/plugins/thumbar.ts @@ -20,7 +20,7 @@ export default class Thumbar { /** * Thumbnail Toolbar Assets */ - private icons: { pause: Electron.NativeImage, play: Electron.NativeImage, next: Electron.NativeImage, previous: Electron.NativeImage } = { + private icons: { [key: string]: Electron.NativeImage } = { pause: nativeImage.createFromPath(join(utils.getPath('resourcePath'), 'icons/thumbar', `${nativeTheme.shouldUseDarkColors ? 'light' : 'dark'}_pause.png`)), play: nativeImage.createFromPath(join(utils.getPath('resourcePath'), 'icons/thumbar', `${nativeTheme.shouldUseDarkColors ? 'light' : 'dark'}_play.png`)), next: nativeImage.createFromPath(join(utils.getPath('resourcePath'), 'icons/thumbar', `${nativeTheme.shouldUseDarkColors ? 'light' : 'dark'}_next.png`)), From c86d66d142014d56bed0038ef54f3b8724f1bf3d Mon Sep 17 00:00:00 2001 From: Core <64542347+coredev-uk@users.noreply.github.com> Date: Sun, 6 Feb 2022 09:39:23 +0000 Subject: [PATCH 037/573] Small change in category for menubar.ts --- src/main/plugins/menubar.ts | 73 +++++++++++++++++++++---------------- 1 file changed, 42 insertions(+), 31 deletions(-) diff --git a/src/main/plugins/menubar.ts b/src/main/plugins/menubar.ts index 3477a5d7..5d729a8b 100644 --- a/src/main/plugins/menubar.ts +++ b/src/main/plugins/menubar.ts @@ -36,36 +36,17 @@ export default class Thumbar { private isMac: boolean = process.platform === 'darwin'; private menubarTemplate: any = [ { - label: app.name, + label: app.getName(), submenu: [ - { - label: 'Web Remote', - accelerator: 'CommandOrControl+Shift+W', - sublabel: 'Opens in external window', - click: () => this._win.webContents.executeJavaScript(`ipcRenderer.invoke('showQR')`) - }, //accelerator - { - label: 'Audio Settings', - accelerator: 'CommandOrControl+Shift+A', - click: () => this._win.webContents.executeJavaScript(`app.modals.audioSettings = true`) - }, - { - label: 'About', - accelerator: 'CommandOrControl+Shift+B', - click: () => this._win.webContents.executeJavaScript(`app.appRoute('about'`) - }, - { - label: 'Settings', - accelerator: 'CommandOrControl+,', - click: () => this._win.webContents.executeJavaScript(`app.appRoute('settings')`) - }, - { - label: 'Logout', - accelerator: 'CommandOrControl+Shift+O', - click: () => this._win.webContents.executeJavaScript(`app.unauthorize()`) - }, - {type: 'separator'}, - {role: 'quit'} + { role: 'about' }, + { type: 'separator' }, + { role: 'services' }, + { type: 'separator' }, + { role: 'hide' }, + { role: 'hideOthers' }, + { role: 'unhide' }, + { type: 'separator' }, + { role: 'quit' } ] }, { @@ -79,7 +60,7 @@ export default class Thumbar { {role: 'zoomIn'}, {role: 'zoomOut'}, {type: 'separator'}, - {role: 'togglefullscreen'} + {role: 'togglefullscreen'}, ] }, { @@ -94,7 +75,37 @@ export default class Thumbar { {role: 'window'} ] : [ {role: 'close'} - ]) + ]), + {type: 'separator'}, + { + label: 'Web Remote', + accelerator: 'CommandOrControl+Shift+W', + sublabel: 'Opens in external window', + click: () => this._win.webContents.executeJavaScript(`ipcRenderer.invoke('showQR')`) + }, + { + label: 'Audio Settings', + accelerator: 'CommandOrControl+Shift+A', + click: () => this._win.webContents.executeJavaScript(`app.modals.audioSettings = true`) + }, + { + label: 'Settings', + accelerator: 'CommandOrControl+,', + click: () => this._win.webContents.executeJavaScript(`app.appRoute('settings')`) + } + ] + }, + { + label: 'Account', + submenu: [ + { + label: 'Account Settings', + click: () => this._win.webContents.executeJavaScript(`app.appRoute('apple-account-settings')`) + }, + { + label: 'Sign Out', + click: () => this._win.webContents.executeJavaScript(`app.unauthorize()`) + } ] }, { From 0131a1a70adf75f490696cd1c9d7a07ec4bbbd62 Mon Sep 17 00:00:00 2001 From: Core <64542347+coredev-uk@users.noreply.github.com> Date: Sun, 6 Feb 2022 10:58:30 +0000 Subject: [PATCH 038/573] Update to audio quality setting clarity (Translators note i18n README.md) - Changed audio quality setting to match MusicKit audio options (Low -> Standard) - Added descriptions for audio quality options - Audio quality now uses string for setting instead of direct bitrate option. --- src/i18n/README.md | 11 ++++++++++- src/i18n/en_US.jsonc | 10 +++++----- src/main/base/store.ts | 2 +- src/renderer/index.js | 20 +++++--------------- src/renderer/views/pages/settings.ejs | 13 ++++++------- 5 files changed, 27 insertions(+), 29 deletions(-) diff --git a/src/i18n/README.md b/src/i18n/README.md index 4e77d616..1f5d47d4 100644 --- a/src/i18n/README.md +++ b/src/i18n/README.md @@ -55,4 +55,13 @@ Update 05/02/2022 09:00 UTC * `settings.header.audio.quality.lossless`: Added for `en_US`. * `settings.header.audio.quality.lossless.description`: Added for `en_US`. * `settings.option.audio.enableAdvancedFunctionality.ciderPPE`: Added for `en_US`. -* `settings.option.audio.enableAdvancedFunctionality.ciderPPE.description`: Added for `en_US`. \ No newline at end of file +* `settings.option.audio.enableAdvancedFunctionality.ciderPPE.description`: Added for `en_US`. + +Update 06/02/2022 10:35 UTC + +* `settings.header.audio.quality.hireslossless.description`: Brackets removed, handled in renderer. +* `settings.header.audio.quality.lossless.description`: Brackets removed, handled in renderer. +* `settings.header.audio.quality.high.description`: Added for `en_US`. +* `settings.header.audio.quality.auto`: Removed as default for MusicKit is 256. +* `settings.header.audio.quality.standard`: Replaced `settings.header.audio.quality.low` to match MusicKit naming. +* `settings.header.audio.quality.standard.description`: Added for `en_US`. \ No newline at end of file diff --git a/src/i18n/en_US.jsonc b/src/i18n/en_US.jsonc index 91bc9d14..997dc576 100644 --- a/src/i18n/en_US.jsonc +++ b/src/i18n/en_US.jsonc @@ -222,13 +222,13 @@ "settings.header.audio.description": "Adjust the audio settings for Cider.", "settings.option.audio.quality": "Audio Quality", // Dropdown "settings.header.audio.quality.hireslossless": "Hi-Res Lossless", - "settings.header.audio.quality.hireslossless.description": "(up to 24-bit/192 kHz)", + "settings.header.audio.quality.hireslossless.description": "up to 24-bit/192 kHz", "settings.header.audio.quality.lossless": "Lossless", - "settings.header.audio.quality.lossless.description": "(up to 24-bit/48 kHz)", - "settings.header.audio.quality.enhanced": "Enhanced", + "settings.header.audio.quality.lossless.description": "up to 24-bit/48 kHz", "settings.header.audio.quality.high": "High", - "settings.header.audio.quality.low": "Low", - "settings.header.audio.quality.auto": "Auto", + "settings.header.audio.quality.high.description": "256 kbps", + "settings.header.audio.quality.standard": "Standard", + "settings.header.audio.quality.standard.description": "64 kbps", "settings.option.audio.seamlessTransition": "Seamless Audio Transition", // Toggle "settings.option.audio.enableAdvancedFunctionality": "Enable Advanced Functionality", // Toggle "settings.option.audio.enableAdvancedFunctionality.description": "Enabling AudioContext functionality will allow for extended audio features like Audio Normalization , Equalizers and Visualizers, however on some systems this may cause stuttering in audio tracks.", diff --git a/src/main/base/store.ts b/src/main/base/store.ts index c8ac6280..7a4fd3ae 100644 --- a/src/main/base/store.ts +++ b/src/main/base/store.ts @@ -28,7 +28,7 @@ export class Store { "volume": 1, "lastVolume": 1, "muted": false, - "quality": "256", + "quality": "HIGH", "seamless_audio": true, "normalization": false, "ciderPPE": false, diff --git a/src/renderer/index.js b/src/renderer/index.js index 50128982..86dcfa65 100644 --- a/src/renderer/index.js +++ b/src/renderer/index.js @@ -670,23 +670,13 @@ const app = new Vue({ window.localStorage.setItem("currentQueue", JSON.stringify(app.mk.queue.items)) }; - // Load saved quality - switch (app.cfg.audio.quality) { - case "extreme": - app.mk.bitrate = app.cfg.audio.quality = 990 - break; - case "high": - app.mk.bitrate = app.cfg.audio.quality = 256 - break; - case "low": - app.mk.bitrate = app.cfg.audio.quality = 64 - break; - default: - // app.mk.bitrate = app.cfg.audio.quality - break; + if (typeof MusicKit.PlaybackBitrate[app.cfg.audio.quality] !== "string") { + app.mk.bitrate = MusicKit.PlaybackBitrate[app.cfg.audio.quality] + } else { + app.mk.bitrate = 256 + app.cfg.audio.quality = "HIGH" } - // load last played track try { let lastItem = window.localStorage.getItem("currentTrack") diff --git a/src/renderer/views/pages/settings.ejs b/src/renderer/views/pages/settings.ejs index 99da6a3d..99272f5c 100644 --- a/src/renderer/views/pages/settings.ejs +++ b/src/renderer/views/pages/settings.ejs @@ -35,11 +35,10 @@
@@ -823,8 +822,8 @@ } }, - changeAudioQuality: function () { - app.mk.bitrate = app.cfg.audio.quality + changeAudioQuality: function () {1 + app.mk.bitrate = MusicKit.PlaybackBitrate[app.cfg.audio.quality]; }, toggleUserInfo: function () { app.chrome.hideUserInfo = !app.cfg.visual.showuserinfo From d08b2966d083f84f763e54a630ff5900a1b02177 Mon Sep 17 00:00:00 2001 From: Core <64542347+coredev-uk@users.noreply.github.com> Date: Sun, 6 Feb 2022 18:24:59 +0000 Subject: [PATCH 039/573] CSS Fixes for PPE button --- src/renderer/style.less | 68 ++++++++++++++------------- src/renderer/views/app/chrome-top.ejs | 9 ++-- 2 files changed, 38 insertions(+), 39 deletions(-) diff --git a/src/renderer/style.less b/src/renderer/style.less index 181abb32..7d4d8f86 100644 --- a/src/renderer/style.less +++ b/src/renderer/style.less @@ -1126,51 +1126,53 @@ body[platform="darwin"] .app-chrome .app-chrome-item > .window-controls > div.cl width: 100%; } -.app-chrome .app-chrome-item > .app-playback-controls .song-name { - font-weight: 600; - text-align: center; - font-size: 13px; - height: 1.3em; - line-height: 1.3em; - white-space: nowrap; - max-width: 360px; +.app-chrome .app-chrome-item > .app-playback-controls { + .song-name { + font-weight: 600; + text-align: center; + font-size: 13px; + height: 1.3em; + line-height: 1.3em; + white-space: nowrap; + max-width: 360px; - .song-name-normal { - height: inherit; - } + .song-name-normal { + height: inherit; + } - &.song-artist-marquee { - > marquee { - //margin-bottom: -3px; + &.song-artist-marquee { + > marquee { + //margin-bottom: -3px; + } + } + + .explicit-icon { + background-image: url("./assets/explicit.svg"); + height: 9px; + width: 13px; + filter: contrast(0); + background-repeat: no-repeat; + margin-left: 3px; } } - .explicit-icon { - background-image: url("./assets/explicit.svg"); - height: 9px; - width: 13px; - filter: contrast(0); - background-repeat: no-repeat; - margin-left: 3px; - } - .lossless-icon { - background-image: url("http://localhost:9000/assets/lossless.svg"); - height: 9px; - width: 36px; - filter: contrast(0); - background-repeat: no-repeat; - margin-left: 3px; - background-size: contain; + background-image: url("./assets/lossless.svg") !important; } .ppe-icon { - background-image: url("./assets/ppe.svg"); - height: 12px; - width: 13px; + background-image: url("./assets/ppe.svg") !important; + } + + .audio-type { filter: contrast(0); background-repeat: no-repeat; background-size: contain; + height: 15px; + width: 15px; + position: absolute; + right: 0; + margin-bottom: 15px; } } diff --git a/src/renderer/views/app/chrome-top.ejs b/src/renderer/views/app/chrome-top.ejs index 1a7f92ab..d9d946fd 100644 --- a/src/renderer/views/app/chrome-top.ejs +++ b/src/renderer/views/app/chrome-top.ejs @@ -50,17 +50,14 @@
-
+
{{ mk.nowPlayingItem["attributes"]["name"] }}
-
+
Date: Mon, 7 Feb 2022 02:42:05 +0100 Subject: [PATCH 040/573] Update Hungarian (hu_HU) language files (#357) --- src/i18n/hu_HU.jsonc | 128 +++++++++++++++++++++++++------------------ 1 file changed, 75 insertions(+), 53 deletions(-) diff --git a/src/i18n/hu_HU.jsonc b/src/i18n/hu_HU.jsonc index 005590c3..65bd88fa 100644 --- a/src/i18n/hu_HU.jsonc +++ b/src/i18n/hu_HU.jsonc @@ -1,11 +1,9 @@ { // Base File - // i18n Info "i18n.languageName": "Magyar", // name of language in native language "i18n.languageNameEnglish": "Hungarian", // name of language in English "i18n.category": "main", // main = real language, fun = fun community languages - "i18n.authors": "@Greenoliv @Rias @BenjaminStonawski", // Authors, if you contribute to this file feel free to add your name seperated with a space - + "i18n.authors": "@Greenoliv @Amaru @BenjaminStonawski", // Authors, if you contribute to this file feel free to add your name seperated with a space // App info "app.name": "Cider", @@ -22,7 +20,7 @@ // Terms "term.appleInc": "Apple Inc.", "term.appleMusic": "Apple Music", - "term.applePodcasts": "Apple Podcasts", + "term.applePodcasts": "Apple Podcastok", "term.itunes": "iTunes", "term.github": "GitHub", "term.discord": "Discord", @@ -46,9 +44,9 @@ "term.playlists": "Lejátszási listák", "term.playlist": "Lejátszási lista", "term.newPlaylist": "Új lejátszási lista", - "term.newPlaylistFolder": "Új lejátszási lista mappa", + "term.newPlaylistFolder": "Új mappa", "term.createNewPlaylist": "Új lejátszási lista létrehozása", - "term.createNewPlaylistFolder": "Új lejátszási lista mappa létrehozása", + "term.createNewPlaylistFolder": "Új mappa létrehozása", "term.deletePlaylist": "Biztosan szeretné törölni a lejátszási listát?", "term.play": "Lejátszás", "term.pause": "Megállítás", @@ -60,6 +58,7 @@ "term.mute": "Némítás", "term.unmute": "Némítás feloldása", "term.share": "Megosztás", + "term.share.success": "Másolva a vágólapra", "term.settings": "Beállítások", "term.seeAll": "Összes", "term.sortBy": "Rendezés", @@ -104,35 +103,49 @@ "term.time.second": "másodperc", "term.fullscreenView": "Teljes képernyős mód", "term.defaultView": "Alapértelmezett nézet", - "term.spacializedAudioSetting": "Térbeli hangzás", + "term.spacializedAudioSetting": "Térbeli hang", "term.clearAll": "Összes törlése", "term.recentStations": "Nemrég játszott", "term.language": "Nyelv", - "term.funLanguages": "Mókás", + "term.funLanguages": "Fantázianyelvek", "term.noLyrics": "Betöltés... / Dalszöveg nem található. / Instrumentális.", "term.copyright": "Szerzői jog", "term.rightsReserved": "Minden jog fenntartva.", "term.sponsor": "Támogasd a projektet", "term.ciderTeam": "A Cider csapata", "term.developer": "Fejlesztő", - "term.socialTeam": "Szociális csapat", + "term.socialTeam": "Közösségi csapat", "term.socials": "Szociális", - "term.contributors": "Közreműködők", + "term.contributors": "Hozzájárulók", "term.equalizer": "Hangszínszabályozó", "term.reset": "Visszaállítás", "term.tracks": "zeneszám", // Assume x amount of tracks. e.g. 50 tracks "term.videos": "Videók", "term.menu": "Menü", - "term.check": "Bejelöl", - "term.aboutArtist": "További információ {{artistName}} előadóról", // e.g. 'About Doja Cat' - "term.updateCider": "Cider frissítése", - + "term.check": "Ellenőrzés", + "term.aboutArtist": "About {{artistName}}", // e.g. 'About Doja Cat' + "term.updateCider": "A Cider frissítése", + "term.topResult": "Legjobb találatok", // Search Results + "term.sharedPlaylists": "Megosztott lejátszási listák", // Search Results + "term.people": "Profilok", // Search Results + "term.newpreset.name": "New EQ Preset Name", // Equalizer Preset + "term.addedpreset": "Preset hozzáadva", + "term.deletepreset.warn": "Are you sure you want to delete this preset?", + "term.deletedpreset": "Preset törölve", + "term.musicVideos": "Videóklipek", // Search page friendlyTypes + "term.stations": "Állomások", + "term.curators": "Curators", + "term.appleCurators": "Apple Curators", + "term.radioShows": "Radio Shows", + "term.recordLabels": "Record Labels", + "term.videoExtras": "Videóextrák", + "term.top": "Top", // Home "home.title": "Kezdőlap", "home.recentlyPlayed": "Nemrég játszott", "home.recentlyAdded": "Nemrég hozzáadott", "home.artistsFeed": "Az előadóid feedje", - "home.artistsFeed.noArtist": "Kövess néhány előadót, hogy a legújabb zenéi itt megjelenhessenek.", + "home.artistsFeed.noArtist": "Kövess néhány előadót, hogy a legújabb zenéik itt megjelenjenek", "home.madeForYou": "Személyre szabva", "home.friendsListeningTo": "A barátaid épp ezt hallgatják", "home.followedArtists": "Követett előadók", @@ -141,7 +154,6 @@ "error.connectionError": "Hiba történt az Apple Musichoz való csatlakozás közben.", "error.noResults": "Nincs találat", "error.noResults.description": "Próbálkozzon új kereséssel", - //Podcasts "podcast.followOnCider": "Követés a Cideren", "podcast.followedOnCider": "Követve a Cideren", @@ -151,13 +163,12 @@ "podcast.episodes": "Epizódok", "podcast.playEpisode": "Epizód lejátszása", "podcast.website": "Podcast weboldala", - // Actions - "action.addToLibrary": "Hozzáadás a könyvtárhoz", - "action.addToLibrary.success": "Hozzáadva a könyvtárhoz", + "action.addToLibrary": "Hozzáadás a Könyvtárhoz", + "action.addToLibrary.success": "Hozzáadva a Könyvtárhoz", "action.addToLibrary.error": "Hiba a hozzáadáskor.", "action.removeFromLibrary": "Törlés a Könytárból", - "action.removeFromLibrary.success": "Törölve a könyvtárból", + "action.removeFromLibrary.success": "Törölve a Könyvtárból", "action.addToQueue": "Hozzáadás a várólistához", "action.addToQueue.success": "Hozzáadva a várólistához", "action.addToQueue.error": "Sikertelen hozzáadás a várólistához", @@ -182,51 +193,62 @@ "action.moveToTop": "Mozgatás legfelülre", "action.share": "Megosztás", "action.rename": "Átnevezés", - "action.love": "Kedvelés", - "action.unlove": "Kedvelés visszavonása", - "action.dislike": "Nem kedvelem", - "action.undoDislike": "Nem kedvelés visszavonása", - "action.showWebRemoteQR": "Távirányító QR kód megjelenítése", + "action.love": "Szeretem", + "action.unlove": "Mégsem szeretem", + "action.dislike": "Kevesebb ilyen javasolása", + "action.undoDislike": "A Kevesebb ilyen javasolása visszavonása", + "action.showWebRemoteQR": "Távirányító QR kód", "action.playTracksNext": "${app.selectedMediaItems.length} zenék lejátszása következőnek", "action.playTracksLater": "${app.selectedMediaItems.length} zenék lejátszása később", "action.removeTracks": "${self.selectedItems.length} zenék eltávolítása a várólistáról", "action.import": "Importálás", "action.export": "Exportálás", "action.showAlbum": "Teljes album megjelenítése", - // Waiting on Core for moving plugin to app.ts "action.tray.minimize": "Kicsinyítés a tálcára", "action.tray.quit": "Kilépés", "action.tray.show": "Megjelenítés", - + "action.update": "Frissítés", + "action.copy": "Másolás", + "action.newpreset": "Új Preset...", // Equalizer Preset + "action.deletepreset": "Preset törlése", // Settings - General "settings.header.general": "Általános", - "settings.header.general.description": "A Cider általános beállításainak módosítása", + "settings.header.general.description": "A Cider általános beállításainak módosítása.", "settings.option.general.language": "Nyelv", - // Language optgroups "settings.option.general.language.main": "Nyelvek", - "settings.option.general.language.fun": "Mókás nyelvek", - "settings.option.general.language.unsorted": "Nem besorolható", - + "settings.option.general.language.fun": "Fantázianyelvek", + "settings.option.general.language.unsorted": "Azonosítatlan", // Settings - Audio "settings.header.audio": "Hang", - "settings.header.audio.description": "A Cider hangbeállításainak módosítása", + "settings.header.audio.description": "A Cider hangbeállításainak módosítása.", "settings.option.audio.quality": "Hangminőség", // Dropdown - "settings.header.audio.quality.high": "Magas", - "settings.header.audio.quality.low": "Alacsony", - "settings.header.audio.quality.auto": "Automatikus", + "settings.header.audio.quality.hireslossless": "Nagy felbontású veszteségmentes", + "settings.header.audio.quality.hireslossless.description": "max. 24-bit/192 kHz sebességen", + "settings.header.audio.quality.lossless": "Veszteségmentes", + "settings.header.audio.quality.lossless.description": "max. up to 24-bit/48 kHz sebességen", + "settings.header.audio.quality.high": "High", + "settings.header.audio.quality.high.description": "256 kbps", + "settings.header.audio.quality.standard": "Standard", + "settings.header.audio.quality.standard.description": "64 kbps", "settings.option.audio.seamlessTransition": "Szünetmentes lejátszás", // Toggle "settings.option.audio.enableAdvancedFunctionality": "Haladó funkcionalitás engedélyezése", // Toggle - "settings.option.audio.enableAdvancedFunctionality.description": "Az AudioContext funkció engedélyezése lehetővé teszi a fejlettebb hangfunkciókat, például a normalizásást, a hangszínszabályozót és a vizualizáció funkciókat, azonban egyes számítógépeken ez akadozást okozhat a hangsávokban.", + "settings.option.audio.enableAdvancedFunctionality.description": "Az AudioContext funkció engedélyezése lehetővé teszi a fejlettebb hangfunkciókat, például a Normalizásást, az Equalizereket és a Visualizer funkciókat, azonban egyes számítógépeken ez akadozást okozhat a hangsávokban.", + "settings.option.audio.enableAdvancedFunctionality.ciderPPE": "Cider Adrenaline Processor™️", // Toggle + "settings.option.audio.enableAdvancedFunctionality.ciderPPE.description": "Pszichoakusztikus Módosítások amik minden hangot felerősítenek és ütősebbé tesznek | Készítette Maikiwi", + "settings.option.audio.enableAdvancedFunctionality.ciderPPEStrength": "CAP Erősség", // Toggle + "settings.option.audio.enableAdvancedFunctionality.ciderPPEStrength.description": "Megváltoztatja a hangra végzett feldolgozás erősségét. (Az Agresszív mód nemkívánatos eredményeket hozhat!)", + "settings.option.audio.enableAdvancedFunctionality.ciderPPEStrength.standard": "Szokásos", + "settings.option.audio.enableAdvancedFunctionality.ciderPPEStrength.aggressive": "Agresszív", "settings.option.audio.enableAdvancedFunctionality.audioNormalization": "Normalizálás", // Toggle "settings.option.audio.enableAdvancedFunctionality.audioNormalization.description": "Normalizálja az egyes zeneszámok hangosabb részeit, hogy egységesebb hallgatási élményt hozzon létre.", - "settings.option.audio.enableAdvancedFunctionality.audioSpatialization": "Térbeli hangzás", // Toggle - "settings.option.audio.enableAdvancedFunctionality.audioSpatialization.description": "Térbeli hangzás és a hang háromdimenziósabbá tétele (Ez nem összekeverendő a Dolby Atmos-szal!)", + "settings.option.audio.enableAdvancedFunctionality.audioSpatialization": "Térbeli hang", // Toggle + "settings.option.audio.enableAdvancedFunctionality.audioSpatialization.description": "Térbeli hang és a hang háromdimenziósabbá tétele (Ez nem összekeverendő a Dolby Atmos-szal!)", // Settings - Visual "settings.header.visual": "Vizuális", "settings.header.visual.description": "A Cider vizuális beállításainak módosítása.", "settings.option.visual.windowBackgroundStyle": "Ablak háttér stílusa", // Toggle - "settings.header.visual.windowBackgroundStyle.none": "Egyik sem", + "settings.header.visual.windowBackgroundStyle.none": "Sehol", "settings.header.visual.windowBackgroundStyle.artwork": "Borító", "settings.header.visual.windowBackgroundStyle.image": "Kép", "settings.option.visual.animatedArtwork": "Animált borító", // Dropdown @@ -244,22 +266,24 @@ "settings.option.visual.hardwareAcceleration.description": "Újraindítás szükséges", "settings.header.visual.hardwareAcceleration.default": "Alap", "settings.header.visual.hardwareAcceleration.webGPU": "WebGPU", + "settings.header.visual.theme": "Téma", + // Settings - Visual - Theme name + "settings.option.visual.theme.default": "Cider", + "settings.option.visual.theme.dark": "Sötét", // Refer to term.disabled for the disabled option "settings.option.visual.showPersonalInfo": "Személyes adatok mutatása", // Toggle - // Settings - Lyrics "settings.header.lyrics": "Dalszöveg", "settings.header.lyrics.description": "A Cider dalszöveg beállításainak módosítása.", "settings.option.lyrics.enableMusixmatch": "MusixMatch dalszövegek engedélyezése", // Toggle - "settings.option.lyrics.enableMusixmatchKaraoke": "Karaoke mód bekapcsolása (Csak MusixMatch esetén)", // Toggle + "settings.option.lyrics.enableMusixmatchKaraoke": "Karaoke mód bekapcsolása (Csak MusixMatch)", // Toggle "settings.option.lyrics.musixmatchPreferredLanguage": "MusixMatch fordítás nyelve", // Dropdown "settings.option.lyrics.enableYoutubeLyrics": "YouTube dalszövegek engedélyezése a zenei videóknál", // Toggle - // Settings - Connectivity - "settings.header.connectivity": "Csatlakozhatóságok", + "settings.header.connectivity": "Csatlakozások", "settings.header.connectivity.description": "A Cider csatlakozás beállításainak módosítása.", "settings.option.connectivity.discordRPC": "Discord Rich Presence", // Dropdown - "settings.option.connectivity.playbackNotifications": "Értesítés új dal lejátszásakor", // Toggle + "settings.option.connectivity.playbackNotifications": "Lejátszás értesítések", // Toggle // Refer to term.disabled for the disabled option "settings.header.connectivity.discordRPC.cider": "Megjelenítés 'Cider'-ként", "settings.header.connectivity.discordRPC.appleMusic": "Megjelenítés 'Apple Music'-ként", @@ -267,20 +291,21 @@ "settings.option.connectivity.lastfmScrobble": "LastFM Scrobbling", // Option to Connect "settings.option.connectivity.lastfmScrobble.delay": "LastFM Scrobble Késleltetés (%)", "settings.option.connectivity.lastfmScrobble.nowPlaying": "LastFM Now Playing engedélyezése", - "settings.option.connectivity.lastfmScrobble.removeFeatured": "A közreműködő előadók eltávolítása a dal címéből (LastFM)", + "settings.option.connectivity.lastfmScrobble.removeFeatured": "Remove featuring artists from song title (LastFM)", "settings.option.connectivity.lastfmScrobble.filterLoop": "Loopolt zeneszám szűrése (LastFM)", // Refer to term.connect for the connect button - // Settings - Experimental "settings.header.experimental": "Kísérleti", "settings.header.experimental.description": "A Cider kísérleti beállításainak módosítása.", "settings.option.experimental.compactUI": "Kompakt UI", // Toggle "settings.option.experimental.close_button_hide": "A bezárás gomb rejtse el az alkalmazást", + "settings.option.experimental.copy_log": "Napló másolása a vágólapra", + "settings.option.experimental.inline_playlists": "Inline Playlists and Albums", // Refer to term.disabled & term.enabled - + // Spatialization Menu "spatial.notTurnedOn": "A térbeli hangzás ki van kapcsolva, használatához kapcsolja be.", - "spatial.spatialProperties": "Térbeli hangzás", + "spatial.spatialProperties": "Térbeli hang", "spatial.width": "Szélesség", "spatial.height": "Magasság", "spatial.depth": "Hosszúság", @@ -298,14 +323,11 @@ "spatial.down": "Lent", "spatial.listener": "Hallgató", "spatial.audioSource": "Hangforrás", - // Settings - Unfinished "settings.header.unfinished": "Befejezetlen", - // Web Remote "remote.web.title": "Cider Remote", "remote.web.description": "Olvasd be ezt a QR-kódot a telefonoddal, hogy tudd vezérelni a lejátszót.", - // About - "about.thanks": "Köszönet a Cider Collective csapatának és minden közreműködőnek." + "about.thanks": "Köszönet a Cider Collective csapatának és minden hozzájárulónak." } From ca4880368bf07d830756edb1bd078d3565f2ac1b Mon Sep 17 00:00:00 2001 From: Maikiwi Date: Sun, 6 Feb 2022 18:59:09 -0800 Subject: [PATCH 041/573] i18n sync core's changes --- src/i18n/ja_JP.jsonc | 2 +- src/i18n/zh_CN.jsonc | 2 +- src/i18n/zh_TW.jsonc | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/src/i18n/ja_JP.jsonc b/src/i18n/ja_JP.jsonc index d1867969..8b95e83d 100644 --- a/src/i18n/ja_JP.jsonc +++ b/src/i18n/ja_JP.jsonc @@ -203,7 +203,7 @@ "settings.header.audio.quality.lossless.description": "(最大解像度 24 ビット/48 kHz)", "settings.header.audio.quality.enhanced": "エンハンスド", "settings.header.audio.quality.high": "高品質", - "settings.header.audio.quality.low": "高効率", + "settings.header.audio.quality.standard": "高効率", "settings.header.audio.quality.auto": "自動", "settings.option.audio.seamlessTransition": "曲間なしで再生", // Toggle "settings.option.audio.enableAdvancedFunctionality": "先進的な機能", // Toggle diff --git a/src/i18n/zh_CN.jsonc b/src/i18n/zh_CN.jsonc index 0ebcb5ab..2c163650 100644 --- a/src/i18n/zh_CN.jsonc +++ b/src/i18n/zh_CN.jsonc @@ -203,7 +203,7 @@ "settings.header.audio.quality.lossless.description": "(最高 24 位/48 kHz)", "settings.header.audio.quality.enhanced": "数字增强", "settings.header.audio.quality.high": "高音质", - "settings.header.audio.quality.low": "高效率", + "settings.header.audio.quality.standard": "高效率", "settings.header.audio.quality.auto": "自动", "settings.option.audio.seamlessTransition": "无缝播放", // Toggle "settings.option.audio.enableAdvancedFunctionality": "进阶功能", // Toggle diff --git a/src/i18n/zh_TW.jsonc b/src/i18n/zh_TW.jsonc index 0e40cf5b..615d218d 100644 --- a/src/i18n/zh_TW.jsonc +++ b/src/i18n/zh_TW.jsonc @@ -204,7 +204,7 @@ "settings.header.audio.quality.lossless.description": "(高達 24-bit/48 kHz)", "settings.header.audio.quality.enhanced": "數位增强", "settings.header.audio.quality.high": "高品質", - "settings.header.audio.quality.low": "高效率", + "settings.header.audio.quality.standard": "高效率", "settings.header.audio.quality.auto": "自動", "settings.option.audio.seamlessTransition": "無間斷播放", // Toggle "settings.option.audio.enableAdvancedFunctionality": "進階機能", // Toggle From c38d6ab542bad30870818b4cc951eeb12bc9b412 Mon Sep 17 00:00:00 2001 From: Maikiwi Date: Sun, 6 Feb 2022 20:37:29 -0800 Subject: [PATCH 042/573] Update zh_TW.jsonc --- src/i18n/zh_TW.jsonc | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/src/i18n/zh_TW.jsonc b/src/i18n/zh_TW.jsonc index 615d218d..d0fdcd4e 100644 --- a/src/i18n/zh_TW.jsonc +++ b/src/i18n/zh_TW.jsonc @@ -240,6 +240,7 @@ "settings.option.visual.hardwareAcceleration.description": "需要重新啟動 Cider 才會生效", "settings.header.visual.hardwareAcceleration.default": "預設", "settings.header.visual.hardwareAcceleration.webGPU": "WebGPU", + "settings.header.visual.theme": "主題", // Refer to term.disabled for the disabled option "settings.option.visual.showPersonalInfo": "顯示個人檔案", // Toggle // Settings - General (Reserved) @@ -258,6 +259,7 @@ "settings.header.connectivity": "外部連接", "settings.header.connectivity.description": "調整 Cider 與外部的連接", "settings.option.connectivity.discordRPC": "Discord 動態", // Dropdown + "settings.option.connectivity.playbackNotifications": "播放通知", // Toggle // Refer to term.disabled for the disabled option "settings.header.connectivity.discordRPC.cider": "顯示正在玩 'Cider'", "settings.header.connectivity.discordRPC.appleMusic": "顯示正在玩 'Apple Music'", @@ -274,6 +276,8 @@ "settings.option.experimental.compactUI": "緊凑型 UI", // Toggle "settings.option.experimental.closeButtonBehaviour": "關閉按鈕操作", // Dropdown "settings.option.experimental.close_button_hide": "關閉按鈕會隱藏 Cider", + "settings.option.experimental.copy_log": "複製執行紀錄檔剪貼簿", + "settings.option.experimental.inline_playlists": "Inline Playlists and Albums", // Refer to term.disabled & term.enabled // Spatialization Menu From 8b582cb0ddab36a867049e9008a38fdd4d7cc4f1 Mon Sep 17 00:00:00 2001 From: Maikiwi Date: Sun, 6 Feb 2022 20:44:07 -0800 Subject: [PATCH 043/573] Update zh_TW.jsonc --- src/i18n/zh_TW.jsonc | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/i18n/zh_TW.jsonc b/src/i18n/zh_TW.jsonc index d0fdcd4e..ec07080b 100644 --- a/src/i18n/zh_TW.jsonc +++ b/src/i18n/zh_TW.jsonc @@ -277,7 +277,7 @@ "settings.option.experimental.closeButtonBehaviour": "關閉按鈕操作", // Dropdown "settings.option.experimental.close_button_hide": "關閉按鈕會隱藏 Cider", "settings.option.experimental.copy_log": "複製執行紀錄檔剪貼簿", - "settings.option.experimental.inline_playlists": "Inline Playlists and Albums", + "settings.option.experimental.inline_playlists": "將播放列表做為行内元素顯示", // Refer to term.disabled & term.enabled // Spatialization Menu From 31101a3fc00f8612e84c2b57c9460c1b1c425f86 Mon Sep 17 00:00:00 2001 From: Maikiwi Date: Sun, 6 Feb 2022 23:20:45 -0800 Subject: [PATCH 044/573] hello auto preamp --- src/main/base/store.ts | 1 - src/renderer/audio/audio.js | 40 ++++++++++----------- src/renderer/style.less | 2 +- src/renderer/views/components/equalizer.ejs | 35 +++++------------- src/renderer/views/pages/settings.ejs | 21 ++++++----- 5 files changed, 41 insertions(+), 58 deletions(-) diff --git a/src/main/base/store.ts b/src/main/base/store.ts index 7a4fd3ae..eeac1e9c 100644 --- a/src/main/base/store.ts +++ b/src/main/base/store.ts @@ -62,7 +62,6 @@ export class Store { 'frequencies': [32, 63, 125, 250, 500, 1000, 2000, 4000, 8000, 16000], 'gain': [0,0,0,0,0,0,0,0,0,0], 'Q' : [1,1,1,1,1,1,1,1,1,1], - 'preamp' : 0, 'mix' : 1, 'vibrantBass' : 0, 'presets': [], diff --git a/src/renderer/audio/audio.js b/src/renderer/audio/audio.js index caabddaf..c22ef29c 100644 --- a/src/renderer/audio/audio.js +++ b/src/renderer/audio/audio.js @@ -126,11 +126,10 @@ var CiderAudio = { let VIBRANTBASSBANDS = app.cfg.audio.vibrantBass.frequencies; let VIBRANTBASSGAIN = app.cfg.audio.vibrantBass.gain; let VIBRANTBASSQ = app.cfg.audio.vibrantBass.Q; - LLPW_Q = [5, 1, 3.536, 1.25, 8.409, 1.25, 14.14, 7.071, 5, 0.625, 16.82, 20, 20, 20, 28.28, 28.28, 28.28, 20, 33.64, 33.64, 10, 28.28, 7.071, 3.856]; - LLPW_GAIN = [0.38, -1.81, -0.23, -0.51, 0.4, 0.84, 0.36, -0.34, 0.27, -1.2, -0.42, -0.67, 0.81, 1.31, -0.71, 0.68, -1.04, 0.79, -0.73, -1.33, 1.17, 0.57, 0.35, 6.33]; - LLPW_FREQUENCIES = [16.452, 24.636, 37.134, 74.483, 159.54, 308.18, 670.21, 915.81, 1200.7, 2766.4, 2930.6, 4050.6, 4409.1, 5395.2, 5901.6, 6455.5, 7164.1, 7724.1, 8449, 10573, 12368, 14198, 17910, 18916]; - CiderAudio.audioNodes.audioBands = []; CiderAudio.audioNodes.vibrantbassNode = []; - CiderAudio.audioNodes.llpw = []; CiderAudio.audioNodes.llpwEnabled = 0; + let LLPW_Q = [5, 1, 3.536, 1.25, 8.409, 1.25, 14.14, 7.071, 5, 0.625, 16.82, 20, 20, 20, 28.28, 28.28, 28.28, 20, 33.64, 33.64, 10, 28.28, 7.071, 3.856]; + let LLPW_GAIN = [0.38, -1.81, -0.23, -0.51, 0.4, 0.84, 0.36, -0.34, 0.27, -1.2, -0.42, -0.67, 0.81, 1.31, -0.71, 0.68, -1.04, 0.79, -0.73, -1.33, 1.17, 0.57, 0.35, 6.33]; + let LLPW_FREQUENCIES = [16.452, 24.636, 37.134, 74.483, 159.54, 308.18, 670.21, 915.81, 1200.7, 2766.4, 2930.6, 4050.6, 4409.1, 5395.2, 5901.6, 6455.5, 7164.1, 7724.1, 8449, 10573, 12368, 14198, 17910, 18916]; + CiderAudio.audioNodes.audioBands = []; CiderAudio.audioNodes.vibrantbassNode = []; CiderAudio.audioNodes.llpw = []; for (i = 0; i < BANDS.length; i++) { CiderAudio.audioNodes.audioBands[i] = CiderAudio.context.createBiquadFilter(); @@ -139,7 +138,7 @@ var CiderAudio = { CiderAudio.audioNodes.audioBands[i].Q.value = Q[i]; CiderAudio.audioNodes.audioBands[i].gain.value = GAIN[i] * app.cfg.audio.equalizer.mix; } - + for (i = 0; i < LLPW_FREQUENCIES.length; i++) { CiderAudio.audioNodes.llpw[i] = CiderAudio.context.createBiquadFilter(); CiderAudio.audioNodes.llpw[i].type = 'peaking'; // 'peaking'; @@ -150,38 +149,39 @@ var CiderAudio = { CiderAudio.audioNodes.preampNode = CiderAudio.context.createBiquadFilter(); CiderAudio.audioNodes.preampNode.type = 'highshelf'; - CiderAudio.audioNodes.preampNode.frequency.value = 0; // allow all - CiderAudio.audioNodes.preampNode.gain.value = app.cfg.audio.equalizer.preamp; + CiderAudio.audioNodes.preampNode.frequency.value = 0; // Passthrough + if (CiderAudio.audioNodes.llpwEnabled === 1) {CiderAudio.audioNodes.preampNode.gain.value = (-Math.max(...app.cfg.audio.equalizer.gain.concat(CiderAudio.audioNodes.llpw[23].gain.value)));} + else {CiderAudio.audioNodes.preampNode.gain.value = (-Math.max(...app.cfg.audio.equalizer.gain));} for (i = 0; i < VIBRANTBASSBANDS.length; i++) { - CiderAudio.audioNodes.vibrantbassNode[i] = CiderAudio.context.createBiquadFilter(); - CiderAudio.audioNodes.vibrantbassNode[i].type = 'peaking'; // 'peaking'; - CiderAudio.audioNodes.vibrantbassNode[i].frequency.value = VIBRANTBASSBANDS[i]; - CiderAudio.audioNodes.vibrantbassNode[i].Q.value = VIBRANTBASSQ[i]; - CiderAudio.audioNodes.vibrantbassNode[i].gain.value = VIBRANTBASSGAIN[i] * app.cfg.audio.vibrantBass.multiplier; - } + CiderAudio.audioNodes.vibrantbassNode[i] = CiderAudio.context.createBiquadFilter(); + CiderAudio.audioNodes.vibrantbassNode[i].type = 'peaking'; // 'peaking'; + CiderAudio.audioNodes.vibrantbassNode[i].frequency.value = VIBRANTBASSBANDS[i]; + CiderAudio.audioNodes.vibrantbassNode[i].Q.value = VIBRANTBASSQ[i]; + CiderAudio.audioNodes.vibrantbassNode[i].gain.value = VIBRANTBASSGAIN[i] * app.cfg.audio.vibrantBass.multiplier;} + if (app.cfg.audio.spatial) { try{ CiderAudio.audioNodes.spatialNode.output.disconnect(CiderAudio.context.destination); } catch(e){} - CiderAudio.audioNodes.spatialNode.output.connect(CiderAudio.audioNodes.llpw[0]); + CiderAudio.audioNodes.spatialNode.output.connect(CiderAudio.audioNodes.preampNode); } else { try{ CiderAudio.audioNodes.gainNode.disconnect(CiderAudio.context.destination);} catch(e){} - CiderAudio.audioNodes.gainNode.connect(CiderAudio.audioNodes.llpw[0]); + CiderAudio.audioNodes.gainNode.connect(CiderAudio.audioNodes.preampNode); } + CiderAudio.audioNodes.preampNode.connect(CiderAudio.audioNodes.llpw[0]); + for (i = 1; i < LLPW_FREQUENCIES.length; i ++) { CiderAudio.audioNodes.llpw[i-1].connect(CiderAudio.audioNodes.llpw[i]); } - CiderAudio.audioNodes.llpw[LLPW_FREQUENCIES.length-1].connect(CiderAudio.audioNodes.preampNode); - - CiderAudio.audioNodes.preampNode.connect(CiderAudio.audioNodes.vibrantbassNode[0]); - + CiderAudio.audioNodes.llpw[LLPW_FREQUENCIES.length-1].connect(CiderAudio.audioNodes.vibrantbassNode[0]); for (i = 1; i < VIBRANTBASSBANDS.length; i ++) { CiderAudio.audioNodes.vibrantbassNode[i-1].connect(CiderAudio.audioNodes.vibrantbassNode[i]); } CiderAudio.audioNodes.vibrantbassNode[VIBRANTBASSBANDS.length-1].connect(CiderAudio.audioNodes.audioBands[0]); + for (i = 1; i < BANDS.length; i ++) { CiderAudio.audioNodes.audioBands[i-1].connect(CiderAudio.audioNodes.audioBands[i]); diff --git a/src/renderer/style.less b/src/renderer/style.less index 7d4d8f86..c7903888 100644 --- a/src/renderer/style.less +++ b/src/renderer/style.less @@ -5942,7 +5942,7 @@ body.no-gpu { .modal-window { height: 330px; max-height: 330px; - width: 800px; + width: 740px; max-width: 800px; overflow: hidden; diff --git a/src/renderer/views/components/equalizer.ejs b/src/renderer/views/components/equalizer.ejs index 3a5e12cb..2d4f6f3b 100644 --- a/src/renderer/views/components/equalizer.ejs +++ b/src/renderer/views/components/equalizer.ejs @@ -23,11 +23,6 @@ Vibrant Bass
-
- - - Preamp -
{{$root.cfg.audio.equalizer.mix}} @@ -128,7 +123,6 @@ this.frequencies = [] this.gain = [] this.Q = [] - this.preamp = 0 this.mix = 1 this.vibrantBass = 0 this.userGenerated = true @@ -140,7 +134,6 @@ 'frequencies': [32, 63, 125, 250, 500, 1000, 2000, 4000, 8000, 16000], 'gain': [0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 'Q': [1, 1, 1, 1, 1, 1, 1, 1, 1, 1], - 'preamp': 0, 'mix': 1, 'vibrantBass': 0, 'userGenerated': false @@ -150,7 +143,6 @@ 'frequencies': [32, 75, 125, 197, 500, 1000, 2000, 3040, 8000, 16000], 'gain': [0, 2.1, 0, 0.8, 0, 0, 0, -1.5, 0, 0], 'Q': [1, 0.7, 1, 1.5, 1, 1, 1, 2, 1, 1], - 'preamp': 0, 'mix': 1, 'vibrantBass': 0, 'userGenerated': false @@ -160,7 +152,6 @@ 'frequencies': [32, 63, 125, 250, 466, 1000, 2000, 4000, 8000, 20000], 'gain': [0, 0, 0, 0, -2, 0, 0, 0, 0, 10], 'Q': [1, 1, 1, 1, 0.6, 1, 1, 1, 1, 0.1], - 'preamp': 0, 'mix': 1, 'vibrantBass': 0, 'userGenerated': false @@ -170,7 +161,6 @@ 'frequencies': [32, 75, 125, 220, 700, 1000, 2000, 4000, 10000, 16000], 'gain': [0, -8, 0, -0.1, -3, 0, 0, 0, 4, 0], 'Q': [1, 0.2, 1, 2.0, 1.4, 1, 1, 1, 0.1, 1], - 'preamp': 0, 'mix': 1, 'vibrantBass': 0, 'userGenerated': false @@ -180,7 +170,6 @@ 'frequencies': [20, 63, 125, 250, 400, 1000, 2000, 4000, 8000, 20000], 'gain': [-22, 0, 0, 0, -3, 0, 1.8, 0, 0, 3.5], 'Q': [0.3, 1, 1, 1, 2.0, 1, 0.7, 1, 1, 0.8], - 'preamp': 0, 'mix': 1, 'vibrantBass': 0, 'userGenerated': false @@ -190,7 +179,6 @@ 'frequencies': [20, 63, 155, 250, 500, 1000, 2000, 5000, 11000, 16000], 'gain': [-15, 0, -3, 0, 0, 0, 0, 3.1, 0, 0], 'Q': [0.5, 1, 2, 1, 1, 1, 1, 1.5, 0.1, 1], - 'preamp': 0, 'mix': 1, 'vibrantBass': 0, 'userGenerated': false @@ -200,7 +188,6 @@ 'frequencies': [32, 63, 125, 250, 500, 1128, 2000, 4057, 8000, 16000], 'gain': [0, 0, 0, 0, 0, 2, 0, -6.4, 0, 0], 'Q': [1, 1, 1, 1, 1, 2, 1, 1, 1, 1], - 'preamp': 0, 'mix': 1, 'vibrantBass': 0, 'userGenerated': false @@ -210,7 +197,6 @@ 'frequencies': [35, 63, 125, 250, 500, 800, 2000, 4000, 8000, 20000], 'gain': [5, 0, 0, 0, 0, -5, 0, 0, 0, 5], 'Q': [0.1, 1, 1, 1, 1, 0.6, 1, 1, 1, 0.2], - 'preamp': 0, 'mix': 1, 'vibrantBass': 0, 'userGenerated': false @@ -221,7 +207,6 @@ 'frequencies': [45.53,88.06,116.18,161.3,247.05,295.6,365.79,495.13,716.85,960.76], 'gain': [-0.36,4.07,-1.3,1.92,0.77,-0.53,-1.33,0.44,0.46,-0.5], 'Q': [1.768,0.625,5,8.409,10,16.82,5.946,7.071,20,10], - 'preamp': -2, 'mix': 1, 'vibrantBass': 0, 'userGenerated': false @@ -232,7 +217,6 @@ 'frequencies': [32, 63, 125, 250, 500, 1000, 2000, 4000, 8000, 16000], 'gain': [2.7, 2.2, 1.6, 1.4, 0.6, 0, 0, 0, 0, 0], 'Q': [1.4, 1.4, 1.4, 1.4, 1.4, 1, 1, 1, 1, 1], - 'preamp': 0, 'mix': 1, 'vibrantBass': 0, 'userGenerated': false @@ -242,7 +226,6 @@ 'frequencies': [32, 63, 160, 250, 500, 1000, 2000, 3500, 8000, 20000], 'gain': [2.7, 2.2, 1.6, 1.4, 0.6, 0, 0, 0, 0, 0], 'Q': [0.7, 0.7, 0.7, 0.7, 0.7, 1, 1, 1, 1, 1], - 'preamp': 0, 'mix': 1, 'vibrantBass': 0, 'userGenerated': false @@ -333,18 +316,20 @@ app.cfg.audio.vibrantBass.multiplier = app.cfg.audio.equalizer.vibrantBass / 10 for (var i = 0; i < 21; i++) { CiderAudio.audioNodes.vibrantbassNode[i].gain.value = app.cfg.audio.vibrantBass.gain[i] * (app.cfg.audio.equalizer.vibrantBass / 10); - } - }, - changePreamp() { - CiderAudio.audioNodes.preampNode.gain.value = app.cfg.audio.equalizer.preamp; + } }, changeMix() { for (var i = 0; i < 10; i++) { CiderAudio.audioNodes.audioBands[i].gain.value = app.cfg.audio.equalizer.gain[i] * app.cfg.audio.equalizer.mix } }, + changePreamp() { + if (CiderAudio.audioNodes.llpwEnabled === 1) {CiderAudio.audioNodes.preampNode.gain.value = (-Math.max(...app.cfg.audio.equalizer.gain.concat(CiderAudio.audioNodes.llpw[23].gain.value)));} + else {CiderAudio.audioNodes.preampNode.gain.value = (-Math.max(...app.cfg.audio.equalizer.gain));} + }, changeGain(i) { CiderAudio.audioNodes.audioBands[i].gain.value = app.cfg.audio.equalizer.gain[i] * app.cfg.audio.equalizer.mix + this.changePreamp() }, changeFreq(i) { CiderAudio.audioNodes.audioBands[i].frequency.value = app.cfg.audio.equalizer.frequencies[i] @@ -357,10 +342,10 @@ 'frequencies': [32, 63, 125, 250, 500, 1000, 2000, 4000, 8000, 16000], 'gain': [0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 'Q': [1, 1, 1, 1, 1, 1, 1, 1, 1, 1], - 'preamp': 0, 'mix': 1, 'vibrantBass': 0, }) + CiderAudio.audioNodes.preampNode.gain.value = 0; if (app.cfg.audio.equalizer.userGenerated) { this.saveSelectedPreset() } @@ -375,7 +360,6 @@ newPreset.frequencies = eqSettings.frequencies newPreset.gain = eqSettings.gain newPreset.Q = eqSettings.Q - newPreset.preamp = eqSettings.preamp newPreset.mix = eqSettings.mix newPreset.vibrantBass = eqSettings.vibrantBass app.cfg.audio.equalizer.presets.push(newPreset) @@ -393,14 +377,13 @@ preset.frequencies = app.cfg.audio.equalizer.frequencies preset.gain = app.cfg.audio.equalizer.gain preset.Q = app.cfg.audio.equalizer.Q - preset.preamp = app.cfg.audio.equalizer.preamp preset.mix = app.cfg.audio.equalizer.mix preset.vibrantBass = app.cfg.audio.equalizer.vibrantBass notyf.success("Saved Preset") }, exportPreset() { const preset = app.cfg.audio.equalizer.presets.find(p => p.preset == app.cfg.audio.equalizer.preset) - const jsonObj = {"name": preset.name, "author": app.chrome.userinfo.attributes.name, "frequency": preset.frequencies, "gain": preset.gain, "q": preset.Q, "preamp": preset.preamp, "mix": preset.mix, "vibrantBass": preset.vibrantBass}; + const jsonObj = {"name": preset.name, "author": app.chrome.userinfo.attributes.name, "frequency": preset.frequencies, "gain": preset.gain, "q": preset.Q, "mix": preset.mix, "vibrantBass": preset.vibrantBass}; ipcRenderer.send("export-eq", jsonObj) }, importPreset() { @@ -411,7 +394,6 @@ newPreset.frequencies = result.frequency newPreset.gain = result.gain newPreset.Q = result.q - newPreset.preamp = result.preamp newPreset.mix = result.mix newPreset.vibrantBass = result.vibrantBass app.cfg.audio.equalizer.presets.push(newPreset) @@ -423,7 +405,6 @@ }, applyPreset(preset) { Object.assign(this.$root.cfg.audio.equalizer, preset) - this.changePreamp() this.changeVibrantBass() for (var i = 0; i < 10; i++) { this.changeGain(i) diff --git a/src/renderer/views/pages/settings.ejs b/src/renderer/views/pages/settings.ejs index 99272f5c..7e86bfb3 100644 --- a/src/renderer/views/pages/settings.ejs +++ b/src/renderer/views/pages/settings.ejs @@ -68,7 +68,7 @@ {{$root.getLz('settings.option.audio.enableAdvancedFunctionality.ciderPPE.description')}}
- +
@@ -78,10 +78,10 @@ {{$root.getLz('settings.option.audio.enableAdvancedFunctionality.ciderPPEStrength.description')}}
- -
@@ -804,17 +804,20 @@ CiderAudio.normalizerOff() } }, - ciderPPECompatibility: function () { - if (app.cfg.audio.spatial) { - notyf.error("CAP is not compatible with Spatialization. Please disable Spatialization to continue.") + ciderPPE: function () { + if (app.cfg.advanced.ciderPPE) { + if (app.cfg.audio.spatial) { app.cfg.advanced.ciderPPE = false; - } - }, + notyf.error("CAP is not compatible with Spatialization. Please disable Spatialization to continue.") + } + }}, toggleSpatial: function () { if (app.cfg.audio.spatial) { if (!app.cfg.advanced.ciderPPE) { CiderAudio.spatialOn()} - else { + else { + CiderAudio.spatialOff() + app.cfg.audio.spatial = false; notyf.error("Spatialization is not compatible with CAP. Please disable CAP to continue.") } } else { From d46905e7d6375ee7a5aa48362a5ffd2c23d21a1e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=AE=A5=E5=8F=A1?= <46503943+jay900604@users.noreply.github.com> Date: Mon, 7 Feb 2022 16:02:45 +0800 Subject: [PATCH 045/573] Update zh_TW.jsonc (#364) Update TW language. --- src/i18n/zh_TW.jsonc | 39 ++++++++++++++++++++------------------- 1 file changed, 20 insertions(+), 19 deletions(-) diff --git a/src/i18n/zh_TW.jsonc b/src/i18n/zh_TW.jsonc index ec07080b..e8f4c9fa 100644 --- a/src/i18n/zh_TW.jsonc +++ b/src/i18n/zh_TW.jsonc @@ -8,7 +8,7 @@ "i18n.languageName": "繁體中文(台灣)", // name of language in native language "i18n.languageNameEnglish": "Trad. Chinese (Taiwan)", // name of language in English "i18n.category": "main", // main = real language, fun = fun community languages - "i18n.authors": "@maikirakiwi", // Authors, if you contribute to this file feel free to add your name seperated with a space + "i18n.authors": "@maikirakiwi @jay900604", // Authors, if you contribute to this file feel free to add your name seperated with a space // Dialogs @@ -99,7 +99,7 @@ "term.fullscreenView": "全螢幕顯示", "term.defaultView": "預設顯示", "term.audioSettings": "音訊設定", - "term.spacializedAudioSetting": "音訊空間化設定", + "term.spacializedAudioSetting": "空間音訊設定", "term.clearAll": "清空", "term.recentStations": "最近收聽的廣播", "term.language": "語言", @@ -107,6 +107,7 @@ "term.copyright": "版權聲明", "term.rightsReserved": "保留所有權利。", "term.sponsor": "贊助", + "term.socials": "社群", "term.ciderTeam": "Cider 團隊", "term.developer": "開發者", "term.socialTeam": "公關團隊", @@ -182,8 +183,8 @@ "action.playTracksNext": "插播 ${app.selectedMediaItems.length} 首歌曲", "action.playTracksLater": "最後播放 ${app.selectedMediaItems.length} 首歌曲", "action.removeTracks": "從待播清單刪除 ${self.selectedItems.length} 首歌曲", - "action.import": "輸入", - "action.export": "輸出", + "action.import": "匯入", + "action.export": "匯出", "action.showAlbum": "顯示專輯", "action.tray.minimize": "最小化", "action.tray.quit": "關閉", @@ -197,27 +198,27 @@ // Settings - Audio "settings.header.audio": "音訊", "settings.header.audio.description": "調整 Cider 的音訊設定", - "settings.option.audio.quality": "音訊音質", // Dropdown + "settings.option.audio.quality": "音訊品質", // Dropdown "settings.header.audio.quality.hireslossless": "高品質無損壓縮", "settings.header.audio.quality.hireslossless.description": "(高達 24-bit/192 kHz)", "settings.header.audio.quality.lossless": "無損壓縮", "settings.header.audio.quality.lossless.description": "(高達 24-bit/48 kHz)", - "settings.header.audio.quality.enhanced": "數位增强", + "settings.header.audio.quality.enhanced": "數位增強", "settings.header.audio.quality.high": "高品質", "settings.header.audio.quality.standard": "高效率", "settings.header.audio.quality.auto": "自動", "settings.option.audio.seamlessTransition": "無間斷播放", // Toggle "settings.option.audio.enableAdvancedFunctionality": "進階機能", // Toggle - "settings.option.audio.enableAdvancedFunctionality.description": "啟用 AudioContext 將解鎖類似音訊標準化和等化器的進階機能。但是會在部分電腦造成音樂卡頓。", - "settings.option.audio.enableAdvancedFunctionality.ciderPPE": "Cider 數位增强音訊處理™️", // Toggle + "settings.option.audio.enableAdvancedFunctionality.description": "啟用 AudioContext 將開啟類似音訊平衡和等化器的進階設定。但這並不一定適合每部電腦,可能會發生音樂卡頓。", + "settings.option.audio.enableAdvancedFunctionality.ciderPPE": "Cider 數位增強音訊處理™️", // Toggle "settings.option.audio.enableAdvancedFunctionality.ciderPPE.description": "將欺騙您的大腦使其感受近似保真壓縮的音質。| 由 Maikiwi 設計", - "settings.option.audio.enableAdvancedFunctionality.ciderPPEStrength": "數位增强音訊處理設置", // Toggle - "settings.option.audio.enableAdvancedFunctionality.ciderPPEStrength.description": "將更改音訊處理的激進程度(增强選項有可能會引起雜訊)", + "settings.option.audio.enableAdvancedFunctionality.ciderPPEStrength": "數位增強音訊處理設定", // Toggle + "settings.option.audio.enableAdvancedFunctionality.ciderPPEStrength.description": "將更改音訊處理的激進/振奮程度(增強選項有可能會引起雜訊)", "settings.option.audio.enableAdvancedFunctionality.ciderPPEStrength.standard": "標準", "settings.option.audio.enableAdvancedFunctionality.ciderPPEStrength.aggressive": "增强", - "settings.option.audio.enableAdvancedFunctionality.audioNormalization": "音訊標準化", // Toggle - "settings.option.audio.enableAdvancedFunctionality.audioNormalization.description": "將平衡輕柔和響亮的歌曲,建立更統一的聆聽體驗。", - "settings.option.audio.enableAdvancedFunctionality.audioSpatialization": "音訊空間化", // Toggle + "settings.option.audio.enableAdvancedFunctionality.audioNormalization": "音訊平衡", // Toggle + "settings.option.audio.enableAdvancedFunctionality.audioNormalization.description": "將平衡輕柔和響亮的歌曲,建立更統一舒適的聆聽體驗。", + "settings.option.audio.enableAdvancedFunctionality.audioSpatialization": "空間音訊", // Toggle "settings.option.audio.enableAdvancedFunctionality.audioSpatialization.description": "將音訊進行空間化處理來製造一個更立體的聆聽體驗(註:此功能不是官方的杜比全景聲)", // Settings - Visual "settings.header.visual": "外觀", @@ -237,7 +238,7 @@ "settings.header.visual.animatedArtworkQuality.extreme": "極高", "settings.option.visual.animatedWindowBackground": "動態視窗背景", // Toggle "settings.option.visual.hardwareAcceleration": "硬體加速", // Dropdown - "settings.option.visual.hardwareAcceleration.description": "需要重新啟動 Cider 才會生效", + "settings.option.visual.hardwareAcceleration.description": "需要重新啟動 Cider 才會套用", "settings.header.visual.hardwareAcceleration.default": "預設", "settings.header.visual.hardwareAcceleration.webGPU": "WebGPU", "settings.header.visual.theme": "主題", @@ -273,15 +274,15 @@ // Settings - Experimental "settings.header.experimental": "實驗性功能", "settings.header.experimental.description": "調整 Cider 的實驗性功能", - "settings.option.experimental.compactUI": "緊凑型 UI", // Toggle + "settings.option.experimental.compactUI": "緊凑的介面", // Toggle "settings.option.experimental.closeButtonBehaviour": "關閉按鈕操作", // Dropdown - "settings.option.experimental.close_button_hide": "關閉按鈕會隱藏 Cider", + "settings.option.experimental.close_button_hide": "關閉按鈕將 Cider 隱藏至系統列", "settings.option.experimental.copy_log": "複製執行紀錄檔剪貼簿", "settings.option.experimental.inline_playlists": "將播放列表做為行内元素顯示", // Refer to term.disabled & term.enabled // Spatialization Menu - "spatial.spatialProperties" : "空間化屬性", + "spatial.spatialProperties" : "空間音訊屬性設定", "spatial.width" : "寬度", "spatial.height" : "高度", "spatial.depth" : "深度", @@ -290,7 +291,7 @@ "spatial.roomDimensions" : "空間尺寸", "spatial.roomPositions" : "空間位置", "spatial.setDimensions" : "設定尺寸", - "spatial.setPositions" : "設定位置", + "spatial.setPositions" : "套用設定", "spatial.up" : "上", "spatial.front" : "前", "spatial.left" : "左", @@ -301,7 +302,7 @@ "spatial.audioSource" : "音訊來源", // Settings - Unfinished - "settings.header.unfinished": "未完成", + "settings.header.unfinished": "未開發完成的功能", // Web Remote "remote.web.title": "Cider 遠端操控", From cb9ffae3a54d3c35ae74a9b190d7e63740773b41 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=AE=A5=E5=8F=A1?= <46503943+jay900604@users.noreply.github.com> Date: Mon, 7 Feb 2022 20:28:37 +0800 Subject: [PATCH 046/573] Update zh_TW.jsonc Update TW language. --- src/i18n/zh_TW.jsonc | 34 ++++++++++++++++++++++------------ 1 file changed, 22 insertions(+), 12 deletions(-) diff --git a/src/i18n/zh_TW.jsonc b/src/i18n/zh_TW.jsonc index e8f4c9fa..3cc992ad 100644 --- a/src/i18n/zh_TW.jsonc +++ b/src/i18n/zh_TW.jsonc @@ -54,6 +54,7 @@ "term.mute": "靜音", "term.unmute": "取消靜音", "term.share": "分享", + "term.share.success": "已複製至剪貼簿", "term.settings": "設定", "term.seeAll": "顯示全部", "term.sortBy": "排序", @@ -71,7 +72,7 @@ "term.viewAs.list": "列表", "term.size": "大小", "term.size.normal": "正常", - "term.size.compact": "緊凑", + "term.size.compact": "緊密", "term.enable": "啟用", "term.disable": "停用", "term.enabled": "已啟用", @@ -106,14 +107,14 @@ "term.noLyrics": "正在載入。。/ 無歌詞結果 / 純音樂", "term.copyright": "版權聲明", "term.rightsReserved": "保留所有權利。", - "term.sponsor": "贊助", - "term.socials": "社群", + "term.sponsor": "贊助我們", + "term.socials": "社群平台", "term.ciderTeam": "Cider 團隊", "term.developer": "開發者", "term.socialTeam": "公關團隊", "term.contributors": "貢獻者", "term.equalizer": "等化器", - "term.reset": "重置", + "term.reset": "重設", "term.tracks": "首歌曲", // Assume x amount of tracks. e.g. 50 tracks "term.videos": "影片", "term.menu": "選單", @@ -191,9 +192,13 @@ "action.tray.show": "顯示", "action.update": "更新", "action.copy": "複製", - "action.newpreset": "新預設", // Equalizer Preset + "action.newpreset": "新增預設", // Equalizer Preset "action.deletepreset": "刪除預設", // Equalizer Preset - + + // Language optgroups + "settings.option.general.language.main": "語言", + "settings.option.general.language.fun": "特殊語言", + "settings.option.general.language.unsorted": "未分類", // Settings - Audio "settings.header.audio": "音訊", @@ -208,14 +213,14 @@ "settings.header.audio.quality.standard": "高效率", "settings.header.audio.quality.auto": "自動", "settings.option.audio.seamlessTransition": "無間斷播放", // Toggle - "settings.option.audio.enableAdvancedFunctionality": "進階機能", // Toggle + "settings.option.audio.enableAdvancedFunctionality": "進階音訊功能", // Toggle "settings.option.audio.enableAdvancedFunctionality.description": "啟用 AudioContext 將開啟類似音訊平衡和等化器的進階設定。但這並不一定適合每部電腦,可能會發生音樂卡頓。", "settings.option.audio.enableAdvancedFunctionality.ciderPPE": "Cider 數位增強音訊處理™️", // Toggle - "settings.option.audio.enableAdvancedFunctionality.ciderPPE.description": "將欺騙您的大腦使其感受近似保真壓縮的音質。| 由 Maikiwi 設計", + "settings.option.audio.enableAdvancedFunctionality.ciderPPE.description": "將欺騙您的大腦讓您感受到近似保真壓縮的音質。| 由 Maikiwi 設計", "settings.option.audio.enableAdvancedFunctionality.ciderPPEStrength": "數位增強音訊處理設定", // Toggle "settings.option.audio.enableAdvancedFunctionality.ciderPPEStrength.description": "將更改音訊處理的激進/振奮程度(增強選項有可能會引起雜訊)", "settings.option.audio.enableAdvancedFunctionality.ciderPPEStrength.standard": "標準", - "settings.option.audio.enableAdvancedFunctionality.ciderPPEStrength.aggressive": "增强", + "settings.option.audio.enableAdvancedFunctionality.ciderPPEStrength.aggressive": "增強", "settings.option.audio.enableAdvancedFunctionality.audioNormalization": "音訊平衡", // Toggle "settings.option.audio.enableAdvancedFunctionality.audioNormalization.description": "將平衡輕柔和響亮的歌曲,建立更統一舒適的聆聽體驗。", "settings.option.audio.enableAdvancedFunctionality.audioSpatialization": "空間音訊", // Toggle @@ -226,6 +231,7 @@ "settings.option.visual.windowBackgroundStyle": "視窗背景樣式", // Toggle "settings.header.visual.windowBackgroundStyle.none": "空白", "settings.header.visual.windowBackgroundStyle.artwork": "專輯封面", + "settings.header.visual.windowBackgroundStyle.image": "圖片", "settings.option.visual.animatedArtwork": "動態專輯封面", // Dropdown "settings.header.visual.animatedArtwork.always": "總是顯示", "settings.header.visual.animatedArtwork.limited": "只在藝人頁面和專輯封面顯示", @@ -242,6 +248,9 @@ "settings.header.visual.hardwareAcceleration.default": "預設", "settings.header.visual.hardwareAcceleration.webGPU": "WebGPU", "settings.header.visual.theme": "主題", + // Settings - Visual - Theme name + "settings.option.visual.theme.default": "Cider", + "settings.option.visual.theme.dark": "暗黑模式", // Refer to term.disabled for the disabled option "settings.option.visual.showPersonalInfo": "顯示個人檔案", // Toggle // Settings - General (Reserved) @@ -260,7 +269,7 @@ "settings.header.connectivity": "外部連接", "settings.header.connectivity.description": "調整 Cider 與外部的連接", "settings.option.connectivity.discordRPC": "Discord 動態", // Dropdown - "settings.option.connectivity.playbackNotifications": "播放通知", // Toggle + "settings.option.connectivity.playbackNotifications": "歌曲播放通知", // Toggle // Refer to term.disabled for the disabled option "settings.header.connectivity.discordRPC.cider": "顯示正在玩 'Cider'", "settings.header.connectivity.discordRPC.appleMusic": "顯示正在玩 'Apple Music'", @@ -274,14 +283,15 @@ // Settings - Experimental "settings.header.experimental": "實驗性功能", "settings.header.experimental.description": "調整 Cider 的實驗性功能", - "settings.option.experimental.compactUI": "緊凑的介面", // Toggle + "settings.option.experimental.compactUI": "使用緊密的介面設計", // Toggle "settings.option.experimental.closeButtonBehaviour": "關閉按鈕操作", // Dropdown "settings.option.experimental.close_button_hide": "關閉按鈕將 Cider 隱藏至系統列", - "settings.option.experimental.copy_log": "複製執行紀錄檔剪貼簿", + "settings.option.experimental.copy_log": "複製執行紀錄檔至剪貼簿", "settings.option.experimental.inline_playlists": "將播放列表做為行内元素顯示", // Refer to term.disabled & term.enabled // Spatialization Menu + "spatial.notTurnedOn": "空間音訊目前是關閉狀態, 請先啟用再使用。", "spatial.spatialProperties" : "空間音訊屬性設定", "spatial.width" : "寬度", "spatial.height" : "高度", From a758eb3f506a326b87b5d26fee06702d77f87851 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=AE=A5=E5=8F=A1?= <46503943+jay900604@users.noreply.github.com> Date: Mon, 7 Feb 2022 20:31:34 +0800 Subject: [PATCH 047/573] Update zh_TW.jsonc --- src/i18n/zh_TW.jsonc | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/i18n/zh_TW.jsonc b/src/i18n/zh_TW.jsonc index 3cc992ad..c1e99179 100644 --- a/src/i18n/zh_TW.jsonc +++ b/src/i18n/zh_TW.jsonc @@ -291,7 +291,7 @@ // Refer to term.disabled & term.enabled // Spatialization Menu - "spatial.notTurnedOn": "空間音訊目前是關閉狀態, 請先啟用再使用。", + "spatial.notTurnedOn": "空間音訊目前是關閉狀態,請先啟用再使用。", "spatial.spatialProperties" : "空間音訊屬性設定", "spatial.width" : "寬度", "spatial.height" : "高度", From e468b1fa83eae0543647ef1deccfae88ff1eec04 Mon Sep 17 00:00:00 2001 From: Core <64542347+coredev-uk@users.noreply.github.com> Date: Mon, 7 Feb 2022 14:31:18 +0000 Subject: [PATCH 048/573] Added various controls to menubar, changed volumewheel function --- src/main/base/store.ts | 5 +-- src/main/plugins/menubar.ts | 31 ++++++++++++++++++ src/renderer/index.js | 47 ++++++++++++++------------- src/renderer/views/app/chrome-top.ejs | 2 +- 4 files changed, 58 insertions(+), 27 deletions(-) diff --git a/src/main/base/store.ts b/src/main/base/store.ts index eeac1e9c..6aae5ae9 100644 --- a/src/main/base/store.ts +++ b/src/main/base/store.ts @@ -26,6 +26,7 @@ export class Store { }, "audio": { "volume": 1, + "volumeStep": 0.02, "lastVolume": 1, "muted": false, "quality": "HIGH", @@ -34,10 +35,6 @@ export class Store { "ciderPPE": false, "ciderPPE_value": 0.5, "spatial": false, - "maxVolume": 1, - "volumePrecision": 0.1, - "volumeRoundMax": 0.9, - "volumeRoundMin": 0.1, "spatial_properties": { "presets": [], "gain": 0.8, diff --git a/src/main/plugins/menubar.ts b/src/main/plugins/menubar.ts index 5d729a8b..ec484b40 100644 --- a/src/main/plugins/menubar.ts +++ b/src/main/plugins/menubar.ts @@ -95,6 +95,37 @@ export default class Thumbar { } ] }, + { + label: 'Controls', + submenu: [ + { + label: 'Pause / Play', + accelerator: 'Space', + click: () => this._win.webContents.executeJavaScript(`MusicKitInterop.playPause()`) + }, + { + label: 'Next', + accelerator: 'CommandOrControl+Right', + click: () => this._win.webContents.executeJavaScript(`MusicKitInterop.next()`) + }, + { + label: 'Previous', + accelerator: 'CommandOrControl+Left', + click: () => this._win.webContents.executeJavaScript(`MusicKitInterop.previous()`) + }, + { type: 'separator' }, + { + label: 'Volume Up', + accelerator: 'CommandOrControl+Up', + click: () => this._win.webContents.executeJavaScript(`app.volumeUp()`) + }, + { + label: 'Volume Down', + accelerator: 'CommandOrControl+Down', + click: () => this._win.webContents.executeJavaScript(`app.volumeDown()`) + } + ] + }, { label: 'Account', submenu: [ diff --git a/src/renderer/index.js b/src/renderer/index.js index 86dcfa65..e5dba229 100644 --- a/src/renderer/index.js +++ b/src/renderer/index.js @@ -3307,29 +3307,32 @@ const app = new Vue({ } }) }, + checkScrollDirectionIsUp(event) { + if (event.wheelDelta) { + return event.wheelDelta > 0; + } + return event.deltaY < 0; + }, + volumeUp() { + if ((app.mk.volume + app.cfg.audio.volumeStep) > 1) { + app.mk.volume = 1; + console.log('setting to 1') + } else { + console.log('volume up') + app.mk.volume += app.cfg.audio.volumeStep; + } + }, + volumeDown() { + if ((app.mk.volume - app.cfg.audio.volumeStep) < 0) { + app.mk.volume = 0; + console.log('settings to 0') + } else { + console.log('volume down') + app.mk.volume -= app.cfg.audio.volumeStep; + } + }, volumeWheel(event) { - if (this.cfg.audio.maxVolume < 1.0 && this.cfg.audio.maxVolume > 0.01) { - this.cfg.audio.volumePrecision = 0.01 - this.cfg.audio.volumeRoundMax = this.cfg.audio.maxVolume - 0.01 - this.cfg.audio.volumeRoundMin = 0.01 - } - if (event.deltaY < 0) { - if (this.mk.volume < this.cfg.audio.maxVolume) { - if (this.mk.volume <= this.cfg.audio.volumeRoundMax) { - this.mk.volume += this.cfg.audio.volumePrecision - } else { - this.mk.volume = this.cfg.audio.maxVolume - } - } - } else if (event.deltaY > 0) { - if (this.mk.volume > 0) { - if (this.mk.volume >= this.cfg.audio.volumeRoundMin) { - this.mk.volume -= this.cfg.audio.volumePrecision - } else { - this.mk.volume = 0 - } - } - } + app.checkScrollDirectionIsUp(event) ? app.volumeUp() : app.volumeDown() }, muteButtonPressed() { if (this.cfg.audio.muted) { diff --git a/src/renderer/views/app/chrome-top.ejs b/src/renderer/views/app/chrome-top.ejs index d9d946fd..15fa6f2f 100644 --- a/src/renderer/views/app/chrome-top.ejs +++ b/src/renderer/views/app/chrome-top.ejs @@ -108,7 +108,7 @@
-
From 3340fb93df9e56caf8f7e93e57c531bcfdc5bfbb Mon Sep 17 00:00:00 2001 From: booploops <49113086+booploops@users.noreply.github.com> Date: Mon, 7 Feb 2022 10:04:41 -0800 Subject: [PATCH 049/573] removed some comments, fixed app not loading in yarn start. --- src/renderer/index.js | 82 ------------------- .../ameframework.less} | 0 src/renderer/style.less | 2 +- src/renderer/views/app/chrome-top.ejs | 2 +- 4 files changed, 2 insertions(+), 84 deletions(-) rename src/renderer/{ameframework.css => less/ameframework.less} (100%) diff --git a/src/renderer/index.js b/src/renderer/index.js index e5dba229..7000a24b 100644 --- a/src/renderer/index.js +++ b/src/renderer/index.js @@ -3073,23 +3073,6 @@ const app = new Vue({ }) self.$store.commit("setLCDArtwork", img) }) - - // Vibrant.from(this.mk["nowPlayingItem"]["attributes"]["artwork"]["url"].replace('{w}', size).replace('{h}', size)).getPalette().then(palette=>{ - // let angle = "140deg" - // let gradient = "" - // let colors = Object.values(palette).filter(color=>color!=null) - // if(colors.length > 0){ - // let stops = [] - // colors.forEach(color=>{ - // stops.push(`${self._rgbToRgb(color._rgb)} 0%`) - // }) - // stops.push(`${self._rgbToRgb(colors[0]._rgb)} 100%`) - // gradient = `linear-gradient(${angle}, ${stops.join(", ")}` - // } - // - // document.querySelector("#app").style.setProperty("--bgColor", gradient) - // }).setQuantizer(Vibrant.Quantizer.WebWorker) - try { clearInterval(bginterval); } catch (err) { @@ -3114,47 +3097,6 @@ const app = new Vue({ } }, 200) }, - - // getNowPlayingArtwork(size = 600) { - // if (typeof this.mk.nowPlayingItem === "undefined") return; - // let interval = setInterval(() => { - - // try { - // if (this.mk.nowPlayingItem && this.mk.nowPlayingItem["id"] != this.currentTrackIDBG && document.querySelector('.app-playback-controls .artwork')) { - // this.currentTrackIDBG = this.mk.nowPlayingItem["id"]; - // if (document.querySelector('.app-playback-controls .artwork') != null) { - // clearInterval(interval); - // } - // if (app.mk.nowPlayingItem.attributes.artwork != null && app.mk.nowPlayingItem.attributes.artwork.url != null && app.mk.nowPlayingItem.attributes.artwork.url!= '' ) { - // document.querySelector('.app-playback-controls .artwork').style.setProperty('--artwork', `url("${decodeURI((this.mk["nowPlayingItem"]["attributes"]["artwork"]["url"])).replace('{w}', size).replace('{h}', size)}")`); - // try { - // clearInterval(interval); - // } catch (err) { - // } - // } else { - // this.setLibraryArt() - // } - // } else if (this.mk.nowPlayingItem["id"] == this.currentTrackID) { - // try { - // clearInterval(interval); - // } catch (err) { - // } - // } - // } catch (e) { - // if (this.mk.nowPlayingItem && this.mk.nowPlayingItem["id"] && document.querySelector('.app-playback-controls .artwork')) { - // this.setLibraryArt() - // try { - // clearInterval(interval); - // } catch (err) { - // } - - // } - - // } - // }, 200) - - - // }, async getCurrentArtURL() { try { this.currentArtUrl = ''; @@ -3169,11 +3111,6 @@ const app = new Vue({ data = data.data.data[0]; if (data != null && data !== "" && data.attributes != null && data.attributes.artwork != null) { this.currentArtUrl = (data["attributes"]["artwork"]["url"] ?? '').replace('{w}', 50).replace('{h}', 50); - // if (this.currentArtUrl != ""){ - // let attr = MusicKitInterop.getAttributes(); - // attr.artwork.url = this.currentArtUrl; - // ipcRenderer.send('forceUpdateRPC',attr) - // } try { document.querySelector('.app-playback-controls .artwork').style.setProperty('--artwork', `url("${this.currentArtUrl}")`); } catch (e) { @@ -3398,18 +3335,11 @@ const app = new Vue({ } }, async nowPlayingContextMenu(event) { - // function revisedRandId() { - // return Math.random().toString(36).replace(/[^a-z]+/g, '').substr(2, 10); - // } let self = this let data_type = this.mk.nowPlayingItem.playParams.kind let item_id = this.mk.nowPlayingItem.attributes.playParams.id ?? this.mk.nowPlayingItem.id let isLibrary = this.mk.nowPlayingItem.attributes.playParams.isLibrary ?? false let params = {"fields[songs]": "inLibrary", "fields[albums]": "inLibrary", "relate": "library", "t": "1"} - // let res = await app.mkapi(data_type, isLibrary , item_id, params); - // if (res && res.relationships && res.relationships.library && res.relationships.library.data && res.relationships.library.data.length > 0) { - // item_id = res.relationships.library.data[0].id - // } app.selectedMediaItems = [] app.select_selectMediaItem(item_id, data_type, 0, '12344', isLibrary) let useMenu = "normal" @@ -3473,7 +3403,6 @@ const app = new Vue({ "disabled": false, "action": function () { app.addToLibrary(app.mk.nowPlayingItem.id); - // if (!isLibrary) {app.addToLibrary(item_id); this.mk.nowPlayingItem.attributes.playParams["isLibrary"] = true} else { app.removeFromLibrary(data_type,item_id); this.mk.nowPlayingItem.attributes.playParams["isLibrary"] = false}; } }, { @@ -3499,21 +3428,10 @@ const app = new Vue({ } } if (this.contextExt) { - // if this.context-ext.normal is true append all options to the 'normal' menu which is a kvp of arrays if (this.contextExt.normal) { menus.normal.items = menus.normal.items.concat(this.contextExt.normal) } } - - // isLibrary = await app.inLibrary([this.mk.nowPlayingItem]) - // console.warn(isLibrary) - // if(isLibrary.length != 0) { - // if (isLibrary[0].attributes.inLibrary) { - // menus.normal.items.find(x => x.id == "addToLibrary").disabled = true - // } - // }else{ - // menus.normal.items.find(x => x.id == "addToLibrary").disabled = true - // } this.showMenuPanel(menus[useMenu], event) try { diff --git a/src/renderer/ameframework.css b/src/renderer/less/ameframework.less similarity index 100% rename from src/renderer/ameframework.css rename to src/renderer/less/ameframework.less diff --git a/src/renderer/style.less b/src/renderer/style.less index c7903888..4b88be9c 100644 --- a/src/renderer/style.less +++ b/src/renderer/style.less @@ -1,10 +1,10 @@ -@import url("ameframework.css"); @import url("assets/fonts/Inter/inter.css"); @import url('https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@100;300;400;500;700;900&display=swap'); @import url("https://fonts.googleapis.com/css2?family=Noto+Sans+SC:wght@100;300;400;500;700;900&display=swap"); @import url("https://fonts.googleapis.com/css2?family=Noto+Sans+HK:wght@100;300;400;500;700;900&display=swap"); @import url("https://fonts.googleapis.com/css2?family=Noto+Sans+TC:wght@100;300;400;500;700;900&display=swap"); @import url("https://fonts.googleapis.com/css2?family=Noto+Sans+KR:wght@100;300;400;500;700;900&display=swap"); +@import url("less/ameframework.less"); @import url("less/bootstrap.less"); @import url("less/notyf.less"); diff --git a/src/renderer/views/app/chrome-top.ejs b/src/renderer/views/app/chrome-top.ejs index 15fa6f2f..8f2d2207 100644 --- a/src/renderer/views/app/chrome-top.ejs +++ b/src/renderer/views/app/chrome-top.ejs @@ -57,7 +57,7 @@ v-if="mk.nowPlayingItem['attributes']['contentRating'] == 'explicit'" style="display: inline-block">
-
+
Date: Mon, 7 Feb 2022 10:32:37 -0800 Subject: [PATCH 050/573] removed CiderContextMenu, cleaned out some unused files --- src/main/base/browserwindow.ts | 2 - src/renderer/index.js | 73 ----- .../components/mediaitem-square-large.ejs | 244 --------------- .../views/components/mediaitem-square-sp.ejs | 293 ------------------ src/renderer/views/components/queue-item.ejs | 65 ---- 5 files changed, 677 deletions(-) delete mode 100644 src/renderer/views/components/mediaitem-square-large.ejs delete mode 100644 src/renderer/views/components/mediaitem-square-sp.ejs delete mode 100644 src/renderer/views/components/queue-item.ejs diff --git a/src/main/base/browserwindow.ts b/src/main/base/browserwindow.ts index 9c701a04..1082f59a 100644 --- a/src/main/base/browserwindow.ts +++ b/src/main/base/browserwindow.ts @@ -54,7 +54,6 @@ export class BrowserWindow { "components/equalizer", "components/add-to-playlist", "components/queue", - "components/queue-item", "components/mediaitem-scroller-horizontal", "components/mediaitem-scroller-horizontal-large", "components/mediaitem-scroller-horizontal-sp", @@ -62,7 +61,6 @@ export class BrowserWindow { "components/mediaitem-list-item", "components/mediaitem-hrect", "components/mediaitem-square", - "components/mediaitem-square-sp", "components/mediaitem-mvview", "components/libraryartist-item", "components/listennow-child", diff --git a/src/renderer/index.js b/src/renderer/index.js index 7000a24b..8e24659f 100644 --- a/src/renderer/index.js +++ b/src/renderer/index.js @@ -1,78 +1,5 @@ Vue.use(VueObserveVisibility); var notyf = new Notyf(); -// This is going to suck to code -var CiderContextMenu = { - Menu: function (event) { - this.items = [] - }, - async Create(event, menudata) { - var menuBackground = document.createElement("div"); - var menu = document.createElement("div"); - menu.classList.add("context-menu-body"); - menu.classList.add("context-menu-open"); - menuBackground.classList.add("context-menu"); - menu.style.left = 0 + "px"; - menu.style.top = 0 + "px"; - menu.style.position = "absolute"; - menu.style.zIndex = "99909"; - menu.addEventListener("animationend", function () { - menu.classList.remove("context-menu-open"); - }, {once: true}); - - function close() { - menuBackground.style.pointerEvents = "none"; - menu.classList.add("context-menu-close"); - menu.addEventListener("animationend", function () { - menuBackground.remove(); - menu.remove(); - }, {once: true}); - } - - // when menubackground is clicked, remove it - menuBackground.addEventListener("click", close); - menuBackground.addEventListener("contextmenu", close); - - // add menu to menuBackground - menuBackground.appendChild(menu); - - document.body.appendChild(menuBackground); - - if (typeof menudata.items == "object") { - menudata.items = Object.values(menudata.items); - } - - console.log(menudata); - - // for each item in menudata create a menu item - for (var i = 0; i < menudata.items.length; i++) { - let item = document.createElement("button") - - if (menudata.items[i]["disabled"] === true) { - continue - } - item.tabIndex = 0 - item.classList.add("context-menu-item") - if (menudata.items[i]["icon"]) { - item.innerHTML += `` - } - item.innerHTML += menudata.items[i].name - item.onclick = menudata.items[i].action - menu.appendChild(item) - } - menu.style.width = (menu.offsetWidth + 10) + "px"; - menu.style.left = event.clientX + "px"; - menu.style.top = event.clientY + "px"; - // if menu would be off the screen, move it into view, but preserve the width - if (menu.offsetLeft + menu.offsetWidth > window.innerWidth) { - menu.style.left = (window.innerWidth - menu.offsetWidth) + "px"; - } - if (menu.offsetTop + menu.offsetHeight > window.innerHeight) { - menu.style.top = (window.innerHeight - menu.offsetHeight) + "px"; - } - - return menuBackground; - } -} const MusicKitObjects = { LibraryPlaylist: function () { diff --git a/src/renderer/views/components/mediaitem-square-large.ejs b/src/renderer/views/components/mediaitem-square-large.ejs deleted file mode 100644 index a969e10b..00000000 --- a/src/renderer/views/components/mediaitem-square-large.ejs +++ /dev/null @@ -1,244 +0,0 @@ - - - \ No newline at end of file diff --git a/src/renderer/views/components/mediaitem-square-sp.ejs b/src/renderer/views/components/mediaitem-square-sp.ejs deleted file mode 100644 index 89859695..00000000 --- a/src/renderer/views/components/mediaitem-square-sp.ejs +++ /dev/null @@ -1,293 +0,0 @@ - - - \ No newline at end of file diff --git a/src/renderer/views/components/queue-item.ejs b/src/renderer/views/components/queue-item.ejs deleted file mode 100644 index 0dd56c64..00000000 --- a/src/renderer/views/components/queue-item.ejs +++ /dev/null @@ -1,65 +0,0 @@ - - - \ No newline at end of file From 21026816fe8a917bfe4c785c59532e4c324816b7 Mon Sep 17 00:00:00 2001 From: Core <64542347+coredev-uk@users.noreply.github.com> Date: Mon, 7 Feb 2022 19:23:22 +0000 Subject: [PATCH 051/573] Renamed and changed convertToMins function to work with larger values --- src/renderer/index.js | 22 ++++++++++++++++---- src/renderer/views/app/chrome-top.ejs | 4 ++-- src/renderer/views/components/fullscreen.ejs | 4 ++-- src/renderer/views/components/miniplayer.ejs | 4 ++-- 4 files changed, 24 insertions(+), 10 deletions(-) diff --git a/src/renderer/index.js b/src/renderer/index.js index 7000a24b..69b0b739 100644 --- a/src/renderer/index.js +++ b/src/renderer/index.js @@ -1242,10 +1242,24 @@ const app = new Vue({ return this.playerLCD.playbackDuration } }, - convertToMins(time) { - let mins = Math.floor(time / 60) - let seconds = (Math.floor(time % 60) / 100).toFixed(2) - return `${mins}:${seconds.replace("0.", "")}` + convertTime(time) { + if (typeof time !== "number") { + time = parseInt(time) + } + + const timeGates = { + 600: 15, + 3600: 14, + 36000: 12, + } + + for (let key in timeGates) { + if (time < key) { + return new Date(time * 1000).toISOString().substring(timeGates[key], 19) + } + } + + return new Date(time * 1000).toISOString().substring(11, 19) }, hashCode(str) { let hash = 0, diff --git a/src/renderer/views/app/chrome-top.ejs b/src/renderer/views/app/chrome-top.ejs index 8f2d2207..e38ee43e 100644 --- a/src/renderer/views/app/chrome-top.ejs +++ b/src/renderer/views/app/chrome-top.ejs @@ -80,8 +80,8 @@
-

{{ convertToMins(getSongProgress()) }}

-

{{ convertToMins(mk.currentPlaybackDuration) }} +

{{ convertTime(getSongProgress()) }}

+

{{ convertTime(mk.currentPlaybackDuration) }}

diff --git a/src/renderer/views/components/fullscreen.ejs b/src/renderer/views/components/fullscreen.ejs index 76551f09..51093c60 100644 --- a/src/renderer/views/components/fullscreen.ejs +++ b/src/renderer/views/components/fullscreen.ejs @@ -41,8 +41,8 @@
-

{{ app.convertToMins(app.getSongProgress()) }}

-

{{ app.convertToMins(app.mk.currentPlaybackDuration) }}

+

{{ app.convertTime(app.getSongProgress()) }}

+

{{ app.convertTime(app.mk.currentPlaybackDuration) }}

-

{{ app.convertToMins(app.getSongProgress()) }}

-

{{ app.convertToMins(app.mk.currentPlaybackDuration) }}

+

{{ app.convertTime(app.getSongProgress()) }}

+

{{ app.convertTime(app.mk.currentPlaybackDuration) }}

Date: Tue, 8 Feb 2022 00:21:57 +0000 Subject: [PATCH 052/573] Added slovak translation (#373) --- src/i18n/sk_SK.jsonc | 311 +++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 311 insertions(+) create mode 100644 src/i18n/sk_SK.jsonc diff --git a/src/i18n/sk_SK.jsonc b/src/i18n/sk_SK.jsonc new file mode 100644 index 00000000..95100010 --- /dev/null +++ b/src/i18n/sk_SK.jsonc @@ -0,0 +1,311 @@ +{ // Base File + + // i18n Info + "i18n.languageName": "Slovenčina (SK)", // name of language in native language + "i18n.languageNameEnglish": "Slovak (SK)", // name of language in English + "i18n.category": "main", // main = real language, fun = fun community languages + "i18n.authors": "@jurosic", // Authors, if you contribute to this file feel free to add your name seperated with a space + + // App info + "app.name": "Cider", + + "date.format": "${d} ${m}, ${y}", + + // Dialogs + "dialog.cancel": "Zrušit", + "dialog.ok": "OK", + + // Notification + "notification.updatingLibrarySongs": "Aktualizujem pesničky v knižnici...", + "notification.updatingLibraryAlbums": "Aktualizujem albumy v knižnici...", + "notification.updatingLibraryArtists": "Aktualizujem tvorcov v knižnici...", + // Terms + "term.appleInc": "Apple Inc.", + "term.appleMusic": "Apple Music", + "term.applePodcasts": "Apple Podcasts", + "term.itunes": "iTunes", + "term.github": "GitHub", + "term.discord": "Discord", + "term.learnMore": "Zistiť viac", + "term.accountSettings": "Nastavenia účtu", + "term.logout": "Odhlásiť", + "term.login": "Prihlásiť", + "term.about": "About", + "term.privateSession": "Osobný Session", + "term.queue": "Poradie", + "term.search": "Vyhládavať", + "term.library": "Knižnica", + "term.listenNow": "Počúvať teraz", + "term.browse": "Prehliadávať", + "term.radio": "Rádio", + "term.recentlyAdded": "Nedávno Pridané", + "term.songs": "Pesničky", + "term.albums": "Albumy", + "term.artists": "Tvorcovia", + "term.podcasts": "Podcasty", + "term.playlists": "Playlisty", + "term.playlist": "Playlist", + "term.newPlaylist": "Nový Playlist", + "term.newPlaylistFolder": "Nový Priečinok Playlistov", + "term.createNewPlaylist": "Urobiť Nový Playlist", + "term.createNewPlaylistFolder": "Urobiť Nový Priečinok Playlistov", + "term.deletePlaylist": "Ste si istý že chcete zmazat tento playlist?", + "term.play": "Play", + "term.pause": "Pause", + "term.previous": "Previous", + "term.next": "Next", + "term.shuffle": "Shuffle", + "term.repeat": "Repeat", + "term.volume": "Hlasitosť", + "term.mute": "Ztlmiť", + "term.unmute": "Vypnúť Ztlmenie", + "term.share": "Zdielať", + "term.settings": "Nastavenia", + "term.seeAll": "Vidieť Všetko", + "term.sortBy": "Zodariť Podľa", + "term.sortBy.album": "Album", + "term.sortBy.artist": "Tvorca", + "term.sortBy.name": "Názov", + "term.sortBy.genre": "Žáner", + "term.sortBy.releaseDate": "Dátum Vydania", + "term.sortBy.duration": "Dĺžka", + "term.sortOrder": "A-Z", + "term.sortOrder.ascending": "Vzostupne", + "term.sortOrder.descending": "Zostupne", + "term.viewAs": "Zobraziť Ako", + "term.viewAs.coverArt": "Náhľadovka", + "term.viewAs.list": "List", + "term.size": "Velkosť", + "term.size.normal": "Normal", + "term.size.compact": "Compact", + "term.enable": "Zapnúť", + "term.disable": "Vypnúť", + "term.enabled": "Zapnuté", + "term.disabled": "Vypnuté", + "term.connect": "Pripojiť", + "term.connecting": "Pripájam", + "term.disconnect": "Odpojiť", + "term.authed": "Authentikovaný", + "term.confirm": "Podvrdiť ?", + "term.more": "Viac", + "term.less": "Menej", + "term.showMore": "Ukázať viac", + "term.showLess": "Ukázať menej", + "term.topSongs" : "Top Pesničky", + "term.latestReleases": "Najnovšie vydania", + "term.time.added": "Pridané", + "term.time.released": "Vydané", + "term.time.updated": "Aktualizované", + "term.time.hours": "hodín", + "term.time.hour": "hodina", + "term.time.minutes": "minút", + "term.time.minute": "minúta", + "term.time.seconds": "sekúnd", + "term.time.second": "sekunda", + "term.fullscreenView": "Zobrazenie na celej obrazovke", + "term.defaultView": "Default View", + "term.audioSettings": "Nastavenia Zvuku", + "term.clearAll": "Vyčistiť Všetko", + "term.recentStations": "Nedávne Stanice", + "term.language": "Jazyk", + "term.funLanguages": "Zábava", + "term.noLyrics": "Načítavam... / Text nebol najdený./ Instrumental.", + "term.copyright": "Copyright", + "term.rightsReserved": "All Rights Reserved.", + "term.sponsor": "Sponzoruj tento projekt", + "term.ciderTeam": "Cider Team", + "term.developer": "Developer", + "term.socialTeam": "Social Team", + "term.socials": "Socials", + "term.contributors": "Contributors", + "term.equalizer": "Equalizer", + "term.reset": "Resetovať", + "term.tracks": "pesničiek", // Assume x amount of tracks. e.g. 50 tracks + "term.videos": "Videá", + "term.menu": "Menu", + "term.check": "Skontrolovať", + "term.aboutArtist": "Viac o {{artistName}}", // e.g. 'About Doja Cat' + "term.updateCider": "Aktualizovať Cider", + + // Home + "home.title": "Domov", + "home.recentlyPlayed": "Nedávno Prehrané", + "home.recentlyAdded": "Nedávno Pridané", + "home.artistsFeed": "Feed Tvojho Tvorcu", + "home.artistsFeed.noArtist": "Najprv sleduj niektorých tvorcov, ich pesničky potom budú tu", + "home.madeForYou": "Robené Pre Teba", + "home.friendsListeningTo": "Kamaráti počúvajú", + "home.followedArtists": "Sledovaný Tvorcovia", + // Errors + "error.appleMusicSubRequired": "Apple Music potrebuje subscription.", + "error.connectionError": "Pri pripojovaní ku Apple Music sa vyskytol problém", + "error.noResults": "Žiadne výsledky", + "error.noResults.description": "Skús nové vyhľádavanie", + + //Podcasts + "podcast.followOnCider": "Sleduj na Cider", + "podcast.followedOnCider": "Sledované na Cider", + "podcast.subscribeOnItunes": "Odoberaj na iTunes", + "podcast.subscribedOnItunes": "Odoberane na iTunes", + "podcast.itunesStore": "iTunes Obchod", + "podcast.episodes": "Epizódy", + "podcast.playEpisode": "Prehraj Epizódu", + "podcast.website": "Stránka Podcastu", + + // Actions + "action.addToLibrary": "Pridaj do Knižnice", + "action.addToLibrary.success": "Pridané do Knižnice", + "action.addToLibrary.error": "Pri pridávani do Knižnice sa vzskytol problém", + "action.removeFromLibrary": "Odstrániť z Knižnice", + "action.removeFromLibrary.success": "Odstránene z Knižnice", + "action.addToQueue": "Pridať do Poradia", + "action.addToQueue.success": "Pridané do Poradia", + "action.addToQueue.error": "Pri pridávaní do Poradia sa vyskytol problém", + "action.removeFromQueue": "Odstrániť z Poradia", + "action.removeFromQueue.success": "Odstránené z Poradia", + "action.removeFromQueue.error": "Pri odstranovaní z Poradia sa vyskytol probém", + "action.createPlaylist": "Urobiť nový Playlist", + "action.addToPlaylist": "Pridať do Playlistu", + "action.removeFromPlaylist": "Odstrániť z Playlistu", + "action.addToFavorites": "Pridať do Obľubéných", + "action.follow": "Sledovať", + "action.follow.success": "Sleduješ", + "action.follow.error": "Pri Sledovaní sa vyskytol problém", + "action.unfollow": "Zrušit Sledovanie", + "action.unfollow.success": "Sledovanie Zrušené", + "action.unfollow.error": "Pri zrušení sledovania sa vyskytol problém", + "action.playNext": "Hrať Ďalšie", + "action.playLater": "Hrať Neskor", + "action.startRadio": "Zapnúť Rádio", + "action.goToArtist": "Ku Tvorcovi", + "action.goToAlbum": "Ku Albumu", + "action.moveToTop": "Premiestniť Hore", + "action.share": "Zdielať", + "action.rename": "Premenovať", + "action.love": "Love", + "action.unlove": "Unlove", + "action.dislike": "Dislike", + "action.undoDislike": "Zrušiť dislike", + "action.showWebRemoteQR": "Web Remote", + "action.playTracksNext": "Hrať ${app.selectedMediaItems.length} pesničiek ďalej", + "action.playTracksLater": "Hrať ${app.selectedMediaItems.length} pesničiek neskôr", + "action.removeTracks": "Odstrániť ${self.selectedItems.length} pesničiek z poradia", + "action.import": "Importovať", + "action.export": "Exportovať", + "action.showAlbum": "Zobraziť Celý Album", + "action.tray.minimize": "Minimaizovať", + "action.tray.quit": "Odísť", + "action.tray.show": "Ukázať", + "action.update": "Aktualizovať", + + // Settings - General + "settings.header.general": "všeobecné", + "settings.header.general.description": "Zmeniť všeobecné nastavenia pre Cider.", + "settings.option.general.language": "Jazyk", + + // Language optgroups + "settings.option.general.language.main": "Jazyky", + "settings.option.general.language.fun": "Zábanve Jazyky", + "settings.option.general.language.unsorted": "Nepotriedené", + + // Settings - Audio + "settings.header.audio": "Zvuk", + "settings.header.audio.description": "Zmeniť nastavenia zvuku pre Cider.", + "settings.option.audio.quality": "Kvalita zvuku", // Dropdown + "settings.header.audio.quality.high": "Vysoká", + "settings.header.audio.quality.low": "Nizká", + "settings.header.audio.quality.auto": "Automatické", + "settings.option.audio.seamlessTransition": "Hladký Prevod Zvuku", // Toggle + "settings.option.audio.enableAdvancedFunctionality": "Zapnút Pokročilé Nastavenia Zvuku", // Toggle + "settings.option.audio.enableAdvancedFunctionality.description": "Zapnutie AudioContext funkcionality dovolí rozšírené funkcie zvuku ako Zvuková Normalizávia , Equalizéry a Visualízery, ale na niektorých systémoch to može spôsobiť problémy so zvukom.", + "settings.option.audio.enableAdvancedFunctionality.audioNormalization": "Normalízacia Zvuku", // Toggle + "settings.option.audio.enableAdvancedFunctionality.audioNormalization.description": "Normalizuje silu zvuku v pesničkách pre hľadší počúvací zážitok", + "settings.option.audio.enableAdvancedFunctionality.audioSpatialization": "Priestorový Zvuk", // Toggle + "settings.option.audio.enableAdvancedFunctionality.audioSpatialization.description": "Priestorový zvuk urobí zvuk 3-dimenzionálny (poznámka: Toto nie je Dolby Atmos)", + // Settings - Visual + "settings.header.visual": "Visuálne", + "settings.header.visual.description": "Zmenit Visuálne nastavenia pre Cider.", + "settings.option.visual.windowBackgroundStyle": "Štýl pozadia okna", // Toggle + "settings.header.visual.windowBackgroundStyle.none": "Žiadne", + "settings.header.visual.windowBackgroundStyle.artwork": "Náhľadovka", + "settings.header.visual.windowBackgroundStyle.image": "Obrátok", + "settings.option.visual.animatedArtwork": "Animované Náhľadovky", // Dropdown + "settings.header.visual.animatedArtwork.always": "Vždy", + "settings.header.visual.animatedArtwork.limited": "Limitované pre stránky a špecialne vydania", + "settings.header.visual.animatedArtwork.disable": "Vypnuť Všade", + "settings.option.visual.animatedArtworkQuality": "Kvalita Animovanej Náhľadovky", // Dropdown + "settings.header.visual.animatedArtworkQuality.low": "Nízka", + "settings.header.visual.animatedArtworkQuality.medium": "Stredná", + "settings.header.visual.animatedArtworkQuality.high": "Vysoká", + "settings.header.visual.animatedArtworkQuality.veryHigh": "Veľmi Vysoká", + "settings.header.visual.animatedArtworkQuality.extreme": "Extrémna", + "settings.option.visual.animatedWindowBackground": "Pozadie Animováneho Okna", // Toggle + "settings.option.visual.hardwareAcceleration": "Hardvérova Akcelerácia", // Dropdown + "settings.option.visual.hardwareAcceleration.description": "Vyžaduje Reštart", + "settings.header.visual.hardwareAcceleration.default": "Predvoľba", + "settings.header.visual.hardwareAcceleration.webGPU": "WebGPU", + // Refer to term.disabled for the disabled option + "settings.option.visual.showPersonalInfo": "Zobraziť osobné informácie", // Toggle + + // Settings - Lyrics + "settings.header.lyrics": "Text", + "settings.header.lyrics.description": "Zmenit nastavenia textu pre Cider.", + "settings.option.lyrics.enableMusixmatch": "Zapnúť Musixmatch Texty", // Toggle + "settings.option.lyrics.enableMusixmatchKaraoke": "Zapnúť Karaoke Režim (Iba pre Musixmatch)", // Toggle + "settings.option.lyrics.musixmatchPreferredLanguage": "Predvolený jazyk pre Musixmatch prekladanie", // Dropdown + "settings.option.lyrics.enableYoutubeLyrics": "Zapnúť Youtube Lyrics pre videá", // Toggle + + // Settings - Connectivity + "settings.header.connectivity": "Konektivita", + "settings.header.connectivity.description": "Zmeniť nastavenia konektivity pre Cider.", + "settings.option.connectivity.discordRPC": "Zobraziť status v Discord", // Dropdown + "settings.option.connectivity.playbackNotifications": "Notifikácie", // Toggle + // Refer to term.disabled for the disabled option + "settings.header.connectivity.discordRPC.cider": "Zobraziť ako 'Cider'", + "settings.header.connectivity.discordRPC.appleMusic": "Zobraziť ako 'Apple Music'", + "settings.option.connectivity.discordRPC.clearOnPause": "Vypnút Discord status pri Pauze", // Toggle + "settings.option.connectivity.lastfmScrobble": "Last.fm zaznamenanie počúvanej hudby", // Option to Connect + "settings.option.connectivity.lastfmScrobble.delay": "Last.fm Oneskorenie (%)", + "settings.option.connectivity.lastfmScrobble.nowPlaying": "Zapnúť Last.fm Now Playing", + "settings.option.connectivity.lastfmScrobble.removeFeatured": "Odstrániť tvorcov z počúvanej pesničky (Last.fm)", + "settings.option.connectivity.lastfmScrobble.filterLoop": "Filtrovať loopované pesničky (Last.fm)", + // Refer to term.connect for the connect button + + // Settings - Experimental + "settings.header.experimental": "Experimentálne", + "settings.header.experimental.description": "Zmeniť experimentálne nastavenia pre Cider.", + "settings.option.experimental.compactUI": "Compact UI", // Toggle + "settings.option.experimental.close_button_hide": "Zatvoriť by malo skriť aplikáciu", + // Refer to term.disabled & term.enabled + + // Spatialization Menu + "spatial.notTurnedOn": "Priestorový Zvuk je vypnutý. Prosím najprv ho zapnite.", + "spatial.spatialProperties": "Špeciálne Nastavenia", + "spatial.width": "Šírka", + "spatial.height": "Výška", + "spatial.depth": "Hĺbka", + "spatial.gain": "Gain", + "spatial.roomMaterials": "Materiály Priestoru", + "spatial.roomDimensions": "Velkosť Priestoru", + "spatial.roomPositions": "Pozicia v Priestoru", + "spatial.setDimensions": "Nastaviť Rozmery", + "spatial.setPositions": "Nastavit Pozíciu", + "spatial.up": "Hore", + "spatial.front": "V predu", + "spatial.left": "V ľavo", + "spatial.right": "V pravo", + "spatial.back": "V zadu", + "spatial.down": "Dole", + "spatial.listener": "Listener", + "spatial.audioSource": "Zdroj zvuku", + + // Settings - Unfinished + "settings.header.unfinished": "Nedokončené", + + // Web Remote + "remote.web.title": "Cider Remote", + "remote.web.description": "Naskenujte QR kód aby ste si spárovali telefón s touto Cider session", + + // About + "about.thanks": "Ďakujeme Cider Tímu, Komunite a Kontribútorom, bez vás by to nebolo možné." +} From c0d6481300d7ffe7ad48c55490fce8b8822a00cb Mon Sep 17 00:00:00 2001 From: GamingLiamStudios Date: Tue, 8 Feb 2022 11:38:33 +1100 Subject: [PATCH 053/573] Update Auto-Updator (#368) * Update .gitignore * Add Update Cider Branch selection * Add circle-ci API call * More testing * Maybe fix 'Update Cider' button * Another debug log * remove async in ipc 'check-for-update' * remove everything except debug log * semicolon * revert to async and change ipc name * more semicolon * Extract BaseURL from circleci API response * Fix compile error + rename ipc back to 'check-for-update' * Remove debug log * Update i18n files with new 'updateCider' term location * Update en_OWO.json * Fixed formatting in i18n files * Fix formatting elsewhere * Move 'Update Cider' i18n stuff from 'experimental' to 'general' * Do that thing @quacksire wanted me to do. 'for vue' * Fix bad merge * Revert Formatting. DO NOT OPEN IN AN AUTOFORMATTING IDE. USE VSCODE WEB/CODESPACES IF YOU NEED TO ACTUALLY CHANGE SOMETHING IN THE RENDERER Co-authored-by: Quacksire <19170969+quacksire@users.noreply.github.com> --- .gitignore | 1 + src/i18n/en_OWO.jsonc | 36 +- src/i18n/en_PISS.jsonc | 55 +-- src/i18n/en_SGA.jsonc | 87 ++-- src/i18n/en_US.jsonc | 31 +- src/i18n/es_ES.jsonc | 606 +++++++++++++------------- src/i18n/fr_FR.jsonc | 70 +-- src/i18n/hu_HU.jsonc | 57 ++- src/i18n/ja_JP.jsonc | 100 +++-- src/i18n/ko_KR.jsonc | 45 +- src/i18n/sv_SE.jsonc | 62 +-- src/i18n/zh_CN.jsonc | 98 +++-- src/i18n/zh_HK.jsonc | 107 ++--- src/i18n/zh_TW.jsonc | 51 ++- src/i18n/zh_yue.jsonc | 111 ++--- src/main/base/browserwindow.ts | 25 +- src/main/base/store.ts | 9 +- src/renderer/views/pages/settings.ejs | 39 +- 18 files changed, 865 insertions(+), 725 deletions(-) diff --git a/.gitignore b/.gitignore index 4f9409f1..acc6dfb9 100644 --- a/.gitignore +++ b/.gitignore @@ -2,6 +2,7 @@ dist build .flatpak* +yarn-cache # Misc .idea diff --git a/src/i18n/en_OWO.jsonc b/src/i18n/en_OWO.jsonc index 8db529b0..7e15e260 100644 --- a/src/i18n/en_OWO.jsonc +++ b/src/i18n/en_OWO.jsonc @@ -3,17 +3,22 @@ "i18n.languageName": "Engwish (OwO)", // name of language in native language "i18n.languageNameEnglish": "Engwish (OwO)", // name of language in English "i18n.category": "fun", // main = real language, fun = fun community languages - "i18n.authors": "@deerwithacurl", // Authors, if you contribute to this file feel free to add your name seperated with a space + "i18n.authors": "@deerwithacurl @gamingliamstudios", // Authors, if you contribute to this file feel free to add your name seperated with a space + // App info "app.name": "Cidew", + "date.format": "${m} ${d}, ${y}", + // Dialogs "dialog.cancel": "Nu", "dialog.ok": "Oki", + // Notification "notification.updatingLibrarySongs": "Updating wibwawy songs...", "notification.updatingLibraryAlbums": "Updating wibwawy awbums...", "notification.updatingLibraryArtists": "Updating wibwawy awtists...", + // Terms "term.appleInc": "Appwe Inc.", "term.appleMusic": "Appwe Mewsic", @@ -121,7 +126,6 @@ "term.menu": "Menuwu", "term.check": "Check", "term.aboutArtist": "About {{artistName}}", // e.g. 'About Doja Cat' - "term.updateCider": "Update Cidew", "term.topResult": "Top Wesuwt", // Search Results "term.sharedPlaylists": "Shawed Pwaywists", // Search Results "term.people": "Peopwe", // Search Results @@ -137,6 +141,7 @@ "term.recordLabels": "Wecowd Wabews", "term.videoExtras": "Videowo Extwas", "term.top": "Top", + // Home "home.title": "Home", "home.recentlyPlayed": "Wecentwy Pwayed", @@ -146,12 +151,14 @@ "home.madeForYou": "Made Fow Chu", "home.friendsListeningTo": "Fwiends Wistening To", "home.followedArtists": "Fowwowed Awtists", + // Errors "error.appleMusicSubRequired": "Appwe Music wequiwes a subscwiption.", "error.connectionError": "Thewe was a pwobwem connecting to Appwe Mewsic.", "error.noResults": "No Wesuwts.", "error.noResults.description": "Twy a new seawch.", - //Podcasts + + // Podcasts "podcast.followOnCider": "Fowwow On Cidew", "podcast.followedOnCider": "Fowwowing On Cidew", "podcast.subscribeOnItunes": "Subscwibe On iTuwunes", @@ -160,6 +167,7 @@ "podcast.episodes": "Episowodes", "podcast.playEpisode": "Pway Episowode", "podcast.website": "Pawdcast Website", + // Actions "action.addToLibrary": "Add to Wibwawy", "action.addToLibrary.success": "Added to Wibwawy", @@ -207,14 +215,24 @@ "action.update": "Update", "action.newpreset": "New Pweset...", // Equalizer Preset "action.deletepreset": "Dewete Pweset", + // Settings - General "settings.header.general": "Genewaw", "settings.header.general.description": "Adjust the genewaw settings fow Cidew.", "settings.option.general.language": "Wanguage", + // Language optgroups "settings.option.general.language.main": "Wanguages", "settings.option.general.language.fun": "Fun Wanguages", "settings.option.general.language.unsorted": "Unsowted", + + // Update Cider + "settings.option.general.updateCider": "Update Cidew", // Button + "settings.option.general.updateCider.branch": "Cidew Update Bwanch", // Dropdown + "settings.option.general.updateCider.branch.description": "Sewect the bwanch to uwpdate Cidew to", + "settings.option.general.updateCider.branch.main": "Stabwe", + "settings.option.general.updateCider.branch.develop": "Devewopment", + // Settings - Audio "settings.header.audio": "Audiowo", "settings.header.audio.description": "Adjust the audiowo settings fow Cidew.", @@ -231,7 +249,7 @@ "settings.option.audio.enableAdvancedFunctionality.description": "Enabwing AudiowoContext functionawity wiww awwow fow extended audiowo featuwes wike Audiowo Nowmawization, Equalizews and Visuawizews, howevew on some systems dis may cause stuttewing in audiowo twacks.", "settings.option.audio.enableAdvancedFunctionality.ciderPPE": "Cidew Adwenawine Pwocessow™️", // Toggle "settings.option.audio.enableAdvancedFunctionality.ciderPPE.description": "Psychoacouwstic enhancements that makes evewything souwnd both wichew and mowe wivewy. | Designed by Maikiwi", - "settings.option.audio.enableAdvancedFunctionality.ciderPPEStrength": "CAP stwength", // Toggle + "settings.option.audio.enableAdvancedFunctionality.ciderPPEStrength": "CAP Stwength", // Toggle "settings.option.audio.enableAdvancedFunctionality.ciderPPEStrength.description": "Changes the stwength of the pwocessing done to the auwdio. (Aggwessive may yiewd uwndesiwabwe wesuwwts)", "settings.option.audio.enableAdvancedFunctionality.ciderPPEStrength.standard": "Standawd", "settings.option.audio.enableAdvancedFunctionality.ciderPPEStrength.aggressive": "Aggwessive", @@ -239,6 +257,7 @@ "settings.option.audio.enableAdvancedFunctionality.audioNormalization.description": "Nowmawizes peak vowume fow individuaw twacks to cweate a moar unifowm wistening expewience.", "settings.option.audio.enableAdvancedFunctionality.audioSpatialization": "Audiowo Spatiawization", // Toggle "settings.option.audio.enableAdvancedFunctionality.audioSpatialization.description": "Spatiawize audiowo and make audiowo moar 3-dimensionaw (note: Dis is not Dowby Atmos)", + // Settings - Visual "settings.header.visual": "Visuaw", "settings.header.visual.description": "Adjust the visuaw settings fow Cidew.", @@ -263,6 +282,7 @@ "settings.header.visual.hardwareAcceleration.webGPU": "WebGPU", // Refer to term.disabled for the disabled option "settings.option.visual.showPersonalInfo": "Show Pewsonaw Info", // Toggle + // Settings - Lyrics "settings.header.lyrics": "Wywics", "settings.header.lyrics.description": "Adjust the wywics settings fow Cidew.", @@ -270,6 +290,7 @@ "settings.option.lyrics.enableMusixmatchKaraoke": "Enabwe Kawaoke Mode (Musixmatch onwy)", // Toggle "settings.option.lyrics.musixmatchPreferredLanguage": "Musixmatch Twanswation Pwefewwed Wanguage", // Dropdown "settings.option.lyrics.enableYoutubeLyrics": "Enabwe YouTube Wywics fow Mewsic Videowos", // Toggle + // Settings - Connectivity "settings.header.connectivity": "Connectivity", "settings.header.connectivity.description": "Adjust the connectivity settings fow Cidew.", @@ -285,11 +306,13 @@ "settings.option.connectivity.lastfmScrobble.removeFeatured": "Wemove featuwing awtists fwom song titwe (Wast.fm)", "settings.option.connectivity.lastfmScrobble.filterLoop": "Fiwtew wooped twack (Wast.fm)", // Refer to term.connect for the connect button + // Settings - Experimental "settings.header.experimental": "Expewimentaw", "settings.header.experimental.description": "Adjust the expewimentaw settings fow Cidew.", "settings.option.experimental.compactUI": "Wittwe UI", // Toggle "settings.option.experimental.close_button_hide": "Cwose Button Shouwd Hide the Appwication", + // Refer to term.disabled & term.enabled // Spatialization Menu "spatial.notTurnedOn": "Audiowo Spatiawization is disabwed. To use, pwease enabwe it fiwst.", @@ -311,11 +334,14 @@ "spatial.down": "Down", "spatial.listener": "Wistenew", "spatial.audioSource": "Audiowo Souwce", + // Settings - Unfinished "settings.header.unfinished": "Unfinished", + // Web Remote - "remote.web.title": "Cider Wiimote", + "remote.web.title": "Cidew Wiimote", "remote.web.description": "Scan da QR code to paiw chur phone up with dis Cidew instance", + // About "about.thanks": "Majow tanks to da Cidew Cowwective Team and aww of ouw contwibutows." } \ No newline at end of file diff --git a/src/i18n/en_PISS.jsonc b/src/i18n/en_PISS.jsonc index 07dd925c..619ca375 100644 --- a/src/i18n/en_PISS.jsonc +++ b/src/i18n/en_PISS.jsonc @@ -1,16 +1,15 @@ { // Base File - // i18n Info - "i18n.languageName": "piss", // name of language in native language + "i18n.languageName": "piss", // name of language in native language "i18n.languageNameEnglish": "English (piss)", // name of language in English "i18n.category": "fun", // main = real language, fun = fun community languages "i18n.authors": "@SoNothingMC @saboooor", // Authors, if you contribute to this file feel free to add your name seperated with a space - + // App info "app.name": "piss", - - "date.format": "${y}-${m}-${d}", // ISO 8601 for the win! + "date.format": "${y}-${m}-${d}", // ISO 8601 for the win! + // Dialogs "dialog.cancel": "no piss", "dialog.ok": "yes piss", @@ -19,6 +18,7 @@ "notification.updatingLibrarySongs": "pisssing all over your songs", "notification.updatingLibraryAlbums": "pissing all over your albums", "notification.updatingLibraryArtists": "pissing all over your idols", + // Terms "term.appleInc": "piss Inc.", "term.appleMusic": "piss music", @@ -93,10 +93,10 @@ "term.less": "piss less", "term.showMore": "more piss", "term.showLess": "less piss", - "term.topSongs" : "top piss", + "term.topSongs": "top piss", "term.latestReleases": "latest piss collection", "term.time.added": "pissed", - "term.time.released": "pissed", + "term.time.released": "pissed", "term.time.updated": "pissed", "term.time.hours": "hours", "term.time.hour": "hour", @@ -123,12 +123,11 @@ "term.equalizer": "advanced piss configuration", "term.reset": "repiss", "term.tracks": "pisses", // Assume x amount of tracks. e.g. 50 tracks - "term.videos": "piss videos", + "term.videos": "piss videos", "term.menu": "piss menu", "term.check": "piss!", "term.aboutArtist": "about pisser {{artistName}}", // e.g. 'About Doja Cat' - "term.updateCider": "piss on cider", - "term.topResult": "top piss", // Search Results + "term.topResult": "top piss", // Search Results "term.sharedPlaylists": "shared pisslists", // Search Results "term.people": "pissers", // Search Results "term.newpreset.name": "new advanced piss prepiss name", // Equalizer Preset @@ -153,13 +152,14 @@ "home.madeForYou": "pissed for you", "home.friendsListeningTo": "friends pissing to", "home.followedArtists": "followed pissers", + // Errors "error.appleMusicSubRequired": "piss music requires, like y'know, an actual piss music subscription to actually use.", "error.connectionError": "oh, piss.", "error.noResults": "no piss found", "error.noResults.description": "try pissing somewhere else (or press Enter/Return to search)", - //Podcasts + // Podcasts "podcast.followOnCider": "piss on Cider", "podcast.followedOnCider": "pissed on Cider", "podcast.subscribeOnItunes": "piss on iPiss", @@ -215,19 +215,22 @@ "action.tray.show": "piss back", "action.update": "piss!", "action.copy": "copiss", - "action.newpreset": "new prepiss...", // Equalizer Preset + "action.newpreset": "new prepiss...", // Equalizer Preset "action.deletepreset": "unpiss prepiss", // Settings - General "settings.header.general": "general", "settings.header.general.description": "the dumping place for settings when there are no other places to put them into", - "settings.option.general.language": "piss around the world", + "settings.option.general.language": "piss around the world", // Language optgroups "settings.option.general.language.main": "actaul human languages", "settings.option.general.language.fun": "piss languages", "settings.option.general.language.unsorted": "???? who put this here", - + + // Update Cider + "settings.option.general.updateCider": "piss on cider", // Button + // Settings - Audio "settings.header.audio": "piss sounds", "settings.header.audio.description": "change how your piss sounds", @@ -249,8 +252,9 @@ "settings.option.audio.enableAdvancedFunctionality.audioNormalization.description": "protect your eardrums from overly loud/slient pisses", "settings.option.audio.enableAdvancedFunctionality.audioSpatialization": "3D piss", // Toggle "settings.option.audio.enableAdvancedFunctionality.audioSpatialization.description": "this aint the dolby atmos you are looking for but its still pretty crazy so check it out", + // Settings - Visual - "settings.header.visual": "piss appearance", + "settings.header.visual": "piss appearance", "settings.header.visual.description": "change how your piss looks", "settings.option.visual.windowBackgroundStyle": "background piss", // Toggle "settings.header.visual.windowBackgroundStyle.none": "no piss", @@ -269,14 +273,13 @@ "settings.option.visual.animatedWindowBackground": "moving background piss", // Toggle "settings.option.visual.hardwareAcceleration": "make Cider piss faster", // Dropdown "settings.option.visual.hardwareAcceleration.description": "you need to relaunch Cider", - "settings.header.visual.hardwareAcceleration.default": "default piss", - "settings.header.visual.hardwareAcceleration.webGPU": "WebPISS", + "settings.header.visual.hardwareAcceleration.default": "default piss", + "settings.header.visual.hardwareAcceleration.webGPU": "WebPISS", "settings.header.visual.theme": "colored piss", // Settings - Visual - Theme name "settings.option.visual.theme.default": "regular piss", "settings.option.visual.theme.dark": "black piss", - // Refer to term.disabled for the disabled option "settings.option.visual.showPersonalInfo": "show yourself to the pissiverse", // Toggle @@ -298,12 +301,12 @@ "settings.header.connectivity.discordRPC.appleMusic": "piss as 'piss music'", "settings.option.connectivity.discordRPC.clearOnPause": "flush Pisscord rich pissence when holding your piss", // Toggle "settings.option.connectivity.lastfmScrobble": "Piss.fm scrobbling", // Option to Connect - "settings.option.connectivity.lastfmScrobble.delay": "Piss.fm scrobble delay (%)", - "settings.option.connectivity.lastfmScrobble.nowPlaying": "push now playing data to Piss.fm", - "settings.option.connectivity.lastfmScrobble.removeFeatured": "remove featured pissers from piss names (Piss.fm)", - "settings.option.connectivity.lastfmScrobble.filterLoop": "filter same piss (Piss.fm)", + "settings.option.connectivity.lastfmScrobble.delay": "Piss.fm scrobble delay (%)", + "settings.option.connectivity.lastfmScrobble.nowPlaying": "push now playing data to Piss.fm", + "settings.option.connectivity.lastfmScrobble.removeFeatured": "remove featured pissers from piss names (Piss.fm)", + "settings.option.connectivity.lastfmScrobble.filterLoop": "filter same piss (Piss.fm)", // Refer to term.connect for the connect button - + // Settings - Experimental "settings.header.experimental": "piss lab", "settings.header.experimental.description": "mitochondria is the powerhouse of the cell", @@ -311,8 +314,8 @@ "settings.option.experimental.close_button_hide": "play hide-and-seek when clicking close button", "settings.option.experimental.copy_log": "copy sewage to pissboard", "settings.option.experimental.inline_playlists": "inpiss pisslists and piss collections", - // Refer to term.disabled & term.enabled + // Refer to term.disabled & term.enabled // Spatialization Menu "spatial.notTurnedOn": "3D piss is not on. turn it on lol", "spatial.spatialProperties": "3D properties", @@ -333,7 +336,7 @@ "spatial.down": "the piss on the floor", "spatial.listener": "you", "spatial.audioSource": "piss source", - + // Settings - Unfinished "settings.header.unfinished": "DLC piss", @@ -343,4 +346,4 @@ // About "about.thanks": "thanks to the Cider Collective team and all the pisseneers putting this together" -} +} \ No newline at end of file diff --git a/src/i18n/en_SGA.jsonc b/src/i18n/en_SGA.jsonc index dacce06e..a04520b5 100644 --- a/src/i18n/en_SGA.jsonc +++ b/src/i18n/en_SGA.jsonc @@ -1,7 +1,6 @@ { - // i18n Info - "i18n.languageName": "┤ᖋ|:ᖋᔮᒣ╎ᔮ ᖋ|:i!⍑ᖋᕊᒷᒣ", // name of language in native language + "i18n.languageName": "┤ᖋ|:ᖋᔮᒣ╎ᔮ ᖋ|:i!⍑ᖋᕊᒷᒣ", // name of language in native language "i18n.languageNameEnglish": "Galactic Alphabet", // name of language in English "i18n.category": "fun", // main = real language, fun = fun community languages "i18n.authors": "@kyw504100", // Authors, if you contribute to this file feel free to add your name seperated with a space @@ -10,7 +9,7 @@ "app.name": "ᔮ╎↸ᒷ∷", "date.format": "${m} ${d}, ${y}", - + // Dialogs "dialog.cancel": "ᔮᖋリᔮᒷ|:", "dialog.ok": "ᒍ·ǀ·", @@ -19,6 +18,7 @@ "notification.updatingLibrarySongs": "⚍i!↸ᖋᒣ╎リ┤ |:╎ᕊ∷ᖋ∷॥ ϟᒍリ┤ϟ...", "notification.updatingLibraryAlbums": "⚍i!↸ᖋᒣ╎リ┤ |:╎ᕊ∷ᖋ∷॥ ᖋ|:ᕊ⚍ᒲϟ...", "notification.updatingLibraryArtists": "⚍i!↸ᖋᒣ╎リ┤ |:╎ᕊ∷ᖋ∷॥ ᖋ∷ᒣ╎ϟᒣϟ...", + // Terms "term.appleInc": "ᖋi!i!|:ᒷ ╎リᔮ.", "term.appleMusic": "ᖋi!i!|:ᒷ ᒲ⚍ϟ╎ᔮ", @@ -93,10 +93,10 @@ "term.less": "|:ᒷϟϟ", "term.showMore": "ϟ⍑ᒍ∴ ᒲᒍ∷ᒷ", "term.showLess": "ϟ⍑ᒍ∴ |:ᒷϟϟ", - "term.topSongs" : "ᒣᒍi! ϟᒍリ┤ϟ", + "term.topSongs": "ᒣᒍi! ϟᒍリ┤ϟ", "term.latestReleases": "|:ᖋᒣᒷϟᒣ ∷ᒷ|:ᒷᖋϟᒷϟ", "term.time.added": "ᖋ↸↸ᒷ↸", - "term.time.released": "∷ᒷ|:ᒷᖋϟᒷ↸", + "term.time.released": "∷ᒷ|:ᒷᖋϟᒷ↸", "term.time.updated": "⚍i!↸ᖋᒣᒷ↸", "term.time.hours": "⍑ᒍ⚍∷ϟ", "term.time.hour": "⍑ᒍ⚍∷", @@ -124,11 +124,10 @@ "term.reset": "∷ᒷϟᒷᒣ", "term.tracks": "ᒣ∷ᖋᔮ·ǀ·ϟ", // Assume x amount of tracks. e.g. 50 tracks "term.videos": "⍊╎↸ᒷᒍ", - "term.menu": "ᒲᒷ⚍リ", + "term.menu": "ᒲᒷ⚍リ", "term.check": "ᔮ⍑ᒷᔮ·ǀ·", "term.aboutArtist": "ᖋᕊᒍ⚍ᒣ {{artistName}}", // e.g. 'About Doja Cat' - "term.updateCider": "⚍i!↸ᖋᒣᒷ ᔮ╎↸ᒷ∷", - "term.topResult": "ᒣᒍi! ∷ᒷϟ⚍|:ᒣ", // Search Results + "term.topResult": "ᒣᒍi! ∷ᒷϟ⚍|:ᒣ", // Search Results "term.sharedPlaylists": "ϟ⍑ᖋ∷ᒷ↸ i!|:ᖋ॥|:╎ϟᒣϟ", // Search Results "term.people": "i!ᒷᒍi!|:ᒷ", // Search Results "term.newpreset.name": "リᒷ∴ ᒷᑑ i!∷ᒷϟᒷᒣ リᖋᒲᒷ", // Equalizer Preset @@ -153,13 +152,14 @@ "home.madeForYou": "ᒲᖋ↸ᒷ ⎓ᒍ∷ ॥ᒍ⚍", "home.friendsListeningTo": "⎓∷╎ᒷリ↸ϟ |:╎ϟᒣᒷリ╎リ┤ ᒣᒍ", "home.followedArtists": "⎓ᒍ|:|:ᒍ∴ᒷ↸ ᖋ∷ᒣ╎ϟᒣϟ", + // Errors "error.appleMusicSubRequired": "ᖋi!i!|:ᒷ ᒲ⚍ϟ╎ᔮ ∷ᒷᑑ⚍╎∷ᒷϟ ᖋ ϟ⚍ᕊϟᔮ∷╎i!ᒣ╎ᒍリ.", "error.connectionError": "ᒣ⍑ᒷ∷ᒷ ∴ᖋϟ ᖋ i!∷ᒍᕊ|:ᒷᒲ ᔮᒍリリᒷᔮᒣ╎リ┤ ᒣᒍ ᖋi!i!|:ᒷ ᒲ⚍ϟ╎ᔮ.", "error.noResults": "リᒍ ∷ᒷϟ⚍|:ᒣϟ.", "error.noResults.description": "ᒣ∷॥ ᖋ リᒷ∴ ϟᒷᖋ∷ᔮ⍑.", - //Podcasts + // Podcasts "podcast.followOnCider": "⎓ᒍ|:|:ᒍ∴ ᒍリ ᔮ╎↸ᒷ∷", "podcast.followedOnCider": "⎓ᒍ|:|:ᒍ∴╎リ┤ ᒍリ ᔮ╎↸ᒷ∷", "podcast.subscribeOnItunes": "ϟ⚍ᕊϟᔮ∷╎ᕊᒷ ᒍリ ╎ᒣ⚍リᒷϟ", @@ -215,7 +215,7 @@ "action.tray.show": "ϟ⍑ᒍ∴", "action.update": "⚍i!↸ᖋᒣᒷ", "action.copy": "ᔮᒍi!॥", - "action.newpreset": "リᒷ∴ i!∷ᒷϟᒷᒣ...", // Equalizer Preset + "action.newpreset": "リᒷ∴ i!∷ᒷϟᒷᒣ...", // Equalizer Preset "action.deletepreset": "↸ᒷ|:ᒷᒣᒷ i!∷ᒷϟᒷᒣ", // Settings - General @@ -228,6 +228,9 @@ "settings.option.general.language.fun": "⎓⚍リ |:ᖋリ┤⚍ᖋ┤ᒷϟ", "settings.option.general.language.unsorted": "⚍リϟᒍ∷ᒣᒷ↸", + // Update Cider + "settings.option.general.updateCider": "⚍i!↸ᖋᒣᒷ ᔮ╎↸ᒷ∷", + // Settings - Audio "settings.header.audio": "ᖋ⚍↸╎ᒍ", "settings.header.audio.description": "ᖋ↸⋮⚍ϟᒣ ᒣ⍑ᒷ ᖋ⚍↸╎ᒍ ϟᒷᒣᒣ╎リ┤ϟ ⎓ᒍ∷ ᔮ╎↸ᒷ∷.", @@ -248,8 +251,9 @@ "settings.option.audio.enableAdvancedFunctionality.audioNormalization.description": "リᒍ∷ᒲᖋ|:╎∩ᒷϟ i!ᒷᖋ·ǀ· ⍊ᒍ|:⚍ᒲᒷ ⎓ᒍ∷ ╎リ↸╎⍊╎↸⚍ᖋ|: ᒣ∷ᖋᔮ·ǀ·ϟ ᒣᒍ ᔮ∷ᒷᖋᒣᒷ ᖋ ᒲᒍ∷ᒷ ⚍リ╎⎓ᒍ∷ᒲ |:╎ϟᒣᒷリ╎リ┤ ᒷ/i!ᒷ∷╎ᒷリᔮᒷ.", "settings.option.audio.enableAdvancedFunctionality.audioSpatialization": "ᖋ⚍↸╎ᒍ ϟi!ᖋᒣ╎ᖋ|:╎∩ᖋᒣ╎ᒍリ", // Toggle "settings.option.audio.enableAdvancedFunctionality.audioSpatialization.description": "ϟi!ᖋᒣ╎ᖋ|:╎∩ᒷ ᖋ⚍↸╎ᒍ ᖋリ↸ ᒲᖋ·ǀ·ᒷ ᖋ⚍↸╎ᒍ ᒲᒍ∷ᒷ 3-↸╎ᒲᒷリϟ╎ᒍリᖋ|: (リᒍᒣᒷ: ᒣ⍑╎ϟ ╎ϟ リᒍᒣ ↸ᒍ|:ᕊ॥ ᖋᒣᒲᒍϟ)", + // Settings - Visual - "settings.header.visual": "⍊╎ϟ⚍ᖋ|:", + "settings.header.visual": "⍊╎ϟ⚍ᖋ|:", "settings.header.visual.description": "ᖋ↸⋮⚍ϟᒣ ᒣ⍑ᒷ ⍊╎ϟ⚍ᖋ| ϟᒷᒣᒣ╎リ┤ϟ ⎓ᒍ∷ ᔮ╎↸ᒷ∷.", "settings.option.visual.windowBackgroundStyle": "∴╎リ↸ᒍ∴ ᕊᖋᔮ·ǀ·┤∷ᒍ⚍リ↸ ϟᒣ॥|:ᒷ", // Toggle "settings.header.visual.windowBackgroundStyle.none": "リᒍリᒷ", @@ -268,14 +272,13 @@ "settings.option.visual.animatedWindowBackground": "ᖋリ╎ᒲᖋᒣᒷ↸ ∴╎リ↸ᒍ∴ ᕊᖋᔮ·ǀ·┤∷ᒍ⚍リ↸", // Toggle "settings.option.visual.hardwareAcceleration": "⍑ᖋ∷↸∴ᖋ∷ᒷ ᖋᔮᔮᒷ|:ᒷ∷ᖋᒣ╎ᒍリ", // Dropdown "settings.option.visual.hardwareAcceleration.description": "∷ᒷᑑ⚍╎∷ᒷϟ ∷ᒷ|:ᖋ⚍リᔮ⍑", - "settings.header.visual.hardwareAcceleration.default": "↸ᒷ⎓ᖋ⚍|:ᒣ", - "settings.header.visual.hardwareAcceleration.webGPU": "∴ᒷᕊ┤i!⚍", + "settings.header.visual.hardwareAcceleration.default": "↸ᒷ⎓ᖋ⚍|:ᒣ", + "settings.header.visual.hardwareAcceleration.webGPU": "∴ᒷᕊ┤i!⚍", "settings.header.visual.theme": "ᒣ⍑ᒷᒲᒷ", - + // Settings - Visual - Theme name "settings.option.visual.theme.default": "ᔮ╎↸ᒷ∷", "settings.option.visual.theme.dark": "↸ᖋ∷·ǀ·", - // Refer to term.disabled for the disabled option "settings.option.visual.showPersonalInfo": "ϟ⍑ᒍ∴ i!ᒷ∷ϟᒍリᖋ|: ╎リ⎓ᒍ", // Toggle @@ -286,7 +289,7 @@ "settings.option.lyrics.enableMusixmatchKaraoke": "ᒷリᖋᕊ|:ᒷ ·ǀ·ᖋ∷ᖋᒍ·ǀ·ᒷ ᒲᒍ↸ᒷ (ᒲ⚍ϟ╎̇/ᒲᖋᒣᔮ⍑ ᒍリ|:॥)", // Toggle "settings.option.lyrics.musixmatchPreferredLanguage": "ᒲ⚍ϟ╎̇/ᒲᖋᒣᔮ⍑ ᒣ∷ᖋリϟ|:ᖋᒣ╎ᒍリ i!∷ᒷ⎓ᒷ∷∷ᒷ↸ |:ᖋリ┤⚍ᖋ┤ᒷ", // Dropdown "settings.option.lyrics.enableYoutubeLyrics": "ᒷリᖋᕊ|:ᒷ ॥ᒍ⚍ᒣ⚍ᕊᒷ |:॥∷╎ᔮϟ ⎓ᒍ∷ ᒲ⚍ϟ╎ᔮ ⍊╎↸ᒷᒍϟ", // Toggle - + // Settings - Connectivity "settings.header.connectivity": "ᔮᒍリリᒷᔮᒣ╎⍊╎ᒣ॥", "settings.header.connectivity.description": "ᖋ↸⋮⚍ϟᒣ ᒣ⍑ᒷ ᔮᒍリリᒷᔮᒣ╎⍊╎ᒣ॥ ϟᒷᒣᒣ╎リ┤ϟ ⎓ᒍ∷ ᔮ╎↸ᒷ∷.", @@ -297,12 +300,12 @@ "settings.header.connectivity.discordRPC.appleMusic": "↸╎ϟi!|:ᖋ॥ ᖋϟ 'ᖋi!i!|:ᒷ ᒲ⚍ϟ╎ᔮ'", "settings.option.connectivity.discordRPC.clearOnPause": "ᔮ|:ᒷᖋ∷ ↸╎ϟᔮᒍ∷↸ ∷╎ᔮ⍑ i!∷ᒷϟᒷリᔮᒷ ᒍリ i!ᖋ⚍ϟᒷ", // Toggle "settings.option.connectivity.lastfmScrobble": "|:ᖋϟᒣ.⎓ᒲ ϟᔮ∷ᒍᕊᕊ|:╎リ┤", // Option to Connect - "settings.option.connectivity.lastfmScrobble.delay": "|:ᖋϟᒣ.⎓ᒲ ϟᔮ∷ᒍᕊᕊ|:ᒷ ↸ᒷ|:ᖋ॥ (%)", - "settings.option.connectivity.lastfmScrobble.nowPlaying": "ᒷリᖋᕊ|:ᒷ |:ᖋϟᒣ.⎓ᒲ リᒍ∴ i!|:ᖋ॥╎リ┤", - "settings.option.connectivity.lastfmScrobble.removeFeatured": "∷ᒷᒲᒍ⍊ᒷ ⎓ᒷᖋᒣ⚍∷╎リ┤ ᖋ∷ᒣ╎ϟᒣϟ ⎓∷ᒍᒲ ϟᒍリ┤ ᒣ╎ᒣ|:ᒷ (|:ᖋϟᒣ.⎓ᒲ)", - "settings.option.connectivity.lastfmScrobble.filterLoop": "⎓╎|:ᒣᒷ∷ |:ᒍᒍi!ᒷ↸ ᒣ∷ᖋᔮ·ǀ· (|:ᖋϟᒣ.⎓ᒲ)", + "settings.option.connectivity.lastfmScrobble.delay": "|:ᖋϟᒣ.⎓ᒲ ϟᔮ∷ᒍᕊᕊ|:ᒷ ↸ᒷ|:ᖋ॥ (%)", + "settings.option.connectivity.lastfmScrobble.nowPlaying": "ᒷリᖋᕊ|:ᒷ |:ᖋϟᒣ.⎓ᒲ リᒍ∴ i!|:ᖋ॥╎リ┤", + "settings.option.connectivity.lastfmScrobble.removeFeatured": "∷ᒷᒲᒍ⍊ᒷ ⎓ᒷᖋᒣ⚍∷╎リ┤ ᖋ∷ᒣ╎ϟᒣϟ ⎓∷ᒍᒲ ϟᒍリ┤ ᒣ╎ᒣ|:ᒷ (|:ᖋϟᒣ.⎓ᒲ)", + "settings.option.connectivity.lastfmScrobble.filterLoop": "⎓╎|:ᒣᒷ∷ |:ᒍᒍi!ᒷ↸ ᒣ∷ᖋᔮ·ǀ· (|:ᖋϟᒣ.⎓ᒲ)", // Refer to term.connect for the connect button - + // Settings - Experimental "settings.header.experimental": "ᒷ/i!ᒷ∷╎ᒲᒷリᒣᖋ|:", "settings.header.experimental.description": "ᖋ↸⋮⚍ϟᒣ ᒣ⍑ᒷ ᒷ/i!ᒷ∷╎ᒲᒷリᒣᖋ|: ϟᒷᒣᒣ╎リ┤ϟ ⎓ᒍ∷ ᔮ╎↸ᒷ∷.", @@ -310,36 +313,36 @@ "settings.option.experimental.close_button_hide": "ᔮ|:ᒍϟᒷ ᕊ⚍ᒣᒣᒍリ ϟ⍑ᒍ⚍|:↸ ⍑╎↸ᒷ ᒣ⍑ᒷ ᖋi!i!|:╎ᔮᖋᒣ╎ᒍリ", "settings.option.experimental.copy_log": "ᔮᒍi!॥ |:ᒍ┤ϟ ᒣᒍ ᔮ|:╎i!ᕊᒍᖋ∷↸", "settings.option.experimental.inline_playlists": "╎リ|:╎リᒷ i!|:ᖋ॥|:╎ϟᒣϟ ᖋリ↸ ᖋ|:ᕊ⚍ᒲϟ", + // Refer to term.disabled & term.enabled - // Spatialization Menu "spatial.notTurnedOn": "ᖋ⚍↸╎ᒍ ϟi!ᖋᒣ╎ᖋ|:╎∩ᖋᒣ╎ᒍリ ╎ϟ ↸╎ϟᖋᕊ|:ᒷ↸. ᒣᒍ ⚍ϟᒷ, i!|:ᒷᖋϟᒷ ᒷリᖋᕊ|:ᒷ ╎ᒣ ⎓╎∷ϟᒣ.", - "spatial.spatialProperties" : "ϟi!ᖋᒣ╎ᖋ|: i!∷ᒍi!ᒷ∷ᒣ╎ᒷϟ", - "spatial.width" : "∴╎↸ᒣ⍑", - "spatial.height" : "⍑ᒷ╎┤⍑ᒣ", - "spatial.depth" : "↸ᒷi!ᒣ⍑", - "spatial.gain" : "┤ᖋ╎リ", - "spatial.roomMaterials" : "∷ᒍᒍᒲ ᒲᖋᒣᒷ∷╎ᖋ|:ϟ", - "spatial.roomDimensions" : "∷ᒍᒍᒲ ↸╎ᒲᒷリϟ╎ᒍリϟ", - "spatial.roomPositions" : "∷ᒍᒍᒲ i!ᒍϟ╎ᒣ╎ᒍリϟ", - "spatial.setDimensions" : "ϟᒷᒣ ↸╎ᒲᒷリϟ╎ᒍリϟ", - "spatial.setPositions" : "ϟᒷᒣ i!ᒍϟ╎ᒣ╎ᒍリϟ", - "spatial.up" : "⚍i!", - "spatial.front" : "⎓∷ᒍリᒣ", - "spatial.left" : "|:ᒷ⎓ᒣ", - "spatial.right" : "∷╎┤⍑ᒣ", - "spatial.back" : "ᕊᖋᔮ·ǀ·", - "spatial.down" : "↸ᒍ∴リ", - "spatial.listener" : "|:╎ϟᒣᒷリᒷ∷", - "spatial.audioSource" : "ᖋ⚍↸╎ᒍ ϟᒍ⚍∷ᔮᒷ", + "spatial.spatialProperties": "ϟi!ᖋᒣ╎ᖋ|: i!∷ᒍi!ᒷ∷ᒣ╎ᒷϟ", + "spatial.width": "∴╎↸ᒣ⍑", + "spatial.height": "⍑ᒷ╎┤⍑ᒣ", + "spatial.depth": "↸ᒷi!ᒣ⍑", + "spatial.gain": "┤ᖋ╎リ", + "spatial.roomMaterials": "∷ᒍᒍᒲ ᒲᖋᒣᒷ∷╎ᖋ|:ϟ", + "spatial.roomDimensions": "∷ᒍᒍᒲ ↸╎ᒲᒷリϟ╎ᒍリϟ", + "spatial.roomPositions": "∷ᒍᒍᒲ i!ᒍϟ╎ᒣ╎ᒍリϟ", + "spatial.setDimensions": "ϟᒷᒣ ↸╎ᒲᒷリϟ╎ᒍリϟ", + "spatial.setPositions": "ϟᒷᒣ i!ᒍϟ╎ᒣ╎ᒍリϟ", + "spatial.up": "⚍i!", + "spatial.front": "⎓∷ᒍリᒣ", + "spatial.left": "|:ᒷ⎓ᒣ", + "spatial.right": "∷╎┤⍑ᒣ", + "spatial.back": "ᕊᖋᔮ·ǀ·", + "spatial.down": "↸ᒍ∴リ", + "spatial.listener": "|:╎ϟᒣᒷリᒷ∷", + "spatial.audioSource": "ᖋ⚍↸╎ᒍ ϟᒍ⚍∷ᔮᒷ", // Settings - Unfinished "settings.header.unfinished": "⚍リ⎓╎リ╎ϟ⍑ᒷ↸", - + // Web Remote "remote.web.title": "ᔮ╎↸ᒷ∷ ∷ᒷᒲᒍᒣᒷ", "remote.web.description": "ϟᔮᖋリ ᒣ⍑ᒷ ᑑ∷ ᔮᒍ↸ᒷ ᒣᒍ i!ᖋ╎∷ ॥ᒍ⚍∷ i!⍑ᒍリᒷ ⚍i! ∴╎ᒣ⍑ ᒣ⍑╎ϟ ᔮ╎↸ᒷ∷ ╎リϟᒣᖋリᔮᒷ", - + // About "about.thanks": "ᒲᖋ⋮ᒍ∷ ᒣ⍑ᖋリ·ǀ·ϟ ᒣᒍ ᒣ⍑ᒷ ᔮ╎↸ᒷ∷ ᔮᒍ|:|:ᒷᔮᒣ╎⍊ᒷ ᒣᒷᖋᒲ ᖋリ↸ ᖋ|:|: ᒍ⎓ ᒍ⚍∷ ᔮᒍリᒣ∷╎ᕊ⚍ᒣᒍ∷ϟ." } \ No newline at end of file diff --git a/src/i18n/en_US.jsonc b/src/i18n/en_US.jsonc index 997dc576..2bce04b9 100644 --- a/src/i18n/en_US.jsonc +++ b/src/i18n/en_US.jsonc @@ -4,16 +4,21 @@ "i18n.languageNameEnglish": "English (US)", // name of language in English "i18n.category": "main", // main = real language, fun = fun community languages "i18n.authors": "@maikirakiwi", // Authors, if you contribute to this file feel free to add your name seperated with a space + // App info "app.name": "Cider", + "date.format": "${m} ${d}, ${y}", + // Dialogs "dialog.cancel": "Cancel", "dialog.ok": "OK", + // Notification "notification.updatingLibrarySongs": "Updating library songs...", "notification.updatingLibraryAlbums": "Updating library albums...", "notification.updatingLibraryArtists": "Updating library artists...", + // Terms "term.appleInc": "Apple Inc.", "term.appleMusic": "Apple Music", @@ -122,7 +127,6 @@ "term.menu": "Menu", "term.check": "Check", "term.aboutArtist": "About {{artistName}}", // e.g. 'About Doja Cat' - "term.updateCider": "Update Cider", "term.topResult": "Top Result", // Search Results "term.sharedPlaylists": "Shared Playlists", // Search Results "term.people": "People", // Search Results @@ -138,6 +142,7 @@ "term.recordLabels": "Record Labels", "term.videoExtras": "Video Extras", "term.top": "Top", + // Home "home.title": "Home", "home.recentlyPlayed": "Recently Played", @@ -147,12 +152,14 @@ "home.madeForYou": "Made For You", "home.friendsListeningTo": "Friends Listening To", "home.followedArtists": "Followed Artists", + // Errors "error.appleMusicSubRequired": "Apple Music requires a subscription.", "error.connectionError": "There was a problem connecting to Apple Music.", "error.noResults": "No Results.", "error.noResults.description": "Try a new search.", - //Podcasts + + // Podcasts "podcast.followOnCider": "Follow On Cider", "podcast.followedOnCider": "Following On Cider", "podcast.subscribeOnItunes": "Subscribe On iTunes", @@ -161,6 +168,7 @@ "podcast.episodes": "Episodes", "podcast.playEpisode": "Play Episode", "podcast.website": "Podcast Website", + // Actions "action.addToLibrary": "Add to Library", "action.addToLibrary.success": "Added to Library", @@ -209,14 +217,24 @@ "action.copy": "Copy", "action.newpreset": "New Preset...", // Equalizer Preset "action.deletepreset": "Delete Preset", + // Settings - General "settings.header.general": "General", "settings.header.general.description": "Adjust the general settings for Cider.", "settings.option.general.language": "Language", + // Language optgroups "settings.option.general.language.main": "Languages", "settings.option.general.language.fun": "Fun Languages", "settings.option.general.language.unsorted": "Unsorted", + + // Update Cider + "settings.option.general.updateCider": "Update Cider", // Button. Refer to term.check for the check button + "settings.option.general.updateCider.branch": "Cider Update Branch", // Dropdown + "settings.option.general.updateCider.branch.description": "Select the branch to update Cider to", + "settings.option.general.updateCider.branch.main": "Stable", + "settings.option.general.updateCider.branch.develop": "Development", + // Settings - Audio "settings.header.audio": "Audio", "settings.header.audio.description": "Adjust the audio settings for Cider.", @@ -242,6 +260,7 @@ "settings.option.audio.enableAdvancedFunctionality.audioNormalization.description": "Normalizes peak volume for individual tracks to create a more uniform listening experience.", "settings.option.audio.enableAdvancedFunctionality.audioSpatialization": "Audio Spatialization", // Toggle "settings.option.audio.enableAdvancedFunctionality.audioSpatialization.description": "Spatialize audio and make audio more 3-dimensional (note: This is not Dolby Atmos)", + // Settings - Visual "settings.header.visual": "Visual", "settings.header.visual.description": "Adjust the visual settings for Cider.", @@ -265,11 +284,13 @@ "settings.header.visual.hardwareAcceleration.default": "Default", "settings.header.visual.hardwareAcceleration.webGPU": "WebGPU", "settings.header.visual.theme": "Theme", + // Settings - Visual - Theme name "settings.option.visual.theme.default": "Cider", "settings.option.visual.theme.dark": "Dark", // Refer to term.disabled for the disabled option "settings.option.visual.showPersonalInfo": "Show Personal Info", // Toggle + // Settings - Lyrics "settings.header.lyrics": "Lyrics", "settings.header.lyrics.description": "Adjust the lyrics settings for Cider.", @@ -277,6 +298,7 @@ "settings.option.lyrics.enableMusixmatchKaraoke": "Enable Karaoke Mode (Musixmatch only)", // Toggle "settings.option.lyrics.musixmatchPreferredLanguage": "Musixmatch Translation Preferred Language", // Dropdown "settings.option.lyrics.enableYoutubeLyrics": "Enable Youtube Lyrics for Music Videos", // Toggle + // Settings - Connectivity "settings.header.connectivity": "Connectivity", "settings.header.connectivity.description": "Adjust the connectivity settings for Cider.", @@ -292,6 +314,7 @@ "settings.option.connectivity.lastfmScrobble.removeFeatured": "Remove featuring artists from song title (Last.fm)", "settings.option.connectivity.lastfmScrobble.filterLoop": "Filter looped track (Last.fm)", // Refer to term.connect for the connect button + // Settings - Experimental "settings.header.experimental": "Experimental", "settings.header.experimental.description": "Adjust the experimental settings for Cider.", @@ -299,6 +322,7 @@ "settings.option.experimental.close_button_hide": "Close Button Should Hide the Application", "settings.option.experimental.copy_log": "Copy logs to clipboard", "settings.option.experimental.inline_playlists": "Inline Playlists and Albums", + // Refer to term.disabled & term.enabled // Spatialization Menu "spatial.notTurnedOn": "Audio Spatialization is disabled. To use, please enable it first.", @@ -320,11 +344,14 @@ "spatial.down": "Down", "spatial.listener": "Listener", "spatial.audioSource": "Audio Source", + // Settings - Unfinished "settings.header.unfinished": "Unfinished", + // Web Remote "remote.web.title": "Cider Remote", "remote.web.description": "Scan the QR code to pair your phone up with this Cider instance", + // About "about.thanks": "Major thanks to the Cider Collective Team and all of our contributors." } \ No newline at end of file diff --git a/src/i18n/es_ES.jsonc b/src/i18n/es_ES.jsonc index 6ad1ee9d..9a0bf149 100644 --- a/src/i18n/es_ES.jsonc +++ b/src/i18n/es_ES.jsonc @@ -1,312 +1,316 @@ { // Base File + // i18n Info + "i18n.languageName": "Español (ES)", // name of language in native language + "i18n.languageNameEnglish": "Spanish (Spain)", // name of language in English + "i18n.category": "main", // main = real language, fun = fun community languages + "i18n.authors": "@j.fl220", // Authors, if you contribute to this file feel free to add your name seperated with a space + + // App info + "app.name": "Cider", + + "date.format": "${d} ${m}, ${y}", + + // Dialogs + "dialog.cancel": "Cancelar", + "dialog.ok": "Aceptar", + + // Notification + "notification.updatingLibrarySongs": "Actualizando canciones de la biblioteca...", + "notification.updatingLibraryAlbums": "Actualizando álbumes de la biblioteca...", + "notification.updatingLibraryArtists": "Actualizando biblioteca de artistas...", + + // Terms + "term.appleInc": "Apple Inc.", + "term.appleMusic": "Apple Music", + "term.applePodcasts": "Apple Podcasts", + "term.itunes": "iTunes", + "term.github": "GitHub", + "term.discord": "Discord", + "term.learnMore": "Leer más", + "term.accountSettings": "Ajustes de la cuenta", + "term.logout": "Cerrar sesión", + "term.login": "Iniciar sesión", + "term.about": "Más información", + "term.privateSession": "Sesión privada", + "term.queue": "En cola", + "term.search": "Buscar", + "term.library": "Biblioteca", + "term.listenNow": "Escuchar", + "term.browse": "Explorar", + "term.radio": "Radio", + "term.recentlyAdded": "Añadido recientemente", + "term.songs": "Canciones", + "term.albums": "Álbumes", + "term.artists": "Artistas", + "term.podcasts": "Podcasts", + "term.playlists": "Playlists", + "term.playlist": "Playlist", + "term.newPlaylist": "Nueva playlist", + "term.newPlaylistFolder": "Nueva carpeta de playlists", + "term.createNewPlaylist": "Crear nueva playlists", + "term.createNewPlaylistFolder": "Crear nueva carpeta de playlists", + "term.deletePlaylist": "¿Está seguro que desea eliminar esta playlist?", + "term.play": "Reproducir", + "term.pause": "Pausar", + "term.previous": "Anterior", + "term.next": "Siguiente", + "term.shuffle": "Aleatorio", + "term.repeat": "Repetir", + "term.volume": "Volumen", + "term.mute": "Silenciar", + "term.unmute": "Desilenciar", + "term.share": "Compartir", + "term.settings": "Ajustes", + "term.seeAll": "Ver todo", + "term.sortBy": "Ordenar por", + "term.sortBy.album": "Álbum", + "term.sortBy.artist": "Artista", + "term.sortBy.name": "Nombre", + "term.sortBy.genre": "Género", + "term.sortBy.releaseDate": "Fecha de lanzamiento", + "term.sortBy.duration": "Duración", + "term.sortOrder": "A-Z", + "term.sortOrder.ascending": "Ascendiente", + "term.sortOrder.descending": "Descendiente", + "term.viewAs": "Ver como", + "term.viewAs.coverArt": "Carátula", + "term.viewAs.list": "Lista", + "term.size": "Tamaño", + "term.size.normal": "Normal", + "term.size.compact": "Compacto", + "term.enable": "Habilitar", + "term.disable": "Deshabilitar", + "term.enabled": "Activado", + "term.disabled": "Desactivado", + "term.connect": "Conectar", + "term.connecting": "Conectando", + "term.disconnect": "Desconectado", + "term.authed": "Autentificado", + "term.confirm": "¿Confirmar?", + "term.more": "Más", + "term.less": "Menos", + "term.showMore": "Mostrar más", + "term.showLess": "Mostrar menos", + "term.topSongs": "Top canciones", + "term.latestReleases": "Últimos lanzamientos", + "term.time.added": "Añadido", + "term.time.released": "Lanzado", + "term.time.updated": "Actualizado", + "term.time.hours": "horas", + "term.time.hour": "hora", + "term.time.minutes": "minutos", + "term.time.minute": "minuto", + "term.time.seconds": "segundos", + "term.time.second": "segundo", + "term.fullscreenView": "Pantalla completa", + "term.defaultView": "Vista por defecto", + "term.audioSettings": "Ajustes de audio", + "term.clearAll": "Borrar todo", + "term.recentStations": "Radios recientes", + "term.language": "Idioma", + "term.funLanguages": "Divertido", + "term.noLyrics": "Cargando... / Letra no encontrada./ Instrumental.", + "term.copyright": "Copyright", + "term.rightsReserved": "Todos los derechos reservados.", + "term.sponsor": "Apoya este proyecto", + "term.ciderTeam": "Equipo Cider", + "term.developer": "Desarrollador", + "term.socialTeam": "Equipo RRSS", + "term.socials": "Redes sociales", + "term.contributors": "Contribuidores", + "term.equalizer": "Equalizador", + "term.reset": "Resetear", + "term.tracks": "canciones", // Assume x amount of tracks. e.g. 50 tracks + "term.videos": "Vídeos", + "term.menu": "Menú", + "term.check": "Comprobar", + "term.aboutArtist": "Más sobre {{artistName}}", // e.g. 'About Doja Cat' + + // Home + "home.title": "Inicio", + "home.recentlyPlayed": "Reproducciones recientes", + "home.recentlyAdded": "Añadido recientemente", + "home.artistsFeed": "Historial de tus artistas", + "home.artistsFeed.noArtist": "Sigue primero a algunos artistas y sus últimos lanzamientos aparecerán aquí", + "home.madeForYou": "Hecho para ti", + "home.friendsListeningTo": "Tus amigos están escuchando", + "home.followedArtists": "Artistas que sigues", + + // Errors + "error.appleMusicSubRequired": "Apple Music necesita una suscripción.", + "error.connectionError": "Ha habido un problema al conectar con Apple Music.", + "error.noResults": "Sin resultados", + "error.noResults.description": "Intenta otra búsqueda.", + + // Podcasts + "podcast.followOnCider": "Seguir en Cider", + "podcast.followedOnCider": "Siguiendo en Cider", + "podcast.subscribeOnItunes": "Suscribirse en iTunes", + "podcast.subscribedOnItunes": "Suscrito en iTunes", + "podcast.itunesStore": "Tienda de iTunes", + "podcast.episodes": "Episodios", + "podcast.playEpisode": "Iniciar Episodio", + "podcast.website": "Pagina del podcast", + + // Actions + "action.addToLibrary": "Añadir a la biblioteca", + "action.addToLibrary.success": "Añadido a la biblioteca", + "action.addToLibrary.error": "Error al añadir a la biblioteca", + "action.removeFromLibrary": "Eliminar de la biblioteca", + "action.removeFromLibrary.success": "Eliminado de la biblioteca", + "action.addToQueue": "Añadir a la cola", + "action.addToQueue.success": "Añadido a la cola", + "action.addToQueue.error": "Error al añadirlo a la cola", + "action.removeFromQueue": "Elimiar de la cola", + "action.removeFromQueue.success": "Eliminado de la cola", + "action.removeFromQueue.error": "Error al eliminarlo de la cola", + "action.createPlaylist": "Crear nueva playlist", + "action.addToPlaylist": "Añadir a la playlist", + "action.removeFromPlaylist": "Eliminar de la playlist", + "action.addToFavorites": "Añadir a favoritos", + "action.follow": "Seguir", + "action.follow.success": "Siguiendo", + "action.follow.error": "Error al seguir", + "action.unfollow": "Dejar de seguir", + "action.unfollow.success": "Has dejado de seguirle", + "action.unfollow.error": "Error al dejar de seguir", + "action.playNext": "Reproducir a continuación", + "action.playLater": "Reproducir al final", + "action.startRadio": "Crear emisora", + "action.goToArtist": "Ir al artista", + "action.goToAlbum": "Mostrar álbum", + "action.moveToTop": "Mover a arriba", + "action.share": "Compartir", + "action.rename": "Renombrar", + "action.love": "Me gusta", + "action.unlove": "Eliminar me gusta", + "action.dislike": "Sugerir menos este estilo", + "action.undoDislike": "Sugerir este estilo", + "action.showWebRemoteQR": "Conexión remota", + "action.playTracksNext": "Reproducir ${app.selectedMediaItems.length} siguiente canción", + "action.playTracksLater": "Reproducir ${app.selectedMediaItems.length} como última canción", + "action.removeTracks": "Eliminar ${self.selectedItems.length} canciones de la cola", + "action.import": "Importar", + "action.export": "Exportar", + "action.showAlbum": "Mostrar álbum completo", + "action.tray.minimize": "Mover a la bandeja", + "action.tray.quit": "Salir", + "action.tray.show": "Abrir", + "action.update": "Actualizar", + + // Settings - General + "settings.header.general": "General", + "settings.header.general.description": "Ajustes generales de Cider.", + "settings.option.general.language": "Idioma", + + // Language optgroups + "settings.option.general.language.main": "Idiomas", + "settings.option.general.language.fun": "Idiomas divertidos", + "settings.option.general.language.unsorted": "Sin clasificar", - // i18n Info - "i18n.languageName": "Español (ES)", // name of language in native language - "i18n.languageNameEnglish": "Spanish (Spain)", // name of language in English - "i18n.category": "main", // main = real language, fun = fun community languages - "i18n.authors": "@j.fl220", // Authors, if you contribute to this file feel free to add your name seperated with a space + // Update Cider + "settings.option.general.updateCider": "Actualizar Cider", // Button - // App info - "app.name": "Cider", + // Settings - Audio + "settings.header.audio": "Audio", + "settings.header.audio.description": "Ajustes del audio de Cider.", + "settings.option.audio.quality": "Calidad de audio", // Dropdown + "settings.header.audio.quality.high": "Alto", + "settings.header.audio.quality.low": "Bajo", + "settings.header.audio.quality.auto": "Auto", + "settings.option.audio.seamlessTransition": "Transición de audio perfecta", // Toggle + "settings.option.audio.enableAdvancedFunctionality": "Activar funciones avanzadas", // Toggle + "settings.option.audio.enableAdvancedFunctionality.description": "Habilitar la funcionalidad de AudioContext permitirá funciones de audio extendidas como Normalización de audio, Ecualizadores y Visualizadores; sin embargo, en algunos sistemas esto puede causar interrupciones en las canciones.", + "settings.option.audio.enableAdvancedFunctionality.audioNormalization": "Normalizar volumen", // Toggle + "settings.option.audio.enableAdvancedFunctionality.audioNormalization.description": "Normaliza los picos altos de canciones para hacer la experiencia de escucha mejor.", + "settings.option.audio.enableAdvancedFunctionality.audioSpatialization": "Espacialización del audio", // Toggle + "settings.option.audio.enableAdvancedFunctionality.audioSpatialization.description": "Espacializa más el audio y conviértelo más 3-dimensional (nota: Esto no es Dolby Atmos)", - "date.format": "${d} ${m}, ${y}", - - // Dialogs - "dialog.cancel": "Cancelar", - "dialog.ok": "Aceptar", + // Settings - Visual + "settings.header.visual": "Visual", + "settings.header.visual.description": "Ajustes visuales para Cider.", + "settings.option.visual.windowBackgroundStyle": "Estilo del fondo de la ventana", // Toggle + "settings.header.visual.windowBackgroundStyle.none": "Nada", + "settings.header.visual.windowBackgroundStyle.artwork": "Carátula", + "settings.header.visual.windowBackgroundStyle.image": "Imagen", + "settings.option.visual.animatedArtwork": "Carátula animada", // Dropdown + "settings.header.visual.animatedArtwork.always": "Habilitar siempre", + "settings.header.visual.animatedArtwork.limited": "Limitado a algunas páginas", + "settings.header.visual.animatedArtwork.disable": "Deshabilitar en todas partes", + "settings.option.visual.animatedArtworkQuality": "Calidad de la carátula animada", // Dropdown + "settings.header.visual.animatedArtworkQuality.low": "Bajo", + "settings.header.visual.animatedArtworkQuality.medium": "Medio", + "settings.header.visual.animatedArtworkQuality.high": "Alto", + "settings.header.visual.animatedArtworkQuality.veryHigh": "Muy alto", + "settings.header.visual.animatedArtworkQuality.extreme": "Extrema", + "settings.option.visual.animatedWindowBackground": "Fondo de la ventana animado", // Toggle + "settings.option.visual.hardwareAcceleration": "Aceleración del hardware", // Dropdown + "settings.option.visual.hardwareAcceleration.description": "La app requiere reinicio", + "settings.header.visual.hardwareAcceleration.default": "Por defecto", + "settings.header.visual.hardwareAcceleration.webGPU": "WebGPU", + // Refer to term.disabled for the disabled option + "settings.option.visual.showPersonalInfo": "Mostrar información personal", // Toggle - // Notification - "notification.updatingLibrarySongs": "Actualizando canciones de la biblioteca...", - "notification.updatingLibraryAlbums": "Actualizando álbumes de la biblioteca...", - "notification.updatingLibraryArtists": "Actualizando biblioteca de artistas...", - // Terms - "term.appleInc": "Apple Inc.", - "term.appleMusic": "Apple Music", - "term.applePodcasts": "Apple Podcasts", - "term.itunes": "iTunes", - "term.github": "GitHub", - "term.discord": "Discord", - "term.learnMore": "Leer más", - "term.accountSettings": "Ajustes de la cuenta", - "term.logout": "Cerrar sesión", - "term.login": "Iniciar sesión", - "term.about": "Más información", - "term.privateSession": "Sesión privada", - "term.queue": "En cola", - "term.search": "Buscar", - "term.library": "Biblioteca", - "term.listenNow": "Escuchar", - "term.browse": "Explorar", - "term.radio": "Radio", - "term.recentlyAdded": "Añadido recientemente", - "term.songs": "Canciones", - "term.albums": "Álbumes", - "term.artists": "Artistas", - "term.podcasts": "Podcasts", - "term.playlists": "Playlists", - "term.playlist": "Playlist", - "term.newPlaylist": "Nueva playlist", - "term.newPlaylistFolder": "Nueva carpeta de playlists", - "term.createNewPlaylist": "Crear nueva playlists", - "term.createNewPlaylistFolder": "Crear nueva carpeta de playlists", - "term.deletePlaylist": "¿Está seguro que desea eliminar esta playlist?", - "term.play": "Reproducir", - "term.pause": "Pausar", - "term.previous": "Anterior", - "term.next": "Siguiente", - "term.shuffle": "Aleatorio", - "term.repeat": "Repetir", - "term.volume": "Volumen", - "term.mute": "Silenciar", - "term.unmute": "Desilenciar", - "term.share": "Compartir", - "term.settings": "Ajustes", - "term.seeAll": "Ver todo", - "term.sortBy": "Ordenar por", - "term.sortBy.album": "Álbum", - "term.sortBy.artist": "Artista", - "term.sortBy.name": "Nombre", - "term.sortBy.genre": "Género", - "term.sortBy.releaseDate": "Fecha de lanzamiento", - "term.sortBy.duration": "Duración", - "term.sortOrder": "A-Z", - "term.sortOrder.ascending": "Ascendiente", - "term.sortOrder.descending": "Descendiente", - "term.viewAs": "Ver como", - "term.viewAs.coverArt": "Carátula", - "term.viewAs.list": "Lista", - "term.size": "Tamaño", - "term.size.normal": "Normal", - "term.size.compact": "Compacto", - "term.enable": "Habilitar", - "term.disable": "Deshabilitar", - "term.enabled": "Activado", - "term.disabled": "Desactivado", - "term.connect": "Conectar", - "term.connecting": "Conectando", - "term.disconnect": "Desconectado", - "term.authed": "Autentificado", - "term.confirm": "¿Confirmar?", - "term.more": "Más", - "term.less": "Menos", - "term.showMore": "Mostrar más", - "term.showLess": "Mostrar menos", - "term.topSongs" : "Top canciones", - "term.latestReleases": "Últimos lanzamientos", - "term.time.added": "Añadido", - "term.time.released": "Lanzado", - "term.time.updated": "Actualizado", - "term.time.hours": "horas", - "term.time.hour": "hora", - "term.time.minutes": "minutos", - "term.time.minute": "minuto", - "term.time.seconds": "segundos", - "term.time.second": "segundo", - "term.fullscreenView": "Pantalla completa", - "term.defaultView": "Vista por defecto", - "term.audioSettings": "Ajustes de audio", - "term.clearAll": "Borrar todo", - "term.recentStations": "Radios recientes", - "term.language": "Idioma", - "term.funLanguages": "Divertido", - "term.noLyrics": "Cargando... / Letra no encontrada./ Instrumental.", - "term.copyright": "Copyright", - "term.rightsReserved": "Todos los derechos reservados.", - "term.sponsor": "Apoya este proyecto", - "term.ciderTeam": "Equipo Cider", - "term.developer": "Desarrollador", - "term.socialTeam": "Equipo RRSS", - "term.socials": "Redes sociales", - "term.contributors": "Contribuidores", - "term.equalizer": "Equalizador", - "term.reset": "Resetear", - "term.tracks": "canciones", // Assume x amount of tracks. e.g. 50 tracks - "term.videos": "Vídeos", - "term.menu": "Menú", - "term.check": "Comprobar", - "term.aboutArtist": "Más sobre {{artistName}}", // e.g. 'About Doja Cat' - "term.updateCider": "Actualizar Cider", - - // Home - "home.title": "Inicio", - "home.recentlyPlayed": "Reproducciones recientes", - "home.recentlyAdded": "Añadido recientemente", - "home.artistsFeed": "Historial de tus artistas", - "home.artistsFeed.noArtist": "Sigue primero a algunos artistas y sus últimos lanzamientos aparecerán aquí", - "home.madeForYou": "Hecho para ti", - "home.friendsListeningTo": "Tus amigos están escuchando", - "home.followedArtists": "Artistas que sigues", - // Errors - "error.appleMusicSubRequired": "Apple Music necesita una suscripción.", - "error.connectionError": "Ha habido un problema al conectar con Apple Music.", - "error.noResults": "Sin resultados", - "error.noResults.description": "Intenta otra búsqueda.", + // Settings - Lyrics + "settings.header.lyrics": "Letras", + "settings.header.lyrics.description": "Ajuste las letras para Cider", + "settings.option.lyrics.enableMusixmatch": "Habilitar las letras de Musixmatch", // Toggle + "settings.option.lyrics.enableMusixmatchKaraoke": "Habilita el modo Karaoke (solo con Musixmatch)", // Toggle + "settings.option.lyrics.musixmatchPreferredLanguage": "Idioma de traducción por defecto en Musixmatch", // Dropdown + "settings.option.lyrics.enableYoutubeLyrics": "Habilitar las letras de Youtube para los videos con música", // Toggle - //Podcasts - "podcast.followOnCider": "Seguir en Cider", - "podcast.followedOnCider": "Siguiendo en Cider", - "podcast.subscribeOnItunes": "Suscribirse en iTunes", - "podcast.subscribedOnItunes": "Suscrito en iTunes", - "podcast.itunesStore": "Tienda de iTunes", - "podcast.episodes": "Episodios", - "podcast.playEpisode": "Iniciar Episodio", - "podcast.website": "Pagina del podcast", + // Settings - Connectivity + "settings.header.connectivity": "Conectividad", + "settings.header.connectivity.description": "Ajusta la conectividad para Cider.", + "settings.option.connectivity.discordRPC": "Discord Rich Presence", // Dropdown + "settings.option.connectivity.playbackNotifications": "Notificaciones de reproducción", // Toggle + // Refer to term.disabled for the disabled option + "settings.header.connectivity.discordRPC.cider": "Mostrar como 'Cider'", + "settings.header.connectivity.discordRPC.appleMusic": "Mostrar como 'Apple Music'", + "settings.option.connectivity.discordRPC.clearOnPause": "Quitar Discord Rich Presence en pausa", // Toggle + "settings.option.connectivity.lastfmScrobble": "Scrobbling Last.fm", // Option to Connect + "settings.option.connectivity.lastfmScrobble.delay": "Delay del Scrobbling en Last.fm (%)", + "settings.option.connectivity.lastfmScrobble.nowPlaying": "Habilitar 'Escuchando ahora' en Last.fm", + "settings.option.connectivity.lastfmScrobble.removeFeatured": "Eliminar artistas destacados del título de la canción (Last.fm)", + "settings.option.connectivity.lastfmScrobble.filterLoop": "Filtrar pista en bucle (Last.fm)", + // Refer to term.connect for the connect button - // Actions - "action.addToLibrary": "Añadir a la biblioteca", - "action.addToLibrary.success": "Añadido a la biblioteca", - "action.addToLibrary.error": "Error al añadir a la biblioteca", - "action.removeFromLibrary": "Eliminar de la biblioteca", - "action.removeFromLibrary.success": "Eliminado de la biblioteca", - "action.addToQueue": "Añadir a la cola", - "action.addToQueue.success": "Añadido a la cola", - "action.addToQueue.error": "Error al añadirlo a la cola", - "action.removeFromQueue": "Elimiar de la cola", - "action.removeFromQueue.success": "Eliminado de la cola", - "action.removeFromQueue.error": "Error al eliminarlo de la cola", - "action.createPlaylist": "Crear nueva playlist", - "action.addToPlaylist": "Añadir a la playlist", - "action.removeFromPlaylist": "Eliminar de la playlist", - "action.addToFavorites": "Añadir a favoritos", - "action.follow": "Seguir", - "action.follow.success": "Siguiendo", - "action.follow.error": "Error al seguir", - "action.unfollow": "Dejar de seguir", - "action.unfollow.success": "Has dejado de seguirle", - "action.unfollow.error": "Error al dejar de seguir", - "action.playNext": "Reproducir a continuación", - "action.playLater": "Reproducir al final", - "action.startRadio": "Crear emisora", - "action.goToArtist": "Ir al artista", - "action.goToAlbum": "Mostrar álbum", - "action.moveToTop": "Mover a arriba", - "action.share": "Compartir", - "action.rename": "Renombrar", - "action.love": "Me gusta", - "action.unlove": "Eliminar me gusta", - "action.dislike": "Sugerir menos este estilo", - "action.undoDislike": "Sugerir este estilo", - "action.showWebRemoteQR": "Conexión remota", - "action.playTracksNext": "Reproducir ${app.selectedMediaItems.length} siguiente canción", - "action.playTracksLater": "Reproducir ${app.selectedMediaItems.length} como última canción", - "action.removeTracks": "Eliminar ${self.selectedItems.length} canciones de la cola", - "action.import": "Importar", - "action.export": "Exportar", - "action.showAlbum": "Mostrar álbum completo", - "action.tray.minimize": "Mover a la bandeja", - "action.tray.quit": "Salir", - "action.tray.show": "Abrir", - "action.update": "Actualizar", + // Settings - Experimental + "settings.header.experimental": "En pruebas", + "settings.header.experimental.description": "Ajustes en pruebas para Cider.", + "settings.option.experimental.compactUI": "Interfaz de usuario compacto", // Toggle + "settings.option.experimental.close_button_hide": "El botón de cerrar minimizará la aplicación en la bandeja", - // Settings - General - "settings.header.general": "General", - "settings.header.general.description": "Ajustes generales de Cider.", - "settings.option.general.language": "Idioma", + // Refer to term.disabled & term.enabled + // Spatialization Menu + "spatial.notTurnedOn": "La espacialización del audio esta desactivada. Para usarlo primero actívelo.", + "spatial.spatialProperties": "Propiedades espaciales", + "spatial.width": "Ancho", + "spatial.height": "Altura", + "spatial.depth": "Profundidad", + "spatial.gain": "Ganancia", + "spatial.roomMaterials": "Material de la habitación", + "spatial.roomDimensions": "Dimensión de la habitación", + "spatial.roomPositions": "Posiciones de la habitación", + "spatial.setDimensions": "Establecer dimensiones", + "spatial.setPositions": "Establecer posiciones", + "spatial.up": "Arriba", + "spatial.front": "Delante", + "spatial.left": "Izquierda", + "spatial.right": "Derecha", + "spatial.back": "Atrás", + "spatial.down": "Abajo", + "spatial.listener": "Oyente", + "spatial.audioSource": "Salida del audio", - // Language optgroups - "settings.option.general.language.main": "Idiomas", - "settings.option.general.language.fun": "Idiomas divertidos", - "settings.option.general.language.unsorted": "Sin clasificar", - - // Settings - Audio - "settings.header.audio": "Audio", - "settings.header.audio.description": "Ajustes del audio de Cider.", - "settings.option.audio.quality": "Calidad de audio", // Dropdown - "settings.header.audio.quality.high": "Alto", - "settings.header.audio.quality.low": "Bajo", - "settings.header.audio.quality.auto": "Auto", - "settings.option.audio.seamlessTransition": "Transición de audio perfecta", // Toggle - "settings.option.audio.enableAdvancedFunctionality": "Activar funciones avanzadas", // Toggle - "settings.option.audio.enableAdvancedFunctionality.description": "Habilitar la funcionalidad de AudioContext permitirá funciones de audio extendidas como Normalización de audio, Ecualizadores y Visualizadores; sin embargo, en algunos sistemas esto puede causar interrupciones en las canciones.", - "settings.option.audio.enableAdvancedFunctionality.audioNormalization": "Normalizar volumen", // Toggle - "settings.option.audio.enableAdvancedFunctionality.audioNormalization.description": "Normaliza los picos altos de canciones para hacer la experiencia de escucha mejor.", - "settings.option.audio.enableAdvancedFunctionality.audioSpatialization": "Espacialización del audio", // Toggle - "settings.option.audio.enableAdvancedFunctionality.audioSpatialization.description": "Espacializa más el audio y conviértelo más 3-dimensional (nota: Esto no es Dolby Atmos)", - // Settings - Visual - "settings.header.visual": "Visual", - "settings.header.visual.description": "Ajustes visuales para Cider.", - "settings.option.visual.windowBackgroundStyle": "Estilo del fondo de la ventana", // Toggle - "settings.header.visual.windowBackgroundStyle.none": "Nada", - "settings.header.visual.windowBackgroundStyle.artwork": "Carátula", - "settings.header.visual.windowBackgroundStyle.image": "Imagen", - "settings.option.visual.animatedArtwork": "Carátula animada", // Dropdown - "settings.header.visual.animatedArtwork.always": "Habilitar siempre", - "settings.header.visual.animatedArtwork.limited": "Limitado a algunas páginas", - "settings.header.visual.animatedArtwork.disable": "Deshabilitar en todas partes", - "settings.option.visual.animatedArtworkQuality": "Calidad de la carátula animada", // Dropdown - "settings.header.visual.animatedArtworkQuality.low": "Bajo", - "settings.header.visual.animatedArtworkQuality.medium": "Medio", - "settings.header.visual.animatedArtworkQuality.high": "Alto", - "settings.header.visual.animatedArtworkQuality.veryHigh": "Muy alto", - "settings.header.visual.animatedArtworkQuality.extreme": "Extrema", - "settings.option.visual.animatedWindowBackground": "Fondo de la ventana animado", // Toggle - "settings.option.visual.hardwareAcceleration": "Aceleración del hardware", // Dropdown - "settings.option.visual.hardwareAcceleration.description": "La app requiere reinicio", - "settings.header.visual.hardwareAcceleration.default": "Por defecto", - "settings.header.visual.hardwareAcceleration.webGPU": "WebGPU", - // Refer to term.disabled for the disabled option - "settings.option.visual.showPersonalInfo": "Mostrar información personal", // Toggle + // Settings - Unfinished + "settings.header.unfinished": "Sin acabar", + "settings.header.unfinished.description": "Ajustes siendo testeados, no están acabados.", - // Settings - Lyrics - "settings.header.lyrics": "Letras", - "settings.header.lyrics.description": "Ajuste las letras para Cider", - "settings.option.lyrics.enableMusixmatch": "Habilitar las letras de Musixmatch", // Toggle - "settings.option.lyrics.enableMusixmatchKaraoke": "Habilita el modo Karaoke (solo con Musixmatch)", // Toggle - "settings.option.lyrics.musixmatchPreferredLanguage": "Idioma de traducción por defecto en Musixmatch", // Dropdown - "settings.option.lyrics.enableYoutubeLyrics": "Habilitar las letras de Youtube para los videos con música", // Toggle + // Web Remote + "remote.web.title": "Cider Remoto", + "remote.web.description": "Escanee el código QR para emparejar su teléfono con su cliente de Cider", - // Settings - Connectivity - "settings.header.connectivity": "Conectividad", - "settings.header.connectivity.description": "Ajusta la conectividad para Cider.", - "settings.option.connectivity.discordRPC": "Discord Rich Presence", // Dropdown - "settings.option.connectivity.playbackNotifications": "Notificaciones de reproducción", // Toggle - // Refer to term.disabled for the disabled option - "settings.header.connectivity.discordRPC.cider": "Mostrar como 'Cider'", - "settings.header.connectivity.discordRPC.appleMusic": "Mostrar como 'Apple Music'", - "settings.option.connectivity.discordRPC.clearOnPause": "Quitar Discord Rich Presence en pausa", // Toggle - "settings.option.connectivity.lastfmScrobble": "Scrobbling Last.fm", // Option to Connect - "settings.option.connectivity.lastfmScrobble.delay": "Delay del Scrobbling en Last.fm (%)", - "settings.option.connectivity.lastfmScrobble.nowPlaying": "Habilitar 'Escuchando ahora' en Last.fm", - "settings.option.connectivity.lastfmScrobble.removeFeatured": "Eliminar artistas destacados del título de la canción (Last.fm)", - "settings.option.connectivity.lastfmScrobble.filterLoop": "Filtrar pista en bucle (Last.fm)", - // Refer to term.connect for the connect button - - // Settings - Experimental - "settings.header.experimental": "En pruebas", - "settings.header.experimental.description": "Ajustes en pruebas para Cider.", - "settings.option.experimental.compactUI": "Interfaz de usuario compacto", // Toggle - "settings.option.experimental.close_button_hide": "El botón de cerrar minimizará la aplicación en la bandeja", - // Refer to term.disabled & term.enabled - - // Spatialization Menu - "spatial.notTurnedOn": "La espacialización del audio esta desactivada. Para usarlo primero actívelo.", - "spatial.spatialProperties": "Propiedades espaciales", - "spatial.width": "Ancho", - "spatial.height": "Altura", - "spatial.depth": "Profundidad", - "spatial.gain": "Ganancia", - "spatial.roomMaterials": "Material de la habitación", - "spatial.roomDimensions": "Dimensión de la habitación", - "spatial.roomPositions": "Posiciones de la habitación", - "spatial.setDimensions": "Establecer dimensiones", - "spatial.setPositions": "Establecer posiciones", - "spatial.up": "Arriba", - "spatial.front": "Delante", - "spatial.left": "Izquierda", - "spatial.right": "Derecha", - "spatial.back": "Atrás", - "spatial.down": "Abajo", - "spatial.listener": "Oyente", - "spatial.audioSource": "Salida del audio", - - // Settings - Unfinished - "settings.header.unfinished": "Sin acabar", - "settings.header.unfinished.description": "Ajustes siendo testeados, no están acabados.", - - // Web Remote - "remote.web.title": "Cider Remoto", - "remote.web.description": "Escanee el código QR para emparejar su teléfono con su cliente de Cider", - - // About - "about.thanks": "Muchísimas gracias al equipo de Cider Collective y también a todos nuestros contribuidores." - } + // About + "about.thanks": "Muchísimas gracias al equipo de Cider Collective y también a todos nuestros contribuidores." +} \ No newline at end of file diff --git a/src/i18n/fr_FR.jsonc b/src/i18n/fr_FR.jsonc index ad8b26cb..cf05144b 100644 --- a/src/i18n/fr_FR.jsonc +++ b/src/i18n/fr_FR.jsonc @@ -1,24 +1,24 @@ { // Base File - // i18n Info - "i18n.languageName": "Français", // name of language in native language + "i18n.languageName": "Français", // name of language in native language "i18n.languageNameEnglish": "French", // name of language in English "i18n.category": "main", // main = real language, fun = fun community languages "i18n.authors": "@ErwanGit", // Authors, if you contribute to this file feel free to add your name seperated with a space - + // App info "app.name": "Cider", - + "date.format": "${d} ${m} ${y}", // Dialogs "dialog.cancel": "Annuler", "dialog.ok": "OK", - + // Notification "notification.updatingLibrarySongs": "Mise à jour des chansons de la bibliothèque...", "notification.updatingLibraryAlbums": "Mise à jour des albums de la bibliothèque...", "notification.updatingLibraryArtists": "Mise à jour des artistes de la bibliothèque...", + // Terms "term.appleInc": "Apple Inc.", "term.appleMusic": "Apple Music", @@ -93,10 +93,10 @@ "term.less": "Moins", "term.showMore": "Afficher plus", "term.showLess": "Afficher moins", - "term.topSongs" : "Meilleurs titres", + "term.topSongs": "Meilleurs titres", "term.latestReleases": "Dernières sorties", "term.time.added": "Ajouté", - "term.time.released": "Publié", + "term.time.released": "Publié", "term.time.updated": "Mis à jour", "term.time.hours": "heures", "term.time.hour": "heure", @@ -123,12 +123,11 @@ "term.equalizer": "Égaliseur", "term.reset": "Réinitialiser", "term.tracks": "musiques", // Assume x amount of tracks. e.g. 50 tracks - "term.videos": "Vidéos", + "term.videos": "Vidéos", "term.menu": "Menu", "term.check": "Vérifier", "term.aboutArtist": "À propos de {{artistName}}", // e.g. 'About Doja Cat' - "term.updateCider": "Mettre à jour Cider", - "term.topResult": "Meilleurs résultats", // Search Results + "term.topResult": "Meilleurs résultats", // Search Results "term.sharedPlaylists": "Playlists partagées", // Search Results "term.people": "Personnes", // Search Results "term.newpreset.name": "Nouveau nom du préréglage de l'égaliseur", // Equalizer Preset @@ -143,7 +142,7 @@ "term.recordLabels": "Labels de disques", "term.videoExtras": "Vidéos bonus", "term.top": "Top", - + // Home "home.title": "Accueil", "home.recentlyPlayed": "Joué récemment", @@ -153,13 +152,14 @@ "home.madeForYou": "Fait pour vous", "home.friendsListeningTo": "Vos amis écoutent", "home.followedArtists": "Artistes suivis", + // Errors "error.appleMusicSubRequired": "Apple Music nécessite un abonnement.", "error.connectionError": "Il y a eu un problème de connexion à Apple Music.", "error.noResults": "Aucun résultat.", "error.noResults.description": "Essayez une nouvelle recherche.", - - //Podcasts + + // Podcasts "podcast.followOnCider": "Suivre sur Cider", "podcast.followedOnCider": "Suivi sur Cider", "podcast.subscribeOnItunes": "Suivre sur iTunes", @@ -168,7 +168,7 @@ "podcast.episodes": "Épisodes", "podcast.playEpisode": "Lire l'épisode", "podcast.website": "Site du podcast", - + // Actions "action.addToLibrary": "Ajouter à la bibliothèque", "action.addToLibrary.success": "Ajouté à la bibliothèque", @@ -215,18 +215,21 @@ "action.tray.show": "Afficher", "action.update": "Mettre à jour", "action.copy": "Copier", - "action.newpreset": "Nouveau préréglage...", // Equalizer Preset + "action.newpreset": "Nouveau préréglage...", // Equalizer Preset "action.deletepreset": "Supprimer le préréglage", - + // Settings - General "settings.header.general": "Général", "settings.header.general.description": "Ajuster les paramètres généraux de Cider.", "settings.option.general.language": "Langue", - + // Language optgroups "settings.option.general.language.main": "Langues", "settings.option.general.language.fun": "Langues amusantes", "settings.option.general.language.unsorted": "Non trié", + + // Update Cider + "settings.option.general.updateCider": "Mettre à jour Cider", // Button // Settings - Audio "settings.header.audio": "Audio", @@ -249,8 +252,9 @@ "settings.option.audio.enableAdvancedFunctionality.audioNormalization.description": "Normalise le volume maximal des pistes individuelles pour créer une expérience d'écoute plus uniforme.", "settings.option.audio.enableAdvancedFunctionality.audioSpatialization": "Spatialisation audio", // Toggle "settings.option.audio.enableAdvancedFunctionality.audioSpatialization.description": "Spatialiser l'audio et rendre l'audio plus tridimensionnel (note: Ce n'est pas Dolby Atmos)", + // Settings - Visual - "settings.header.visual": "Visuel", + "settings.header.visual": "Visuel", "settings.header.visual.description": "Ajuster les paramètres visuels de Cider.", "settings.option.visual.windowBackgroundStyle": "Style d'arrière-plan de la fenêtre", // Toggle "settings.header.visual.windowBackgroundStyle.none": "Aucun", @@ -269,17 +273,16 @@ "settings.option.visual.animatedWindowBackground": "Arrière-plan de fenêtre animé", // Toggle "settings.option.visual.hardwareAcceleration": "Accélération matérielle", // Dropdown "settings.option.visual.hardwareAcceleration.description": "Nécessite un relancement", - "settings.header.visual.hardwareAcceleration.default": "Défaut", - "settings.header.visual.hardwareAcceleration.webGPU": "WebGPU", + "settings.header.visual.hardwareAcceleration.default": "Défaut", + "settings.header.visual.hardwareAcceleration.webGPU": "WebGPU", "settings.header.visual.theme": "Thème", - + // Settings - Visual - Theme name "settings.option.visual.theme.default": "Cider", "settings.option.visual.theme.dark": "Sombre", - // Refer to term.disabled for the disabled option "settings.option.visual.showPersonalInfo": "Afficher vos informations personnelles", // Toggle - + // Settings - Lyrics "settings.header.lyrics": "Paroles", "settings.header.lyrics.description": "Ajuster les paramètres des paroles pour Cider.", @@ -287,7 +290,7 @@ "settings.option.lyrics.enableMusixmatchKaraoke": "Activer le mode karaoké (Musixmatch seulement)", // Toggle "settings.option.lyrics.musixmatchPreferredLanguage": "Langue préférée pour les traductions Musixmatch", // Dropdown "settings.option.lyrics.enableYoutubeLyrics": "Activer les paroles YouTube pour les vidéos de musique", // Toggle - + // Settings - Connectivity "settings.header.connectivity": "Connectivité", "settings.header.connectivity.description": "Ajuster les paramètres de connectivité de Cider.", @@ -298,12 +301,12 @@ "settings.header.connectivity.discordRPC.appleMusic": "Afficher comme 'Apple Music'", "settings.option.connectivity.discordRPC.clearOnPause": "Désactiver le Discord Rich Presence quand la musique est en pause", // Toggle "settings.option.connectivity.lastfmScrobble": "Scrobble LastFM", // Option to Connect - "settings.option.connectivity.lastfmScrobble.delay": "Délai de Scrobble LastFM (%)", - "settings.option.connectivity.lastfmScrobble.nowPlaying": "Activer la lecture en cours sur LastFM", - "settings.option.connectivity.lastfmScrobble.removeFeatured": "Supprimer les artistes en vedette du titre de la chanson (LastFM)", - "settings.option.connectivity.lastfmScrobble.filterLoop": "Filtrer les titres en boucle (LastFM)", + "settings.option.connectivity.lastfmScrobble.delay": "Délai de Scrobble LastFM (%)", + "settings.option.connectivity.lastfmScrobble.nowPlaying": "Activer la lecture en cours sur LastFM", + "settings.option.connectivity.lastfmScrobble.removeFeatured": "Supprimer les artistes en vedette du titre de la chanson (LastFM)", + "settings.option.connectivity.lastfmScrobble.filterLoop": "Filtrer les titres en boucle (LastFM)", // Refer to term.connect for the connect button - + // Settings - Experimental "settings.header.experimental": "Expérimental", "settings.header.experimental.description": "Ajuster les paramètres expérimentaux de Cider.", @@ -311,8 +314,8 @@ "settings.option.experimental.close_button_hide": "Le bouton de fermeture doit masquer l'application", "settings.option.experimental.copy_log": "Copier les logs dans le presse-papier", "settings.option.experimental.inline_playlists": "Playlists et albums en ligne", + // Refer to term.disabled & term.enabled - // Spatialization Menu "spatial.notTurnedOn": "La spatialisation audio est désactivée. Pour l'utiliser, vous devez d'abord l'activer.", "spatial.spatialProperties": "Propriétés spatiales", @@ -336,12 +339,11 @@ // Settings - Unfinished "settings.header.unfinished": "Inachevée", - + // Web Remote "remote.web.title": "Cider à distance", "remote.web.description": "Scanner le QR code pour associer votre téléphone avec cette instance Cider", - + // About "about.thanks": "Un grand merci à l'équipe de la Cider Collective et à tous nos contributeurs." -} - \ No newline at end of file +} \ No newline at end of file diff --git a/src/i18n/hu_HU.jsonc b/src/i18n/hu_HU.jsonc index 65bd88fa..7f2e65ff 100644 --- a/src/i18n/hu_HU.jsonc +++ b/src/i18n/hu_HU.jsonc @@ -1,22 +1,24 @@ { // Base File // i18n Info - "i18n.languageName": "Magyar", // name of language in native language + "i18n.languageName": "Magyar", // name of language in native language "i18n.languageNameEnglish": "Hungarian", // name of language in English "i18n.category": "main", // main = real language, fun = fun community languages "i18n.authors": "@Greenoliv @Amaru @BenjaminStonawski", // Authors, if you contribute to this file feel free to add your name seperated with a space + // App info "app.name": "Cider", - + "date.format": "${m} ${d}, ${y}", - + // Dialogs "dialog.cancel": "Mégsem", "dialog.ok": "OK", - + // Notification "notification.updatingLibrarySongs": "Zenekönyvtár frissítése...", "notification.updatingLibraryAlbums": "Albumok frissítése...", "notification.updatingLibraryArtists": "Előadók frissítése...", + // Terms "term.appleInc": "Apple Inc.", "term.appleMusic": "Apple Music", @@ -90,10 +92,10 @@ "term.less": "Kevesebb", "term.showMore": "Mutass többet", "term.showLess": "Mutass kevesebbet", - "term.topSongs" : "A legjobb dalok", + "term.topSongs": "A legjobb dalok", "term.latestReleases": "Új megjelenések", "term.time.added": "Hozzáadva", - "term.time.released": "Kiadva", + "term.time.released": "Kiadva", "term.time.updated": "Frissítve", "term.time.hours": "óra", "term.time.hour": "óra", @@ -120,11 +122,10 @@ "term.equalizer": "Hangszínszabályozó", "term.reset": "Visszaállítás", "term.tracks": "zeneszám", // Assume x amount of tracks. e.g. 50 tracks - "term.videos": "Videók", + "term.videos": "Videók", "term.menu": "Menü", "term.check": "Ellenőrzés", "term.aboutArtist": "About {{artistName}}", // e.g. 'About Doja Cat' - "term.updateCider": "A Cider frissítése", "term.topResult": "Legjobb találatok", // Search Results "term.sharedPlaylists": "Megosztott lejátszási listák", // Search Results "term.people": "Profilok", // Search Results @@ -140,6 +141,7 @@ "term.recordLabels": "Record Labels", "term.videoExtras": "Videóextrák", "term.top": "Top", + // Home "home.title": "Kezdőlap", "home.recentlyPlayed": "Nemrég játszott", @@ -149,12 +151,14 @@ "home.madeForYou": "Személyre szabva", "home.friendsListeningTo": "A barátaid épp ezt hallgatják", "home.followedArtists": "Követett előadók", + // Errors "error.appleMusicSubRequired": "Apple Music előfizetés szükséges.", "error.connectionError": "Hiba történt az Apple Musichoz való csatlakozás közben.", "error.noResults": "Nincs találat", "error.noResults.description": "Próbálkozzon új kereséssel", - //Podcasts + + // Podcasts "podcast.followOnCider": "Követés a Cideren", "podcast.followedOnCider": "Követve a Cideren", "podcast.subscribeOnItunes": "Feliratkozás az iTunesban", @@ -163,6 +167,7 @@ "podcast.episodes": "Epizódok", "podcast.playEpisode": "Epizód lejátszása", "podcast.website": "Podcast weboldala", + // Actions "action.addToLibrary": "Hozzáadás a Könyvtárhoz", "action.addToLibrary.success": "Hozzáadva a Könyvtárhoz", @@ -211,14 +216,20 @@ "action.copy": "Másolás", "action.newpreset": "Új Preset...", // Equalizer Preset "action.deletepreset": "Preset törlése", + // Settings - General "settings.header.general": "Általános", "settings.header.general.description": "A Cider általános beállításainak módosítása.", "settings.option.general.language": "Nyelv", + // Language optgroups "settings.option.general.language.main": "Nyelvek", "settings.option.general.language.fun": "Fantázianyelvek", "settings.option.general.language.unsorted": "Azonosítatlan", + + // Update Cider + "settings.option.general.updateCider": "A Cider frissítése", // Button + // Settings - Audio "settings.header.audio": "Hang", "settings.header.audio.description": "A Cider hangbeállításainak módosítása.", @@ -235,7 +246,7 @@ "settings.option.audio.enableAdvancedFunctionality": "Haladó funkcionalitás engedélyezése", // Toggle "settings.option.audio.enableAdvancedFunctionality.description": "Az AudioContext funkció engedélyezése lehetővé teszi a fejlettebb hangfunkciókat, például a Normalizásást, az Equalizereket és a Visualizer funkciókat, azonban egyes számítógépeken ez akadozást okozhat a hangsávokban.", "settings.option.audio.enableAdvancedFunctionality.ciderPPE": "Cider Adrenaline Processor™️", // Toggle - "settings.option.audio.enableAdvancedFunctionality.ciderPPE.description": "Pszichoakusztikus Módosítások amik minden hangot felerősítenek és ütősebbé tesznek | Készítette Maikiwi", + "settings.option.audio.enableAdvancedFunctionality.ciderPPE.description": "Pszichoakusztikus Módosítások amik minden hangot felerősítenek és ütősebbé tesznek | Készítette Maikiwi", "settings.option.audio.enableAdvancedFunctionality.ciderPPEStrength": "CAP Erősség", // Toggle "settings.option.audio.enableAdvancedFunctionality.ciderPPEStrength.description": "Megváltoztatja a hangra végzett feldolgozás erősségét. (Az Agresszív mód nemkívánatos eredményeket hozhat!)", "settings.option.audio.enableAdvancedFunctionality.ciderPPEStrength.standard": "Szokásos", @@ -244,8 +255,9 @@ "settings.option.audio.enableAdvancedFunctionality.audioNormalization.description": "Normalizálja az egyes zeneszámok hangosabb részeit, hogy egységesebb hallgatási élményt hozzon létre.", "settings.option.audio.enableAdvancedFunctionality.audioSpatialization": "Térbeli hang", // Toggle "settings.option.audio.enableAdvancedFunctionality.audioSpatialization.description": "Térbeli hang és a hang háromdimenziósabbá tétele (Ez nem összekeverendő a Dolby Atmos-szal!)", + // Settings - Visual - "settings.header.visual": "Vizuális", + "settings.header.visual": "Vizuális", "settings.header.visual.description": "A Cider vizuális beállításainak módosítása.", "settings.option.visual.windowBackgroundStyle": "Ablak háttér stílusa", // Toggle "settings.header.visual.windowBackgroundStyle.none": "Sehol", @@ -264,14 +276,16 @@ "settings.option.visual.animatedWindowBackground": "Animált ablakháttér", // Toggle "settings.option.visual.hardwareAcceleration": "Hardveres gyorsítás", // Dropdown "settings.option.visual.hardwareAcceleration.description": "Újraindítás szükséges", - "settings.header.visual.hardwareAcceleration.default": "Alap", - "settings.header.visual.hardwareAcceleration.webGPU": "WebGPU", + "settings.header.visual.hardwareAcceleration.default": "Alap", + "settings.header.visual.hardwareAcceleration.webGPU": "WebGPU", "settings.header.visual.theme": "Téma", + // Settings - Visual - Theme name "settings.option.visual.theme.default": "Cider", "settings.option.visual.theme.dark": "Sötét", // Refer to term.disabled for the disabled option "settings.option.visual.showPersonalInfo": "Személyes adatok mutatása", // Toggle + // Settings - Lyrics "settings.header.lyrics": "Dalszöveg", "settings.header.lyrics.description": "A Cider dalszöveg beállításainak módosítása.", @@ -279,6 +293,7 @@ "settings.option.lyrics.enableMusixmatchKaraoke": "Karaoke mód bekapcsolása (Csak MusixMatch)", // Toggle "settings.option.lyrics.musixmatchPreferredLanguage": "MusixMatch fordítás nyelve", // Dropdown "settings.option.lyrics.enableYoutubeLyrics": "YouTube dalszövegek engedélyezése a zenei videóknál", // Toggle + // Settings - Connectivity "settings.header.connectivity": "Csatlakozások", "settings.header.connectivity.description": "A Cider csatlakozás beállításainak módosítása.", @@ -289,11 +304,12 @@ "settings.header.connectivity.discordRPC.appleMusic": "Megjelenítés 'Apple Music'-ként", "settings.option.connectivity.discordRPC.clearOnPause": "Discord Rich Presence törlése megállításnál", // Toggle "settings.option.connectivity.lastfmScrobble": "LastFM Scrobbling", // Option to Connect - "settings.option.connectivity.lastfmScrobble.delay": "LastFM Scrobble Késleltetés (%)", - "settings.option.connectivity.lastfmScrobble.nowPlaying": "LastFM Now Playing engedélyezése", - "settings.option.connectivity.lastfmScrobble.removeFeatured": "Remove featuring artists from song title (LastFM)", - "settings.option.connectivity.lastfmScrobble.filterLoop": "Loopolt zeneszám szűrése (LastFM)", + "settings.option.connectivity.lastfmScrobble.delay": "LastFM Scrobble Késleltetés (%)", + "settings.option.connectivity.lastfmScrobble.nowPlaying": "LastFM Now Playing engedélyezése", + "settings.option.connectivity.lastfmScrobble.removeFeatured": "Remove featuring artists from song title (LastFM)", + "settings.option.connectivity.lastfmScrobble.filterLoop": "Loopolt zeneszám szűrése (LastFM)", // Refer to term.connect for the connect button + // Settings - Experimental "settings.header.experimental": "Kísérleti", "settings.header.experimental.description": "A Cider kísérleti beállításainak módosítása.", @@ -301,8 +317,8 @@ "settings.option.experimental.close_button_hide": "A bezárás gomb rejtse el az alkalmazást", "settings.option.experimental.copy_log": "Napló másolása a vágólapra", "settings.option.experimental.inline_playlists": "Inline Playlists and Albums", - // Refer to term.disabled & term.enabled + // Refer to term.disabled & term.enabled // Spatialization Menu "spatial.notTurnedOn": "A térbeli hangzás ki van kapcsolva, használatához kapcsolja be.", "spatial.spatialProperties": "Térbeli hang", @@ -323,11 +339,14 @@ "spatial.down": "Lent", "spatial.listener": "Hallgató", "spatial.audioSource": "Hangforrás", + // Settings - Unfinished "settings.header.unfinished": "Befejezetlen", + // Web Remote "remote.web.title": "Cider Remote", "remote.web.description": "Olvasd be ezt a QR-kódot a telefonoddal, hogy tudd vezérelni a lejátszót.", + // About "about.thanks": "Köszönet a Cider Collective csapatának és minden hozzájárulónak." -} +} \ No newline at end of file diff --git a/src/i18n/ja_JP.jsonc b/src/i18n/ja_JP.jsonc index 8b95e83d..7b31f748 100644 --- a/src/i18n/ja_JP.jsonc +++ b/src/i18n/ja_JP.jsonc @@ -1,24 +1,24 @@ { - // App info - "app.name": "Cider", - - "date.format": "${y}年${m}月${d}日", - - // i18n Info - "i18n.languageName": "日本語", // name of language in native language + // i18n Info + "i18n.languageName": "日本語", // name of language in native language "i18n.languageNameEnglish": "Japanese", // name of language in English "i18n.category": "main", // main = real language, fun = fun community languages "i18n.authors": "@maikirakiwi", // Authors, if you contribute to this file feel free to add your name seperated with a space + // App info + "app.name": "Cider", + + "date.format": "${y}年${m}月${d}日", + // Dialogs "dialog.cancel": "キャンセル", "dialog.ok": "OK", - + // Notification "notification.updatingLibrarySongs": "ライブラリの更新中...", "notification.updatingLibraryAlbums": "ライブラリの更新中...", "notification.updatingLibraryArtists": "ライブラリの更新中...", - + // Terms "term.appleMusic": "Apple Music", // Follows brand term "term.applePodcasts": "Apple Podcasts", // Follows brand term @@ -85,10 +85,10 @@ "term.less": "減らす", "term.showMore": "もっと見る", "term.showLess": "表示数を少なくする", - "term.topSongs" : "トップソング", + "term.topSongs": "トップソング", "term.latestReleases": "ニューリリース", "term.time.added": "追加日", - "term.time.released": "配信開始日", + "term.time.released": "配信開始日", "term.time.updated": "最終更新日", "term.time.hours": "時間", "term.time.hour": "時間", @@ -114,12 +114,11 @@ "term.equalizer": "イコライザー", "term.reset": "リセット", "term.tracks": "曲", // Assume x amount of tracks. e.g. 50 tracks - "term.videos": "ビデオ", + "term.videos": "ビデオ", "term.menu": "メニュー", "term.check": "確認", "term.aboutArtist": "{{artistName}}について", // e.g. 'About Doja Cat' - "term.updateCider": "Cider 更新", - + // Home "home.title": "ホーム", "home.recentlyPlayed": "最近の再生", @@ -129,6 +128,7 @@ "home.madeForYou": "あなたにおすすめ", "home.friendsListeningTo": "友達が聴いている", "home.followedArtists": "フォローしているアーティスト", + // Errors "error.appleMusicSubRequired": "Apple Musicのサブスクリプションが必要です。", "error.connectionError": "Apple Musicに接続できません。", @@ -144,7 +144,7 @@ "podcast.episodes": "番組", "podcast.playEpisode": "再生", "podcast.website": "Podcast ウェブ", - + // Actions "action.addToLibrary": "ライブラリに追加", "action.addToLibrary.success": "ライブラリに追加されました", @@ -190,9 +190,9 @@ "action.tray.show": "表示", "action.update": "アップデート", "action.copy": "コピー", - "action.newpreset": "ニュープリセット", // Equalizer Preset - "action.deletepreset": "プリセットを削除", // Equalizer Preset - + "action.newpreset": "ニュープリセット", // Equalizer Preset + "action.deletepreset": "プリセットを削除", // Equalizer Preset + // Settings - Audio "settings.header.audio": "オーディオ", "settings.header.audio.description": "Ciderのオーディオ設定", @@ -218,6 +218,7 @@ "settings.option.audio.enableAdvancedFunctionality.audioNormalization.description": "さまざまな曲の音量を均一にし、より整った音を楽しめるようにする機能です。", "settings.option.audio.enableAdvancedFunctionality.audioSpatialization": "オーディオ空間化", // Toggle "settings.option.audio.enableAdvancedFunctionality.audioSpatialization.description": "オーディオを空間に分散させる機能です。 (ドルビーアトモスではありません)", + // Settings - Visual "settings.header.visual": "ビジュアル", "settings.header.visual.description": "Ciderのビジュアル設定", @@ -237,10 +238,11 @@ "settings.option.visual.animatedWindowBackground": "アプリウィンドウの背景をアニメーション化", // Toggle "settings.option.visual.hardwareAcceleration": "ハードウェア アクセラレーション", // Dropdown "settings.option.visual.hardwareAcceleration.description": "アプリを再起動する必要があります", - "settings.header.visual.hardwareAcceleration.default": "既定", - "settings.header.visual.hardwareAcceleration.webGPU": "WebGPU", + "settings.header.visual.hardwareAcceleration.default": "既定", + "settings.header.visual.hardwareAcceleration.webGPU": "WebGPU", // Refer to term.disabled for the disabled option "settings.option.visual.showPersonalInfo": "プロフィールを表示", // Toggle + // Settings - General (Reserved) "settings.header.general": "一般", "settings.header.general.description": "Ciderの一般設定", @@ -252,7 +254,7 @@ "settings.option.lyrics.enableMusixmatchKaraoke": "カラオケモードを有効にする (Musixmatchのみ)", // Toggle "settings.option.lyrics.musixmatchPreferredLanguage": "歌詞の優先言語", // Dropdown "settings.option.lyrics.enableYoutubeLyrics": "YouTubeの歌詞をミュージックビデオに使用する", // Toggle - + // Settings - Connectivity "settings.header.connectivity": "アプリと連携", "settings.header.connectivity.description": "Ciderの連携設定", @@ -262,46 +264,48 @@ "settings.header.connectivity.discordRPC.appleMusic": "'Apple Music' を表示する", "settings.option.connectivity.discordRPC.clearOnPause": "一時停止時にDiscord Rich Presenceをクリアする", // Toggle "settings.option.connectivity.lastfmScrobble": "LastFM Scrobbling", // Option to Connect - "settings.option.connectivity.lastfmScrobble.delay": "LastFM Scrobble Delay (%)", - "settings.option.connectivity.lastfmScrobble.nowPlaying": "Enable LastFM Now Playing", - "settings.option.connectivity.lastfmScrobble.removeFeatured": "Remove featuring artists from song title (LastFM)", + "settings.option.connectivity.lastfmScrobble.delay": "LastFM Scrobble Delay (%)", + "settings.option.connectivity.lastfmScrobble.nowPlaying": "Enable LastFM Now Playing", + "settings.option.connectivity.lastfmScrobble.removeFeatured": "Remove featuring artists from song title (LastFM)", // Refer to term.connect for the connect button + // Settings - General - Update Cider + "settings.option.general.updateCider": "Cider 更新", // Button + // Settings - Experimental "settings.header.experimental": "試験的な機能", "settings.header.experimental.description": "開発中の実験的な機能は不完全で不安定である可能性があります", "settings.option.experimental.compactUI": "コンパクトインターフェース", // Toggle "settings.option.experimental.close_button_hide": "「閉じる」ボタンでアプリを隠します", // Dropdown - // Refer to term.disabled & term.enabled + // Refer to term.disabled & term.enabled // Spatialization Menu - "spatial.spatialProperties" : "空間化のプロパティ", - "spatial.width" : "幅", - "spatial.height" : "高さ", - "spatial.depth" : "奥行", - "spatial.gain" : "ゲイン", - "spatial.roomMaterials" : "部屋のマテリアル", - "spatial.roomDimensions" : "部屋の大きさ", - "spatial.roomPositions" : "部屋の位置", - "spatial.setDimensions" : "大きさを設定", - "spatial.setPositions" : "位置を設定", - "spatial.up" : "上", - "spatial.front" : "前", - "spatial.left" : "左", - "spatial.right" : "右", - "spatial.back" : "後", - "spatial.down" : "下", - "spatial.listener" : "リスナー", - "spatial.audioSource" : "音源", - + "spatial.spatialProperties": "空間化のプロパティ", + "spatial.width": "幅", + "spatial.height": "高さ", + "spatial.depth": "奥行", + "spatial.gain": "ゲイン", + "spatial.roomMaterials": "部屋のマテリアル", + "spatial.roomDimensions": "部屋の大きさ", + "spatial.roomPositions": "部屋の位置", + "spatial.setDimensions": "大きさを設定", + "spatial.setPositions": "位置を設定", + "spatial.up": "上", + "spatial.front": "前", + "spatial.left": "左", + "spatial.right": "右", + "spatial.back": "後", + "spatial.down": "下", + "spatial.listener": "リスナー", + "spatial.audioSource": "音源", + // Settings - Unfinished "settings.header.unfinished": "未完成", - + // Web Remote "remote.web.title": "Cider リモート", "remote.web.description": "QRコードを使用して、Ciderとスマートフォンをペアリングする", - + //About "about.thanks": "Cider Collective とご協力いただいた貢献者様に感謝申し上げます。" - -} +} \ No newline at end of file diff --git a/src/i18n/ko_KR.jsonc b/src/i18n/ko_KR.jsonc index 38bf5327..b821d188 100644 --- a/src/i18n/ko_KR.jsonc +++ b/src/i18n/ko_KR.jsonc @@ -1,14 +1,13 @@ { // Base File - // i18n Info "i18n.languageName": "한국어 (KR)", // name of language in native language "i18n.languageNameEnglish": "Korean (KR)", // name of language in English "i18n.category": "main", // main = real language, fun = fun community languages "i18n.authors": "@Hazealign", // Authors, if you contribute to this file feel free to add your name seperated with a space - + // App info "app.name": "Cider", - + "date.format": "${y}. ${m}. ${d}", // Dialogs @@ -19,6 +18,7 @@ "notification.updatingLibrarySongs": "라이브러리의 노래를 업데이트하는 중입니다...", "notification.updatingLibraryAlbums": "라이브러리의 앨범을 업데이트하는 중입니다...", "notification.updatingLibraryArtists": "라이브러리의 아티스트를 업데이트하는 중입니다...", + // Terms "term.appleInc": "Apple Inc.", // Follows brand term "term.appleMusic": "Apple Music", // Follows brand term @@ -127,7 +127,6 @@ "term.menu": "메뉴", "term.check": "확인", "term.aboutArtist": "{{artistName}}에 대하여", // e.g. 'About Doja Cat' - "term.updateCider": "Cider 업데이트", "term.topResult": "Top Result", // Search Results "term.sharedPlaylists": "공유 플레이리스트", // Search Results "term.people": "프로필", // Search Results @@ -143,7 +142,7 @@ "term.recordLabels": "레코드 레이블", "term.videoExtras": "추가 비디오", "term.top": "Top", - + // Home "home.title": "홈", "home.recentlyPlayed": "최근 재생한 항목", @@ -153,13 +152,14 @@ "home.madeForYou": "나만을 위한 추천", "home.friendsListeningTo": "친구가 듣는 음악", "home.followedArtists": "팔로우한 아티스트", + // Errors "error.appleMusicSubRequired": "Apple Music은 구독을 필요로 합니다.", "error.connectionError": "Apple Music에 연결하지 못했습니다.", "error.noResults": "결과 없음", "error.noResults.description": "다시 시도해주세요.", - - //Podcasts + + // Podcasts "podcast.followOnCider": "Cider에서 팔로우하기", "podcast.followedOnCider": "팔로우 중", "podcast.subscribeOnItunes": "iTunes에서 구독", @@ -168,7 +168,7 @@ "podcast.episodes": "방송", "podcast.playEpisode": "재생", "podcast.website": "팟캐스트 사이트", - + // Actions "action.addToLibrary": "보관함에 추가", "action.addToLibrary.success": "보관함에 추가됨", @@ -217,17 +217,20 @@ "action.copy": "복사", "action.newpreset": "새 프리셋", // Equalizer Preset "action.deletepreset": "프리셋 삭제", - + // Settings - General "settings.header.general": "일반", "settings.header.general.description": "Cider의 일반 기능을 설정합니다.", "settings.option.general.language": "언어", - + // Language optgroups "settings.option.general.language.main": "언어", "settings.option.general.language.fun": "재미를 위한 언어", "settings.option.general.language.unsorted": "미분류", + // Update Cider + "settings.option.general.updateCider": "Cider 업데이트", // Button + // Settings - Audio "settings.header.audio": "오디오", "settings.header.audio.description": "Cider의 오디오 기능을 설정합니다.", @@ -242,6 +245,7 @@ "settings.option.audio.enableAdvancedFunctionality.audioNormalization.description": "개별 트랙의 최대 볼륨을 정규화하여 보다 균일한 청취 경험을 제공합니다.", "settings.option.audio.enableAdvancedFunctionality.audioSpatialization": "오디오 공간화", // Toggle "settings.option.audio.enableAdvancedFunctionality.audioSpatialization.description": "오디오를 공간화하고 더욱 3차원적으로 만들어줍니다. (참고: 이 기능은 Dolby Atmos가 아닙니다.)", + // Settings - Visual "settings.header.visual": "시각", "settings.header.visual.description": "Cider의 시각 기능을 설정합니다.", @@ -265,14 +269,13 @@ "settings.header.visual.hardwareAcceleration.default": "기본", "settings.header.visual.hardwareAcceleration.webGPU": "WebGPU", "settings.header.visual.theme": "테마", - + // Settings - Visual - Theme name "settings.option.visual.theme.default": "Cider", "settings.option.visual.theme.dark": "다크", - // Refer to term.disabled for the disabled option "settings.option.visual.showPersonalInfo": "개인 정보 보기", // Toggle - + // Settings - Lyrics "settings.header.lyrics": "가사", "settings.header.lyrics.description": "Cider의 가사 기능을 설정합니다.", @@ -280,7 +283,7 @@ "settings.option.lyrics.enableMusixmatchKaraoke": "노래방 모드 활성화 (Musixmatch만 가능)", // Toggle "settings.option.lyrics.musixmatchPreferredLanguage": "Musixmatch 번역 선호 언어", // Dropdown "settings.option.lyrics.enableYoutubeLyrics": "뮤직 비디오에 대한 유튜브 자막 활성화", // Toggle - + // Settings - Connectivity "settings.header.connectivity": "연동", "settings.header.connectivity.description": "Cider의 연동 기능을 설정합니다.", @@ -296,16 +299,16 @@ "settings.option.connectivity.lastfmScrobble.removeFeatured": "곡 제목에서 피쳐링 아티스트를 제외하기 (Last.fm)", "settings.option.connectivity.lastfmScrobble.filterLoop": "루프 트랙을 필터하기 (Last.fm)", // Refer to term.connect for the connect button - + // Settings - Experimental "settings.header.experimental": "실험실", "settings.header.experimental.description": "Cider의 실험적 기능을 설정합니다.", "settings.option.experimental.compactUI": "컴팩트 UI", // Toggle "settings.option.experimental.close_button_hide": "닫기 버튼이 애플리케이션을 가릴 것입니다", "settings.option.experimental.copy_log": "로그를 클립보드에 복사하기", - "settings.option.experimental.inline_playlists": "인라인 플레이리스트 및 앨범", + "settings.option.experimental.inline_playlists": "인라인 플레이리스트 및 앨범", + // Refer to term.disabled & term.enabled - // Spatialization Menu "spatial.notTurnedOn": "오디오 공간화가 비활성화되어있습니다. 사용하기 전에 먼저 활성화해주세요.", "spatial.spatialProperties": "공간 설정", @@ -326,14 +329,14 @@ "spatial.down": "아래", "spatial.listener": "사용자", "spatial.audioSource": "오디오 소스", - + // Settings - Unfinished "settings.header.unfinished": "미완성", - + // Web Remote "remote.web.title": "Cider 리모트", "remote.web.description": "QR 코드를 스캔해서 Cider와 스마트폰을 연결하기", - + // About "about.thanks": "Cider Collective Team과 모든 기여자들에게 감사합니다." -} +} \ No newline at end of file diff --git a/src/i18n/sv_SE.jsonc b/src/i18n/sv_SE.jsonc index 22953aee..abdd2d29 100644 --- a/src/i18n/sv_SE.jsonc +++ b/src/i18n/sv_SE.jsonc @@ -1,24 +1,24 @@ { // Base File - // i18n Info - "i18n.languageName": "Svenska (SE)", // name of language in native language + "i18n.languageName": "Svenska (SE)", // name of language in native language "i18n.languageNameEnglish": "Swedish (SE)", // name of language in English "i18n.category": "main", // main = real language, fun = fun community languages "i18n.authors": "@thisismemeboi", // Authors, if you contribute to this file feel free to add your name seperated with a space - + // App info "app.name": "Cider", - + "date.format": "${d} ${m}, ${y}", // Dialogs "dialog.cancel": "Avbryt", "dialog.ok": "OK", - + // Notification "notification.updatingLibrarySongs": "Uppdaterar låtar i biblioteket...", "notification.updatingLibraryAlbums": "Uppdaterar album i biblioteket...", "notification.updatingLibraryArtists": "Uppdaterar artister i biblioteket...", + // Terms "term.appleInc": "Apple Inc.", "term.appleMusic": "Apple Music", @@ -91,10 +91,10 @@ "term.less": "Mindre", "term.showMore": "Visa mer", "term.showLess": "Visa mindre", - "term.topSongs" : "Topplåtar", + "term.topSongs": "Topplåtar", "term.latestReleases": "Senaste releaserna", "term.time.added": "Tillagd", - "term.time.released": "Tillagd den", + "term.time.released": "Tillagd den", "term.time.updated": "Uppdaterad", "term.time.hours": "timmar", "term.time.hour": "timme", @@ -121,12 +121,11 @@ "term.equalizer": "EQ", "term.reset": "Återställ", "term.tracks": "låtar", // Assume x amount of tracks. e.g. 50 tracks - "term.videos": "Videor", + "term.videos": "Videor", "term.menu": "Meny", "term.check": "Sök efter uppdateringar", "term.aboutArtist": "Om {{artistName}}", // e.g. 'About Doja Cat' - "term.updateCider": "Uppdatera Cider", - + // Home "home.title": "Hem", "home.recentlyPlayed": "Senast spelade", @@ -136,13 +135,14 @@ "home.madeForYou": "Skapat för dig", "home.friendsListeningTo": "Vänner lyssnar på", "home.followedArtists": "Följda artister", + // Errors "error.appleMusicSubRequired": "Apple Music kräver en prenumeration.", "error.connectionError": "Ojdå. Det gick inte att ansluta till Apple Music.", "error.noResults": "Inga träffar.", "error.noResults.description": "Prova en ny sökning.", - - //Podcasts + + // Podcasts "podcast.followOnCider": "Följ på Cider", "podcast.followedOnCider": "Följer på Cider", "podcast.subscribeOnItunes": "Följ på iTunes", @@ -151,7 +151,7 @@ "podcast.episodes": "Avsnitt", "podcast.playEpisode": "Spela avsnitt", "podcast.website": "Öppna webbsida", - + // Actions "action.addToLibrary": "Lägg till i bibliotek", "action.addToLibrary.success": "Tillagd i biblioteket", @@ -197,16 +197,19 @@ "action.tray.quit": "Avsluta", "action.tray.show": "Visa Cider", "action.update": "Uppdatera", - + // Settings - General "settings.header.general": "Allmänt", "settings.header.general.description": "Ändra Ciders allmänna inställningar.", "settings.option.general.language": "Språk", - + // Language optgroups "settings.option.general.language.main": "Språk", "settings.option.general.language.fun": "Roliga språk", "settings.option.general.language.unsorted": "Osorterade", + + // Update Cider + "settings.option.general.updateCider": "Uppdatera Cider", // Button // Settings - Audio "settings.header.audio": "Ljud", @@ -222,8 +225,9 @@ "settings.option.audio.enableAdvancedFunctionality.audioNormalization.description": "Normaliserar höga ljudnivåer för att förbättra ljudkvaliteten.", "settings.option.audio.enableAdvancedFunctionality.audioSpatialization": "Spiralljud", // Toggle "settings.option.audio.enableAdvancedFunctionality.audioSpatialization.description": "Gör ljudet mer 3D (Ej Dolby Atmos)", + // Settings - Visual - "settings.header.visual": "Visuellt", + "settings.header.visual": "Visuellt", "settings.header.visual.description": "Ändra Ciders visuella inställningar.", "settings.option.visual.windowBackgroundStyle": "Stil för bakgrunden", // Toggle "settings.header.visual.windowBackgroundStyle.none": "Ingen", @@ -242,11 +246,11 @@ "settings.option.visual.animatedWindowBackground": "Animerad fönsterbakgrund", // Toggle "settings.option.visual.hardwareAcceleration": "Hårdvaruacceleration", // Dropdown "settings.option.visual.hardwareAcceleration.description": "kräver omstart", - "settings.header.visual.hardwareAcceleration.default": "Standard", - "settings.header.visual.hardwareAcceleration.webGPU": "WebGPU", + "settings.header.visual.hardwareAcceleration.default": "Standard", + "settings.header.visual.hardwareAcceleration.webGPU": "WebGPU", // Refer to term.disabled for the disabled option "settings.option.visual.showPersonalInfo": "Visa personlig information", // Toggle - + // Settings - Lyrics "settings.header.lyrics": "Låttext", "settings.header.lyrics.description": "Ändra Ciders låttextsinställningar.", @@ -254,7 +258,7 @@ "settings.option.lyrics.enableMusixmatchKaraoke": "Aktivera karaokeläge (Endast Musixmatch)", // Toggle "settings.option.lyrics.musixmatchPreferredLanguage": "Språk för låttextsöversättning (Endast Musixmatch)", // Dropdown "settings.option.lyrics.enableYoutubeLyrics": "Använd YouTube Lyrcis för videor", // Toggle - + // Settings - Connectivity "settings.header.connectivity": "Anslutning", "settings.header.connectivity.description": "Ändra Ciders anslutningsinställningar.", @@ -265,19 +269,19 @@ "settings.header.connectivity.discordRPC.appleMusic": "På, visa som 'Apple Music'", "settings.option.connectivity.discordRPC.clearOnPause": "Rensa Discord notiser från Cider när du pausar", // Toggle "settings.option.connectivity.lastfmScrobble": "Last.fm integration", // Option to Connect - "settings.option.connectivity.lastfmScrobble.delay": "Last.fm fördröjning i %", - "settings.option.connectivity.lastfmScrobble.nowPlaying": "Visa vad som spelas nu i Last.fm", - "settings.option.connectivity.lastfmScrobble.removeFeatured": "Visa inte extraartister i Last.fm", - "settings.option.connectivity.lastfmScrobble.filterLoop": "Filtrera bort loopade låtar i Last.fm", + "settings.option.connectivity.lastfmScrobble.delay": "Last.fm fördröjning i %", + "settings.option.connectivity.lastfmScrobble.nowPlaying": "Visa vad som spelas nu i Last.fm", + "settings.option.connectivity.lastfmScrobble.removeFeatured": "Visa inte extraartister i Last.fm", + "settings.option.connectivity.lastfmScrobble.filterLoop": "Filtrera bort loopade låtar i Last.fm", // Refer to term.connect for the connect button - + // Settings - Experimental "settings.header.experimental": "Experimentellt", "settings.header.experimental.description": "Ändra Ciders experimentella inställningar.", "settings.option.experimental.compactUI": "Kompakt gränssnitt", // Toggle "settings.option.experimental.close_button_hide": "Stängknappen gömmer Cider istället", + // Refer to term.disabled & term.enabled - // Spatialization Menu "spatial.notTurnedOn": "Spiralljud är av. Akrtivera det först.", "spatial.spatialProperties": "Spiralljudsintällningar", @@ -301,11 +305,11 @@ // Settings - Unfinished "settings.header.unfinished": "Ej tillgängligt", - + // Web Remote "remote.web.title": "Cider fjärrkontroll", "remote.web.description": "Skanna QR koden för att ansluta din telefon till Cider.", - + // About "about.thanks": "Stort tack till Ciders Collective Team och alla som har bidragit!" -} +} \ No newline at end of file diff --git a/src/i18n/zh_CN.jsonc b/src/i18n/zh_CN.jsonc index 2c163650..8844e83b 100644 --- a/src/i18n/zh_CN.jsonc +++ b/src/i18n/zh_CN.jsonc @@ -1,24 +1,24 @@ -{ +{ + // i18n Info + "i18n.languageName": "简体中文(中国)", // name of language in native language + "i18n.languageNameEnglish": "Simp. Chinese (China)", // name of language in English + "i18n.category": "main", // main = real language, fun = fun community languages + "i18n.authors": "@maikirakiwi", // Authors, if you contribute to this file feel free to add your name seperated with a space + // App info "app.name": "Cider", "date.format": "${y}年${m}月${d}日", - // i18n Info - "i18n.languageName": "简体中文(中国)", // name of language in native language - "i18n.languageNameEnglish": "Simp. Chinese (China)", // name of language in English - "i18n.category": "main", // main = real language, fun = fun community languages - "i18n.authors": "@maikirakiwi", // Authors, if you contribute to this file feel free to add your name seperated with a space - // Dialogs "dialog.cancel": "取消", "dialog.ok": "确定", - + // Notification "notification.updatingLibrarySongs": "正在更新资料库的歌曲信息...", "notification.updatingLibraryAlbums": "正在更新资料库的专辑信息...", "notification.updatingLibraryArtists": "正在更新资料库的艺人信息...", - + // Terms "term.appleMusic": "Apple Music", // Follows brand term "term.applePodcasts": "Apple Podcasts", // Follows brand term @@ -85,10 +85,10 @@ "term.less": "较少", "term.showMore": "显示更多", "term.showLess": "显示更少", - "term.topSongs" : "热门歌曲", + "term.topSongs": "热门歌曲", "term.latestReleases": "最新发行", "term.time.added": "添加于", - "term.time.released": "发行于", + "term.time.released": "发行于", "term.time.updated": "更新于", "term.time.hours": "小时", "term.time.hour": "小时", @@ -114,12 +114,11 @@ "term.equalizer": "均衡器", "term.reset": "重置", "term.tracks": "首歌曲", // Assume x amount of tracks. e.g. 50 tracks - "term.videos": "视频", + "term.videos": "视频", "term.menu": "菜单", "term.check": "检查", "term.aboutArtist": "关于{{artistName}}", // e.g. 'About Doja Cat' - "term.updateCider": "更新 Cider", - + // Home "home.title": "主页", "home.recentlyPlayed": "最近播放", @@ -129,14 +128,14 @@ "home.madeForYou": "专属推荐", "home.friendsListeningTo": "朋友正在听", "home.followedArtists": "关注的艺人", - + // Errors "error.appleMusicSubRequired": "需要订阅 Apple Music 以使用 Cider", "error.connectionError": "无法连接到 Apple Music。", "error.noResults": "没有结果", "error.noResults.description": "尝试更改搜索条件。", - //Podcasts + // Podcasts "podcast.followOnCider": "在 Cider 中追踪", "podcast.followedOnCider": "已追踪", "podcast.subscribeOnItunes": "在 iTunes 上订阅", @@ -145,8 +144,7 @@ "podcast.episodes": "单集", "podcast.playEpisode": "播放单集", "podcast.website": "Podcast 网站", - - + // Actions "action.addToLibrary": "加入资料库", "action.addToLibrary.success": "成功加入资料库", @@ -192,7 +190,6 @@ "action.tray.show": "显示", "action.update": "更新", - // Settings - Audio "settings.header.audio": "音频", "settings.header.audio.description": "调整 Cider 的音频设置", @@ -214,6 +211,7 @@ "settings.option.audio.enableAdvancedFunctionality.audioNormalization.description": "使所感知到的音频响度统一", "settings.option.audio.enableAdvancedFunctionality.audioSpatialization": "音频空间化", // Toggle "settings.option.audio.enableAdvancedFunctionality.audioSpatialization.description": "使所感知到的音频更有立体感 (注: 这不是杜比全景声)", + // Settings - Visual "settings.header.visual": "外观", "settings.header.visual.description": "调整 Cider 的外观", @@ -233,13 +231,17 @@ "settings.option.visual.animatedWindowBackground": "动态窗口背景", // Toggle "settings.option.visual.hardwareAcceleration": "硬件加速", // Dropdown "settings.option.visual.hardwareAcceleration.description": "需要重启 Cider 才会生效", - "settings.header.visual.hardwareAcceleration.default": "默认", - "settings.header.visual.hardwareAcceleration.webGPU": "WebGPU", + "settings.header.visual.hardwareAcceleration.default": "默认", + "settings.header.visual.hardwareAcceleration.webGPU": "WebGPU", // Refer to term.disabled for the disabled option "settings.option.visual.showPersonalInfo": "显示个人资料", // Toggle + // Settings - General (Reserved) "settings.header.general": "通用", "settings.header.general.description": "调整 Cider 的通用设置", + + // Settings - General - Update Cider + "settings.option.general.updateCider": "更新 Cider", // Button // Settings - Lyrics "settings.header.lyrics": "歌词", @@ -248,7 +250,7 @@ "settings.option.lyrics.enableMusixmatchKaraoke": "启用卡拉 OK 模式(仅 Musixmatch)", // Toggle "settings.option.lyrics.musixmatchPreferredLanguage": "Musixmatch 歌词语言偏好", // Dropdown "settings.option.lyrics.enableYoutubeLyrics": "播放 MV 时使用 YouTube 歌词", // Toggle - + // Settings - Connectivity "settings.header.connectivity": "外部连接", "settings.header.connectivity.description": "调整Cider与外部应用的交互设置", @@ -258,45 +260,45 @@ "settings.header.connectivity.discordRPC.appleMusic": "显示正在玩 'Apple Music'", "settings.option.connectivity.discordRPC.clearOnPause": "暂停时清除Discord 动态", // Toggle "settings.option.connectivity.lastfmScrobble": "LastFM Scrobbling 记录", // Option to Connect - "settings.option.connectivity.lastfmScrobble.delay": "LastFM Scrobble 延迟 (%)", - "settings.option.connectivity.lastfmScrobble.nowPlaying": "启用 LastFM 正在播放", - "settings.option.connectivity.lastfmScrobble.removeFeatured": "从歌名里去除艺人推荐 (LastFM)", + "settings.option.connectivity.lastfmScrobble.delay": "LastFM Scrobble 延迟 (%)", + "settings.option.connectivity.lastfmScrobble.nowPlaying": "启用 LastFM 正在播放", + "settings.option.connectivity.lastfmScrobble.removeFeatured": "从歌名里去除艺人推荐 (LastFM)", // Refer to term.connect for the connect button - + // Settings - Experimental "settings.header.experimental": "实验性功能", "settings.header.experimental.description": "调整Cider的实验性功能", "settings.option.experimental.compactUI": "紧凑型 UI", // Toggle "settings.option.experimental.close_button_hide": "点击关闭按钮时仅隐藏窗口", - // Refer to term.disabled & term.enabled + // Refer to term.disabled & term.enabled // Spatialization Menu - "spatial.spatialProperties" : "空间属性", - "spatial.width" : "宽度", - "spatial.height" : "高度", - "spatial.depth" : "深度", + "spatial.spatialProperties": "空间属性", + "spatial.width": "宽度", + "spatial.height": "高度", + "spatial.depth": "深度", "spatial.gain": "增益", - "spatial.roomMaterials" : "空间材质", - "spatial.roomDimensions" : "空间尺寸", - "spatial.roomPositions" : "空间位置", - "spatial.setDimensions" : "设置尺寸", - "spatial.setPositions" : "设置位置", - "spatial.up" : "上", - "spatial.front" : "前", - "spatial.left" : "左", - "spatial.right" : "右", - "spatial.back" : "后", - "spatial.down" : "下", - "spatial.listener" : "您", - "spatial.audioSource" : "音源", - + "spatial.roomMaterials": "空间材质", + "spatial.roomDimensions": "空间尺寸", + "spatial.roomPositions": "空间位置", + "spatial.setDimensions": "设置尺寸", + "spatial.setPositions": "设置位置", + "spatial.up": "上", + "spatial.front": "前", + "spatial.left": "左", + "spatial.right": "右", + "spatial.back": "后", + "spatial.down": "下", + "spatial.listener": "您", + "spatial.audioSource": "音源", + // Settings - Unfinished "settings.header.unfinished": "未完成", - + // Web Remote "remote.web.title": "Cider 远程控制", "remote.web.description": "扫描以下的二维码以控制 Cider", - + //About "about.thanks": "郑重感谢 Cider Collective 以及为这个项目提供支持的贡献者。" -} +} \ No newline at end of file diff --git a/src/i18n/zh_HK.jsonc b/src/i18n/zh_HK.jsonc index 39a735b8..b0618dae 100644 --- a/src/i18n/zh_HK.jsonc +++ b/src/i18n/zh_HK.jsonc @@ -1,24 +1,24 @@ { - // i18n Info - "i18n.languageName": "繁體中文(香港)", // name of language in native language + "i18n.languageName": "繁體中文(香港)", // name of language in native language "i18n.languageNameEnglish": "Trad. Chinese (Hong Kong)", // name of language in English "i18n.category": "main", // main = real language, fun = fun community languages "i18n.authors": "@kyw504100 @maikirakiwi", // Authors, if you contribute to this file feel free to add your name seperated with a space - + // App info "app.name": "Cider", - - "date.format": "${y}年${m}月${d}日", - + + "date.format": "${y}年${m}月${d}日", + // Dialogs "dialog.cancel": "取消", "dialog.ok": "確認", - + // Notification "notification.updatingLibrarySongs": "正在更新資料庫的歌曲...", "notification.updatingLibraryAlbums": "正在更新資料庫的專輯...", "notification.updatingLibraryArtists": "正在更新資料庫的藝人...", + // Terms "term.appleInc": "Apple Inc.", "term.appleMusic": "Apple Music", // Follows brand term @@ -93,10 +93,10 @@ "term.less": "較少", "term.showMore": "顯示更多", "term.showLess": "顯示較少", - "term.topSongs" : "熱門歌曲", + "term.topSongs": "熱門歌曲", "term.latestReleases": "最新發行", "term.time.added": "加入於", - "term.time.released": "發行於", + "term.time.released": "發行於", "term.time.updated": "更新於", "term.time.hours": "小時", "term.time.hour": "小時", @@ -123,12 +123,11 @@ "term.equalizer": "均衡器", "term.reset": "重設", "term.tracks": "首歌曲", // Assume x amount of tracks. e.g. 50 tracks - "term.videos": "影片", - "term.menu": "選項", + "term.videos": "影片", + "term.menu": "選項", "term.check": "檢查", "term.aboutArtist": "關於 {{artistName}}", // e.g. 'About Doja Cat' - "term.updateCider": "更新 Cider", - "term.topResult": "熱門搜尋結果", // Search Results + "term.topResult": "熱門搜尋結果", // Search Results "term.sharedPlaylists": "播放列表", // Search Results "term.people": "個人檔案", // Search Results "term.newpreset.name": "新均衡器範本名稱", // Equalizer Preset @@ -137,13 +136,13 @@ "term.deletedpreset": "已刪除", "term.musicVideos": "MV", // Search page friendlyTypes "term.stations": "電台", - //"term.curators": "Curators", - //"term.appleCurators": "Apple Curators", + //"term.curators": "Curators", + //"term.appleCurators": "Apple Curators", "term.radioShows": "廣播單集", "term.recordLabels": "唱片公司", "term.videoExtras": "影片特輯", - //"term.top": "Top", - + //"term.top": "Top", + // Home "home.title": "主頁", "home.recentlyPlayed": "最近播放", @@ -153,13 +152,14 @@ "home.madeForYou": "為您推薦", "home.friendsListeningTo": "朋友正在聆聽", "home.followedArtists": "追蹤的藝人", + // Errors "error.appleMusicSubRequired": "需要訂閱Apple Music以使用Cider", "error.connectionError": "無法連接到 Apple Music。", "error.noResults": "沒有結果", "error.noResults.description": "請嘗試新的搜尋內容。", - - //Podcasts + + // Podcasts "podcast.followOnCider": "在Cider上追蹤", "podcast.followedOnCider": "已在Cider上追蹤", "podcast.subscribeOnItunes": "在iTunes上訂閱", @@ -168,7 +168,7 @@ "podcast.episodes": "單集", "podcast.playEpisode": "播放單集", "podcast.website": "Podcast 網頁", - + // Actions "action.addToLibrary": "加入資料庫", "action.addToLibrary.success": "成功加入資料庫", @@ -215,7 +215,7 @@ "action.tray.show": "顯示", "action.update": "更新", "action.copy": "複製", - "action.newpreset": "新增範本", //Equallizer preset + "action.newpreset": "新增範本", //Equallizer preset "action.deletepreset": "刪除範本", // Settings - General @@ -227,6 +227,9 @@ "settings.option.general.language.main": "語言", "settings.option.general.language.fun": "惡搞語言", "settings.option.general.language.unsorted": "未分類", + + // Update Cider + "settings.option.general.updateCider": "更新 Cider", // Button // Settings - Audio "settings.header.audio": "音訊", @@ -248,6 +251,7 @@ "settings.option.audio.enableAdvancedFunctionality.audioNormalization.description": "將平衡輕柔和響亮的歌曲,建立更統一的聆聽體驗。", "settings.option.audio.enableAdvancedFunctionality.audioSpatialization": "空間音訊", // Toggle "settings.option.audio.enableAdvancedFunctionality.audioSpatialization.description": "將音訊進行空間化處理來製造一個更立體的聆聽體驗(注:此功能不是官方的杜比全景聲)", + // Settings - Visual "settings.header.visual": "外觀", "settings.header.visual.description": "調整Cider的外觀", @@ -268,14 +272,13 @@ "settings.option.visual.animatedWindowBackground": "動態窗口背景", // Toggle "settings.option.visual.hardwareAcceleration": "硬體加速", // Dropdown "settings.option.visual.hardwareAcceleration.description": "需要重啓 Cider 才能生效", - "settings.header.visual.hardwareAcceleration.default": "預設", - "settings.header.visual.hardwareAcceleration.webGPU": "WebGPU", + "settings.header.visual.hardwareAcceleration.default": "預設", + "settings.header.visual.hardwareAcceleration.webGPU": "WebGPU", "settings.header.visual.theme": "主題", - + // Settings - Visual - Theme name "settings.option.visual.theme.default": "預設", "settings.option.visual.theme.dark": "午夜暗", - // Refer to term.disabled for the disabled option "settings.option.visual.showPersonalInfo": "顯示個人檔案", // Toggle @@ -286,7 +289,7 @@ "settings.option.lyrics.enableMusixmatchKaraoke": "啟用卡拉OK模式(僅限Musixmatch)", // Toggle "settings.option.lyrics.musixmatchPreferredLanguage": "Musixmatch 歌詞語言偏好", // Dropdown "settings.option.lyrics.enableYoutubeLyrics": "播放 MV 時使用 YouTube 歌詞", // Toggle - + // Settings - Connectivity "settings.header.connectivity": "外部連結", "settings.header.connectivity.description": "調整Cider與外部的連結", @@ -300,46 +303,46 @@ "settings.option.connectivity.lastfmScrobble.delay": "Last.fm Scrobble 延遲 (%)", "settings.option.connectivity.lastfmScrobble.nowPlaying": "啟用 Last.fm 正在播放", "settings.option.connectivity.lastfmScrobble.removeFeatured": "從歌名中移除藝人推薦 (Last.fm)", - //"settings.option.connectivity.lastfmScrobble.filterLoop": "Filter looped track (Last.fm)", + //"settings.option.connectivity.lastfmScrobble.filterLoop": "Filter looped track (Last.fm)", // Refer to term.connect for the connect button - + // Settings - Experimental "settings.header.experimental": "實驗性功能", "settings.header.experimental.description": "調整Cider的實驗性功能", "settings.option.experimental.compactUI": "緊凑型 UI", // Toggle "settings.option.experimental.close_button_hide": "以關閉按鈕來隱藏 Cider", "settings.option.experimental.copy_log": "複製運行記錄檔至剪貼簿", - //"settings.option.experimental.inline_playlists": "Inline Playlists and Albums", - // Refer to term.disabled & term.enabled + //"settings.option.experimental.inline_playlists": "Inline Playlists and Albums", + // Refer to term.disabled & term.enabled // Spatialization Menu "spatial.notTurnedOn": "請先在設定中啟用空間音訊。", - "spatial.spatialProperties" : "空間音訊屬性", - "spatial.width" : "闊度", - "spatial.height" : "高度", - "spatial.depth" : "深度", - "spatial.gain" : "增益", - "spatial.roomMaterials" : "空間材質", - "spatial.roomDimensions" : "空間大小", - "spatial.roomPositions" : "空間位置", - "spatial.setDimensions" : "大小設定", - "spatial.setPositions" : "位置設定", - "spatial.up" : "上方", - "spatial.front" : "前方", - "spatial.left" : "左方", - "spatial.right" : "右方", - "spatial.back" : "後方", - "spatial.down" : "下方", - "spatial.listener" : "觀眾", - "spatial.audioSource" : "音源", - + "spatial.spatialProperties": "空間音訊屬性", + "spatial.width": "闊度", + "spatial.height": "高度", + "spatial.depth": "深度", + "spatial.gain": "增益", + "spatial.roomMaterials": "空間材質", + "spatial.roomDimensions": "空間大小", + "spatial.roomPositions": "空間位置", + "spatial.setDimensions": "大小設定", + "spatial.setPositions": "位置設定", + "spatial.up": "上方", + "spatial.front": "前方", + "spatial.left": "左方", + "spatial.right": "右方", + "spatial.back": "後方", + "spatial.down": "下方", + "spatial.listener": "觀眾", + "spatial.audioSource": "音源", + // Settings - Unfinished "settings.header.unfinished": "未完成", - + // Web Remote "remote.web.title": "遙距控制 Cider", "remote.web.description": "掃描以下的二維碼以控制 Cider", - - //About + + // About "about.thanks": "感謝 Cider Collective 以及所有貢獻者所作出的貢獻。" } \ No newline at end of file diff --git a/src/i18n/zh_TW.jsonc b/src/i18n/zh_TW.jsonc index c1e99179..5a7ef4da 100644 --- a/src/i18n/zh_TW.jsonc +++ b/src/i18n/zh_TW.jsonc @@ -1,24 +1,24 @@ { - // App info - "app.name": "Cider", - - "date.format": "${y}年${m}月${d}日", - // i18n Info - "i18n.languageName": "繁體中文(台灣)", // name of language in native language + "i18n.languageName": "繁體中文(台灣)", // name of language in native language "i18n.languageNameEnglish": "Trad. Chinese (Taiwan)", // name of language in English "i18n.category": "main", // main = real language, fun = fun community languages "i18n.authors": "@maikirakiwi @jay900604", // Authors, if you contribute to this file feel free to add your name seperated with a space + // App info + "app.name": "Cider", + + "date.format": "${y}年${m}月${d}日", // Dialogs "dialog.cancel": "取消", "dialog.ok": "確定", - + // Notification "notification.updatingLibrarySongs": "正在更新資料庫的歌曲...", "notification.updatingLibraryAlbums": "正在更新資料庫的專輯...", "notification.updatingLibraryArtists": "正在更新資料庫的藝人...", + // Terms "term.appleMusic": "Apple Music", // Follows brand term "term.applePodcasts": "Apple Podcasts", // Follows brand term @@ -86,10 +86,10 @@ "term.less": "更少", "term.showMore": "顯示更多", "term.showLess": "顯示更少", - "term.topSongs" : "熱門歌曲", + "term.topSongs": "熱門歌曲", "term.latestReleases": "最新發行", "term.time.added": "加入於", - "term.time.released": "發行於", + "term.time.released": "發行於", "term.time.updated": "更改於", "term.time.hours": "小時", "term.time.hour": "小時", @@ -116,11 +116,10 @@ "term.equalizer": "等化器", "term.reset": "重設", "term.tracks": "首歌曲", // Assume x amount of tracks. e.g. 50 tracks - "term.videos": "影片", + "term.videos": "影片", "term.menu": "選單", "term.check": "檢查", "term.aboutArtist": "關於{{artistName}}", // e.g. 'About Doja Cat' - "term.updateCider": "更新 Cider", // Home "home.title": "首頁", @@ -131,13 +130,14 @@ "home.madeForYou": "為您推薦", "home.friendsListeningTo": "朋友正在聆聽", "home.followedArtists": "追蹤的藝人", + // Errors "error.appleMusicSubRequired": "需要訂閱 Apple Music 以使用 Cider", "error.connectionError": "無法連接到 Apple Music。", "error.noResults": "沒有結果", "error.noResults.description": "嘗試新的搜尋項目。", - - //Podcasts + + // Podcasts "podcast.followOnCider": "在 Cider 上追蹤", "podcast.followedOnCider": "已追蹤", "podcast.subscribeOnItunes": "在 iTunes 上訂閱", @@ -146,7 +146,7 @@ "podcast.episodes": "單集", "podcast.playEpisode": "播放單集", "podcast.website": "Podcast 網站", - + // Actions "action.addToLibrary": "加入資料庫", "action.addToLibrary.success": "成功加入資料庫", @@ -199,6 +199,9 @@ "settings.option.general.language.main": "語言", "settings.option.general.language.fun": "特殊語言", "settings.option.general.language.unsorted": "未分類", + + // Update Cider + "settings.option.general.updateCider": "更新 Cider", // Button // Settings - Audio "settings.header.audio": "音訊", @@ -225,6 +228,7 @@ "settings.option.audio.enableAdvancedFunctionality.audioNormalization.description": "將平衡輕柔和響亮的歌曲,建立更統一舒適的聆聽體驗。", "settings.option.audio.enableAdvancedFunctionality.audioSpatialization": "空間音訊", // Toggle "settings.option.audio.enableAdvancedFunctionality.audioSpatialization.description": "將音訊進行空間化處理來製造一個更立體的聆聽體驗(註:此功能不是官方的杜比全景聲)", + // Settings - Visual "settings.header.visual": "外觀", "settings.header.visual.description": "調整 Cider 的外觀", @@ -245,14 +249,15 @@ "settings.option.visual.animatedWindowBackground": "動態視窗背景", // Toggle "settings.option.visual.hardwareAcceleration": "硬體加速", // Dropdown "settings.option.visual.hardwareAcceleration.description": "需要重新啟動 Cider 才會套用", - "settings.header.visual.hardwareAcceleration.default": "預設", - "settings.header.visual.hardwareAcceleration.webGPU": "WebGPU", + "settings.header.visual.hardwareAcceleration.default": "預設", + "settings.header.visual.hardwareAcceleration.webGPU": "WebGPU", "settings.header.visual.theme": "主題", // Settings - Visual - Theme name "settings.option.visual.theme.default": "Cider", "settings.option.visual.theme.dark": "暗黑模式", // Refer to term.disabled for the disabled option "settings.option.visual.showPersonalInfo": "顯示個人檔案", // Toggle + // Settings - General (Reserved) "settings.header.general": "一般", "settings.header.general.description": "調整 Cider 的一般設定", @@ -264,7 +269,7 @@ "settings.option.lyrics.enableMusixmatchKaraoke": "啟用K歌模式(僅限Musixmatch)", // Toggle "settings.option.lyrics.musixmatchPreferredLanguage": "Musixmatch 歌詞語言偏好", // Dropdown "settings.option.lyrics.enableYoutubeLyrics": "播放 MV 時使用 YouTube 歌詞", // Toggle - + // Settings - Connectivity "settings.header.connectivity": "外部連接", "settings.header.connectivity.description": "調整 Cider 與外部的連接", @@ -275,11 +280,11 @@ "settings.header.connectivity.discordRPC.appleMusic": "顯示正在玩 'Apple Music'", "settings.option.connectivity.discordRPC.clearOnPause": "暫停時清除 Discord 動態", // Toggle "settings.option.connectivity.lastfmScrobble": "LastFM Scrobbling 記錄", // Option to Connect - "settings.option.connectivity.lastfmScrobble.delay": "LastFM Scrobble 延遲 (%)", + "settings.option.connectivity.lastfmScrobble.delay": "LastFM Scrobble 延遲 (%)", "settings.option.connectivity.lastfmScrobble.nowPlaying": "啟用 LastFM 目前聆聽", // Toggle - "settings.option.connectivity.lastfmScrobble.removeFeatured": "從歌名中移除藝人推薦 (LastFM)", + "settings.option.connectivity.lastfmScrobble.removeFeatured": "從歌名中移除藝人推薦 (LastFM)", // Refer to term.connect for the connect button - + // Settings - Experimental "settings.header.experimental": "實驗性功能", "settings.header.experimental.description": "調整 Cider 的實驗性功能", @@ -288,8 +293,8 @@ "settings.option.experimental.close_button_hide": "關閉按鈕將 Cider 隱藏至系統列", "settings.option.experimental.copy_log": "複製執行紀錄檔至剪貼簿", "settings.option.experimental.inline_playlists": "將播放列表做為行内元素顯示", - // Refer to term.disabled & term.enabled + // Refer to term.disabled & term.enabled // Spatialization Menu "spatial.notTurnedOn": "空間音訊目前是關閉狀態,請先啟用再使用。", "spatial.spatialProperties" : "空間音訊屬性設定", @@ -317,7 +322,7 @@ // Web Remote "remote.web.title": "Cider 遠端操控", "remote.web.description": "掃描以下的行動條碼以操控 Cider", - + //About "about.thanks": "著重感謝 Cider Collective 的成員以及所有為項目付出的貢獻者。" -} +} \ No newline at end of file diff --git a/src/i18n/zh_yue.jsonc b/src/i18n/zh_yue.jsonc index e3692746..6fec3bfb 100644 --- a/src/i18n/zh_yue.jsonc +++ b/src/i18n/zh_yue.jsonc @@ -1,24 +1,24 @@ { - // i18n Info "i18n.languageName": "廣東話(香港)", // name of language in native language "i18n.languageNameEnglish": "Cantonese (Hong Kong)", // name of language in English "i18n.category": "main", // main = real language, fun = fun community languages "i18n.authors": "@tszngaiyip @strikesnc", // Authors, if you contribute to this file feel free to add your name seperated with a space - + // App info "app.name": "Cider", - + "date.format": "${y}年${m}月${d}日", // Dialogs "dialog.cancel": "取消", "dialog.ok": "確認", - + // Notification "notification.updatingLibrarySongs": "更新緊資料庫嘅歌曲...", "notification.updatingLibraryAlbums": "更新緊資料庫嘅專輯...", "notification.updatingLibraryArtists": "更新緊資料庫嘅藝人...", + // Terms "term.appleInc": "Apple Inc.", "term.appleMusic": "Apple Music", @@ -93,10 +93,10 @@ "term.less": "少啲", "term.showMore": "顯示多啲", "term.showLess": "顯示少啲", - "term.topSongs" : "熱門歌曲", + "term.topSongs": "熱門歌曲", "term.latestReleases": "最新出嘅", "term.time.added": "加入於", - "term.time.released": "發行於", + "term.time.released": "發行於", "term.time.updated": "更新於", "term.time.hours": "粒鐘", "term.time.hour": "粒鐘", @@ -123,12 +123,11 @@ "term.equalizer": "均衡器 (EQ)", "term.reset": "重設", "term.tracks": "首歌", // Assume x amount of tracks. e.g. 50 tracks - "term.videos": "影片", - "term.menu": "選項", + "term.videos": "影片", + "term.menu": "選項", "term.check": "檢查", "term.aboutArtist": "關於 {{artistName}}", // e.g. 'About Doja Cat' - "term.updateCider": "更新 Cider", - "term.topResult": "熱門搜尋結果", // Search Results + "term.topResult": "熱門搜尋結果", // Search Results "term.sharedPlaylists": "播放清單", // Search Results "term.people": "個人檔案", // Search Results "term.newpreset.name": "新EQ範本嘅名", // Equalizer Preset @@ -137,12 +136,12 @@ "term.deletedpreset": "刪除咗", "term.musicVideos": "MV", // Search page friendlyTypes "term.stations": "電台", - //"term.curators": "Curators", - //"term.appleCurators": "Apple Curators", + //"term.curators": "Curators", + //"term.appleCurators": "Apple Curators", "term.radioShows": "電台單集", "term.recordLabels": "唱片公司", "term.videoExtras": "相關嘅片", - //"term.top": "Top", + //"term.top": "Top", // Home "home.title": "主頁", @@ -153,13 +152,14 @@ "home.madeForYou": "為你而整", "home.friendsListeningTo": "你啲Friend聽緊", "home.followedArtists": "Follow左嘅藝人", + // Errors "error.appleMusicSubRequired": "需要訂閱Apple Music先可以用Cider。", "error.connectionError": "連接唔到Apple Music。", "error.noResults": "冇結果。", "error.noResults.description": "重新搵過啦。", - - //Podcasts + + // Podcasts "podcast.followOnCider": "喺Cider上Follow", "podcast.followedOnCider": "喺Cider上Follow左", "podcast.subscribeOnItunes": "喺iTunes上訂閱", @@ -168,7 +168,7 @@ "podcast.episodes": "單集", "podcast.playEpisode": "播呢集", "podcast.website": "Podcast 網頁", - + // Actions "action.addToLibrary": "加入資料庫", "action.addToLibrary.success": "加入咗資料庫", @@ -215,18 +215,21 @@ "action.tray.show": "顯示", "action.update": "更新", "action.copy": "複製", - "action.newpreset": "新增範本", // Equalizer Preset + "action.newpreset": "新增範本", // Equalizer Preset "action.deletepreset": "刪除範本", - + // Settings - General "settings.header.general": "一般", "settings.header.general.description": "調整Cider嘅一般設定", "settings.option.general.language": "語言", - + // Language optgroups "settings.option.general.language.main": "語言", "settings.option.general.language.fun": "惡搞語言", "settings.option.general.language.unsorted": "未分類", + + // Update Cider + "settings.option.general.updateCider": "更新 Cider", // Button // Settings - Audio "settings.header.audio": "音訊", @@ -242,8 +245,9 @@ "settings.option.audio.enableAdvancedFunctionality.audioNormalization.description": "平衡輕柔同響亮嘅歌曲,令你有統一嘅聆聽體驗。", "settings.option.audio.enableAdvancedFunctionality.audioSpatialization": "空間音訊", // Toggle "settings.option.audio.enableAdvancedFunctionality.audioSpatialization.description": "空間化音訊,製造一個更立體嘅聆聽體驗(注意:呢個功能唔係官方嘅杜比全景聲)", + // Settings - Visual - "settings.header.visual": "外觀", + "settings.header.visual": "外觀", "settings.header.visual.description": "調整Cider嘅外觀", "settings.option.visual.windowBackgroundStyle": "視窗背景樣式", // Toggle "settings.header.visual.windowBackgroundStyle.none": "空白", @@ -262,17 +266,16 @@ "settings.option.visual.animatedWindowBackground": "動態視窗背景", // Toggle "settings.option.visual.hardwareAcceleration": "硬體加速", // Dropdown "settings.option.visual.hardwareAcceleration.description": "需要重開Cider先會生效", - "settings.header.visual.hardwareAcceleration.default": "預設", - "settings.header.visual.hardwareAcceleration.webGPU": "WebGPU", + "settings.header.visual.hardwareAcceleration.default": "預設", + "settings.header.visual.hardwareAcceleration.webGPU": "WebGPU", "settings.header.visual.theme": "主題", - + // Settings - Visual - Theme name "settings.option.visual.theme.default": "預設", "settings.option.visual.theme.dark": "黑色", - // Refer to term.disabled for the disabled option "settings.option.visual.showPersonalInfo": "顯示個人檔案", // Toggle - + // Settings - Lyrics "settings.header.lyrics": "歌詞", "settings.header.lyrics.description": "調整Cider嘅歌詞設定", @@ -280,7 +283,7 @@ "settings.option.lyrics.enableMusixmatchKaraoke": "開啟唱K模式(僅限Musixmatch)", // Toggle "settings.option.lyrics.musixmatchPreferredLanguage": "Musixmatch 歌詞語言偏好", // Dropdown "settings.option.lyrics.enableYoutubeLyrics": "播放MV嘅時候用YouTube字幕", // Toggle - + // Settings - Connectivity "settings.header.connectivity": "外部連結", "settings.header.connectivity.description": "調整Cider同外部嘅連結", @@ -291,49 +294,49 @@ "settings.header.connectivity.discordRPC.appleMusic": "顯示為'Apple Music'", "settings.option.connectivity.discordRPC.clearOnPause": "暫停時清除 Discord 狀態", // Toggle "settings.option.connectivity.lastfmScrobble": "Last.FM Scrobbling 記錄", // Option to Connect - "settings.option.connectivity.lastfmScrobble.delay": "Last.FM Scrobble 延遲 (%)", - "settings.option.connectivity.lastfmScrobble.nowPlaying": "啟用 Last.FM 正在播放", - "settings.option.connectivity.lastfmScrobble.removeFeatured": "從歌名中移除藝人推薦 (Last.FM)", - "settings.option.connectivity.lastfmScrobble.filterLoop": "Filter looped track (Last.FM)", + "settings.option.connectivity.lastfmScrobble.delay": "Last.FM Scrobble 延遲 (%)", + "settings.option.connectivity.lastfmScrobble.nowPlaying": "啟用 Last.FM 正在播放", + "settings.option.connectivity.lastfmScrobble.removeFeatured": "從歌名中移除藝人推薦 (Last.FM)", + "settings.option.connectivity.lastfmScrobble.filterLoop": "Filter looped track (Last.FM)", // Refer to term.connect for the connect button - + // Settings - Experimental "settings.header.experimental": "實驗性功能", "settings.header.experimental.description": "調整Cider嘅實驗性功能", "settings.option.experimental.compactUI": "逼啲既 UI", // Toggle "settings.option.experimental.close_button_hide": "㩒交叉制嚟隱藏 Cider", "settings.option.experimental.copy_log": "將log複製喺剪貼簿", - //"settings.option.experimental.inline_playlists": "Inline Playlists and Albums", + //"settings.option.experimental.inline_playlists": "Inline Playlists and Albums", + // Refer to term.disabled & term.enabled - // Spatialization Menu "spatial.notTurnedOn": "唔該喺設定入面啟用左空間音訊先。", - "spatial.spatialProperties" : "空間音訊屬性", - "spatial.width" : "幾闊", - "spatial.height" : "幾高", - "spatial.depth" : "幾深", - "spatial.gain" : "增益", - "spatial.roomMaterials" : "空間材質", - "spatial.roomDimensions" : "空間大小", - "spatial.roomPositions" : "空間位置", - "spatial.setDimensions" : "大小設定", - "spatial.setPositions" : "位置設定", - "spatial.up" : "上面", - "spatial.front" : "前面", - "spatial.left" : "左邊", - "spatial.right" : "右邊", - "spatial.back" : "後面", - "spatial.down" : "下面", - "spatial.listener" : "觀眾", - "spatial.audioSource" : "音源", + "spatial.spatialProperties": "空間音訊屬性", + "spatial.width": "幾闊", + "spatial.height": "幾高", + "spatial.depth": "幾深", + "spatial.gain": "增益", + "spatial.roomMaterials": "空間材質", + "spatial.roomDimensions": "空間大小", + "spatial.roomPositions": "空間位置", + "spatial.setDimensions": "大小設定", + "spatial.setPositions": "位置設定", + "spatial.up": "上面", + "spatial.front": "前面", + "spatial.left": "左邊", + "spatial.right": "右邊", + "spatial.back": "後面", + "spatial.down": "下面", + "spatial.listener": "觀眾", + "spatial.audioSource": "音源", // Settings - Unfinished "settings.header.unfinished": "未搞掂", - + // Web Remote "remote.web.title": "遙距控制 Cider", "remote.web.description": "Scan 呢個 QR Code 去控制 Cider", - + // About "about.thanks": "多謝 Cider Collective 同埋所有合作人作出嘅貢獻。" -} +} \ No newline at end of file diff --git a/src/main/base/browserwindow.ts b/src/main/base/browserwindow.ts index 1082f59a..991ccbdf 100644 --- a/src/main/base/browserwindow.ts +++ b/src/main/base/browserwindow.ts @@ -529,18 +529,18 @@ export class BrowserWindow { MusicKit.getInstance().play(); }); `) - }) + }); //QR Code ipcMain.handle('showQR', async (_event, _) => { let url = `http://${BrowserWindow.getIP()}:${this.remotePort}`; shell.openExternal(`https://cider.sh/pair-remote?url=${Buffer.from(encodeURI(url)).toString('base64')}`).catch(console.error); - }) + }); ipcMain.on('get-remote-pair-url', (_event, _) => { let url = `http://${BrowserWindow.getIP()}:${this.remotePort}`; BrowserWindow.win.webContents.send('send-remote-pair-url', url); - }) + }); if (process.platform === "darwin") { app.setUserActivity('com.CiderCollective.remote.pair', { ip: `${BrowserWindow.getIP()}` @@ -557,14 +557,25 @@ export class BrowserWindow { console.log('sc', SoundCheckTag) BrowserWindow.win.webContents.send('SoundCheckTag', SoundCheckTag) }).catch(err => { - console.log(err) - }); + console.log(err) + }); }); ipcMain.on('check-for-update', async (_event) => { + const branch = utils.getStoreValue('general.update_branch') + let latestbranch = await fetch(`https://circleci.com/api/v1.1/project/gh/ciderapp/Cider/latest/artifacts?branch=${branch}&filter=successful`) + if (latestbranch.status != 200) { + console.log(`Error fetching latest artifact from the **${branch}** branch`) + return + } + + let latestbranchjson = await latestbranch.json() + let base_url = latestbranchjson[0].url + base_url = base_url.substr(0, base_url.lastIndexOf('/')) + const options: any = { provider: 'generic', - url: 'https://43-429851205-gh.circle-artifacts.com/0/%7E/Cider/dist/artifacts' //Base URL + url: `${base_url}` } /* * Have to handle the auto updaters seperatly until we can support macOS. electron-builder limitation -q @@ -573,7 +584,7 @@ export class BrowserWindow { const linux_autoUpdater = new AppImageUpdater(options) //Linux await win_autoUpdater.checkForUpdatesAndNotify() await linux_autoUpdater.checkForUpdatesAndNotify() - }) + }); ipcMain.on('share-menu', async (_event, url) => { if (process.platform != 'darwin') return; diff --git a/src/main/base/store.ts b/src/main/base/store.ts index 6aae5ae9..df5edc19 100644 --- a/src/main/base/store.ts +++ b/src/main/base/store.ts @@ -11,7 +11,8 @@ export class Store { "discord_rpc": 1, // 0 = disabled, 1 = enabled as Cider, 2 = enabled as Apple Music "discord_rpc_clear_on_pause": true, "language": "en_US", // electron.app.getLocale().replace('-', '_') this can be used in future - "playbackNotifications": true + "playbackNotifications": true, + "update_branch": "main" }, "home": { "followedArtists": [], @@ -58,9 +59,9 @@ export class Store { 'preset': "default", 'frequencies': [32, 63, 125, 250, 500, 1000, 2000, 4000, 8000, 16000], 'gain': [0,0,0,0,0,0,0,0,0,0], - 'Q' : [1,1,1,1,1,1,1,1,1,1], - 'mix' : 1, - 'vibrantBass' : 0, + 'Q': [1,1,1,1,1,1,1,1,1,1], + 'mix': 1, + 'vibrantBass': 0, 'presets': [], 'userGenerated': false }, diff --git a/src/renderer/views/pages/settings.ejs b/src/renderer/views/pages/settings.ejs index 7e86bfb3..0ed575bc 100644 --- a/src/renderer/views/pages/settings.ejs +++ b/src/renderer/views/pages/settings.ejs @@ -655,7 +655,7 @@
- {{$root.getLz('term.updateCider')}} + {{$root.getLz('settings.option.general.updateCider')}}
+
+
+ {{$root.getLz('settings.option.general.updateCider.branch')}}
+ ({{$root.getLz('settings.option.general.updateCider.branch.description')}}) +
+
+ +
+
{{$root.getLz('settings.option.experimental.copy_log')}} @@ -807,15 +823,17 @@ ciderPPE: function () { if (app.cfg.advanced.ciderPPE) { if (app.cfg.audio.spatial) { - app.cfg.advanced.ciderPPE = false; - notyf.error("CAP is not compatible with Spatialization. Please disable Spatialization to continue.") - } - }}, + app.cfg.advanced.ciderPPE = false; + notyf.error("CAP is not compatible with Spatialization. Please disable Spatialization to continue.") + } + } + }, toggleSpatial: function () { if (app.cfg.audio.spatial) { if (!app.cfg.advanced.ciderPPE) { - CiderAudio.spatialOn()} - else { + CiderAudio.spatialOn() + } + else { CiderAudio.spatialOff() app.cfg.audio.spatial = false; notyf.error("Spatialization is not compatible with CAP. Please disable CAP to continue.") @@ -823,10 +841,11 @@ } else { CiderAudio.spatialOff() } - + }, - changeAudioQuality: function () {1 - app.mk.bitrate = MusicKit.PlaybackBitrate[app.cfg.audio.quality]; + changeAudioQuality: function () { + 1 + app.mk.bitrate = MusicKit.PlaybackBitrate[app.cfg.audio.quality]; }, toggleUserInfo: function () { app.chrome.hideUserInfo = !app.cfg.visual.showuserinfo From 89a8ae3480044918ab2e8cb68683918ee1bdcef7 Mon Sep 17 00:00:00 2001 From: Quacksire <19170969+quacksire@users.noreply.github.com> Date: Mon, 7 Feb 2022 17:22:26 -0800 Subject: [PATCH 054/573] Update package.json --- package.json | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/package.json b/package.json index 93141b16..49175ab4 100644 --- a/package.json +++ b/package.json @@ -25,7 +25,8 @@ "dist": "yarn build && electron-builder", "dist:all": "yarn build && electron-builder -mwl", "msft": "yarn build && electron-builder -c msft-package.json", - "postinstall": "electron-builder install-app-deps" + "postinstall": "electron-builder install-app-deps", + "circle:append-sha": "node resources/appendCommitToVersion" }, "dependencies": { "@sentry/electron": "^2.5.4", From 7c5688b5e58fa9d393ce5a225ba5d1e1d8834ceb Mon Sep 17 00:00:00 2001 From: Quacksire <19170969+quacksire@users.noreply.github.com> Date: Mon, 7 Feb 2022 17:23:31 -0800 Subject: [PATCH 055/573] Create appendCommitToVersion.js --- resources/appendCommitToVersion.js | 23 +++++++++++++++++++++++ 1 file changed, 23 insertions(+) create mode 100644 resources/appendCommitToVersion.js diff --git a/resources/appendCommitToVersion.js b/resources/appendCommitToVersion.js new file mode 100644 index 00000000..e3666f5d --- /dev/null +++ b/resources/appendCommitToVersion.js @@ -0,0 +1,23 @@ +if (!process.env['CIRCLECI']) { + console.log(`[CIRCLECI SCRIPT] CircleCI not found... Aborting script`) + return +} + +let fs = require('fs') + +var data = fs.readFileSync('package.json'); +var package = JSON.parse(data); + +//Six chars of commit sha +// https://circleci.com/docs/2.0/env-vars/#built-in-environment-variables +let shortCommitSha = String(process.env['CIRCLE_SHA1']).slice(0,5) + + +package.version = `${package.version}-${shortCommitSha}` + + +fs.writeFile('package.json', newData, err => { + // error checking + if(err) throw err; + console.log("VERSION CHANGED"); +}); From da2d057c02fc0a3fb2b0efd349a28f70b84cc84a Mon Sep 17 00:00:00 2001 From: Quacksire <19170969+quacksire@users.noreply.github.com> Date: Mon, 7 Feb 2022 17:24:34 -0800 Subject: [PATCH 056/573] Update config.yml --- .circleci/config.yml | 3 +++ 1 file changed, 3 insertions(+) diff --git a/.circleci/config.yml b/.circleci/config.yml index 7f531a89..0427fa0c 100644 --- a/.circleci/config.yml +++ b/.circleci/config.yml @@ -42,6 +42,9 @@ jobs: #command: yarn test - store_test_results: path: test-results + - run: + name: Append Commit SHA to Version + command: yarn circle:append-sha - run: name: Generate Builds (Linux) command: yarn dist -l -p never From d3b8b8a952abbd3ddd0cf2a16377ab6a75035f77 Mon Sep 17 00:00:00 2001 From: Quacksire <19170969+quacksire@users.noreply.github.com> Date: Mon, 7 Feb 2022 18:01:27 -0800 Subject: [PATCH 057/573] change to build num cause num nums --- resources/appendCommitToVersion.js | 7 ++----- 1 file changed, 2 insertions(+), 5 deletions(-) diff --git a/resources/appendCommitToVersion.js b/resources/appendCommitToVersion.js index e3666f5d..20e07934 100644 --- a/resources/appendCommitToVersion.js +++ b/resources/appendCommitToVersion.js @@ -8,12 +8,9 @@ let fs = require('fs') var data = fs.readFileSync('package.json'); var package = JSON.parse(data); -//Six chars of commit sha + // https://circleci.com/docs/2.0/env-vars/#built-in-environment-variables -let shortCommitSha = String(process.env['CIRCLE_SHA1']).slice(0,5) - - -package.version = `${package.version}-${shortCommitSha}` +package.version = `${package.version}.${process.env['CIRCLE_BUILD_NUM']}` fs.writeFile('package.json', newData, err => { From 3d22203f949ae6c32b72b35ee99390f94d08aa81 Mon Sep 17 00:00:00 2001 From: Quacksire <19170969+quacksire@users.noreply.github.com> Date: Mon, 7 Feb 2022 18:04:50 -0800 Subject: [PATCH 058/573] unbork bonk --- resources/appendCommitToVersion.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/resources/appendCommitToVersion.js b/resources/appendCommitToVersion.js index 20e07934..3a9c6c13 100644 --- a/resources/appendCommitToVersion.js +++ b/resources/appendCommitToVersion.js @@ -13,7 +13,7 @@ var package = JSON.parse(data); package.version = `${package.version}.${process.env['CIRCLE_BUILD_NUM']}` -fs.writeFile('package.json', newData, err => { +fs.writeFile('package.json', package, err => { // error checking if(err) throw err; console.log("VERSION CHANGED"); From 861d260b951446f4779dd273e744a280b3bf0087 Mon Sep 17 00:00:00 2001 From: booploops <49113086+booploops@users.noreply.github.com> Date: Mon, 7 Feb 2022 18:06:43 -0800 Subject: [PATCH 059/573] added song.link share option, temporarily is its own entry in context menus --- src/renderer/index.js | 30 ++- .../views/components/mediaitem-list-item.ejs | 189 ++++++++++-------- .../views/components/mediaitem-square.ejs | 12 ++ src/renderer/views/components/share-sheet.ejs | 88 ++++++++ 4 files changed, 231 insertions(+), 88 deletions(-) create mode 100644 src/renderer/views/components/share-sheet.ejs diff --git a/src/renderer/index.js b/src/renderer/index.js index b3b6b1bc..5dc7a5d8 100644 --- a/src/renderer/index.js +++ b/src/renderer/index.js @@ -271,6 +271,25 @@ const app = new Vue({ }, }, methods: { + songLinkShare(amUrl) { + notyf.open({type: "info", message: "Getting song.link share URL..."}) + let self = this + httpRequest = new XMLHttpRequest(); + httpRequest.open('GET', `https://api.song.link/v1-alpha.1/links?url=${amUrl}&userCountry=US`, true); + httpRequest.send(); + httpRequest.onreadystatechange = function () { + if (httpRequest.readyState === 4) { + if (httpRequest.status === 200) { + let response = JSON.parse(httpRequest.responseText); + console.log(response); + self.copyToClipboard(response.pageUrl) + } else { + console.log('There was a problem with the request.'); + notyf.error("There was a problem with the request.") + } + } + } + }, mainMenuVisibility(val) { if (val) { (this.chrome.userinfo.id) ? this.chrome.menuOpened = !this.chrome.menuOpened : false @@ -3364,7 +3383,16 @@ const app = new Vue({ app.copyToClipboard((u.data.data.length && u.data.data.length > 0) ? u.data.data[0].attributes.url : u.data.data.attributes.url) }) } - } + }, + { + "icon": "./assets/feather/share.svg", + "name": `${app.getLz('action.share')} (song.link)`, + "action": function () { + app.mkapi(app.mk.nowPlayingItem.attributes?.playParams?.kind ?? app.mk.nowPlayingItem.type ?? 'songs', false, app.mk.nowPlayingItem._songId ?? app.mk.nowPlayingItem.id ?? '').then(u => { + app.songLinkShare((u.data.data.length && u.data.data.length > 0) ? u.data.data[0].attributes.url : u.data.data.attributes.url) + }) + } + } ] } } diff --git a/src/renderer/views/components/mediaitem-list-item.ejs b/src/renderer/views/components/mediaitem-list-item.ejs index 4d5b49d1..b311bb95 100644 --- a/src/renderer/views/components/mediaitem-list-item.ejs +++ b/src/renderer/views/components/mediaitem-list-item.ejs @@ -90,17 +90,17 @@ } }, props: { - 'item': {type: Object, required: true}, - 'parent': {type: String, required: false}, - 'index': {type: Number, required: false, default: -1}, - 'show-artwork': {type: Boolean, default: true}, - 'show-library-status': {type: Boolean, default: true}, - 'show-meta-data': {type: Boolean, default: false}, - 'show-duration': {type: Boolean, default: true}, - 'showIndex': {type: Boolean, required: false}, - 'showIndexPlaylist': {type: Boolean, required: false}, - 'contextExt': {type: Object, required: false}, - 'class-list': {type: String, required: false, default: ""}, + 'item': { type: Object, required: true }, + 'parent': { type: String, required: false }, + 'index': { type: Number, required: false, default: -1 }, + 'show-artwork': { type: Boolean, default: true }, + 'show-library-status': { type: Boolean, default: true }, + 'show-meta-data': { type: Boolean, default: false }, + 'show-duration': { type: Boolean, default: true }, + 'showIndex': { type: Boolean, required: false }, + 'showIndexPlaylist': { type: Boolean, required: false }, + 'contextExt': { type: Object, required: false }, + 'class-list': { type: String, required: false, default: "" }, }, mounted() { let duration = this.item.attributes.durationInMillis ?? 0 @@ -115,8 +115,8 @@ return color }, async checkLibrary() { - if(this.addedToLibrary) {return this.addedToLibrary} - if(this.item.type.includes("library-playlists") || this.item.type.includes("station")) { + if (this.addedToLibrary) { return this.addedToLibrary } + if (this.item.type.includes("library-playlists") || this.item.type.includes("station")) { this.addedToLibrary = true return } @@ -126,10 +126,10 @@ return this.addedToLibrary }, getClasses() { - if(this.classList) { + if (this.classList) { this.addClasses = {} let classList = this.classList.split(' ') - for(let i = 0; i < classList.length; i++) { + for (let i = 0; i < classList.length; i++) { this.addClasses[classList[i]] = true } } @@ -259,7 +259,7 @@ for (let kind in itemsToPlay) { let ids = itemsToPlay[kind] if (ids.length > 0) { - app.mk.playNext({[kind + "s"]: itemsToPlay[kind]}) + app.mk.playNext({ [kind + "s"]: itemsToPlay[kind] }) } } console.log(itemsToPlay) @@ -281,7 +281,7 @@ for (let kind in itemsToPlay) { let ids = itemsToPlay[kind] if (ids.length > 0) { - app.mk.playLater({[kind + "s"]: itemsToPlay[kind]}) + app.mk.playLater({ [kind + "s"]: itemsToPlay[kind] }) } } app.selectedMediaItems = [] @@ -363,7 +363,7 @@ "name": app.getLz('action.playNext'), "icon": "./assets/arrow-bend-up.svg", "action": function () { - app.mk.playNext({[self.item.attributes.playParams.kind ?? self.item.type]: self.item.attributes.playParams.id ?? self.item.id}) + app.mk.playNext({ [self.item.attributes.playParams.kind ?? self.item.type]: self.item.attributes.playParams.id ?? self.item.id }) app.mk.queue._reindex() app.selectedMediaItems = [] } @@ -372,7 +372,7 @@ "name": app.getLz('action.playLater'), "icon": "./assets/arrow-bend-down.svg", "action": function () { - app.mk.playLater({[self.item.attributes.playParams.kind ?? self.item.type]: self.item.attributes.playParams.id ?? self.item.id}) + app.mk.playLater({ [self.item.attributes.playParams.kind ?? self.item.type]: self.item.attributes.playParams.id ?? self.item.id }) app.mk.queue._reindex() app.selectedMediaItems = [] } @@ -381,7 +381,7 @@ "icon": "./assets/feather/radio.svg", "name": app.getLz('action.startRadio'), "action": function () { - app.mk.setStationQueue({song: self.item.attributes.playParams.id ?? self.item.id}).then(() => { + app.mk.setStationQueue({ song: self.item.attributes.playParams.id ?? self.item.id }).then(() => { app.mk.play() app.selectedMediaItems = [] }) @@ -405,12 +405,26 @@ "icon": "./assets/feather/share.svg", "name": app.getLz('action.share'), "action": function () { - if (!self.item.attributes.url && self.item.relationships){ - if (self.item.relationships.catalog){ - app.mkapi(self.item.attributes.playParams.kind, false, self.item.relationships.catalog.data[0].id).then(u => {self.app.copyToClipboard((u.data.data.length && u.data.data.length > 0)? u.data.data[0].attributes.url : u.data.data.attributes.url)}) + if (!self.item.attributes.url && self.item.relationships) { + if (self.item.relationships.catalog) { + app.mkapi(self.item.attributes.playParams.kind, false, self.item.relationships.catalog.data[0].id).then(u => { self.app.copyToClipboard((u.data.data.length && u.data.data.length > 0) ? u.data.data[0].attributes.url : u.data.data.attributes.url) }) } - }else { - self.app.copyToClipboard(self.item.attributes.url)} + } else { + self.app.copyToClipboard(self.item.attributes.url) + } + } + }, + { + "icon": "./assets/feather/share.svg", + "name": `${app.getLz('action.share')} (song.link)`, + "action": function () { + if (!self.item.attributes.url && self.item.relationships) { + if (self.item.relationships.catalog) { + app.mkapi(self.item.attributes.playParams.kind, false, self.item.relationships.catalog.data[0].id).then(u => { self.app.songLinkShare((u.data.data.length && u.data.data.length > 0) ? u.data.data[0].attributes.url : u.data.data.attributes.url) }) + } + } else { + self.app.songLinkShare(self.item.attributes.url) + } } } ] @@ -430,30 +444,30 @@ try { await this.checkLibrary().then(res => { console.log(res) - if(res) { + if (res) { menus.normal.items.find(x => x.id == 'addToLibrary').hidden = true menus.normal.items.find(x => x.id == 'removeFromLibrary').hidden = false - }else{ + } else { menus.normal.items.find(x => x.id == 'addToLibrary').disabled = false } }) - }catch(e) { + } catch (e) { } - try{ - let rating = await app.getRating(self.item) - if (rating == 0) { - menus.normal.headerItems.find(x => x.id == 'love').disabled = false - menus.normal.headerItems.find(x => x.id == 'dislike').disabled = false - } else if (rating == 1) { - menus.normal.headerItems.find(x => x.id == 'unlove').hidden = false - menus.normal.headerItems.find(x => x.id == 'love').hidden = true - } else if (rating == -1) { - menus.normal.headerItems.find(x => x.id == 'undo_dislike').hidden = false - menus.normal.headerItems.find(x => x.id == 'dislike').hidden = true - } - } catch(err) { + try { + let rating = await app.getRating(self.item) + if (rating == 0) { + menus.normal.headerItems.find(x => x.id == 'love').disabled = false + menus.normal.headerItems.find(x => x.id == 'dislike').disabled = false + } else if (rating == 1) { + menus.normal.headerItems.find(x => x.id == 'unlove').hidden = false + menus.normal.headerItems.find(x => x.id == 'love').hidden = true + } else if (rating == -1) { + menus.normal.headerItems.find(x => x.id == 'undo_dislike').hidden = false + menus.normal.headerItems.find(x => x.id == 'dislike').hidden = true + } + } catch (err) { } }, @@ -474,7 +488,7 @@ }, async removeFromLibrary() { let item = this.item - let params = {"fields[songs]": "inLibrary", "fields[albums]": "inLibrary", "relate": "library"} + let params = { "fields[songs]": "inLibrary", "fields[albums]": "inLibrary", "relate": "library" } let id = item.id ?? item.attributes.playParams.id let res = await app.mkapi(item.attributes.playParams.kind ?? item.type, item.attributes.playParams.isLibrary ?? false, item.attributes.playParams.id ?? item.id, params); if (res && res.relationships && res.relationships.library && res.relationships.library.data && res.relationships.library.data.length > 0) { @@ -502,10 +516,10 @@ let truekind = (!kind.endsWith("s")) ? (kind + "s") : kind; console.log(item, parent, childIndex, kind, id, isLibrary, kind == "playlists", id.startsWith("p.") || id.startsWith("pl.u")) app.mk.stop().then(() => { - if (parent != null && childIndex != null) { - app.queueParentandplayChild(parent, childIndex, item); - } - else if (kind.includes("playlist") && (id.startsWith("p.") || id.startsWith("pl."))){ + if (parent != null && childIndex != null) { + app.queueParentandplayChild(parent, childIndex, item); + } + else if (kind.includes("playlist") && (id.startsWith("p.") || id.startsWith("pl."))) { function shuffleArray(array) { for (var i = array.length - 1; i > 0; i--) { var j = Math.floor(Math.random() * (i + 1)); @@ -514,58 +528,59 @@ array[j] = temp; } } - app.mk.setQueue({[truekind]: [item.attributes.playParams.id ?? item.id]}).then(function () { - app.mk.play().then(function (){ - var playlistId = id - function getPlaylist(id, isLibrary){ - if (isLibrary){ - return this.app.mk.api.v3.music(`/v1/me/library/playlists/${id}`) - } else { return this.app.mk.api.v3.music(`/v1/catalog/${app.mk.storefrontId}/playlists/${id}`)} + app.mk.setQueue({ [truekind]: [item.attributes.playParams.id ?? item.id] }).then(function () { + app.mk.play().then(function () { + var playlistId = id + function getPlaylist(id, isLibrary) { + if (isLibrary) { + return this.app.mk.api.v3.music(`/v1/me/library/playlists/${id}`) + } else { return this.app.mk.api.v3.music(`/v1/catalog/${app.mk.storefrontId}/playlists/${id}`) } + } + try { + getPlaylist(id, isLibrary).then(res => { + //let query = res.relationships.tracks.data.map(item => new MusicKit.MediaItem(item)); + //if (app.mk.shuffleMode == 1){shuffleArray(query); } + // console.log(query) + // app.mk.queue.append(query) + if (!res.data.relationships.tracks.next) { + return + } else { + getPlaylistTracks(res.data.relationships.tracks.next) } - try { - getPlaylist(id, isLibrary).then(res => { - //let query = res.relationships.tracks.data.map(item => new MusicKit.MediaItem(item)); - //if (app.mk.shuffleMode == 1){shuffleArray(query); } - // console.log(query) - // app.mk.queue.append(query) - if (!res.data.relationships.tracks.next) { - return - } else { - getPlaylistTracks(res.data.relationships.tracks.next) - } - function getPlaylistTracks(next) { - app.apiCall(app.musicBaseUrl + next, res => { - // if (res.id != playlistId || next.includes(playlistId)) { - // return - // } - console.log('nextres', res) - let query = res.data.map(item => new MusicKit.MediaItem(item)) - if (app.mk.shuffleMode == 1){shuffleArray(query); console.log('shf')} - app.mk.queue.append(query) + function getPlaylistTracks(next) { + app.apiCall(app.musicBaseUrl + next, res => { + // if (res.id != playlistId || next.includes(playlistId)) { + // return + // } + console.log('nextres', res) + let query = res.data.map(item => new MusicKit.MediaItem(item)) + if (app.mk.shuffleMode == 1) { shuffleArray(query); console.log('shf') } + app.mk.queue.append(query) - if (res.next) { - getPlaylistTracks(res.next) - } - }) + if (res.next) { + getPlaylistTracks(res.next) } }) - } catch (e) {} + } + }) + } catch (e) { } - }) - }) + }) + }) - } - else { - app.playMediaItemById(item.attributes.playParams.id ?? item.id, item.attributes.playParams.kind ?? item.type, item.attributes.playParams.isLibrary ?? false, item.attributes.url) - }}) + } + else { + app.playMediaItemById(item.attributes.playParams.id ?? item.id, item.attributes.playParams.kind ?? item.type, item.attributes.playParams.isLibrary ?? false, item.attributes.url) + } + }) }, - route(){ + route() { let kind = (this.item.attributes.playParams ? (this.item.attributes.playParams.kind ?? (this.item.type ?? '')) : (this.item.type ?? '')); - if (kind.toLowerCase().includes('album') || kind.toLowerCase().includes('playlist')){ + if (kind.toLowerCase().includes('album') || kind.toLowerCase().includes('playlist')) { app.routeView(this.item) } else { this.playTrack() @@ -573,4 +588,4 @@ } } }); - + \ No newline at end of file diff --git a/src/renderer/views/components/mediaitem-square.ejs b/src/renderer/views/components/mediaitem-square.ejs index bdb39c17..6bf861d9 100644 --- a/src/renderer/views/components/mediaitem-square.ejs +++ b/src/renderer/views/components/mediaitem-square.ejs @@ -402,6 +402,18 @@ }else { self.app.copyToClipboard(self.item.attributes.url)} } + }, + { + "icon": "./assets/feather/share.svg", + "name": `${app.getLz('action.share')} (song.link)`, + "action": function () { + if (!self.item.attributes.url && self.item.relationships){ + if (self.item.relationships.catalog){ + app.mkapi(self.item.attributes.playParams.kind, false, self.item.relationships.catalog.data[0].id).then(u => {self.app.songLinkShare((u.data.data.length && u.data.data.length > 0)? u.data.data[0].attributes.url : u.data.data.attributes.url)}) + } + }else { + self.app.songLinkShare(self.item.attributes.url)} + } } ] } diff --git a/src/renderer/views/components/share-sheet.ejs b/src/renderer/views/components/share-sheet.ejs new file mode 100644 index 00000000..ee093413 --- /dev/null +++ b/src/renderer/views/components/share-sheet.ejs @@ -0,0 +1,88 @@ + + + \ No newline at end of file From fb8697629e08e4af258c1c0e544a0943a6a968c8 Mon Sep 17 00:00:00 2001 From: Quacksire <19170969+quacksire@users.noreply.github.com> Date: Mon, 7 Feb 2022 18:08:59 -0800 Subject: [PATCH 060/573] unbork unbork bonk --- resources/appendCommitToVersion.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/resources/appendCommitToVersion.js b/resources/appendCommitToVersion.js index 3a9c6c13..b22c418e 100644 --- a/resources/appendCommitToVersion.js +++ b/resources/appendCommitToVersion.js @@ -13,7 +13,7 @@ var package = JSON.parse(data); package.version = `${package.version}.${process.env['CIRCLE_BUILD_NUM']}` -fs.writeFile('package.json', package, err => { +fs.writeFile('package.json', JSON.stringify(package), err => { // error checking if(err) throw err; console.log("VERSION CHANGED"); From c1fb6ed49b53fbb54cd31154a3a862158171f990 Mon Sep 17 00:00:00 2001 From: Quacksire <19170969+quacksire@users.noreply.github.com> Date: Mon, 7 Feb 2022 18:17:54 -0800 Subject: [PATCH 061/573] Enable CircleCI Commit Appending --- package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package.json b/package.json index 49175ab4..3c6db051 100644 --- a/package.json +++ b/package.json @@ -2,7 +2,7 @@ "name": "cider", "applicationId": "Cider", "productName": "Cider", - "version": "1.1.0", + "version": "1.1", "description": "A new look into listening and enjoying music in style and performance.", "license": "AGPL-3.0", "main": "./build/index.js", From 6b331cb22f5f899f720a93e3a59062395de936f2 Mon Sep 17 00:00:00 2001 From: vapormusic Date: Tue, 8 Feb 2022 09:40:46 +0700 Subject: [PATCH 062/573] fix #372 --- src/renderer/views/components/mediaitem-list-item.ejs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/renderer/views/components/mediaitem-list-item.ejs b/src/renderer/views/components/mediaitem-list-item.ejs index b311bb95..132d7b24 100644 --- a/src/renderer/views/components/mediaitem-list-item.ejs +++ b/src/renderer/views/components/mediaitem-list-item.ejs @@ -29,7 +29,7 @@
-
+
Date: Tue, 8 Feb 2022 14:14:05 +1100 Subject: [PATCH 063/573] Fix local builds (#375) --- .circleci/config.yml | 4 ++-- package.json | 4 ++-- resources/appendCommitToVersion.js | 3 ++- 3 files changed, 6 insertions(+), 5 deletions(-) diff --git a/.circleci/config.yml b/.circleci/config.yml index 0427fa0c..b9f291ec 100644 --- a/.circleci/config.yml +++ b/.circleci/config.yml @@ -43,8 +43,8 @@ jobs: - store_test_results: path: test-results - run: - name: Append Commit SHA to Version - command: yarn circle:append-sha + name: Append Commit BuildID to Version + command: yarn circle:append-bid - run: name: Generate Builds (Linux) command: yarn dist -l -p never diff --git a/package.json b/package.json index 3c6db051..484c8170 100644 --- a/package.json +++ b/package.json @@ -2,7 +2,7 @@ "name": "cider", "applicationId": "Cider", "productName": "Cider", - "version": "1.1", + "version": "1.1.0", "description": "A new look into listening and enjoying music in style and performance.", "license": "AGPL-3.0", "main": "./build/index.js", @@ -26,7 +26,7 @@ "dist:all": "yarn build && electron-builder -mwl", "msft": "yarn build && electron-builder -c msft-package.json", "postinstall": "electron-builder install-app-deps", - "circle:append-sha": "node resources/appendCommitToVersion" + "circle:append-bid": "node resources/appendBIDToVersion" }, "dependencies": { "@sentry/electron": "^2.5.4", diff --git a/resources/appendCommitToVersion.js b/resources/appendCommitToVersion.js index b22c418e..123deba9 100644 --- a/resources/appendCommitToVersion.js +++ b/resources/appendCommitToVersion.js @@ -8,9 +8,10 @@ let fs = require('fs') var data = fs.readFileSync('package.json'); var package = JSON.parse(data); +pvers = package.version.match(/\d+\./g) // https://circleci.com/docs/2.0/env-vars/#built-in-environment-variables -package.version = `${package.version}.${process.env['CIRCLE_BUILD_NUM']}` +package.version = `${pvers[0]}.${pvers[1]}.${process.env['CIRCLE_BUILD_NUM']}` fs.writeFile('package.json', JSON.stringify(package), err => { From c817ba5267e192625ff234cf6358f0b7295c112f Mon Sep 17 00:00:00 2001 From: vapormusic Date: Tue, 8 Feb 2022 10:19:04 +0700 Subject: [PATCH 064/573] universal build --- package.json | 3 ++- src/renderer/index.js | 6 +++--- 2 files changed, 5 insertions(+), 4 deletions(-) diff --git a/package.json b/package.json index 3c6db051..957f49bd 100644 --- a/package.json +++ b/package.json @@ -2,7 +2,7 @@ "name": "cider", "applicationId": "Cider", "productName": "Cider", - "version": "1.1", + "version": "1.1.0", "description": "A new look into listening and enjoying music in style and performance.", "license": "AGPL-3.0", "main": "./build/index.js", @@ -23,6 +23,7 @@ "start:darwin": "yarn build && ELECTRON_ENABLE_LOGGING=true && electron ./build/index.js --enable-accelerated-mjpeg-decode --enable-accelerated-video --disable-gpu-driver-bug-workarounds --ignore-gpu-blacklist --enable-native-gpu-memory-buffers", "pack": "electron-builder --dir", "dist": "yarn build && electron-builder", + "dist:mac": "yarn build && electron-builder --mac --universal", "dist:all": "yarn build && electron-builder -mwl", "msft": "yarn build && electron-builder -c msft-package.json", "postinstall": "electron-builder install-app-deps", diff --git a/src/renderer/index.js b/src/renderer/index.js index 5dc7a5d8..4c5a5519 100644 --- a/src/renderer/index.js +++ b/src/renderer/index.js @@ -1884,7 +1884,7 @@ const app = new Vue({ self.library.backgroundNotification.show = false self.searchLibrarySongs() localStorage.setItem("librarySongs", JSON.stringify(library)) - console.log(library) + // console.log(library) } } @@ -1992,7 +1992,7 @@ const app = new Vue({ self.library.backgroundNotification.show = false localStorage.setItem("libraryAlbums", JSON.stringify(library)) self.searchLibraryAlbums(index) - console.log(library) + // console.log(library) } } @@ -2098,7 +2098,7 @@ const app = new Vue({ self.library.backgroundNotification.show = false localStorage.setItem("libraryArtists", JSON.stringify(library)) self.searchLibraryArtists(index) - console.log(library) + // console.log(library) } } From 82020e16d391bd79e7f548c5ab1c4d387382d275 Mon Sep 17 00:00:00 2001 From: GamingLiamStudios <58615717+GamingLiamStudios@users.noreply.github.com> Date: Tue, 8 Feb 2022 14:25:26 +1100 Subject: [PATCH 065/573] Fix local builds(again) (#376) * Replace mentions of commit SHA with BID * Fix local builds * shit --- package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package.json b/package.json index f9f6e38b..657f87ec 100644 --- a/package.json +++ b/package.json @@ -27,7 +27,7 @@ "dist:all": "yarn build && electron-builder -mwl", "msft": "yarn build && electron-builder -c msft-package.json", "postinstall": "electron-builder install-app-deps", - "circle:append-bid": "node resources/appendBIDToVersion" + "circle:append-bid": "node resources/appendCommitToVersion" }, "dependencies": { "@sentry/electron": "^2.5.4", From 0ba24a236133441a0d472dfecb58ac75d84cdc63 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Onur=20G=C3=BCm=C3=BC=C5=9F?= <10urgumus@gmail.com> Date: Tue, 8 Feb 2022 06:30:09 +0300 Subject: [PATCH 066/573] Update tr_TR.jsonc (#374) --- src/i18n/tr_TR.jsonc | 69 +++++++++++++++++++++++++++++++++++--------- 1 file changed, 56 insertions(+), 13 deletions(-) diff --git a/src/i18n/tr_TR.jsonc b/src/i18n/tr_TR.jsonc index ead8ddfd..828ecb59 100644 --- a/src/i18n/tr_TR.jsonc +++ b/src/i18n/tr_TR.jsonc @@ -21,8 +21,8 @@ // Terms "term.appleInc": "Apple", - "term.appleMusic": "Apple Müzik", - "term.applePodcasts": "Apple Podcastler", + "term.appleMusic": "Apple Music", + "term.applePodcasts": "Apple Podcasts", "term.itunes": "iTunes", "term.github": "GitHub", "term.discord": "Discord", @@ -124,6 +124,25 @@ "term.time.second": "saniye", "term.videos": "Video Klipler", "term.menu": "Menü", + "term.check": "Şimdi Kontrol Et", + "term.aboutArtist": "About {{artistName}}", // e.g. 'About Doja Cat' + "term.updateCider": "Güncellemeleri Denetle", + "term.share.success": "Panoya Kopyalandı", + "term.topResult": "En İyi Sonuç", // Search Results + "term.sharedPlaylists": "Paylaşılan Listeler", // Search Results + "term.people": "Kişiler", // Search Results + "term.newpreset.name": "Yeni Önayar İsmi", // Equalizer Preset + "term.addedpreset": "Önayar Kaydedildi", + "term.deletepreset.warn": "Bu önayarı silmek istediğinize emin misiniz?", + "term.deletedpreset": "Önayar Silindi", + "term.musicVideos": "Video Klipler", // Search page friendlyTypes + "term.stations": "İstasyonlar", + "term.curators": "Editörler", + "term.appleCurators": "Apple Editörleri", + "term.radioShows": "Radio Şovları", + "term.recordLabels": "Kayıt Stüdyoları", + "term.videoExtras": "Ekstra Videolar", + "term.top": "En İyi", // Home "home.title": "Ana Sayfa", @@ -193,8 +212,12 @@ "action.export": "Export", "action.showAlbum": "Tüm Albümü Göster", "action.tray.minimize": "Görev Çubuğuna Küçült", - "action.tray.quit": "'den Çık", - "action.tray.show": "'i Göster", + "action.tray.quit": "Çık", + "action.tray.show": "Göster", + "action.update": "Güncelle", + "action.copy": "Kopyala", + "action.newpreset": "Yeni Önayar...", // Equalizer Preset + "action.deletepreset": "Önayarı Sil", // Settings - General "settings.header.general": "Genel Ayarlar", @@ -206,12 +229,25 @@ "settings.option.general.language.fun": "Mizahi Diller", "settings.option.general.language.unsorted": "Henüz Tamamlanmamış Diller", + // Update Cider + "settings.option.general.updateCider": "Güncellemeleri Kontrol Et", // Button. Refer to term.check for the check button + "settings.option.general.updateCider.branch": "Seçilen GitHub Versiyonu", // Dropdown + "settings.option.general.updateCider.branch.description": "Cider'in hangi versiyonuna güncelleneceğini seçin", + "settings.option.general.updateCider.branch.main": "Stabil", + "settings.option.general.updateCider.branch.develop": "Deneysel", + // Settings - Audio "settings.header.audio": "Çalma / Oynatma", "settings.header.audio.description": "Cider'in sizin için en iyi dinleme deneyimini sağlayabilmesi için ses ayarlarınızı yapın.", "settings.option.audio.quality": "Ses Kalitesi", // Dropdown + "settings.header.audio.quality.hireslossless": "Yüksek Çözünürlüklü Kayıpsız", + "settings.header.audio.quality.hireslossless.description": "24-bit/192 kHz'e kadar", + "settings.header.audio.quality.lossless": "Kayıpsız", + "settings.header.audio.quality.lossless.description": "24-bit/48 kHz'e kadar", "settings.header.audio.quality.high": "Yüksek Kalite", - "settings.header.audio.quality.low": "Yüksek Verimlilik", + "settings.header.audio.quality.high.description": "256 kbps", + "settings.header.audio.quality.standard": "Standart", + "settings.header.audio.quality.standard.description": "64 kbps", "settings.header.audio.quality.auto": "Otomatik", "settings.option.audio.seamlessTransition": "Kesintisiz Ses Geçişi", // Toggle "settings.option.audio.enableAdvancedFunctionality": "Gelişmiş Ses Deneyimi", // Toggle @@ -220,6 +256,12 @@ "settings.option.audio.enableAdvancedFunctionality.audioNormalization.description": "Ses normalleştirme alçak ve yüksek sesli şarkıları dengeler ve daha düzgün bir dinleme deneyimi sağlar.", "settings.option.audio.enableAdvancedFunctionality.audioSpatialization": "Uzamsal Ses", // Toggle "settings.option.audio.enableAdvancedFunctionality.audioSpatialization.description": "Sesi uzamsallaştırın ve sesi daha 3 boyutlu hale getirin (not: Bu Dolby Atmos değildir)", + "settings.option.audio.enableAdvancedFunctionality.ciderPPE": "Cider Adrenalin Prosesörü™️", // Toggle + "settings.option.audio.enableAdvancedFunctionality.ciderPPE.description": "Müziğin hem daha zengin hem de daha canlı duyulmasını sağlayan Psikoakustik Geliştirme Sistemi | Maikiwi tarafından tasarlanmıştır.", + "settings.option.audio.enableAdvancedFunctionality.ciderPPEStrength": "CAP Kuvveti", // Toggle + "settings.option.audio.enableAdvancedFunctionality.ciderPPEStrength.description": "Sese yapılan işlemin gücünü değiştirir. (Agresif istenmeyen sonuçlar doğurabilir)", + "settings.option.audio.enableAdvancedFunctionality.ciderPPEStrength.standard": "Standart", + "settings.option.audio.enableAdvancedFunctionality.ciderPPEStrength.aggressive": "Agresif", // Settings - Visual "settings.header.visual": "Görünüm", @@ -243,8 +285,12 @@ "settings.option.visual.hardwareAcceleration.description": "Etki etmesi için uygulamayı yeniden başlatmak gerekir.", "settings.header.visual.hardwareAcceleration.default": "Varsayılan", "settings.header.visual.hardwareAcceleration.webGPU": "Gelişmiş", - // Refer to term.disabled for the disabled option "settings.option.visual.showPersonalInfo": "Kullanıcı Adımı Göster", // Toggle + "settings.header.visual.theme": "Tema", + + // Settings - Visual - Theme name + "settings.option.visual.theme.default": "Cider", + "settings.option.visual.theme.dark": "Karanlık", // Settings - Lyrics "settings.header.lyrics": "Şarkı Sözleri", @@ -274,12 +320,10 @@ "settings.header.experimental": "Deneysel", "settings.header.experimental.description": "Cider'deki deneysel özelliklere erişim sağlayın. (Not: Bazı özellikler düzgün çalışmayabilir.)", "settings.option.experimental.compactUI": "Kompakt Arayüz", // Toggle - "settings.option.experimental.closeButtonBehaviour": "Kapat düğmesi davranışı", - "settings.option.experimental.closeButtonBehaviour.quit": "Cider'den çık", - "settings.option.experimental.closeButtonBehaviour.minimizeTaskbar": "Simge durumuna küçült", - "settings.option.experimental.closeButtonBehaviour.minimizeTray": "Görev çubuğuna küçült", - // Refer to term.disabled & term.enabled - + "settings.option.experimental.close_button_hide": "Kapatma Düğmesi Cider'i Küçültür", + "settings.option.experimental.copy_log": "Günlüğü Panoya Kopyala", + "settings.option.experimental.inline_playlists": "Listeleri ve Albümleri Açılır Pencere İle göster", + // Spatialization Menu "spatial.notTurnedOn": "Uzamsal ses devre dışı. Kullanabilmek için lütfen önce etkinleştirin.", "spatial.spatialProperties" : "Uzamsal Özellikler", @@ -310,5 +354,4 @@ //About "about.thanks": "Cider Collective Ekibine ve tüm katkıda bulunanlara çok teşekkür ederiz." - } \ No newline at end of file From 104006c0eca30b074403932e741d7e864237f67a Mon Sep 17 00:00:00 2001 From: Quacksire <19170969+quacksire@users.noreply.github.com> Date: Mon, 7 Feb 2022 19:32:40 -0800 Subject: [PATCH 067/573] unbork unbork unbork bonk --- resources/appendCommitToVersion.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/resources/appendCommitToVersion.js b/resources/appendCommitToVersion.js index 123deba9..c38a58c6 100644 --- a/resources/appendCommitToVersion.js +++ b/resources/appendCommitToVersion.js @@ -11,7 +11,7 @@ var package = JSON.parse(data); pvers = package.version.match(/\d+\./g) // https://circleci.com/docs/2.0/env-vars/#built-in-environment-variables -package.version = `${pvers[0]}.${pvers[1]}.${process.env['CIRCLE_BUILD_NUM']}` +package.version = ${pvers[0]}${pvers[1]}${process.env['CIRCLE_BUILD_NUM']} fs.writeFile('package.json', JSON.stringify(package), err => { From 13ce2941816d4e47e30987aa1bb0c8796c0b31da Mon Sep 17 00:00:00 2001 From: Quacksire <19170969+quacksire@users.noreply.github.com> Date: Mon, 7 Feb 2022 19:35:44 -0800 Subject: [PATCH 068/573] unbork unbork unbork unbork bonk --- resources/appendCommitToVersion.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/resources/appendCommitToVersion.js b/resources/appendCommitToVersion.js index c38a58c6..ef40f330 100644 --- a/resources/appendCommitToVersion.js +++ b/resources/appendCommitToVersion.js @@ -11,7 +11,7 @@ var package = JSON.parse(data); pvers = package.version.match(/\d+\./g) // https://circleci.com/docs/2.0/env-vars/#built-in-environment-variables -package.version = ${pvers[0]}${pvers[1]}${process.env['CIRCLE_BUILD_NUM']} +package.version = `${pvers[0]}${pvers[1]}${process.env['CIRCLE_BUILD_NUM']}` fs.writeFile('package.json', JSON.stringify(package), err => { From a9aea9af99859fb463c373ba55c017346629b6c2 Mon Sep 17 00:00:00 2001 From: Maikiwi Date: Mon, 7 Feb 2022 19:58:54 -0800 Subject: [PATCH 069/573] fix volume steps --- src/main/base/store.ts | 3 ++- src/renderer/index.js | 6 +++--- 2 files changed, 5 insertions(+), 4 deletions(-) diff --git a/src/main/base/store.ts b/src/main/base/store.ts index df5edc19..da89a70a 100644 --- a/src/main/base/store.ts +++ b/src/main/base/store.ts @@ -27,7 +27,8 @@ export class Store { }, "audio": { "volume": 1, - "volumeStep": 0.02, + "volumeStep": 0.1, + "maxVolume": 1, "lastVolume": 1, "muted": false, "quality": "HIGH", diff --git a/src/renderer/index.js b/src/renderer/index.js index 4c5a5519..5e58911c 100644 --- a/src/renderer/index.js +++ b/src/renderer/index.js @@ -3212,8 +3212,8 @@ const app = new Vue({ }, volumeUp() { if ((app.mk.volume + app.cfg.audio.volumeStep) > 1) { - app.mk.volume = 1; - console.log('setting to 1') + app.mk.volume = app.cfg.audio.maxVolume; + console.log('setting max volume') } else { console.log('volume up') app.mk.volume += app.cfg.audio.volumeStep; @@ -3222,7 +3222,7 @@ const app = new Vue({ volumeDown() { if ((app.mk.volume - app.cfg.audio.volumeStep) < 0) { app.mk.volume = 0; - console.log('settings to 0') + console.log('setting volume to 0') } else { console.log('volume down') app.mk.volume -= app.cfg.audio.volumeStep; From ea7b06003c4be18f47532a17ae39fdcf04b8dd60 Mon Sep 17 00:00:00 2001 From: Maikiwi Date: Mon, 7 Feb 2022 20:39:17 -0800 Subject: [PATCH 070/573] Indonesian Translation courtesy of crystalshower#9918 --- src/i18n/in_ID.jsonc | 357 +++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 357 insertions(+) create mode 100644 src/i18n/in_ID.jsonc diff --git a/src/i18n/in_ID.jsonc b/src/i18n/in_ID.jsonc new file mode 100644 index 00000000..91e63524 --- /dev/null +++ b/src/i18n/in_ID.jsonc @@ -0,0 +1,357 @@ +{ // Base File + // i18n Info + "i18n.languageName": "Bahasa Indonesia", // name of language in native language + "i18n.languageNameEnglish": "Indonesian", // name of language in English + "i18n.category": "main", // main = real language, fun = fun community languages + "i18n.authors": "@crystalshower", // Authors, if you contribute to this file feel free to add your name seperated with a space + + // App info + "app.name": "Cider", + + "date.format": "${d} ${m}, ${y}", + + // Dialogs + "dialog.cancel": "Batal", + "dialog.ok": "OK", + + // Notification + "notification.updatingLibrarySongs": "Memperbarui Pustaka lagu...", + "notification.updatingLibraryAlbums": "Memperbarui Pustaka album...", + "notification.updatingLibraryArtists": "Memperbarui Pustaka artis...", + + // Terms + "term.appleInc": "Apple Inc.", + "term.appleMusic": "Apple Music", + "term.applePodcasts": "Apple Podcasts", + "term.itunes": "iTunes", + "term.github": "GitHub", + "term.discord": "Discord", + "term.learnMore": "Pelajari lebih lanjut", + "term.accountSettings": "Pengaturan Akun", + "term.logout": "Keluar", + "term.login": "Masuk", + "term.about": "Tentang", + "term.privateSession": "Sesi Pribadi", + "term.queue": "Antrian", + "term.history": "Riwayat", + "term.search": "Cari", + "term.library": "Pustaka", + "term.listenNow": "Dengarkan Sekarang", + "term.browse": "Telusuri", + "term.radio": "Radio", + "term.recentlyAdded": "Baru Ditambahkan", + "term.songs": "Lagu", + "term.albums": "Album", + "term.artists": "Artis", + "term.podcasts": "Podcasts", + "term.playlists": "Playlist", + "term.playlist": "Playlist", + "term.newPlaylist": "Playlist Baru", + "term.newPlaylistFolder": "Folder Playlist Baru", + "term.createNewPlaylist": "Buat Playlist Baru", + "term.createNewPlaylistFolder": "Buat Folder Playlist Baru", + "term.deletePlaylist": "Yakin ingin menghapus playlist ini?", + "term.play": "Mainkan", + "term.pause": "Jeda", + "term.previous": "Sebelumnya", + "term.next": "Selanjutnya", + "term.shuffle": "Acak", + "term.repeat": "Ulangi", + "term.volume": "Volume", + "term.mute": "Bisu", + "term.unmute": "Bunyikan", + "term.share": "Bagikan", + "term.share.success": "Disalin ke clipboard", + "term.settings": "Pengaturan", + "term.seeAll": "Lihat Semua", + "term.sortBy": "Urutkan Berdasarkan", + "term.sortBy.album": "Album", + "term.sortBy.artist": "Artis", + "term.sortBy.name": "Nama", + "term.sortBy.genre": "Genre", + "term.sortBy.releaseDate": "Tanggal Rilis", + "term.sortBy.duration": "Durasi", + "term.sortOrder": "A-Z", + "term.sortOrder.ascending": "Terkecil", + "term.sortOrder.descending": "Terbesar", + "term.viewAs": "Lihat Sebagai", + "term.viewAs.coverArt": "Cover Art", + "term.viewAs.list": "Daftar", + "term.size": "Ukuran", + "term.size.normal": "Normal", + "term.size.compact": "Kompak", + "term.enable": "Aktifkan", + "term.disable": "Nonaktifkan", + "term.enabled": "Diaktifkan", + "term.disabled": "Dinonaktikan", + "term.connect": "Sambungkan", + "term.connecting": "Menyambungkan", + "term.disconnect": "Terputus", + "term.authed": "Diotentikasi", + "term.confirm": "Konfirmasi?", + "term.more": "Selebihnya", + "term.less": "Lebih Sedikit", + "term.showMore": "Tampilkan lebih banyak", + "term.showLess": "Tampilkan lebih sedikit", + "term.topSongs": "Lagu Teratas", + "term.latestReleases": "Rilis Terbaru", + "term.time.added": "Ditambahkan", + "term.time.released": "Dirilis", + "term.time.updated": "Diperbarui", + "term.time.hours": "jam", + "term.time.hour": "jam", + "term.time.minutes": "menit", + "term.time.minute": "menit", + "term.time.seconds": "detik", + "term.time.second": "detik", + "term.fullscreenView": "Mode Layar Penuh", + "term.defaultView": "Mode Default", + "term.audioSettings": "Pengaturan Audio", + "term.clearAll": "Bersihkan Semua", + "term.recentStations": "Stasiun Terbaru", + "term.language": "Bahasa", + "term.funLanguages": "Senang-senang", + "term.noLyrics": "Memuat... / Lirik tidak ditermukan./ Instrumental.", + "term.copyright": "Hak cipta", + "term.rightsReserved": "Hak cipta dilindungi Undang-undang.", + "term.sponsor": "Sponsori proyek ini", + "term.ciderTeam": "Cider Team", + "term.developer": "Pengembang", + "term.socialTeam": "Social Team", + "term.socials": "Sosial", + "term.contributors": "Kontributor", + "term.equalizer": "Equalizer", + "term.reset": "Atur Ulang", + "term.tracks": "lagu", // Assume x amount of tracks. e.g. 50 tracks + "term.videos": "Video", + "term.menu": "Menu", + "term.check": "Cek", + "term.aboutArtist": "Tentang {{artistName}}", // e.g. 'About Doja Cat' + "term.topResult": "Hasil Teratas", // Search Results + "term.sharedPlaylists": "Playlist yang dibagikan", // Search Results + "term.people": "Orang", // Search Results + "term.newpreset.name": "Nama Preset EQ Baru", // Equalizer Preset + "term.addedpreset": "Preset Ditambahkan", + "term.deletepreset.warn": "Yakin ingin menghapus preset ini?", + "term.deletedpreset": "Preset dihapus", + "term.musicVideos": "Video Musik", // Search page friendlyTypes + "term.stations": "Stasiun", + "term.curators": "Kurator", + "term.appleCurators": "Kurator Apple", + "term.radioShows": "Acara Radio", + "term.recordLabels": "Label Rekaman", + "term.videoExtras": "Bonus Video", + "term.top": "Atas", + + // Home + "home.title": "Beranda", + "home.recentlyPlayed": "Baru Dimainkan", + "home.recentlyAdded": "Baru Ditambahkan", + "home.artistsFeed": "Artists Feed Anda", + "home.artistsFeed.noArtist": "Ikuti beberapa artis terlebih dahulu dan rilisan terbaru mereka akan ada di sini", + "home.madeForYou": "Dibuat Untuk Kamu", + "home.friendsListeningTo": "Teman Sedang Mendengarkan", + "home.followedArtists": "Artis Diikuti", + + // Errors + "error.appleMusicSubRequired": "Apple Music memerlukan langganan.", + "error.connectionError": "Terjadi masalah saat menyambungkan ke Apple Music.", + "error.noResults": "Tidak ada hasil.", + "error.noResults.description": "Coba pencarian baru.", + + // Podcasts + "podcast.followOnCider": "Ikuti Di Cider", + "podcast.followedOnCider": "Mengikuti Di Cider", + "podcast.subscribeOnItunes": "Langganan Di iTunes", + "podcast.subscribedOnItunes": "Berlangganan Di iTunes", + "podcast.itunesStore": "iTunes Store", + "podcast.episodes": "Episode", + "podcast.playEpisode": "Mainkan Episode", + "podcast.website": "Website Podcast", + + // Actions + "action.addToLibrary": "Tambahkan ke Pustaka", + "action.addToLibrary.success": "Ditambahkan ke Pustaka", + "action.addToLibrary.error": "Terjadi Kesalahan Saat Menambahkan Pustaka", + "action.removeFromLibrary": "Hapus dari Pustaka", + "action.removeFromLibrary.success": "Dihapus dari Pustaka", + "action.addToQueue": "Tambahkan ke Antrian", + "action.addToQueue.success": "Ditambahkan ke Antrian", + "action.addToQueue.error": "Terjadi Kesalahan Saat Menambahkan ke Antrean", + "action.removeFromQueue": "Hapus dari Antrian", + "action.removeFromQueue.success": "Dihapus dari Antrian", + "action.removeFromQueue.error": "Terjadi Kesalahan Saat Menghapus Antrian", + "action.createPlaylist": "Buat Playlist Baru", + "action.addToPlaylist": "Tambahkan ke Playlist", + "action.removeFromPlaylist": "Hapus dari Playlist", + "action.addToFavorites": "Tambahkan ke Favorit", + "action.follow": "Ikuti", + "action.follow.success": "Diikuti", + "action.follow.error": "Kesalahan Dalam Mengikuti", + "action.unfollow": "Berhenti Mengikuti", + "action.unfollow.success": "Sudah Tidak Mengikuti", + "action.unfollow.error": "Terjadi Kesalahan Saat Berhenti Mengikuti", + "action.playNext": "Mainkan Selanjutnya", + "action.playLater": "Mainkan Nanti", + "action.startRadio": "Mulai Radio", + "action.goToArtist": "Lihat Halaman Artis", + "action.goToAlbum": "Lihat Halaman Album", + "action.moveToTop": "Pindah ke Atas", + "action.share": "Bagikan", + "action.rename": "Ubah Nama", + "action.love": "Suka", + "action.unlove": "Batal Suka", + "action.dislike": "Tidak Suka", + "action.undoDislike": "Batalkan Tidak Suka", + "action.showWebRemoteQR": "Remot Web", + "action.playTracksNext": "Mainkan ${app.selectedMediaItems.length} lagu selanjutnya", + "action.playTracksLater": "Mainkan ${app.selectedMediaItems.length} lagu nanti", + "action.removeTracks": "Hapus ${self.selectedItems.length} lagu dari antrian", + "action.import": "Impor", + "action.export": "Ekspor", + "action.showAlbum": "Tampilkan Album Sepenuhnya", + "action.tray.minimize": "Sembunyikan ke Tray", + "action.tray.quit": "Keluar", + "action.tray.show": "Tampilkan", + "action.update": "Perbarui", + "action.copy": "Salin", + "action.newpreset": "Preset Baru...", // Equalizer Preset + "action.deletepreset": "Hapus Preset", + + // Settings - General + "settings.header.general": "Umum", + "settings.header.general.description": "Sesuaikan pengaturan umum untuk Cider.", + "settings.option.general.language": "Bahasa", + + // Language optgroups + "settings.option.general.language.main": "Bahasa", + "settings.option.general.language.fun": "Bahasa Candaan", + "settings.option.general.language.unsorted": "Tidak disortir", + + // Update Cider + "settings.option.general.updateCider": "Perbarui Cider", // Button. Refer to term.check for the check button + "settings.option.general.updateCider.branch": "Branch Pembaruan Cider", // Dropdown + "settings.option.general.updateCider.branch.description": "Pilih branch untuk memperbarui Cider", + "settings.option.general.updateCider.branch.main": "Stable", + "settings.option.general.updateCider.branch.develop": "Development", + + // Settings - Audio + "settings.header.audio": "Audio", + "settings.header.audio.description": "Sesuaikan pengaturan audio untuk Cider.", + "settings.option.audio.quality": "Kualitas Audio", // Dropdown + "settings.header.audio.quality.hireslossless": "Hi-Res Lossless", + "settings.header.audio.quality.hireslossless.description": "sampai dari 24-bit/192 kHz", + "settings.header.audio.quality.lossless": "Lossless", + "settings.header.audio.quality.lossless.description": "sampai dari 24-bit/48 kHz", + "settings.header.audio.quality.high": "Tinggi", + "settings.header.audio.quality.high.description": "256 kbps", + "settings.header.audio.quality.standard": "Standar", + "settings.header.audio.quality.standard.description": "64 kbps", + "settings.option.audio.seamlessTransition": "Transisi Audio Mulus", // Toggle + "settings.option.audio.enableAdvancedFunctionality": "Aktifkan Fungsi Lanjutan", // Toggle + "settings.option.audio.enableAdvancedFunctionality.description": "Mengaktifkan fungsionalitas AudioContext memungkinkan fitur audio yang lanjutan seperti Normalisasi Audio, Equalizer dan Visualizer. Namun pada beberapa perangkat dapat menyebabkan tersendatnya audio.", + "settings.option.audio.enableAdvancedFunctionality.ciderPPE": "Cider Adrenaline Processor™️", // Toggle + "settings.option.audio.enableAdvancedFunctionality.ciderPPE.description": "Peningkatan Psikoakustik yang membuat semuanya terdengar lebih jelas dan lebih hidup | Dirancang oleh Maikiwi.", + "settings.option.audio.enableAdvancedFunctionality.ciderPPEStrength": "Kekuatan CAP", // Toggle + "settings.option.audio.enableAdvancedFunctionality.ciderPPEStrength.description": "Mengubah kekuatan pemrosesan yang dilakukan pada audio. (Agresif dapat menghasilkan hasil yang tidak diinginkan)", + "settings.option.audio.enableAdvancedFunctionality.ciderPPEStrength.standard": "Standar", + "settings.option.audio.enableAdvancedFunctionality.ciderPPEStrength.aggressive": "Agresif", + "settings.option.audio.enableAdvancedFunctionality.audioNormalization": "Normalisasi Audio", // Toggle + "settings.option.audio.enableAdvancedFunctionality.audioNormalization.description": "Menormalkan puncak volume untuk masing-masing lagu demi menciptakan pengalaman mendengarkan yang lebih seragam.", + "settings.option.audio.enableAdvancedFunctionality.audioSpatialization": "Spasialisasi Audio", // Toggle + "settings.option.audio.enableAdvancedFunctionality.audioSpatialization.description": "Atur ruang audio dan buat audio lebih 3 dimensi (NB: Bukan Dolby Atmos)", + + // Settings - Visual + "settings.header.visual": "Visual", + "settings.header.visual.description": "Sesuaikan pengaturan visual untuk Cider.", + "settings.option.visual.windowBackgroundStyle": "Gaya Latar Belakang Jendela", // Toggle + "settings.header.visual.windowBackgroundStyle.none": "Tidak Ada", + "settings.header.visual.windowBackgroundStyle.artwork": "Artwork", + "settings.header.visual.windowBackgroundStyle.image": "Gambar", + "settings.option.visual.animatedArtwork": "Artwork Bergerak", // Dropdown + "settings.header.visual.animatedArtwork.always": "Selalu", + "settings.header.visual.animatedArtwork.limited": "Terbatas untuk halaman dan entri khusus", + "settings.header.visual.animatedArtwork.disable": "Matikan di semua tempat", + "settings.option.visual.animatedArtworkQuality": "Kualitas Artwork Bergerak", // Dropdown + "settings.header.visual.animatedArtworkQuality.low": "Rendah", + "settings.header.visual.animatedArtworkQuality.medium": "Medium", + "settings.header.visual.animatedArtworkQuality.high": "Tinggi", + "settings.header.visual.animatedArtworkQuality.veryHigh": "Sangat Tinggi", + "settings.header.visual.animatedArtworkQuality.extreme": "Paling Tinggi", + "settings.option.visual.animatedWindowBackground": "Jendela Latar Belakang Bergerak", // Toggle + "settings.option.visual.hardwareAcceleration": "Akselerasi Perangkat Keras (HW Acceleration)", // Dropdown + "settings.option.visual.hardwareAcceleration.description": "Membutuhkan dibuka ulang", + "settings.header.visual.hardwareAcceleration.default": "Default", + "settings.header.visual.hardwareAcceleration.webGPU": "WebGPU", + "settings.header.visual.theme": "Tema", + + // Settings - Visual - Theme name + "settings.option.visual.theme.default": "Cider", + "settings.option.visual.theme.dark": "Gelap", + // Refer to term.disabled for the disabled option + "settings.option.visual.showPersonalInfo": "Tampilkan Info Pribadi", // Toggle + + // Settings - Lyrics + "settings.header.lyrics": "Lyrics", + "settings.header.lyrics.description": "Sesuaikan pengaturan lirik untuk Cider.", + "settings.option.lyrics.enableMusixmatch": "Aktifkan Lirik Musixmatch", // Toggle + "settings.option.lyrics.enableMusixmatchKaraoke": "Aktifkan Mode Karaoke (khusus Musixmatch)", // Toggle + "settings.option.lyrics.musixmatchPreferredLanguage": "Bahasa Terjemahan Musixmatch", // Dropdown + "settings.option.lyrics.enableYoutubeLyrics": "Aktifkan Lirik Youtube untuk Video Musik", // Toggle + + // Settings - Connectivity + "settings.header.connectivity": "Konektivitas", + "settings.header.connectivity.description": "Sesuaikan pengaturan konektivitas untuk Cider.", + "settings.option.connectivity.discordRPC": "Discord Rich Presence", // Dropdown + "settings.option.connectivity.playbackNotifications": "Pemberitahuan Pemutaran", // Toggle + // Refer to term.disabled for the disabled option + "settings.header.connectivity.discordRPC.cider": "Tampilkan sebagai 'Cider'", + "settings.header.connectivity.discordRPC.appleMusic": "Tampilkan sebagai 'Apple Music'", + "settings.option.connectivity.discordRPC.clearOnPause": "Sembunyikan Discord Rich Presence saat dijeda", // Toggle + "settings.option.connectivity.lastfmScrobble": "Last.fm Scrobbling", // Option to Connect + "settings.option.connectivity.lastfmScrobble.delay": "Delay Last.fm Scrobble (%)", + "settings.option.connectivity.lastfmScrobble.nowPlaying": "Aktifkan Last.fm Now Playing", + "settings.option.connectivity.lastfmScrobble.removeFeatured": "Hapus featuring artist dari judul lagu (Last.fm)", + "settings.option.connectivity.lastfmScrobble.filterLoop": "Filter lagu yang diulang (Last.fm)", + // Refer to term.connect for the connect button + + // Settings - Experimental + "settings.header.experimental": "Eksperimental", + "settings.header.experimental.description": "Sesuaikan pengaturan eksperimental untuk Cider.", + "settings.option.experimental.compactUI": "UI Kompak", // Toggle + "settings.option.experimental.close_button_hide": "Tombol Tutup Menyembunyikan Aplikasi", + "settings.option.experimental.copy_log": "Salin log ke clipboard", + "settings.option.experimental.inline_playlists": "Playlist dan Album Sebaris", + + // Refer to term.disabled & term.enabled + // Spatialization Menu + "spatial.notTurnedOn": "Spasialisasi Audio dinonaktifkan. Untuk menggunakan, aktifkan terlebih dahulu.", + "spatial.spatialProperties": "Spatial Properties", + "spatial.width": "Lebar", + "spatial.height": "Tinggi", + "spatial.depth": "Kedalaman", + "spatial.gain": "Gain", + "spatial.roomMaterials": "Bahan Ruangan", + "spatial.roomDimensions": "Dimensi Ruangan", + "spatial.roomPositions": "Posisi Ruangan", + "spatial.setDimensions": "Atur Dimensi", + "spatial.setPositions": "Atur Posisi", + "spatial.up": "Atas", + "spatial.front": "Depan", + "spatial.left": "Kiri", + "spatial.right": "Kanan", + "spatial.back": "Belakang", + "spatial.down": "Bawah", + "spatial.listener": "Pendegar", + "spatial.audioSource": "Sumber Audio", + + // Settings - Unfinished + "settings.header.unfinished": "Belum Diselesaikan", + + // Web Remote + "remote.web.title": "Remote Cider", + "remote.web.description": "Pindai kode QR untuk memasangkan ponsel Anda dengan Cider.", + + // About + "about.thanks": "Terima kasih yang sebesar-besarnya kepada Cider Collective Team dan semua kontributor kami." + } \ No newline at end of file From d558d1fd4654b188e11ad72210a2c02d2d8d3bfc Mon Sep 17 00:00:00 2001 From: Maikiwi Date: Mon, 7 Feb 2022 20:43:33 -0800 Subject: [PATCH 071/573] more volume thingies --- src/renderer/views/app/chrome-top.ejs | 2 +- src/renderer/views/components/miniplayer.ejs | 2 +- src/web-remote/views/index.ejs | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/src/renderer/views/app/chrome-top.ejs b/src/renderer/views/app/chrome-top.ejs index e38ee43e..fa2e3012 100644 --- a/src/renderer/views/app/chrome-top.ejs +++ b/src/renderer/views/app/chrome-top.ejs @@ -108,7 +108,7 @@
-
diff --git a/src/renderer/views/components/miniplayer.ejs b/src/renderer/views/components/miniplayer.ejs index 40ecabe9..606ea49a 100644 --- a/src/renderer/views/components/miniplayer.ejs +++ b/src/renderer/views/components/miniplayer.ejs @@ -83,7 +83,7 @@
-
diff --git a/src/web-remote/views/index.ejs b/src/web-remote/views/index.ejs index 46915075..ad46c5a5 100644 --- a/src/web-remote/views/index.ejs +++ b/src/web-remote/views/index.ejs @@ -172,7 +172,7 @@
-
From 00ec349f711d9a1e76a5b590659ec18dab84a1bf Mon Sep 17 00:00:00 2001 From: Maikiwi Date: Mon, 7 Feb 2022 23:06:14 -0800 Subject: [PATCH 072/573] Fix fix fix volume steps --- src/renderer/views/app/chrome-top.ejs | 2 +- src/renderer/views/components/fullscreen.ejs | 2 +- src/renderer/views/components/miniplayer.ejs | 2 +- src/web-remote/views/index.ejs | 2 +- 4 files changed, 4 insertions(+), 4 deletions(-) diff --git a/src/renderer/views/app/chrome-top.ejs b/src/renderer/views/app/chrome-top.ejs index fa2e3012..422fb24c 100644 --- a/src/renderer/views/app/chrome-top.ejs +++ b/src/renderer/views/app/chrome-top.ejs @@ -108,7 +108,7 @@
-
diff --git a/src/renderer/views/components/fullscreen.ejs b/src/renderer/views/components/fullscreen.ejs index 51093c60..e2c30f33 100644 --- a/src/renderer/views/components/fullscreen.ejs +++ b/src/renderer/views/components/fullscreen.ejs @@ -80,7 +80,7 @@
-
diff --git a/src/renderer/views/components/miniplayer.ejs b/src/renderer/views/components/miniplayer.ejs index 606ea49a..8c268588 100644 --- a/src/renderer/views/components/miniplayer.ejs +++ b/src/renderer/views/components/miniplayer.ejs @@ -83,7 +83,7 @@
-
diff --git a/src/web-remote/views/index.ejs b/src/web-remote/views/index.ejs index ad46c5a5..46915075 100644 --- a/src/web-remote/views/index.ejs +++ b/src/web-remote/views/index.ejs @@ -172,7 +172,7 @@
-
From 0f6fe2c84cd531ba342a90b4dda0c435bc84b658 Mon Sep 17 00:00:00 2001 From: Maikiwi Date: Mon, 7 Feb 2022 23:11:59 -0800 Subject: [PATCH 073/573] fix CAP (I think) --- src/renderer/audio/audio.js | 17 +++++++++-------- src/renderer/views/components/equalizer.ejs | 4 ++-- 2 files changed, 11 insertions(+), 10 deletions(-) diff --git a/src/renderer/audio/audio.js b/src/renderer/audio/audio.js index c22ef29c..f195e0c8 100644 --- a/src/renderer/audio/audio.js +++ b/src/renderer/audio/audio.js @@ -30,7 +30,7 @@ var CiderAudio = { CiderAudio.audioNodes.gainNode.disconnect(); } catch(e){} try{ CiderAudio.audioNodes.spatialNode.disconnect();} catch(e){} try{ - CiderAudio.audioNodes.preampNode.disconnect(); + // CiderAudio.audioNodes.preampNode.disconnect(); for (var i of CiderAudio.audioNodes.llpw){ i.disconnect(); } @@ -146,12 +146,13 @@ var CiderAudio = { CiderAudio.audioNodes.llpw[i].Q.value = LLPW_Q[i]; CiderAudio.audioNodes.llpw[i].gain.value = LLPW_GAIN[i] * app.cfg.audio.ciderPPE_value * CiderAudio.audioNodes.llpwEnabled; } - + /** CiderAudio.audioNodes.preampNode = CiderAudio.context.createBiquadFilter(); CiderAudio.audioNodes.preampNode.type = 'highshelf'; CiderAudio.audioNodes.preampNode.frequency.value = 0; // Passthrough - if (CiderAudio.audioNodes.llpwEnabled === 1) {CiderAudio.audioNodes.preampNode.gain.value = (-Math.max(...app.cfg.audio.equalizer.gain.concat(CiderAudio.audioNodes.llpw[23].gain.value)));} - else {CiderAudio.audioNodes.preampNode.gain.value = (-Math.max(...app.cfg.audio.equalizer.gain));} + CiderAudio.audioNodes.preampNode.gain.value = 0; + /** if (CiderAudio.audioNodes.llpwEnabled === 1) {CiderAudio.audioNodes.preampNode.gain.value = (-Math.max(...app.cfg.audio.equalizer.gain.concat(CiderAudio.audioNodes.llpw[23].gain.value)));} + else {CiderAudio.audioNodes.preampNode.gain.value = (-Math.max(...app.cfg.audio.equalizer.gain));}*/ for (i = 0; i < VIBRANTBASSBANDS.length; i++) { CiderAudio.audioNodes.vibrantbassNode[i] = CiderAudio.context.createBiquadFilter(); @@ -164,14 +165,14 @@ var CiderAudio = { if (app.cfg.audio.spatial) { try{ CiderAudio.audioNodes.spatialNode.output.disconnect(CiderAudio.context.destination); } catch(e){} - CiderAudio.audioNodes.spatialNode.output.connect(CiderAudio.audioNodes.preampNode); + CiderAudio.audioNodes.spatialNode.output.connect(CiderAudio.audioNodes.llpw[0]); } else { try{ CiderAudio.audioNodes.gainNode.disconnect(CiderAudio.context.destination);} catch(e){} - CiderAudio.audioNodes.gainNode.connect(CiderAudio.audioNodes.preampNode); + CiderAudio.audioNodes.gainNode.connect(CiderAudio.audioNodes.llpw[0]); } - - CiderAudio.audioNodes.preampNode.connect(CiderAudio.audioNodes.llpw[0]); + + // CiderAudio.audioNodes.preampNode.connect(CiderAudio.audioNodes.llpw[0]); for (i = 1; i < LLPW_FREQUENCIES.length; i ++) { CiderAudio.audioNodes.llpw[i-1].connect(CiderAudio.audioNodes.llpw[i]); diff --git a/src/renderer/views/components/equalizer.ejs b/src/renderer/views/components/equalizer.ejs index 2d4f6f3b..af6b4c85 100644 --- a/src/renderer/views/components/equalizer.ejs +++ b/src/renderer/views/components/equalizer.ejs @@ -324,8 +324,8 @@ } }, changePreamp() { - if (CiderAudio.audioNodes.llpwEnabled === 1) {CiderAudio.audioNodes.preampNode.gain.value = (-Math.max(...app.cfg.audio.equalizer.gain.concat(CiderAudio.audioNodes.llpw[23].gain.value)));} - else {CiderAudio.audioNodes.preampNode.gain.value = (-Math.max(...app.cfg.audio.equalizer.gain));} + /** if (CiderAudio.audioNodes.llpwEnabled === 1) {CiderAudio.audioNodes.preampNode.gain.value = (-Math.max(...app.cfg.audio.equalizer.gain.concat(CiderAudio.audioNodes.llpw[23].gain.value)));} + else {CiderAudio.audioNodes.preampNode.gain.value = (-Math.max(...app.cfg.audio.equalizer.gain));} */ }, changeGain(i) { CiderAudio.audioNodes.audioBands[i].gain.value = app.cfg.audio.equalizer.gain[i] * app.cfg.audio.equalizer.mix From 3cb8e35f4e9d608712367a8b5dd36681f5ca57d4 Mon Sep 17 00:00:00 2001 From: vapormusic Date: Tue, 8 Feb 2022 14:25:12 +0700 Subject: [PATCH 074/573] arm64 mac --- package.json | 5 +++-- resources/afterPack.js | 9 +++++++-- 2 files changed, 10 insertions(+), 4 deletions(-) diff --git a/package.json b/package.json index 657f87ec..f0b7b85a 100644 --- a/package.json +++ b/package.json @@ -23,7 +23,8 @@ "start:darwin": "yarn build && ELECTRON_ENABLE_LOGGING=true && electron ./build/index.js --enable-accelerated-mjpeg-decode --enable-accelerated-video --disable-gpu-driver-bug-workarounds --ignore-gpu-blacklist --enable-native-gpu-memory-buffers", "pack": "electron-builder --dir", "dist": "yarn build && electron-builder", - "dist:mac": "yarn build && electron-builder --mac --universal", + "dist:macarm" : "yarn build && electron-builder --mac --arm64", + "dist:universalNotWorking": "yarn build && electron-builder --mac --universal", "dist:all": "yarn build && electron-builder -mwl", "msft": "yarn build && electron-builder -c msft-package.json", "postinstall": "electron-builder install-app-deps", @@ -66,7 +67,7 @@ "@types/qrcode-terminal": "^0.12.0", "@types/ws": "^8.2.2", "electron": "git+https://github.com/castlabs/electron-releases.git", - "electron-builder": "^22.14.5", + "electron-builder": "^22.14.13", "electron-webpack": "^2.8.2", "musickit-typescript": "^1.2.4", "playwright": "^1.18.1", diff --git a/resources/afterPack.js b/resources/afterPack.js index 6c677c49..c70017c1 100644 --- a/resources/afterPack.js +++ b/resources/afterPack.js @@ -1,5 +1,6 @@ exports.default = function(context) { const { execSync } = require('child_process') + const fs = require('fs') if (process.platform !== 'darwin') return @@ -8,11 +9,15 @@ exports.default = function(context) { execSync('python3 -m pip install --upgrade castlabs-evs') console.log('Castlabs-evs update complete') - + console.log('VMP signing start') - + if (fs.existsSync('dist/mac')) execSync('python3 -m castlabs_evs.vmp -n sign-pkg dist/mac',{stdio: 'inherit'}) + if (fs.existsSync('dist/mac-arm64')) + execSync('python3 -m castlabs_evs.vmp -n sign-pkg dist/mac-arm64 -z',{stdio: 'inherit'}) + if (fs.existsSync('dist/mac-x64')) + execSync('python3 -m castlabs_evs.vmp -n sign-pkg dist/mac-x64',{stdio: 'inherit'}) console.log('VMP signing complete') } \ No newline at end of file From abea1a150d7f9d6e9312c5837872bcb8ce89481e Mon Sep 17 00:00:00 2001 From: vapormusic Date: Tue, 8 Feb 2022 14:57:55 +0700 Subject: [PATCH 075/573] the only way i think of to fix nsis that works --- package.json | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/package.json b/package.json index f0b7b85a..d232d542 100644 --- a/package.json +++ b/package.json @@ -171,7 +171,6 @@ "target": [ "dmg" ] - }, - "artifactName": "${productName}.${ext}" + } } } From 396c4c712161607e166dd1252d30f85cbd1c0530 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=AE=A5=E5=8F=A1?= <46503943+jay900604@users.noreply.github.com> Date: Tue, 8 Feb 2022 23:44:27 +0800 Subject: [PATCH 076/573] Update zh_TW.jsonc (#385) --- src/i18n/zh_TW.jsonc | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/src/i18n/zh_TW.jsonc b/src/i18n/zh_TW.jsonc index 5a7ef4da..c2190a45 100644 --- a/src/i18n/zh_TW.jsonc +++ b/src/i18n/zh_TW.jsonc @@ -202,6 +202,10 @@ // Update Cider "settings.option.general.updateCider": "更新 Cider", // Button + "settings.option.general.updateCider.branch": "Cider 更新通道", // Dropdown + "settings.option.general.updateCider.branch.description": "選擇您要接收 Cider 軟體更新的通道", + "settings.option.general.updateCider.branch.main": "穩定版(建議)", + "settings.option.general.updateCider.branch.develop": "開發者測試版(不穩定)", // Settings - Audio "settings.header.audio": "音訊", @@ -325,4 +329,4 @@ //About "about.thanks": "著重感謝 Cider Collective 的成員以及所有為項目付出的貢獻者。" -} \ No newline at end of file +} From 0161a6063a5ae96494808488da14b160d646a5eb Mon Sep 17 00:00:00 2001 From: Crystal <55697230+crystalshower@users.noreply.github.com> Date: Tue, 8 Feb 2022 22:45:12 +0700 Subject: [PATCH 077/573] grammar improvement (#379) --- src/i18n/in_ID.jsonc | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/i18n/in_ID.jsonc b/src/i18n/in_ID.jsonc index 91e63524..d9d28529 100644 --- a/src/i18n/in_ID.jsonc +++ b/src/i18n/in_ID.jsonc @@ -147,7 +147,7 @@ "home.title": "Beranda", "home.recentlyPlayed": "Baru Dimainkan", "home.recentlyAdded": "Baru Ditambahkan", - "home.artistsFeed": "Artists Feed Anda", + "home.artistsFeed": "Feed Artis Anda", "home.artistsFeed.noArtist": "Ikuti beberapa artis terlebih dahulu dan rilisan terbaru mereka akan ada di sini", "home.madeForYou": "Dibuat Untuk Kamu", "home.friendsListeningTo": "Teman Sedang Mendengarkan", @@ -249,7 +249,7 @@ "settings.header.audio.quality.standard.description": "64 kbps", "settings.option.audio.seamlessTransition": "Transisi Audio Mulus", // Toggle "settings.option.audio.enableAdvancedFunctionality": "Aktifkan Fungsi Lanjutan", // Toggle - "settings.option.audio.enableAdvancedFunctionality.description": "Mengaktifkan fungsionalitas AudioContext memungkinkan fitur audio yang lanjutan seperti Normalisasi Audio, Equalizer dan Visualizer. Namun pada beberapa perangkat dapat menyebabkan tersendatnya audio.", + "settings.option.audio.enableAdvancedFunctionality.description": "Mengaktifkan fungsionalitas AudioContext memungkinkan fitur audio lanjutan seperti Normalisasi Audio, Equalizer dan Visualizer. Namun pada beberapa perangkat dapat menyebabkan tersendatnya audio.", "settings.option.audio.enableAdvancedFunctionality.ciderPPE": "Cider Adrenaline Processor™️", // Toggle "settings.option.audio.enableAdvancedFunctionality.ciderPPE.description": "Peningkatan Psikoakustik yang membuat semuanya terdengar lebih jelas dan lebih hidup | Dirancang oleh Maikiwi.", "settings.option.audio.enableAdvancedFunctionality.ciderPPEStrength": "Kekuatan CAP", // Toggle From 7230ecb0808345ee9dc9f90e626515610e1f12c4 Mon Sep 17 00:00:00 2001 From: KaHim Chan Date: Tue, 8 Feb 2022 23:45:59 +0800 Subject: [PATCH 078/573] Irregular update 08/02 (#378) --- src/i18n/README.md | 24 +- src/i18n/de_DE.jsonc | 20 +- src/i18n/el_GR.jsonc | 22 +- src/i18n/en_HODOR.jsonc | 17 +- src/i18n/en_OWO.jsonc | 6 +- src/i18n/en_PISS.jsonc | 4 +- src/i18n/en_SGA.jsonc | 25 +- src/i18n/en_US.jsonc | 14 +- src/i18n/es_ES.jsonc | 6 +- src/i18n/fr_CA.jsonc | 16 +- src/i18n/fr_FR.jsonc | 696 +++++++++++++------------- src/i18n/hu_HU.jsonc | 4 +- src/i18n/it_IT.jsonc | 15 +- src/i18n/ja_JP.jsonc | 21 +- src/i18n/ko_KR.jsonc | 4 +- src/i18n/pt_BR.jsonc | 37 +- src/i18n/sv_SE.jsonc | 6 +- src/i18n/tr_TR.jsonc | 18 +- src/i18n/zh_CN.jsonc | 20 +- src/i18n/zh_HK.jsonc | 71 +-- src/i18n/zh_TW.jsonc | 15 +- src/i18n/zh_yue.jsonc | 10 +- src/renderer/index.js | 8 +- src/renderer/views/pages/about.ejs | 6 + src/renderer/views/pages/settings.ejs | 4 +- 25 files changed, 617 insertions(+), 472 deletions(-) diff --git a/src/i18n/README.md b/src/i18n/README.md index 1f5d47d4..db061fbd 100644 --- a/src/i18n/README.md +++ b/src/i18n/README.md @@ -1,4 +1,4 @@ -# Cider i18n +# Cider i18n Notices & Changelog Some notes about Cider's i18n support. @@ -21,7 +21,7 @@ been modified, the ones not mentioned in the list need modifying. * `term.sharedPlaylists`: "Shared Playlists" - Added for `en_US`. * `term.people`: "People" - Added for `en_US`. -Updated 02/02/2022 17:16 UTC +Update 02/02/2022 17:16 UTC * `term.newpreset.name`: Added for `en_US`. * `term.addedpreset`: Added for `en_US`. @@ -38,7 +38,7 @@ Updated 02/02/2022 17:16 UTC * `action.newpreset`: Added for `en_US`. * `action.deletepreset`: Added for `en_US`. -Updated 04/02/2022 10:00 UTC +Update 04/02/2022 10:00 UTC * `term.history`: Added for `en_US`. * `action.copy`: Added for `en_US`. @@ -64,4 +64,20 @@ Update 06/02/2022 10:35 UTC * `settings.header.audio.quality.high.description`: Added for `en_US`. * `settings.header.audio.quality.auto`: Removed as default for MusicKit is 256. * `settings.header.audio.quality.standard`: Replaced `settings.header.audio.quality.low` to match MusicKit naming. -* `settings.header.audio.quality.standard.description`: Added for `en_US`. \ No newline at end of file +* `settings.header.audio.quality.standard.description`: Added for `en_US`. + +Update 08/02/2022 10:20 UTC + +* `settings.option.general.updateCider`: Added for `en_US`. +* `settings.option.general.updateCider.branch`: Added for `en_US`. +* `settings.option.general.updateCider.branch.description`: Added for `en_US`. +* `settings.option.general.updateCider.branch.main`: Added for `en_US`. +* `settings.option.general.updateCider.branch.develop`: Added for `en_US`. +* `settings.option.audio.enableAdvancedFunctionality.ciderPPEStrength`: Added for `en_US`. +* `settings.option.audio.enableAdvancedFunctionality.ciderPPEStrength.description`: Added for `en_US`. +* `settings.option.audio.enableAdvancedFunctionality.ciderPPEStrength.standard`: Added for `en_US`. +* `settings.option.audio.enableAdvancedFunctionality.ciderPPEStrength.aggressive`: Added for `en_US`. +* `settings.warn.audio.enableAdvancedFunctionality.ciderPPE.compatibility`: Added for `en_US`. +* `settings.warn.audio.enableAdvancedFunctionality.audioSpatialization.compatibility`: Added for `en_US`. +* `term.requestError`: Added for `en_US`. +* `term.song.link.generate`: Added for `en_US`. \ No newline at end of file diff --git a/src/i18n/de_DE.jsonc b/src/i18n/de_DE.jsonc index b5ef5017..57c29597 100644 --- a/src/i18n/de_DE.jsonc +++ b/src/i18n/de_DE.jsonc @@ -1,7 +1,7 @@ -{ // Base File +{ // i18n Info - "i18n.languageName": "Deutsch", // name of language in native language + "i18n.languageName": "Deutsch", // name of language in native language "i18n.languageNameEnglish": "German", // name of language in English "i18n.category": "main", // main = real language, fun = fun community languages "i18n.authors": "@motz0815", // Authors, if you contribute to this file feel free to add your name seperated with a space @@ -19,6 +19,7 @@ "notification.updatingLibrarySongs": "Aktualisiere Songs...", "notification.updatingLibraryAlbums": "Aktualisiere Alben...", "notification.updatingLibraryArtists": "Aktualisiere Künstler...", + // Terms "term.appleInc": "Apple Inc.", "term.appleMusic": "Apple Music", @@ -117,7 +118,6 @@ "term.tracks": "Lieder", // Assume x amount of tracks. e.g. 50 tracks "term.videos": "Videos", "term.menu": "Menü", - "action.showAlbum": "Zeige ganzes Album", // Home "home.title": "Home", @@ -128,13 +128,14 @@ "home.madeForYou": "Für dich gemacht", "home.friendsListeningTo": "Freunde hören", "home.followedArtists": "Gefolgte Künstler", + // Errors "error.appleMusicSubRequired": "Apple Music benötigt ein Abonnement.", "error.connectionError": "Es ist ein Fehler aufgetreten, während sich mit Apple Music verbunden wurde.", "error.noResults": "Keine Ergebnisse.", "error.noResults.description": "Versuche einen anderen Suchbegriff.", - //Podcasts + // Podcasts "podcast.followOnCider": "Folge auf Cider", "podcast.followedOnCider": "Gefolgt auf Cider", "podcast.subscribeOnItunes": "Folge auf iTunes", @@ -183,6 +184,7 @@ "action.removeTracks": "Entferne ${self.selectedItems.length} Lieder aus der Warteschlange", "action.import": "Importieren", "action.export": "Exportieren", + "action.showAlbum": "Zeige ganzes Album", // Settings - General "settings.header.general": "Allgemein", @@ -193,6 +195,8 @@ "settings.option.general.language.main": "Sprachen", "settings.option.general.language.fun": "Lustige Sprachen", "settings.option.general.language.unsorted": "Unsortiert", + + // Update Cider // Settings - Audio "settings.header.audio": "Audio", @@ -208,6 +212,7 @@ "settings.option.audio.enableAdvancedFunctionality.audioNormalization.description": "Normalisiert die Lautstärke aller Lieder, um die Hörerfahrung einheitlicher zu machen.", "settings.option.audio.enableAdvancedFunctionality.audioSpatialization": "Räumliches Audio", // Toggle "settings.option.audio.enableAdvancedFunctionality.audioSpatialization.description": "Macht die Musik räumlicher (3D-Effekt) (Beachte: Dies ist kein Dolby Atmos)", + // Settings - Visual "settings.header.visual": "Visuell", "settings.header.visual.description": "Passe die visuellen Einstellungen für Cider an.", @@ -230,6 +235,9 @@ "settings.option.visual.hardwareAcceleration.description": "Erfordert Neustart der Anwendung", "settings.header.visual.hardwareAcceleration.default": "Normal", "settings.header.visual.hardwareAcceleration.webGPU": "WebGPU", + + // Settings - Visual - Theme name + // Refer to term.disabled for the disabled option "settings.option.visual.showPersonalInfo": "Persönliche Daten anzeigen", // Toggle @@ -265,8 +273,8 @@ "settings.option.experimental.closeButtonBehaviour.quit": "Cider Schließen", "settings.option.experimental.closeButtonBehaviour.minimizeTaskbar": "In Taskleiste minimieren", "settings.option.experimental.closeButtonBehaviour.minimizeTray": "In den Tray minimieren", + // Refer to term.disabled & term.enabled - // Spatialization Menu "spatial.spatialProperties" : "Räumliche Einstellungen", "spatial.width" : "Breite", @@ -296,4 +304,4 @@ // About "about.thanks": "Vielen lieben Dank an das Cider Collective Team und an alle Mithelfer." -} +} \ No newline at end of file diff --git a/src/i18n/el_GR.jsonc b/src/i18n/el_GR.jsonc index ca100520..9ab932d7 100644 --- a/src/i18n/el_GR.jsonc +++ b/src/i18n/el_GR.jsonc @@ -1,10 +1,10 @@ { // i18n Info - "i18n.languageName": "Ελληνικά", - "i18n.languageNameEnglish": "Greek", - "i18n.category": "main", - "i18n.authors": "@down-bad", + "i18n.languageName": "Ελληνικά", // name of language in native language + "i18n.languageNameEnglish": "Greek", // name of language in English + "i18n.category": "main", // main = real language, fun = fun community languages + "i18n.authors": "@down-bad", // Authors, if you contribute to this file feel free to add your name seperated with a space // App info "app.name": "Cider", @@ -19,6 +19,7 @@ "notification.updatingLibrarySongs": "Ενημέρωση βιβλιοθήκης τραγουδιών...", "notification.updatingLibraryAlbums": "Ενημέρωση βιβλιοθήκης άλμπουμ...", "notification.updatingLibraryArtists": "Ενημέρωση βιβλιοθήκης καλλιτεχνών...", + // Terms "term.appleInc": "Apple Inc.", "term.appleMusic": "Apple Music", @@ -117,7 +118,6 @@ "term.tracks": "τραγούδια", // Assume x amount of tracks. e.g. 50 tracks "term.videos": "Βίντεο", "term.menu": "Μενού", - "action.showAlbum": "Εμφάνιση ολόκληρου άλμπουμ", // Home "home.title": "Αρχική", @@ -128,13 +128,14 @@ "home.madeForYou": "Δημιουργήθηκε για εσάς", "home.friendsListeningTo": "Οι φίλοι σου ακούν", "home.followedArtists": "Καλλιτέχνες που ακολουθείτε", + // Errors "error.appleMusicSubRequired": "Το Apple Music απαιτεί μια συνδρομή.", "error.connectionError": "Δεν είναι δυνατή η σύνδεση με το Apple Music.", "error.noResults": "Κανένα αποτέλεσμα.", "error.noResults.description": "Δοκιμάστε μια νέα αναζήτηση.", - //Podcasts + // Podcasts "podcast.followOnCider": "Ακολούθηση στο Cider", "podcast.followedOnCider": "Ακολουθείτε στο Cider", "podcast.subscribeOnItunes": "Συνδρομή στο iTunes", @@ -183,6 +184,7 @@ "action.removeTracks": "Αφαίρεση ${self.selectedItems.length} τραγουδιών από την ουρά", "action.import": "Εισαγωγή", "action.export": "Εξαγωγή", + "action.showAlbum": "Εμφάνιση ολόκληρου άλμπουμ", // Settings - General "settings.header.general": "Γενικά", @@ -193,6 +195,8 @@ "settings.option.general.language.main": "Γλώσσες", "settings.option.general.language.fun": "Γλώσσες για πλάκα", "settings.option.general.language.unsorted": "Αταξινόμητες", + + // Update Cider // Settings - Audio "settings.header.audio": "Ήχος", @@ -208,6 +212,7 @@ "settings.option.audio.enableAdvancedFunctionality.audioNormalization.description": "Κανονικοποιεί την ένταση για μεμονωμένα κομμάτια για μια πιο ομοιόμορφη εμπειρία ακρόασης.", "settings.option.audio.enableAdvancedFunctionality.audioSpatialization": "Χωρικοποίηση Ήχου", // Toggle "settings.option.audio.enableAdvancedFunctionality.audioSpatialization.description": "Πιο τρισδιάστατος και χωρικοποιημένος ήχος (σημείωση: Αυτό δεν είναι Dolby Atmos)", + // Settings - Visual "settings.header.visual": "Οπτικά", "settings.header.visual.description": "Προσαρμογή οπτικών ρυθμίσεων για το Cider.", @@ -230,6 +235,9 @@ "settings.option.visual.hardwareAcceleration.description": "Απαιτεί επανεκκίνηση", "settings.header.visual.hardwareAcceleration.default": "Προεπιλογή", "settings.header.visual.hardwareAcceleration.webGPU": "WebGPU", + + // Settings - Visual - Theme name + // Refer to term.disabled for the disabled option "settings.option.visual.showPersonalInfo": "Εμφάνιση προσωπικών στοιχείων", // Toggle @@ -265,8 +273,8 @@ "settings.option.experimental.closeButtonBehaviour.quit": "Έξοδος του Cider", "settings.option.experimental.closeButtonBehaviour.minimizeTaskbar": "Ελαχιστοποίηση στη γραμμή εργασιών", "settings.option.experimental.closeButtonBehaviour.minimizeTray": "Ελαχιστοποίηση στη γωνία γραμμής εργασιών", + // Refer to term.disabled & term.enabled - // Spatialization Menu "spatial.spatialProperties" : "Χωρικές Ιδιότητες", "spatial.width" : "Πλάτος", diff --git a/src/i18n/en_HODOR.jsonc b/src/i18n/en_HODOR.jsonc index e925e968..57014914 100644 --- a/src/i18n/en_HODOR.jsonc +++ b/src/i18n/en_HODOR.jsonc @@ -1,7 +1,7 @@ { // HODOR // i18n Info - "i18n.languageName": "HODOR", // name of language in native language + "i18n.languageName": "HODOR", // name of language in native language "i18n.languageNameEnglish": "HODOR", // name of language in English "i18n.category": "fun", // main = real language, fun = fun community languages "i18n.authors": "HODOR", // Authors, if you contribute to this file feel free to add your name seperated with a space @@ -19,6 +19,7 @@ "notification.updatingLibrarySongs": "UPDATING HODOR HODORS...", "notification.updatingLibraryAlbums": "UPDATING HODOR HODORBUMS...", "notification.updatingLibraryArtists": "UPDATING HODOR HODORTISTS...", + // Terms "term.appleInc": "HODOR Inc.", "term.appleMusic": "HODOR MUSIC", @@ -139,7 +140,7 @@ "error.noResults": "NO HODOR.", "error.noResults.description": "TRY NEW HODOR.", - //Podcasts + // Podcasts "podcast.followOnCider": "FOLLOW ON HODOR", "podcast.followedOnCider": "FOLLOWING ON HODOR", "podcast.subscribeOnItunes": "SUBSCRIBE ON iHODOR", @@ -190,12 +191,11 @@ "action.import": "HODOR IN", "action.export": "HODOR OUT", "action.showAlbum": "SHOW HODOR HODOR", - // Waiting on Core for moving plugin to app.ts "action.tray.minimize": "HODOR TO TRAY", "action.tray.quit": "HODOR", "action.tray.show": "SEE", - // Settings - General (Reserved) + // Settings - General "settings.header.general": "HODORAL", "settings.header.general.description": "HODOR HODORAL HODOR FOR HODOR.", "settings.option.general.language": "HODOR SPEAKS", @@ -205,6 +205,8 @@ "settings.option.general.language.fun": "HODOR HODORS", "settings.option.general.language.unsorted": "NO HODORS", + // Update Cider + // Settings - Audio "settings.header.audio": "HODOR HEARS", "settings.header.audio.description": "ADJUST HODOR EARS FOR HODOR HODOR.", @@ -219,6 +221,7 @@ "settings.option.audio.enableAdvancedFunctionality.audioNormalization.description": "NORMALIZES HODOR VOLUME FOR INDIVIDUAL HODORS TO HODOR A MORE HODOR LISTENING HODOR.", "settings.option.audio.enableAdvancedFunctionality.audioSpatialization": "HODOR SPATIALIZATION", // Toggle "settings.option.audio.enableAdvancedFunctionality.audioSpatialization.description": "SPATIALIZE HODOR AND MAKE HODOR MORE 3-HODOR (HODOR: THIS IS NOT HODOR ATMOS)", + // Settings - Visual "settings.header.visual": "HODOR SEES", "settings.header.visual.description": "ADJUST HODOR EYES FOR HODOR.", @@ -241,6 +244,9 @@ "settings.option.visual.hardwareAcceleration.description": "NEED RE HODOR", "settings.header.visual.hardwareAcceleration.default": "HODOR.", "settings.header.visual.hardwareAcceleration.webGPU": "WEB HODOR!!", + + // Settings - Visual - Theme name + // Refer to term.disabled for the disabled option "settings.option.visual.showPersonalInfo": "SHOW HODOR NAME?", // Toggle @@ -276,8 +282,8 @@ "settings.option.experimental.closeButtonBehaviour.quit": "END HODOR", "settings.option.experimental.closeButtonBehaviour.minimizeTaskbar": "MINIMIZE HODOR TO HODORBAR", "settings.option.experimental.closeButtonBehaviour.minimizeTray": "MINIMIZE HODOR TO HODORAY", + // Refer to term.disabled & term.enabled - // Spatialization Menu "spatial.notTurnedOn": "HODOR SPATIALIZATION IS HODOR. TO HODOR, PLEASE HODOR IT HODOR.", "spatial.spatialProperties" : "SPATIAL HODOR", @@ -308,5 +314,4 @@ //About "about.thanks": "HODOR THANKS TO THE HODOR TEAM AND ALL OF OUR HODORS." - } \ No newline at end of file diff --git a/src/i18n/en_OWO.jsonc b/src/i18n/en_OWO.jsonc index 7e15e260..95c680e9 100644 --- a/src/i18n/en_OWO.jsonc +++ b/src/i18n/en_OWO.jsonc @@ -1,4 +1,5 @@ -{ // Base File +{ + // i18n Info "i18n.languageName": "Engwish (OwO)", // name of language in native language "i18n.languageNameEnglish": "Engwish (OwO)", // name of language in English @@ -280,6 +281,9 @@ "settings.option.visual.hardwareAcceleration.description": "Wequiwes wewaunch", "settings.header.visual.hardwareAcceleration.default": "Defauwt", "settings.header.visual.hardwareAcceleration.webGPU": "WebGPU", + + // Settings - Visual - Theme name + // Refer to term.disabled for the disabled option "settings.option.visual.showPersonalInfo": "Show Pewsonaw Info", // Toggle diff --git a/src/i18n/en_PISS.jsonc b/src/i18n/en_PISS.jsonc index 619ca375..b83885ac 100644 --- a/src/i18n/en_PISS.jsonc +++ b/src/i18n/en_PISS.jsonc @@ -1,4 +1,5 @@ -{ // Base File +{ + // i18n Info "i18n.languageName": "piss", // name of language in native language "i18n.languageNameEnglish": "English (piss)", // name of language in English @@ -280,6 +281,7 @@ // Settings - Visual - Theme name "settings.option.visual.theme.default": "regular piss", "settings.option.visual.theme.dark": "black piss", + // Refer to term.disabled for the disabled option "settings.option.visual.showPersonalInfo": "show yourself to the pissiverse", // Toggle diff --git a/src/i18n/en_SGA.jsonc b/src/i18n/en_SGA.jsonc index a04520b5..2174befe 100644 --- a/src/i18n/en_SGA.jsonc +++ b/src/i18n/en_SGA.jsonc @@ -1,4 +1,5 @@ { + // i18n Info "i18n.languageName": "┤ᖋ|:ᖋᔮᒣ╎ᔮ ᖋ|:i!⍑ᖋᕊᒷᒣ", // name of language in native language "i18n.languageNameEnglish": "Galactic Alphabet", // name of language in English @@ -134,6 +135,8 @@ "term.addedpreset": "ᖋ↸↸ᒷ↸ i!∷ᒷϟᒷᒣ", "term.deletepreset.warn": "ᖋ∷ᒷ ॥ᒍ⚍ ϟ⚍∷ᒷ ॥ᒍ⚍ ∴ᖋリᒣ ᒣᒍ ↸ᒷ|:ᒷᒣᒷ ᒣ⍑╎ϟ i!∷ᒷϟᒷᒣ?", "term.deletedpreset": "∷ᒷᒲᒍ⍊ᒷ↸ i!∷ᒷϟᒷᒣ", + "term.requestError": "ᒣ⍑ᒷ∷ᒷ ∴ᖋϟ ᖋ i!∷ᒍᕊ|:ᒷᒲ ∴╎ᒣ⍑ ᒣ⍑ᒷ ∷ᒷᑑ⚍ᒷϟᒣ.", + "term.song.link.generate": "┤ᒷᒣᒣ╎リ┤ ϟᒍリ┤.|:╎リ·ǀ· ϟ⍑ᖋ∷ᒷ ⚍∷|:...", "term.musicVideos": "ᒲ⚍ϟ╎ᔮ ⍊╎↸ᒷᒍϟ", // Search page friendlyTypes "term.stations": "ϟᒣᖋᒣ╎ᒍリϟ", "term.curators": "ᔮ⚍∷ᖋᒣᒍ∷ϟ", @@ -230,6 +233,10 @@ // Update Cider "settings.option.general.updateCider": "⚍i!↸ᖋᒣᒷ ᔮ╎↸ᒷ∷", + "settings.option.general.updateCider.branch": "ᔮ╎↸ᒷ∷ ⚍i!↸ᖋᒣᒷ ᕊ∷ᖋリᔮ⍑", // Dropdown + "settings.option.general.updateCider.branch.description": "ϟᒷ|:ᒷᔮᒣ ᒣ⍑ᒷ ᕊ∷ᖋリᔮ⍑ ᒣᒍ ⚍i!↸ᖋᒣᒷ ᔮ╎↸ᒷ∷ ᒣᒍ", + "settings.option.general.updateCider.branch.main": "ϟᒣᖋᕊ|:ᒷ", + "settings.option.general.updateCider.branch.develop": "↸ᒷ⍊ᒷ|:ᒍi!ᒲᒷリᒣ", // Settings - Audio "settings.header.audio": "ᖋ⚍↸╎ᒍ", @@ -240,18 +247,25 @@ "settings.header.audio.quality.lossless": "|:ᒍϟϟ|:ᒷϟϟ", "settings.header.audio.quality.lossless.description": "(⚍i! ᒣᒍ 24-ᕊ╎ᒣ/48 ·ǀ·⍑∩)", "settings.header.audio.quality.high": "⍑╎┤⍑", - "settings.header.audio.quality.low": "|:ᒍ∴", - "settings.header.audio.quality.auto": "ᖋ⚍ᒣᒍ", + "settings.header.audio.quality.high.description": "256 ·ǀ·ᕊi!ϟ", + "settings.header.audio.quality.standard": "ϟᒣᖋリ↸ᖋ∷↸", + "settings.header.audio.quality.standard.description": "64 ·ǀ·ᕊi!ϟ", "settings.option.audio.seamlessTransition": "ϟᒷᖋᒲ|:ᒷϟϟ ᖋ⚍↸╎ᒍ ᒣ∷ᖋリϟ╎ᒣ╎ᒍリ", // Toggle "settings.option.audio.enableAdvancedFunctionality": "ᒷリᖋᕊ|:ᒷ ᖋ↸⍊ᖋリᔮᒷ↸ ⎓⚍リᔮᒣ╎ᒍリᖋ|:╎ᒣ॥", // Toggle "settings.option.audio.enableAdvancedFunctionality.description": "ᒷリᖋᕊ|:╎リ┤ ᖋ⚍↸╎ᒍᔮᒍリᒣᒷ/ᒣ ⎓⚍リᔮᒣ╎ᒍリᖋ|:╎ᒣ॥ ∴╎|:|: ᖋ|:|:ᒍ∴ ⎓ᒍ∷ ᒷ/ᒣᒷリ↸ᒷ↸ ᖋ⚍↸╎ᒍ ⎓ᒷᖋᒣ⚍∷ᒷϟ |:╎·ǀ·ᒷ ᖋ⚍↸╎ᒍ リᒍ∷ᒲᖋ|:╎∩ᖋᒣ╎ᒍリ , ᒷᑑ⚍ᖋ|:╎∩ᒷ∷ϟ ᖋリ↸ ⍊╎ϟ⚍ᖋ|:╎∩ᒷ∷ϟ, ⍑ᒍ∴ᒷ⍊ᒷ∷ ᒍリ ϟᒍᒲᒷ ϟ॥ϟᒣᒷᒲϟ ᒣ⍑╎ϟ ᒲᖋ॥ ᔮᖋ⚍ϟᒷ ϟᒣ⚍ᒣᒣᒷ∷╎リ┤ ╎リ ᖋ⚍↸╎ᒍ ᒣ∷ᖋᔮ·ǀ·ϟ.", - "settings.option.audio.enableAdvancedFunctionality.decryptLLPW": "↸ᒷᔮ∷॥i!ᒣ |:ᒍϟϟ|:ᒷϟϟ i!|:ᖋ॥ᕊᖋᔮ·ǀ· ∴ᒍ∷·ǀ·⎓|:ᒍ∴", // Toggle - "settings.option.audio.enableAdvancedFunctionality.decryptLLPW.description": "ᒷリᖋᕊ|:ᒷϟ ᒣ⍑ᒷ ᖋᕊ╎|:╎ᒣ॥ ⎓ᒍ∷ ᔮ╎↸ᒷ∷ ᒣᒍ ↸ᒷᔮ∷॥i!ᒣ |:ᒍϟϟ|:ᒷϟϟ ᖋ⚍↸╎ᒍ ⎓╎|:ᒷϟ. ᖋ ᒲ╎リᒍ∷ i!ᒷ∷⎓ᒍ∷ᒲᖋリᔮᒷ ⍑╎ᒣ ∴╎|:|: ᒍᔮᔮ⚍∷.", + "settings.option.audio.enableAdvancedFunctionality.ciderPPE": "ᔮ╎↸ᒷ∷ ᖋ↸∷ᒷリᖋ|:╎リᒷ i!∷ᒍᔮᒷϟϟᒍ∷™️", // Toggle + "settings.option.audio.enableAdvancedFunctionality.ciderPPE.description": "i!ϟ॥ᔮ⍑ᒍᖋᔮᒍ⚍ϟᒣ╎ᔮ ᒷリ⍑ᖋリᔮᒷᒲᒷリᒣϟ ᒣ⍑ᖋᒣ ᒲᖋ·ǀ·ᒷϟ ᒷ⍊ᒷ∷॥ᒣ⍑╎リ┤ ϟᒍ⚍リ↸ ᕊᒍᒣ⍑ ∷╎ᔮ⍑ᒷ∷ ᖋリ↸ ᒲᒍ∷ᒷ |:╎⍊ᒷ|:॥ | ↸ᒷϟ╎┤リᒷ↸ ᕊ॥ ᒲᖋ╎·ǀ·╎∴╎.", + "settings.warn.audio.enableAdvancedFunctionality.ciderPPE.compatibility": "ᔮᖋi! ╎ϟ リᒍᒣ ᔮᒍᒲi!ᖋᒣ╎ᕊ|:ᒷ ∴╎ᒣ⍑ ϟi!ᖋᒣ╎ᖋ|:╎∩ᖋᒣ╎ᒍリ. i!|:ᒷᖋϟᒷ ↸╎ϟᖋᕊ|:ᒷ ϟi!ᖋᒣ╎ᖋ|:╎∩ᖋᒣ╎ᒍリ ᒣᒍ ᔮᒍリᒣ╎リ⚍ᒷ.", + "settings.option.audio.enableAdvancedFunctionality.ciderPPEStrength": "ᔮᖋi! ϟᒣ∷ᒷリ┤ᒣ⍑", // Toggle + "settings.option.audio.enableAdvancedFunctionality.ciderPPEStrength.description": "ᔮ⍑ᖋリ┤ᒷϟ ᒣ⍑ᒷ ϟᒣ∷ᒷリ┤ᒣ⍑ ᒍ⎓ ᒣ⍑ᒷ i!∷ᒍᔮᒷϟϟ╎リ┤ ↸ᒍリᒷ ᒣᒍ ᒣ⍑ᒷ ᖋ⚍↸╎ᒍ. (ᖋ┤┤∷ᒷϟϟ╎⍊ᒷ ᒲᖋ॥ ॥╎ᒷ|:↸ ⚍リ↸ᒷϟ╎∷ᖋᕊ|:ᒷ ∷ᒷϟ⚍|:ᒣϟ)", + "settings.option.audio.enableAdvancedFunctionality.ciderPPEStrength.standard": "ϟᒣᖋリ↸ᖋ∷↸", + "settings.option.audio.enableAdvancedFunctionality.ciderPPEStrength.aggressive": "ᖋ┤┤∷ᒷϟϟ╎⍊ᒷ", "settings.option.audio.enableAdvancedFunctionality.audioNormalization": "ᖋ⚍↸╎ᒍ リᒍ∷ᒲᖋ|:╎∩ᖋᒣ╎ᒍリ", // Toggle "settings.option.audio.enableAdvancedFunctionality.audioNormalization.description": "リᒍ∷ᒲᖋ|:╎∩ᒷϟ i!ᒷᖋ·ǀ· ⍊ᒍ|:⚍ᒲᒷ ⎓ᒍ∷ ╎リ↸╎⍊╎↸⚍ᖋ|: ᒣ∷ᖋᔮ·ǀ·ϟ ᒣᒍ ᔮ∷ᒷᖋᒣᒷ ᖋ ᒲᒍ∷ᒷ ⚍リ╎⎓ᒍ∷ᒲ |:╎ϟᒣᒷリ╎リ┤ ᒷ/i!ᒷ∷╎ᒷリᔮᒷ.", "settings.option.audio.enableAdvancedFunctionality.audioSpatialization": "ᖋ⚍↸╎ᒍ ϟi!ᖋᒣ╎ᖋ|:╎∩ᖋᒣ╎ᒍリ", // Toggle "settings.option.audio.enableAdvancedFunctionality.audioSpatialization.description": "ϟi!ᖋᒣ╎ᖋ|:╎∩ᒷ ᖋ⚍↸╎ᒍ ᖋリ↸ ᒲᖋ·ǀ·ᒷ ᖋ⚍↸╎ᒍ ᒲᒍ∷ᒷ 3-↸╎ᒲᒷリϟ╎ᒍリᖋ|: (リᒍᒣᒷ: ᒣ⍑╎ϟ ╎ϟ リᒍᒣ ↸ᒍ|:ᕊ॥ ᖋᒣᒲᒍϟ)", - + "settings.warn.audio.enableAdvancedFunctionality.audioSpatialization.compatibility": "ϟi!ᖋᒣ╎ᖋ|:╎∩ᖋᒣ╎ᒍリ ╎ϟ リᒍᒣ ᔮᒍᒲi!ᖋᒣ╎ᕊ|:ᒷ ∴╎ᒣ⍑ ᔮᖋi!. i!|:ᒷᖋϟᒷ ↸╎ϟᖋᕊ|:ᒷ ᔮᖋi! ᒣᒍ ᔮᒍリᒣ╎リ⚍ᒷ.", + // Settings - Visual "settings.header.visual": "⍊╎ϟ⚍ᖋ|:", "settings.header.visual.description": "ᖋ↸⋮⚍ϟᒣ ᒣ⍑ᒷ ⍊╎ϟ⚍ᖋ| ϟᒷᒣᒣ╎リ┤ϟ ⎓ᒍ∷ ᔮ╎↸ᒷ∷.", @@ -279,6 +293,7 @@ // Settings - Visual - Theme name "settings.option.visual.theme.default": "ᔮ╎↸ᒷ∷", "settings.option.visual.theme.dark": "↸ᖋ∷·ǀ·", + // Refer to term.disabled for the disabled option "settings.option.visual.showPersonalInfo": "ϟ⍑ᒍ∴ i!ᒷ∷ϟᒍリᖋ|: ╎リ⎓ᒍ", // Toggle diff --git a/src/i18n/en_US.jsonc b/src/i18n/en_US.jsonc index 2bce04b9..b4369a35 100644 --- a/src/i18n/en_US.jsonc +++ b/src/i18n/en_US.jsonc @@ -1,9 +1,10 @@ { // Base File + // i18n Info "i18n.languageName": "English (US)", // name of language in native language "i18n.languageNameEnglish": "English (US)", // name of language in English "i18n.category": "main", // main = real language, fun = fun community languages - "i18n.authors": "@maikirakiwi", // Authors, if you contribute to this file feel free to add your name seperated with a space + "i18n.authors": "@maikirakiwi @kyw504100", // Authors, if you contribute to this file feel free to add your name seperated with a space // App info "app.name": "Cider", @@ -134,6 +135,8 @@ "term.addedpreset": "Added Preset", "term.deletepreset.warn": "Are you sure you want to delete this preset?", "term.deletedpreset": "Removed preset", + "term.requestError": "There was a problem with the request.", + "term.song.link.generate": "Getting song.link share URL...", "term.musicVideos": "Music Videos", // Search page friendlyTypes "term.stations": "Stations", "term.curators": "Curators", @@ -252,6 +255,7 @@ "settings.option.audio.enableAdvancedFunctionality.description": "Enabling AudioContext functionality will allow for extended audio features like Audio Normalization , Equalizers and Visualizers, however on some systems this may cause stuttering in audio tracks.", "settings.option.audio.enableAdvancedFunctionality.ciderPPE": "Cider Adrenaline Processor™️", // Toggle "settings.option.audio.enableAdvancedFunctionality.ciderPPE.description": "Psychoacoustic Enhancements that makes everything sound both richer and more lively | Designed by Maikiwi.", + "settings.warn.audio.enableAdvancedFunctionality.ciderPPE.compatibility": "CAP is not compatible with Spatialization. Please disable Spatialization to continue.", "settings.option.audio.enableAdvancedFunctionality.ciderPPEStrength": "CAP Strength", // Toggle "settings.option.audio.enableAdvancedFunctionality.ciderPPEStrength.description": "Changes the strength of the processing done to the audio. (Aggressive may yield undesirable results)", "settings.option.audio.enableAdvancedFunctionality.ciderPPEStrength.standard": "Standard", @@ -260,6 +264,7 @@ "settings.option.audio.enableAdvancedFunctionality.audioNormalization.description": "Normalizes peak volume for individual tracks to create a more uniform listening experience.", "settings.option.audio.enableAdvancedFunctionality.audioSpatialization": "Audio Spatialization", // Toggle "settings.option.audio.enableAdvancedFunctionality.audioSpatialization.description": "Spatialize audio and make audio more 3-dimensional (note: This is not Dolby Atmos)", + "settings.warn.audio.enableAdvancedFunctionality.audioSpatialization.compatibility": "Spatialization is not compatible with CAP. Please disable CAP to continue.", // Settings - Visual "settings.header.visual": "Visual", @@ -288,6 +293,7 @@ // Settings - Visual - Theme name "settings.option.visual.theme.default": "Cider", "settings.option.visual.theme.dark": "Dark", + // Refer to term.disabled for the disabled option "settings.option.visual.showPersonalInfo": "Show Personal Info", // Toggle @@ -344,14 +350,14 @@ "spatial.down": "Down", "spatial.listener": "Listener", "spatial.audioSource": "Audio Source", - + // Settings - Unfinished "settings.header.unfinished": "Unfinished", - + // Web Remote "remote.web.title": "Cider Remote", "remote.web.description": "Scan the QR code to pair your phone up with this Cider instance", - + // About "about.thanks": "Major thanks to the Cider Collective Team and all of our contributors." } \ No newline at end of file diff --git a/src/i18n/es_ES.jsonc b/src/i18n/es_ES.jsonc index 9a0bf149..89845ac3 100644 --- a/src/i18n/es_ES.jsonc +++ b/src/i18n/es_ES.jsonc @@ -1,4 +1,5 @@ -{ // Base File +{ + // i18n Info "i18n.languageName": "Español (ES)", // name of language in native language "i18n.languageNameEnglish": "Spanish (Spain)", // name of language in English @@ -248,6 +249,9 @@ "settings.option.visual.hardwareAcceleration.description": "La app requiere reinicio", "settings.header.visual.hardwareAcceleration.default": "Por defecto", "settings.header.visual.hardwareAcceleration.webGPU": "WebGPU", + + // Settings - Visual - Theme name + // Refer to term.disabled for the disabled option "settings.option.visual.showPersonalInfo": "Mostrar información personal", // Toggle diff --git a/src/i18n/fr_CA.jsonc b/src/i18n/fr_CA.jsonc index 132cf845..c05df4c7 100644 --- a/src/i18n/fr_CA.jsonc +++ b/src/i18n/fr_CA.jsonc @@ -1,7 +1,7 @@ -{ // Base File +{ // i18n Info - "i18n.languageName": "Français (CA)", // name of language in native language + "i18n.languageName": "Français (CA)", // name of language in native language "i18n.languageNameEnglish": "French (CA)", // name of language in English "i18n.category": "main", // main = real language, fun = fun community languages "i18n.authors": "brock#7527", // Authors, if you contribute to this file feel free to add your name seperated with a space @@ -19,6 +19,7 @@ "notification.updatingLibrarySongs": "Rafraîchir des chansons...", "notification.updatingLibraryAlbums": "Rafraîchir des albums...", "notification.updatingLibraryArtists": "Rafraîchir des artistes...", + // Terms "term.appleInc": "Apple Inc.", "term.appleMusic": "Apple Music", @@ -128,13 +129,14 @@ "home.madeForYou": "Creér pour toi", "home.friendsListeningTo": "Amis écoutant", "home.followedArtists": "Artistes suivis", + // Errors "error.appleMusicSubRequired": "Apple Music nécessite un abonnement.", "error.connectionError": "Un problème est survenu lors de la connexion à Apple Music.", "error.noResults": "Pas de resultats.", "error.noResults.description": "Essayez une nouvelle recherche.", - //Podcasts + // Podcasts "podcast.followOnCider": "Suivez sur Cider", "podcast.followedOnCider": "Suivi sur Cider", "podcast.subscribeOnItunes": "S'abonner sur iTunes", @@ -193,6 +195,8 @@ "settings.option.general.language.main": "Langue", "settings.option.general.language.fun": "Langues amusantes", "settings.option.general.language.unsorted": "Non trié", + + // Update Cider // Settings - Audio "settings.header.audio": "Audio", @@ -208,6 +212,7 @@ "settings.option.audio.enableAdvancedFunctionality.audioNormalization.description": "Normalise le volume maximal des pistes individuelles pour créer une expérience d'écoute plus uniforme.", "settings.option.audio.enableAdvancedFunctionality.audioSpatialization": "Audio Spatialization", // Toggle "settings.option.audio.enableAdvancedFunctionality.audioSpatialization.description": "Spatialisez l'audio et rendez l'audio plus tridimensionnel (remarque: il ne s'agit pas de Dolby Atmos)", + // Settings - Visual "settings.header.visual": "Visuel", "settings.header.visual.description": "Ajustez les réglages visuels de Cider.", @@ -230,6 +235,9 @@ "settings.option.visual.hardwareAcceleration.description": "Nécessite une relance", "settings.header.visual.hardwareAcceleration.default": "Défaut", "settings.header.visual.hardwareAcceleration.webGPU": "WebGPU", + + // Settings - Visual - Theme name + // Refer to term.disabled for the disabled option "settings.option.visual.showPersonalInfo": "Afficher les informations personnelles", // Toggle @@ -265,8 +273,8 @@ "settings.option.experimental.closeButtonBehaviour.quit": "Quitter Cider", "settings.option.experimental.closeButtonBehaviour.minimizeTaskbar": "Réduire à la barre des tâches", "settings.option.experimental.closeButtonBehaviour.minimizeTray": "Réduire dans le bac", + // Refer to term.disabled & term.enabled - // Spatialization Menu "spatial.spatialProperties" : "Propriétés spatiales", "spatial.width" : "Largeur", diff --git a/src/i18n/fr_FR.jsonc b/src/i18n/fr_FR.jsonc index cf05144b..910f23c7 100644 --- a/src/i18n/fr_FR.jsonc +++ b/src/i18n/fr_FR.jsonc @@ -1,349 +1,351 @@ -{ // Base File - // i18n Info - "i18n.languageName": "Français", // name of language in native language - "i18n.languageNameEnglish": "French", // name of language in English - "i18n.category": "main", // main = real language, fun = fun community languages - "i18n.authors": "@ErwanGit", // Authors, if you contribute to this file feel free to add your name seperated with a space - - // App info - "app.name": "Cider", - - "date.format": "${d} ${m} ${y}", - - // Dialogs - "dialog.cancel": "Annuler", - "dialog.ok": "OK", - - // Notification - "notification.updatingLibrarySongs": "Mise à jour des chansons de la bibliothèque...", - "notification.updatingLibraryAlbums": "Mise à jour des albums de la bibliothèque...", - "notification.updatingLibraryArtists": "Mise à jour des artistes de la bibliothèque...", - - // Terms - "term.appleInc": "Apple Inc.", - "term.appleMusic": "Apple Music", - "term.applePodcasts": "Apple Podcasts", - "term.itunes": "iTunes", - "term.github": "GitHub", - "term.discord": "Discord", - "term.learnMore": "En savoir plus", - "term.accountSettings": "Paramètres du compte", - "term.logout": "Déconnexion", - "term.login": "Connexion", - "term.about": "À propos", - "term.privateSession": "Session privée", - "term.queue": "File d'attente", - "term.history": "Historique", - "term.search": "Recherche", - "term.library": "Bibliothèque", - "term.listenNow": "Écoutez maintenant", - "term.browse": "Explorer", - "term.radio": "Radio", - "term.recentlyAdded": "Ajouté récemment", - "term.songs": "Musiques", - "term.albums": "Albums", - "term.artists": "Artistes", - "term.podcasts": "Podcasts", - "term.playlists": "Playlists", - "term.playlist": "Playlist", - "term.newPlaylist": "Nouvelle Playlist", - "term.newPlaylistFolder": "Nouveau dossier de playlist", - "term.createNewPlaylist": "Créer une nouvelle playlist", - "term.createNewPlaylistFolder": "Create New Playlist Folder", - "term.deletePlaylist": "Êtes-vous sûr de vouloir supprimer cette playlist ?", - "term.play": "Lecture", - "term.pause": "Pause", - "term.previous": "Précédent", - "term.next": "Suivant", - "term.shuffle": "Aléatoire", - "term.repeat": "Répéter", - "term.volume": "Volume", - "term.mute": "Rendre muet", - "term.unmute": "Ne plus rendre muet", - "term.share": "Partager", - "term.settings": "Paramètres", - "term.share.success": "Copié dans le presse-papier", - "term.seeAll": "Voir tout", - "term.sortBy": "Trier par", - "term.sortBy.album": "Album", - "term.sortBy.artist": "Artiste", - "term.sortBy.name": "Nom", - "term.sortBy.genre": "Genre", - "term.sortBy.releaseDate": "Date de sortie", - "term.sortBy.duration": "Durée", - "term.sortOrder": "A-Z", - "term.sortOrder.ascending": "Ascendant", - "term.sortOrder.descending": "Descendant", - "term.viewAs": "Voir comme", - "term.viewAs.coverArt": "Pochette d'album", - "term.viewAs.list": "Liste", - "term.size": "Taille", - "term.size.normal": "Normal", - "term.size.compact": "Compacte", - "term.enable": "Activer", - "term.disable": "Désactiver", - "term.enabled": "Activé", - "term.disabled": "Désactivé", - "term.connect": "Connecter", - "term.connecting": "Connexion", - "term.disconnect": "Déconnexion", - "term.authed": "Authentifié", - "term.confirm": "Confirmer ?", - "term.more": "Plus", - "term.less": "Moins", - "term.showMore": "Afficher plus", - "term.showLess": "Afficher moins", - "term.topSongs": "Meilleurs titres", - "term.latestReleases": "Dernières sorties", - "term.time.added": "Ajouté", - "term.time.released": "Publié", - "term.time.updated": "Mis à jour", - "term.time.hours": "heures", - "term.time.hour": "heure", - "term.time.minutes": "minutes", - "term.time.minute": "minute", - "term.time.seconds": "secondes", - "term.time.second": "seconde", - "term.fullscreenView": "Vue plein écran", - "term.defaultView": "Vue par défaut", - "term.spacializedAudioSetting": "Paramètres audio spatialisés", - "term.clearAll": "Tout effacer", - "term.recentStations": "Stations récentes", - "term.language": "Langue", - "term.funLanguages": "Amusant", - "term.noLyrics": "Chargement... / Paroles non trouvé./ Instrumental.", - "term.copyright": "Copyright", - "term.rightsReserved": "Tous droits réservés.", - "term.sponsor": "Soutenez ce projet", - "term.ciderTeam": "Équipe Cider", - "term.developer": "Développeur", - "term.socialTeam": "Équipe de communication", - "term.socials": "Réseaux sociaux", - "term.contributors": "Contributeurs", - "term.equalizer": "Égaliseur", - "term.reset": "Réinitialiser", - "term.tracks": "musiques", // Assume x amount of tracks. e.g. 50 tracks - "term.videos": "Vidéos", - "term.menu": "Menu", - "term.check": "Vérifier", - "term.aboutArtist": "À propos de {{artistName}}", // e.g. 'About Doja Cat' - "term.topResult": "Meilleurs résultats", // Search Results - "term.sharedPlaylists": "Playlists partagées", // Search Results - "term.people": "Personnes", // Search Results - "term.newpreset.name": "Nouveau nom du préréglage de l'égaliseur", // Equalizer Preset - "term.addedpreset": "Ajout d'un préréglage", - "term.deletepreset.warn": "Êtes-vous sûr de vouloir supprimer ce préréglage ?", - "term.deletedpreset": "Suppression d'un préréglage", - "term.musicVideos": "Vidéos musicales", // Search page friendlyTypes - "term.stations": "Stations", - "term.curators": "Curateurs", - "term.appleCurators": "Curateurs Apple", - "term.radioShows": "Émissions de radio", - "term.recordLabels": "Labels de disques", - "term.videoExtras": "Vidéos bonus", - "term.top": "Top", - - // Home - "home.title": "Accueil", - "home.recentlyPlayed": "Joué récemment", - "home.recentlyAdded": "Récemment ajouté", - "home.artistsFeed": "Votre file d'artistes", - "home.artistsFeed.noArtist": "Suivez d'abord certains artistes et leurs dernières sorties seront ici", - "home.madeForYou": "Fait pour vous", - "home.friendsListeningTo": "Vos amis écoutent", - "home.followedArtists": "Artistes suivis", - - // Errors - "error.appleMusicSubRequired": "Apple Music nécessite un abonnement.", - "error.connectionError": "Il y a eu un problème de connexion à Apple Music.", - "error.noResults": "Aucun résultat.", - "error.noResults.description": "Essayez une nouvelle recherche.", - - // Podcasts - "podcast.followOnCider": "Suivre sur Cider", - "podcast.followedOnCider": "Suivi sur Cider", - "podcast.subscribeOnItunes": "Suivre sur iTunes", - "podcast.subscribedOnItunes": "Suivi sur iTunes", - "podcast.itunesStore": "iTunes Store", - "podcast.episodes": "Épisodes", - "podcast.playEpisode": "Lire l'épisode", - "podcast.website": "Site du podcast", - - // Actions - "action.addToLibrary": "Ajouter à la bibliothèque", - "action.addToLibrary.success": "Ajouté à la bibliothèque", - "action.addToLibrary.error": "Erreur lors de l'ajout à la bibliothèque", - "action.removeFromLibrary": "Retirer de la bibliothèque", - "action.removeFromLibrary.success": "Retiré de la bibliothèque", - "action.addToQueue": "Ajouter à la file d'attente", - "action.addToQueue.success": "Ajouté à la file d'attente", - "action.addToQueue.error": "Erreur lors de l'ajout à la file d'attente", - "action.removeFromQueue": "Retirer de la file d'attente", - "action.removeFromQueue.success": "Retiré de la file d'attente", - "action.removeFromQueue.error": "Erreur lors du retrait de la file d'attente", - "action.createPlaylist": "Créer une nouvelle playlist", - "action.addToPlaylist": "Ajouter à une playlist", - "action.removeFromPlaylist": "Retirer de la playlist", - "action.addToFavorites": "Ajouter aux favoris", - "action.follow": "Suivre", - "action.follow.success": "Suivi", - "action.follow.error": "Erreur lors de l'abonnement", - "action.unfollow": "Se désabonner", - "action.unfollow.success": "Désabonné", - "action.unfollow.error": "Erreur lors du désabonnement", - "action.playNext": "Jouer après", - "action.playLater": "Jouer plus tard", - "action.startRadio": "Lancer la radio", - "action.goToArtist": "Aller à l'artiste", - "action.goToAlbum": "Aller à l'album", - "action.moveToTop": "Haut de page", - "action.share": "Partager", - "action.rename": "Renommer", - "action.love": "Aimer", - "action.unlove": "Ne plus aimer", - "action.dislike": "Je n'aime pas", - "action.undoDislike": "Je n'aime plus", - "action.showWebRemoteQR": "Afficher le QR Code de la télécommande à distance", - "action.playTracksNext": "Jouer ${app.selectedMediaItems.length} musiques après", - "action.playTracksLater": "Jouer ${app.selectedMediaItems.length} musiques plus tard", - "action.removeTracks": "Retirer ${self.selectedItems.length} musiques de la file d'attente", - "action.import": "Importer", - "action.export": "Exporter", - "action.showAlbum": "Afficher l'album complet", - "action.tray.minimize": "Réduire dans la barre d'outils", - "action.tray.quit": "Quitter", - "action.tray.show": "Afficher", - "action.update": "Mettre à jour", - "action.copy": "Copier", - "action.newpreset": "Nouveau préréglage...", // Equalizer Preset - "action.deletepreset": "Supprimer le préréglage", - - // Settings - General - "settings.header.general": "Général", - "settings.header.general.description": "Ajuster les paramètres généraux de Cider.", - "settings.option.general.language": "Langue", - - // Language optgroups - "settings.option.general.language.main": "Langues", - "settings.option.general.language.fun": "Langues amusantes", - "settings.option.general.language.unsorted": "Non trié", +{ - // Update Cider - "settings.option.general.updateCider": "Mettre à jour Cider", // Button - - // Settings - Audio - "settings.header.audio": "Audio", - "settings.header.audio.description": "Ajuster les paramètres audio de Cider.", - "settings.option.audio.quality": "Qualité Audio", // Dropdown - "settings.header.audio.quality.hireslossless": "Lossless haute qualité (Hi-Res)", - "settings.header.audio.quality.hireslossless.description": "(jusqu'à 24 bits/192 kHz)", - "settings.header.audio.quality.lossless": "Lossless", - "settings.header.audio.quality.lossless.description": "(jusqu'à 24 bits/48 kHz)", - "settings.header.audio.quality.enhanced": "Amélioré", - "settings.header.audio.quality.high": "Élevée", - "settings.header.audio.quality.low": "Faible", - "settings.header.audio.quality.auto": "Automatique", - "settings.option.audio.seamlessTransition": "Fondu audio transparent", // Toggle - "settings.option.audio.enableAdvancedFunctionality": "Activer les fonctions avancées", // Toggle - "settings.option.audio.enableAdvancedFunctionality.description": "L'activation de la fonctionnalité AudioContext permet d'utiliser des fonctions audio étendues telles que la normalisation du son, les égaliseurs et les visualiseurs. Toutefois, sur certains systèmes, cela peut provoquer des bégaiements dans les pistes audio.", - "settings.option.audio.enableAdvancedFunctionality.ciderPPE": "Moteur de traitement psycho-acoustique Cider", // Toggle - "settings.option.audio.enableAdvancedFunctionality.ciderPPE.description": "Un processus de traitement qui fait croire à votre cerveau que les fichiers sont de meilleure qualité.", - "settings.option.audio.enableAdvancedFunctionality.audioNormalization": "Normalisation du son", // Toggle - "settings.option.audio.enableAdvancedFunctionality.audioNormalization.description": "Normalise le volume maximal des pistes individuelles pour créer une expérience d'écoute plus uniforme.", - "settings.option.audio.enableAdvancedFunctionality.audioSpatialization": "Spatialisation audio", // Toggle - "settings.option.audio.enableAdvancedFunctionality.audioSpatialization.description": "Spatialiser l'audio et rendre l'audio plus tridimensionnel (note: Ce n'est pas Dolby Atmos)", - - // Settings - Visual - "settings.header.visual": "Visuel", - "settings.header.visual.description": "Ajuster les paramètres visuels de Cider.", - "settings.option.visual.windowBackgroundStyle": "Style d'arrière-plan de la fenêtre", // Toggle - "settings.header.visual.windowBackgroundStyle.none": "Aucun", - "settings.header.visual.windowBackgroundStyle.artwork": "Pochette d'album", - "settings.header.visual.windowBackgroundStyle.image": "Image", - "settings.option.visual.animatedArtwork": "Pochette d'album animée", // Dropdown - "settings.header.visual.animatedArtwork.always": "Toujours", - "settings.header.visual.animatedArtwork.limited": "Limité aux pages et aux entrées spéciales", - "settings.header.visual.animatedArtwork.disable": "Désactiver partout", - "settings.option.visual.animatedArtworkQuality": "Qualité de la pochette d'album animée", // Dropdown - "settings.header.visual.animatedArtworkQuality.low": "Faible", - "settings.header.visual.animatedArtworkQuality.medium": "Moyen", - "settings.header.visual.animatedArtworkQuality.high": "Élevée", - "settings.header.visual.animatedArtworkQuality.veryHigh": "Très élevée", - "settings.header.visual.animatedArtworkQuality.extreme": "Extrême", - "settings.option.visual.animatedWindowBackground": "Arrière-plan de fenêtre animé", // Toggle - "settings.option.visual.hardwareAcceleration": "Accélération matérielle", // Dropdown - "settings.option.visual.hardwareAcceleration.description": "Nécessite un relancement", - "settings.header.visual.hardwareAcceleration.default": "Défaut", - "settings.header.visual.hardwareAcceleration.webGPU": "WebGPU", - "settings.header.visual.theme": "Thème", - - // Settings - Visual - Theme name - "settings.option.visual.theme.default": "Cider", - "settings.option.visual.theme.dark": "Sombre", - // Refer to term.disabled for the disabled option - "settings.option.visual.showPersonalInfo": "Afficher vos informations personnelles", // Toggle - - // Settings - Lyrics - "settings.header.lyrics": "Paroles", - "settings.header.lyrics.description": "Ajuster les paramètres des paroles pour Cider.", - "settings.option.lyrics.enableMusixmatch": "Activer les paroles Musixmatch", // Toggle - "settings.option.lyrics.enableMusixmatchKaraoke": "Activer le mode karaoké (Musixmatch seulement)", // Toggle - "settings.option.lyrics.musixmatchPreferredLanguage": "Langue préférée pour les traductions Musixmatch", // Dropdown - "settings.option.lyrics.enableYoutubeLyrics": "Activer les paroles YouTube pour les vidéos de musique", // Toggle - - // Settings - Connectivity - "settings.header.connectivity": "Connectivité", - "settings.header.connectivity.description": "Ajuster les paramètres de connectivité de Cider.", - "settings.option.connectivity.discordRPC": "Discord Rich Presence", // Dropdown - "settings.option.connectivity.playbackNotifications": "Notifications de lecture", // Toggle - // Refer to term.disabled for the disabled option - "settings.header.connectivity.discordRPC.cider": "Afficher comme 'Cider'", - "settings.header.connectivity.discordRPC.appleMusic": "Afficher comme 'Apple Music'", - "settings.option.connectivity.discordRPC.clearOnPause": "Désactiver le Discord Rich Presence quand la musique est en pause", // Toggle - "settings.option.connectivity.lastfmScrobble": "Scrobble LastFM", // Option to Connect - "settings.option.connectivity.lastfmScrobble.delay": "Délai de Scrobble LastFM (%)", - "settings.option.connectivity.lastfmScrobble.nowPlaying": "Activer la lecture en cours sur LastFM", - "settings.option.connectivity.lastfmScrobble.removeFeatured": "Supprimer les artistes en vedette du titre de la chanson (LastFM)", - "settings.option.connectivity.lastfmScrobble.filterLoop": "Filtrer les titres en boucle (LastFM)", - // Refer to term.connect for the connect button - - // Settings - Experimental - "settings.header.experimental": "Expérimental", - "settings.header.experimental.description": "Ajuster les paramètres expérimentaux de Cider.", - "settings.option.experimental.compactUI": "Interface utilisateur compacte", // Toggle - "settings.option.experimental.close_button_hide": "Le bouton de fermeture doit masquer l'application", - "settings.option.experimental.copy_log": "Copier les logs dans le presse-papier", - "settings.option.experimental.inline_playlists": "Playlists et albums en ligne", - - // Refer to term.disabled & term.enabled - // Spatialization Menu - "spatial.notTurnedOn": "La spatialisation audio est désactivée. Pour l'utiliser, vous devez d'abord l'activer.", - "spatial.spatialProperties": "Propriétés spatiales", - "spatial.width": "Largeur", - "spatial.height": "Hauteur", - "spatial.depth": "Profondeur", - "spatial.gain": "Gain", - "spatial.roomMaterials": "Matériaux de la pièce", - "spatial.roomDimensions": "Dimensions de la pièce", - "spatial.roomPositions": "Positions de la pièce", - "spatial.setDimensions": "Définir les dimensions", - "spatial.setPositions": "Définir les positions", - "spatial.up": "Haut", - "spatial.front": "Avant", - "spatial.left": "Gauche", - "spatial.right": "Droite", - "spatial.back": "Retour", - "spatial.down": "Bas", - "spatial.listener": "Auditeur", - "spatial.audioSource": "Source Audio", - - // Settings - Unfinished - "settings.header.unfinished": "Inachevée", - - // Web Remote - "remote.web.title": "Cider à distance", - "remote.web.description": "Scanner le QR code pour associer votre téléphone avec cette instance Cider", - - // About - "about.thanks": "Un grand merci à l'équipe de la Cider Collective et à tous nos contributeurs." + // i18n Info + "i18n.languageName": "Français", // name of language in native language + "i18n.languageNameEnglish": "French", // name of language in English + "i18n.category": "main", // main = real language, fun = fun community languages + "i18n.authors": "@ErwanGit", // Authors, if you contribute to this file feel free to add your name seperated with a space + + // App info + "app.name": "Cider", + + "date.format": "${d} ${m} ${y}", + + // Dialogs + "dialog.cancel": "Annuler", + "dialog.ok": "OK", + + // Notification + "notification.updatingLibrarySongs": "Mise à jour des chansons de la bibliothèque...", + "notification.updatingLibraryAlbums": "Mise à jour des albums de la bibliothèque...", + "notification.updatingLibraryArtists": "Mise à jour des artistes de la bibliothèque...", + + // Terms + "term.appleInc": "Apple Inc.", + "term.appleMusic": "Apple Music", + "term.applePodcasts": "Apple Podcasts", + "term.itunes": "iTunes", + "term.github": "GitHub", + "term.discord": "Discord", + "term.learnMore": "En savoir plus", + "term.accountSettings": "Paramètres du compte", + "term.logout": "Déconnexion", + "term.login": "Connexion", + "term.about": "À propos", + "term.privateSession": "Session privée", + "term.queue": "File d'attente", + "term.history": "Historique", + "term.search": "Recherche", + "term.library": "Bibliothèque", + "term.listenNow": "Écoutez maintenant", + "term.browse": "Explorer", + "term.radio": "Radio", + "term.recentlyAdded": "Ajouté récemment", + "term.songs": "Musiques", + "term.albums": "Albums", + "term.artists": "Artistes", + "term.podcasts": "Podcasts", + "term.playlists": "Playlists", + "term.playlist": "Playlist", + "term.newPlaylist": "Nouvelle Playlist", + "term.newPlaylistFolder": "Nouveau dossier de playlist", + "term.createNewPlaylist": "Créer une nouvelle playlist", + "term.createNewPlaylistFolder": "Create New Playlist Folder", + "term.deletePlaylist": "Êtes-vous sûr de vouloir supprimer cette playlist ?", + "term.play": "Lecture", + "term.pause": "Pause", + "term.previous": "Précédent", + "term.next": "Suivant", + "term.shuffle": "Aléatoire", + "term.repeat": "Répéter", + "term.volume": "Volume", + "term.mute": "Rendre muet", + "term.unmute": "Ne plus rendre muet", + "term.share": "Partager", + "term.settings": "Paramètres", + "term.share.success": "Copié dans le presse-papier", + "term.seeAll": "Voir tout", + "term.sortBy": "Trier par", + "term.sortBy.album": "Album", + "term.sortBy.artist": "Artiste", + "term.sortBy.name": "Nom", + "term.sortBy.genre": "Genre", + "term.sortBy.releaseDate": "Date de sortie", + "term.sortBy.duration": "Durée", + "term.sortOrder": "A-Z", + "term.sortOrder.ascending": "Ascendant", + "term.sortOrder.descending": "Descendant", + "term.viewAs": "Voir comme", + "term.viewAs.coverArt": "Pochette d'album", + "term.viewAs.list": "Liste", + "term.size": "Taille", + "term.size.normal": "Normal", + "term.size.compact": "Compacte", + "term.enable": "Activer", + "term.disable": "Désactiver", + "term.enabled": "Activé", + "term.disabled": "Désactivé", + "term.connect": "Connecter", + "term.connecting": "Connexion", + "term.disconnect": "Déconnexion", + "term.authed": "Authentifié", + "term.confirm": "Confirmer ?", + "term.more": "Plus", + "term.less": "Moins", + "term.showMore": "Afficher plus", + "term.showLess": "Afficher moins", + "term.topSongs": "Meilleurs titres", + "term.latestReleases": "Dernières sorties", + "term.time.added": "Ajouté", + "term.time.released": "Publié", + "term.time.updated": "Mis à jour", + "term.time.hours": "heures", + "term.time.hour": "heure", + "term.time.minutes": "minutes", + "term.time.minute": "minute", + "term.time.seconds": "secondes", + "term.time.second": "seconde", + "term.fullscreenView": "Vue plein écran", + "term.defaultView": "Vue par défaut", + "term.spacializedAudioSetting": "Paramètres audio spatialisés", + "term.clearAll": "Tout effacer", + "term.recentStations": "Stations récentes", + "term.language": "Langue", + "term.funLanguages": "Amusant", + "term.noLyrics": "Chargement... / Paroles non trouvé./ Instrumental.", + "term.copyright": "Copyright", + "term.rightsReserved": "Tous droits réservés.", + "term.sponsor": "Soutenez ce projet", + "term.ciderTeam": "Équipe Cider", + "term.developer": "Développeur", + "term.socialTeam": "Équipe de communication", + "term.socials": "Réseaux sociaux", + "term.contributors": "Contributeurs", + "term.equalizer": "Égaliseur", + "term.reset": "Réinitialiser", + "term.tracks": "musiques", // Assume x amount of tracks. e.g. 50 tracks + "term.videos": "Vidéos", + "term.menu": "Menu", + "term.check": "Vérifier", + "term.aboutArtist": "À propos de {{artistName}}", // e.g. 'About Doja Cat' + "term.topResult": "Meilleurs résultats", // Search Results + "term.sharedPlaylists": "Playlists partagées", // Search Results + "term.people": "Personnes", // Search Results + "term.newpreset.name": "Nouveau nom du préréglage de l'égaliseur", // Equalizer Preset + "term.addedpreset": "Ajout d'un préréglage", + "term.deletepreset.warn": "Êtes-vous sûr de vouloir supprimer ce préréglage ?", + "term.deletedpreset": "Suppression d'un préréglage", + "term.musicVideos": "Vidéos musicales", // Search page friendlyTypes + "term.stations": "Stations", + "term.curators": "Curateurs", + "term.appleCurators": "Curateurs Apple", + "term.radioShows": "Émissions de radio", + "term.recordLabels": "Labels de disques", + "term.videoExtras": "Vidéos bonus", + "term.top": "Top", + + // Home + "home.title": "Accueil", + "home.recentlyPlayed": "Joué récemment", + "home.recentlyAdded": "Récemment ajouté", + "home.artistsFeed": "Votre file d'artistes", + "home.artistsFeed.noArtist": "Suivez d'abord certains artistes et leurs dernières sorties seront ici", + "home.madeForYou": "Fait pour vous", + "home.friendsListeningTo": "Vos amis écoutent", + "home.followedArtists": "Artistes suivis", + + // Errors + "error.appleMusicSubRequired": "Apple Music nécessite un abonnement.", + "error.connectionError": "Il y a eu un problème de connexion à Apple Music.", + "error.noResults": "Aucun résultat.", + "error.noResults.description": "Essayez une nouvelle recherche.", + + // Podcasts + "podcast.followOnCider": "Suivre sur Cider", + "podcast.followedOnCider": "Suivi sur Cider", + "podcast.subscribeOnItunes": "Suivre sur iTunes", + "podcast.subscribedOnItunes": "Suivi sur iTunes", + "podcast.itunesStore": "iTunes Store", + "podcast.episodes": "Épisodes", + "podcast.playEpisode": "Lire l'épisode", + "podcast.website": "Site du podcast", + + // Actions + "action.addToLibrary": "Ajouter à la bibliothèque", + "action.addToLibrary.success": "Ajouté à la bibliothèque", + "action.addToLibrary.error": "Erreur lors de l'ajout à la bibliothèque", + "action.removeFromLibrary": "Retirer de la bibliothèque", + "action.removeFromLibrary.success": "Retiré de la bibliothèque", + "action.addToQueue": "Ajouter à la file d'attente", + "action.addToQueue.success": "Ajouté à la file d'attente", + "action.addToQueue.error": "Erreur lors de l'ajout à la file d'attente", + "action.removeFromQueue": "Retirer de la file d'attente", + "action.removeFromQueue.success": "Retiré de la file d'attente", + "action.removeFromQueue.error": "Erreur lors du retrait de la file d'attente", + "action.createPlaylist": "Créer une nouvelle playlist", + "action.addToPlaylist": "Ajouter à une playlist", + "action.removeFromPlaylist": "Retirer de la playlist", + "action.addToFavorites": "Ajouter aux favoris", + "action.follow": "Suivre", + "action.follow.success": "Suivi", + "action.follow.error": "Erreur lors de l'abonnement", + "action.unfollow": "Se désabonner", + "action.unfollow.success": "Désabonné", + "action.unfollow.error": "Erreur lors du désabonnement", + "action.playNext": "Jouer après", + "action.playLater": "Jouer plus tard", + "action.startRadio": "Lancer la radio", + "action.goToArtist": "Aller à l'artiste", + "action.goToAlbum": "Aller à l'album", + "action.moveToTop": "Haut de page", + "action.share": "Partager", + "action.rename": "Renommer", + "action.love": "Aimer", + "action.unlove": "Ne plus aimer", + "action.dislike": "Je n'aime pas", + "action.undoDislike": "Je n'aime plus", + "action.showWebRemoteQR": "Afficher le QR Code de la télécommande à distance", + "action.playTracksNext": "Jouer ${app.selectedMediaItems.length} musiques après", + "action.playTracksLater": "Jouer ${app.selectedMediaItems.length} musiques plus tard", + "action.removeTracks": "Retirer ${self.selectedItems.length} musiques de la file d'attente", + "action.import": "Importer", + "action.export": "Exporter", + "action.showAlbum": "Afficher l'album complet", + "action.tray.minimize": "Réduire dans la barre d'outils", + "action.tray.quit": "Quitter", + "action.tray.show": "Afficher", + "action.update": "Mettre à jour", + "action.copy": "Copier", + "action.newpreset": "Nouveau préréglage...", // Equalizer Preset + "action.deletepreset": "Supprimer le préréglage", + + // Settings - General + "settings.header.general": "Général", + "settings.header.general.description": "Ajuster les paramètres généraux de Cider.", + "settings.option.general.language": "Langue", + + // Language optgroups + "settings.option.general.language.main": "Langues", + "settings.option.general.language.fun": "Langues amusantes", + "settings.option.general.language.unsorted": "Non trié", + + // Update Cider + "settings.option.general.updateCider": "Mettre à jour Cider", // Button + + // Settings - Audio + "settings.header.audio": "Audio", + "settings.header.audio.description": "Ajuster les paramètres audio de Cider.", + "settings.option.audio.quality": "Qualité Audio", // Dropdown + "settings.header.audio.quality.hireslossless": "Lossless haute qualité (Hi-Res)", + "settings.header.audio.quality.hireslossless.description": "(jusqu'à 24 bits/192 kHz)", + "settings.header.audio.quality.lossless": "Lossless", + "settings.header.audio.quality.lossless.description": "(jusqu'à 24 bits/48 kHz)", + "settings.header.audio.quality.enhanced": "Amélioré", + "settings.header.audio.quality.high": "Élevée", + "settings.header.audio.quality.low": "Faible", + "settings.header.audio.quality.auto": "Automatique", + "settings.option.audio.seamlessTransition": "Fondu audio transparent", // Toggle + "settings.option.audio.enableAdvancedFunctionality": "Activer les fonctions avancées", // Toggle + "settings.option.audio.enableAdvancedFunctionality.description": "L'activation de la fonctionnalité AudioContext permet d'utiliser des fonctions audio étendues telles que la normalisation du son, les égaliseurs et les visualiseurs. Toutefois, sur certains systèmes, cela peut provoquer des bégaiements dans les pistes audio.", + "settings.option.audio.enableAdvancedFunctionality.ciderPPE": "Moteur de traitement psycho-acoustique Cider", // Toggle + "settings.option.audio.enableAdvancedFunctionality.ciderPPE.description": "Un processus de traitement qui fait croire à votre cerveau que les fichiers sont de meilleure qualité.", + "settings.option.audio.enableAdvancedFunctionality.audioNormalization": "Normalisation du son", // Toggle + "settings.option.audio.enableAdvancedFunctionality.audioNormalization.description": "Normalise le volume maximal des pistes individuelles pour créer une expérience d'écoute plus uniforme.", + "settings.option.audio.enableAdvancedFunctionality.audioSpatialization": "Spatialisation audio", // Toggle + "settings.option.audio.enableAdvancedFunctionality.audioSpatialization.description": "Spatialiser l'audio et rendre l'audio plus tridimensionnel (note: Ce n'est pas Dolby Atmos)", + + // Settings - Visual + "settings.header.visual": "Visuel", + "settings.header.visual.description": "Ajuster les paramètres visuels de Cider.", + "settings.option.visual.windowBackgroundStyle": "Style d'arrière-plan de la fenêtre", // Toggle + "settings.header.visual.windowBackgroundStyle.none": "Aucun", + "settings.header.visual.windowBackgroundStyle.artwork": "Pochette d'album", + "settings.header.visual.windowBackgroundStyle.image": "Image", + "settings.option.visual.animatedArtwork": "Pochette d'album animée", // Dropdown + "settings.header.visual.animatedArtwork.always": "Toujours", + "settings.header.visual.animatedArtwork.limited": "Limité aux pages et aux entrées spéciales", + "settings.header.visual.animatedArtwork.disable": "Désactiver partout", + "settings.option.visual.animatedArtworkQuality": "Qualité de la pochette d'album animée", // Dropdown + "settings.header.visual.animatedArtworkQuality.low": "Faible", + "settings.header.visual.animatedArtworkQuality.medium": "Moyen", + "settings.header.visual.animatedArtworkQuality.high": "Élevée", + "settings.header.visual.animatedArtworkQuality.veryHigh": "Très élevée", + "settings.header.visual.animatedArtworkQuality.extreme": "Extrême", + "settings.option.visual.animatedWindowBackground": "Arrière-plan de fenêtre animé", // Toggle + "settings.option.visual.hardwareAcceleration": "Accélération matérielle", // Dropdown + "settings.option.visual.hardwareAcceleration.description": "Nécessite un relancement", + "settings.header.visual.hardwareAcceleration.default": "Défaut", + "settings.header.visual.hardwareAcceleration.webGPU": "WebGPU", + "settings.header.visual.theme": "Thème", + + // Settings - Visual - Theme name + "settings.option.visual.theme.default": "Cider", + "settings.option.visual.theme.dark": "Sombre", + + // Refer to term.disabled for the disabled option + "settings.option.visual.showPersonalInfo": "Afficher vos informations personnelles", // Toggle + + // Settings - Lyrics + "settings.header.lyrics": "Paroles", + "settings.header.lyrics.description": "Ajuster les paramètres des paroles pour Cider.", + "settings.option.lyrics.enableMusixmatch": "Activer les paroles Musixmatch", // Toggle + "settings.option.lyrics.enableMusixmatchKaraoke": "Activer le mode karaoké (Musixmatch seulement)", // Toggle + "settings.option.lyrics.musixmatchPreferredLanguage": "Langue préférée pour les traductions Musixmatch", // Dropdown + "settings.option.lyrics.enableYoutubeLyrics": "Activer les paroles YouTube pour les vidéos de musique", // Toggle + + // Settings - Connectivity + "settings.header.connectivity": "Connectivité", + "settings.header.connectivity.description": "Ajuster les paramètres de connectivité de Cider.", + "settings.option.connectivity.discordRPC": "Discord Rich Presence", // Dropdown + "settings.option.connectivity.playbackNotifications": "Notifications de lecture", // Toggle + // Refer to term.disabled for the disabled option + "settings.header.connectivity.discordRPC.cider": "Afficher comme 'Cider'", + "settings.header.connectivity.discordRPC.appleMusic": "Afficher comme 'Apple Music'", + "settings.option.connectivity.discordRPC.clearOnPause": "Désactiver le Discord Rich Presence quand la musique est en pause", // Toggle + "settings.option.connectivity.lastfmScrobble": "Scrobble LastFM", // Option to Connect + "settings.option.connectivity.lastfmScrobble.delay": "Délai de Scrobble LastFM (%)", + "settings.option.connectivity.lastfmScrobble.nowPlaying": "Activer la lecture en cours sur LastFM", + "settings.option.connectivity.lastfmScrobble.removeFeatured": "Supprimer les artistes en vedette du titre de la chanson (LastFM)", + "settings.option.connectivity.lastfmScrobble.filterLoop": "Filtrer les titres en boucle (LastFM)", + // Refer to term.connect for the connect button + + // Settings - Experimental + "settings.header.experimental": "Expérimental", + "settings.header.experimental.description": "Ajuster les paramètres expérimentaux de Cider.", + "settings.option.experimental.compactUI": "Interface utilisateur compacte", // Toggle + "settings.option.experimental.close_button_hide": "Le bouton de fermeture doit masquer l'application", + "settings.option.experimental.copy_log": "Copier les logs dans le presse-papier", + "settings.option.experimental.inline_playlists": "Playlists et albums en ligne", + + // Refer to term.disabled & term.enabled + // Spatialization Menu + "spatial.notTurnedOn": "La spatialisation audio est désactivée. Pour l'utiliser, vous devez d'abord l'activer.", + "spatial.spatialProperties": "Propriétés spatiales", + "spatial.width": "Largeur", + "spatial.height": "Hauteur", + "spatial.depth": "Profondeur", + "spatial.gain": "Gain", + "spatial.roomMaterials": "Matériaux de la pièce", + "spatial.roomDimensions": "Dimensions de la pièce", + "spatial.roomPositions": "Positions de la pièce", + "spatial.setDimensions": "Définir les dimensions", + "spatial.setPositions": "Définir les positions", + "spatial.up": "Haut", + "spatial.front": "Avant", + "spatial.left": "Gauche", + "spatial.right": "Droite", + "spatial.back": "Retour", + "spatial.down": "Bas", + "spatial.listener": "Auditeur", + "spatial.audioSource": "Source Audio", + + // Settings - Unfinished + "settings.header.unfinished": "Inachevée", + + // Web Remote + "remote.web.title": "Cider à distance", + "remote.web.description": "Scanner le QR code pour associer votre téléphone avec cette instance Cider", + + // About + "about.thanks": "Un grand merci à l'équipe de la Cider Collective et à tous nos contributeurs." } \ No newline at end of file diff --git a/src/i18n/hu_HU.jsonc b/src/i18n/hu_HU.jsonc index 7f2e65ff..28882427 100644 --- a/src/i18n/hu_HU.jsonc +++ b/src/i18n/hu_HU.jsonc @@ -1,4 +1,5 @@ -{ // Base File +{ + // i18n Info "i18n.languageName": "Magyar", // name of language in native language "i18n.languageNameEnglish": "Hungarian", // name of language in English @@ -283,6 +284,7 @@ // Settings - Visual - Theme name "settings.option.visual.theme.default": "Cider", "settings.option.visual.theme.dark": "Sötét", + // Refer to term.disabled for the disabled option "settings.option.visual.showPersonalInfo": "Személyes adatok mutatása", // Toggle diff --git a/src/i18n/it_IT.jsonc b/src/i18n/it_IT.jsonc index 5c3589f0..be903cd5 100644 --- a/src/i18n/it_IT.jsonc +++ b/src/i18n/it_IT.jsonc @@ -1,4 +1,4 @@ -{ // Base File +{ // i18n Info "i18n.languageName": "Italiano", // name of language in native language @@ -19,6 +19,7 @@ "notification.updatingLibrarySongs": "Aggiornamento raccolta brani...", "notification.updatingLibraryAlbums": "Aggornamento raccolta album...", "notification.updatingLibraryArtists": "Aggiornamento raccolta artisti...", + // Terms "term.appleInc": "Apple Inc.", "term.appleMusic": "Apple Music", @@ -134,13 +135,14 @@ "home.madeForYou": "Per Te", "home.friendsListeningTo": "Ascoltato da Amici", "home.followedArtists": "Artisti Seguiti", + // Errors "error.appleMusicSubRequired": "Apple Music ha bisogno di un abbonamento.", "error.connectionError": "C'è stato un problema nella connessione a Apple Music.", "error.noResults": "Nessun risultato.", "error.noResults.description": "Prova un'altra ricerca.", - //Podcasts + // Podcasts "podcast.followOnCider": "Segui in Cider", "podcast.followedOnCider": "Seguiti in Cider", "podcast.subscribeOnItunes": "Iscriviti in iTunes", @@ -191,7 +193,6 @@ "action.import": "Importa", "action.export": "Esporta", "action.showAlbum": "Mostra Album Intero", - // Waiting on Core for moving plugin to app.ts "action.tray.minimize": "Minimizza nel tray", "action.tray.quit": "Chiudi", "action.tray.show": "Mostra", @@ -205,6 +206,8 @@ "settings.option.general.language.main": "Lingue", "settings.option.general.language.fun": "Lingue da Scherzo", "settings.option.general.language.unsorted": "Non ordinato", + + // Update Cider // Settings - Audio "settings.header.audio": "Audio", @@ -220,6 +223,7 @@ "settings.option.audio.enableAdvancedFunctionality.audioNormalization.description": "Normalizza il volume massimo nei brani per un'esperienza d'ascolto più uniforme.", "settings.option.audio.enableAdvancedFunctionality.audioSpatialization": "Spazializzazione Audio", // Toggle "settings.option.audio.enableAdvancedFunctionality.audioSpatialization.description": "Spazializza l'audio per dare un effetto più tridimensionale (nota: questo non è Dolby Atmos)", + // Settings - Visual "settings.header.visual": "Visuale", "settings.header.visual.description": "Cambia le impostazioni visuali per Cider.", @@ -242,6 +246,9 @@ "settings.option.visual.hardwareAcceleration.description": "Richiede riavvio del'app", "settings.header.visual.hardwareAcceleration.default": "Normale", "settings.header.visual.hardwareAcceleration.webGPU": "WebGPU", + + // Settings - Visual - Theme name + // Refer to term.disabled for the disabled option "settings.option.visual.showPersonalInfo": "Mostra Informazione Personale", // Toggle @@ -277,8 +284,8 @@ "settings.option.experimental.closeButtonBehaviour.quit": "Chiudi Cider", "settings.option.experimental.closeButtonBehaviour.minimizeTaskbar": "Minimizza", "settings.option.experimental.closeButtonBehaviour.minimizeTray": "Minimizza Nel Tray", + // Refer to term.disabled & term.enabled - // Spatialization Menu "spatial.notTurnedOn": "Spazializzazione Audio è disattivata. Attivala prima.", "spatial.spatialProperties" : "Proprietà Spaziali", diff --git a/src/i18n/ja_JP.jsonc b/src/i18n/ja_JP.jsonc index 7b31f748..9729be9b 100644 --- a/src/i18n/ja_JP.jsonc +++ b/src/i18n/ja_JP.jsonc @@ -1,4 +1,5 @@ { + // i18n Info "i18n.languageName": "日本語", // name of language in native language "i18n.languageNameEnglish": "Japanese", // name of language in English @@ -135,7 +136,7 @@ "error.noResults": "見つかりませんでした", "error.noResults.description": "もう一度お試しください。", - //Podcasts + // Podcasts "podcast.followOnCider": "Ciderでフォロー", "podcast.followedOnCider": "フォロー中", "podcast.subscribeOnItunes": "iTunesで購読", @@ -192,7 +193,16 @@ "action.copy": "コピー", "action.newpreset": "ニュープリセット", // Equalizer Preset "action.deletepreset": "プリセットを削除", // Equalizer Preset + + // Settings - General + "settings.header.general": "一般", + "settings.header.general.description": "Ciderの一般設定", + // Language optgroups + + // Update Cider + "settings.option.general.updateCider": "Cider 更新", // Button + // Settings - Audio "settings.header.audio": "オーディオ", "settings.header.audio.description": "Ciderのオーディオ設定", @@ -240,12 +250,12 @@ "settings.option.visual.hardwareAcceleration.description": "アプリを再起動する必要があります", "settings.header.visual.hardwareAcceleration.default": "既定", "settings.header.visual.hardwareAcceleration.webGPU": "WebGPU", + + // Settings - Visual - Theme name + // Refer to term.disabled for the disabled option "settings.option.visual.showPersonalInfo": "プロフィールを表示", // Toggle - // Settings - General (Reserved) - "settings.header.general": "一般", - "settings.header.general.description": "Ciderの一般設定", // Settings - Lyrics "settings.header.lyrics": "歌詞", @@ -268,9 +278,6 @@ "settings.option.connectivity.lastfmScrobble.nowPlaying": "Enable LastFM Now Playing", "settings.option.connectivity.lastfmScrobble.removeFeatured": "Remove featuring artists from song title (LastFM)", // Refer to term.connect for the connect button - - // Settings - General - Update Cider - "settings.option.general.updateCider": "Cider 更新", // Button // Settings - Experimental "settings.header.experimental": "試験的な機能", diff --git a/src/i18n/ko_KR.jsonc b/src/i18n/ko_KR.jsonc index b821d188..583fada8 100644 --- a/src/i18n/ko_KR.jsonc +++ b/src/i18n/ko_KR.jsonc @@ -1,4 +1,5 @@ -{ // Base File +{ + // i18n Info "i18n.languageName": "한국어 (KR)", // name of language in native language "i18n.languageNameEnglish": "Korean (KR)", // name of language in English @@ -273,6 +274,7 @@ // Settings - Visual - Theme name "settings.option.visual.theme.default": "Cider", "settings.option.visual.theme.dark": "다크", + // Refer to term.disabled for the disabled option "settings.option.visual.showPersonalInfo": "개인 정보 보기", // Toggle diff --git a/src/i18n/pt_BR.jsonc b/src/i18n/pt_BR.jsonc index dad04de4..fce8bbef 100644 --- a/src/i18n/pt_BR.jsonc +++ b/src/i18n/pt_BR.jsonc @@ -1,15 +1,16 @@ -{ // Base File +{ + + // i18n Info + "i18n.languageName": "Português ( brasileiro )", // name of language in native language + "i18n.languageNameEnglish": "Portuguese (Brazil)", // name of language in English + "i18n.category": "main", // main = real language, fun = fun community languages + "i18n.authors": "", // Authors, if you contribute to this file feel free to add your name seperated with a space + // App info "app.name": "Cider", "date.format": "${d} ${m}, ${y}", - // i18n Info - "i18n.languageName": "Português ( brasileiro )", // name of language in native language - "i18n.languageNameEnglish": "Portuguese (Brazil)", // name of language in English - "i18n.category": "main", // main = real language, fun = fun community languages - "i18n.authors": "", // Authors, if you contribute to this file feel free to add your name seperated with a space - // Dialogs "dialog.cancel": "Cancelar", "dialog.ok": "OK", @@ -105,6 +106,7 @@ "home.madeForYou": "Feito para Você", "home.friendsListeningTo": "Amigos Ouvindo", "home.followedArtists": "Artistas Seguidos", + // Errors "error.appleMusicSubRequired": "Necessário uma assinatura Apple Music.", @@ -142,6 +144,15 @@ "action.dislike": "Não Gostar", "action.undoDislike": "Deixar de Não Gostar", "action.showWebRemoteQR": "Mostrar o QR para Página Remota", + + // Settings - General + "settings.header.general": "Principal", + "settings.header.general.description": "Ajustar as definiçoes principais no Cider.", + + // Language optgroups + + // Update Cider + // Settings - Audio "settings.header.audio": "Audio", "settings.header.audio.description": "Ajustar as definições de audio no Cider.", @@ -156,6 +167,7 @@ "settings.option.audio.enableAdvancedFunctionality.audioNormalization.description": "Normaliza o volume alto para faixas individuais para criar uma experiência de audição mais uniforme.", "settings.option.audio.enableAdvancedFunctionality.audioSpatialization": "Audio Espacial", // Toggle "settings.option.audio.enableAdvancedFunctionality.audioSpatialization.description": "Espacialize o áudio e torne o áudio mais tridimensional (nota: isto não é Dolby Atmos)", + // Settings - Visual "settings.header.visual": "Visual", "settings.header.visual.description": "Ajustar as Definições de Visual do Cider.", @@ -178,12 +190,10 @@ "settings.header.visual.hardwareAcceleration.default": "Normal", "settings.header.visual.hardwareAcceleration.webGPU": "WebGPU", + // Settings - Visual - Theme name // Refer to term.disabled for the disabled option "settings.option.visual.showPersonalInfo": "Mostrar Informaçoes Pessoais", // Toggle - // Settings - General (Reserved) - "settings.header.general": "Principal", - "settings.header.general.description": "Ajustar as definiçoes principais no Cider.", // Settings - Lyrics "settings.header.lyrics": "Letras", @@ -211,8 +221,8 @@ "settings.header.experimental": "Experimental", "settings.header.experimental.description": "Ajustar as definições experimental no Cider.", "settings.option.experimental.compactUI": "UI Compacto", // Toggle - // Refer to term.disabled & term.enabled + // Refer to term.disabled & term.enabled // Spatialization Menu "spatial.spatialProperties" : "Propriedades do Espacial", "spatial.width" : "Largura", @@ -232,13 +242,12 @@ "spatial.listener" : "Ouvinte", "spatial.audioSource" : "Fonte de Audio", - - - // Settings - Unfinished "settings.header.unfinished": "Inacabado", // Web Remote "remote.web.title": "Cider Remoto", "remote.web.description": "Digitalize o código QR para emparelhar seu telefone com esta instância Cider" + + // About } \ No newline at end of file diff --git a/src/i18n/sv_SE.jsonc b/src/i18n/sv_SE.jsonc index abdd2d29..bd47879b 100644 --- a/src/i18n/sv_SE.jsonc +++ b/src/i18n/sv_SE.jsonc @@ -1,4 +1,5 @@ -{ // Base File +{ + // i18n Info "i18n.languageName": "Svenska (SE)", // name of language in native language "i18n.languageNameEnglish": "Swedish (SE)", // name of language in English @@ -248,6 +249,9 @@ "settings.option.visual.hardwareAcceleration.description": "kräver omstart", "settings.header.visual.hardwareAcceleration.default": "Standard", "settings.header.visual.hardwareAcceleration.webGPU": "WebGPU", + + // Settings - Visual - Theme name + // Refer to term.disabled for the disabled option "settings.option.visual.showPersonalInfo": "Visa personlig information", // Toggle diff --git a/src/i18n/tr_TR.jsonc b/src/i18n/tr_TR.jsonc index 828ecb59..214b2e17 100644 --- a/src/i18n/tr_TR.jsonc +++ b/src/i18n/tr_TR.jsonc @@ -1,4 +1,5 @@ { + // i18n Info "i18n.languageName": "Türkçe", // name of language in native language "i18n.languageNameEnglish": "Turkish", // name of language in English @@ -160,7 +161,7 @@ "error.noResults": "Hiç sonuç yok", "error.noResults.description": "Tekrar deneyin.", - //Podcasts + // Podcasts "podcast.followOnCider": "Cider'de Takip Et", "podcast.followedOnCider": "Cider'de Takip Ediliyor", "podcast.subscribeOnItunes": "itunes'de Abone Ol", @@ -252,16 +253,16 @@ "settings.option.audio.seamlessTransition": "Kesintisiz Ses Geçişi", // Toggle "settings.option.audio.enableAdvancedFunctionality": "Gelişmiş Ses Deneyimi", // Toggle "settings.option.audio.enableAdvancedFunctionality.description": "Gelişmiş ses deneyiminin etkinleştirilmesi, Ses Normalleştirme, Ekolayzer ve Görselleştirici gibi genişletilmiş ses özelliklerine izin verir, ancak bu durum bazı sistemlerde seste bozulmalara neden olabilir.", - "settings.option.audio.enableAdvancedFunctionality.audioNormalization": "Ses Normalleştirme", // Toggle - "settings.option.audio.enableAdvancedFunctionality.audioNormalization.description": "Ses normalleştirme alçak ve yüksek sesli şarkıları dengeler ve daha düzgün bir dinleme deneyimi sağlar.", - "settings.option.audio.enableAdvancedFunctionality.audioSpatialization": "Uzamsal Ses", // Toggle - "settings.option.audio.enableAdvancedFunctionality.audioSpatialization.description": "Sesi uzamsallaştırın ve sesi daha 3 boyutlu hale getirin (not: Bu Dolby Atmos değildir)", "settings.option.audio.enableAdvancedFunctionality.ciderPPE": "Cider Adrenalin Prosesörü™️", // Toggle "settings.option.audio.enableAdvancedFunctionality.ciderPPE.description": "Müziğin hem daha zengin hem de daha canlı duyulmasını sağlayan Psikoakustik Geliştirme Sistemi | Maikiwi tarafından tasarlanmıştır.", "settings.option.audio.enableAdvancedFunctionality.ciderPPEStrength": "CAP Kuvveti", // Toggle "settings.option.audio.enableAdvancedFunctionality.ciderPPEStrength.description": "Sese yapılan işlemin gücünü değiştirir. (Agresif istenmeyen sonuçlar doğurabilir)", "settings.option.audio.enableAdvancedFunctionality.ciderPPEStrength.standard": "Standart", "settings.option.audio.enableAdvancedFunctionality.ciderPPEStrength.aggressive": "Agresif", + "settings.option.audio.enableAdvancedFunctionality.audioNormalization": "Ses Normalleştirme", // Toggle + "settings.option.audio.enableAdvancedFunctionality.audioNormalization.description": "Ses normalleştirme alçak ve yüksek sesli şarkıları dengeler ve daha düzgün bir dinleme deneyimi sağlar.", + "settings.option.audio.enableAdvancedFunctionality.audioSpatialization": "Uzamsal Ses", // Toggle + "settings.option.audio.enableAdvancedFunctionality.audioSpatialization.description": "Sesi uzamsallaştırın ve sesi daha 3 boyutlu hale getirin (not: Bu Dolby Atmos değildir)", // Settings - Visual "settings.header.visual": "Görünüm", @@ -285,13 +286,15 @@ "settings.option.visual.hardwareAcceleration.description": "Etki etmesi için uygulamayı yeniden başlatmak gerekir.", "settings.header.visual.hardwareAcceleration.default": "Varsayılan", "settings.header.visual.hardwareAcceleration.webGPU": "Gelişmiş", - "settings.option.visual.showPersonalInfo": "Kullanıcı Adımı Göster", // Toggle "settings.header.visual.theme": "Tema", // Settings - Visual - Theme name "settings.option.visual.theme.default": "Cider", "settings.option.visual.theme.dark": "Karanlık", + // Refer to term.disabled for the disabled option + "settings.option.visual.showPersonalInfo": "Kullanıcı Adımı Göster", // Toggle + // Settings - Lyrics "settings.header.lyrics": "Şarkı Sözleri", "settings.header.lyrics.description": "Cider'in şarkı sözlerini nasıl görüntülemesini istediğini buradan ayarlayın.", @@ -324,12 +327,14 @@ "settings.option.experimental.copy_log": "Günlüğü Panoya Kopyala", "settings.option.experimental.inline_playlists": "Listeleri ve Albümleri Açılır Pencere İle göster", + // Refer to term.disabled & term.enabled // Spatialization Menu "spatial.notTurnedOn": "Uzamsal ses devre dışı. Kullanabilmek için lütfen önce etkinleştirin.", "spatial.spatialProperties" : "Uzamsal Özellikler", "spatial.width" : "Genişlik", "spatial.height" : "Yükseklik", "spatial.depth" : "Derinlik", + "spatial.gain" : "Kazanç", "spatial.roomMaterials" : "Oda Materyalleri", "spatial.roomDimensions" : "Oda Ölçüleri", "spatial.roomPositions" : "Oda Pozisyonu", @@ -343,7 +348,6 @@ "spatial.down" : "Aşağı", "spatial.listener" : "Dinleyici", "spatial.audioSource" : "Ses Kaynağı", - "spatial.gain" : "Kazanç", // Settings - Unfinished "settings.header.unfinished": "Geliştirme Aşamasında", diff --git a/src/i18n/zh_CN.jsonc b/src/i18n/zh_CN.jsonc index 8844e83b..75ea8e2d 100644 --- a/src/i18n/zh_CN.jsonc +++ b/src/i18n/zh_CN.jsonc @@ -1,4 +1,5 @@ { + // i18n Info "i18n.languageName": "简体中文(中国)", // name of language in native language "i18n.languageNameEnglish": "Simp. Chinese (China)", // name of language in English @@ -190,6 +191,15 @@ "action.tray.show": "显示", "action.update": "更新", + // Settings - General + "settings.header.general": "通用", + "settings.header.general.description": "调整 Cider 的通用设置", + + // Language optgroups + + // Update Cider + "settings.option.general.updateCider": "更新 Cider", // Button + // Settings - Audio "settings.header.audio": "音频", "settings.header.audio.description": "调整 Cider 的音频设置", @@ -233,16 +243,12 @@ "settings.option.visual.hardwareAcceleration.description": "需要重启 Cider 才会生效", "settings.header.visual.hardwareAcceleration.default": "默认", "settings.header.visual.hardwareAcceleration.webGPU": "WebGPU", + + // Settings - Visual - Theme name + // Refer to term.disabled for the disabled option "settings.option.visual.showPersonalInfo": "显示个人资料", // Toggle - // Settings - General (Reserved) - "settings.header.general": "通用", - "settings.header.general.description": "调整 Cider 的通用设置", - - // Settings - General - Update Cider - "settings.option.general.updateCider": "更新 Cider", // Button - // Settings - Lyrics "settings.header.lyrics": "歌词", "settings.header.lyrics.description": "调整 Cider 的歌词设置", diff --git a/src/i18n/zh_HK.jsonc b/src/i18n/zh_HK.jsonc index b0618dae..516ff4b6 100644 --- a/src/i18n/zh_HK.jsonc +++ b/src/i18n/zh_HK.jsonc @@ -1,24 +1,25 @@ { + // i18n Info "i18n.languageName": "繁體中文(香港)", // name of language in native language "i18n.languageNameEnglish": "Trad. Chinese (Hong Kong)", // name of language in English "i18n.category": "main", // main = real language, fun = fun community languages "i18n.authors": "@kyw504100 @maikirakiwi", // Authors, if you contribute to this file feel free to add your name seperated with a space - + // App info "app.name": "Cider", - + "date.format": "${y}年${m}月${d}日", - + // Dialogs "dialog.cancel": "取消", "dialog.ok": "確認", - + // Notification "notification.updatingLibrarySongs": "正在更新資料庫的歌曲...", "notification.updatingLibraryAlbums": "正在更新資料庫的專輯...", "notification.updatingLibraryArtists": "正在更新資料庫的藝人...", - + // Terms "term.appleInc": "Apple Inc.", "term.appleMusic": "Apple Music", // Follows brand term @@ -134,15 +135,17 @@ "term.addedpreset": "已新增", "term.deletepreset.warn": "你確認要刪除這個範本?", "term.deletedpreset": "已刪除", + "term.requestError": "處理請求時發生錯誤", + "term.song.link.generate": "正在生成 song.link 分享連結...", "term.musicVideos": "MV", // Search page friendlyTypes "term.stations": "電台", - //"term.curators": "Curators", - //"term.appleCurators": "Apple Curators", + //"term.curators": "Curators", + //"term.appleCurators": "Apple Curators", "term.radioShows": "廣播單集", "term.recordLabels": "唱片公司", "term.videoExtras": "影片特輯", - //"term.top": "Top", - + //"term.top": "Top", + // Home "home.title": "主頁", "home.recentlyPlayed": "最近播放", @@ -152,13 +155,13 @@ "home.madeForYou": "為您推薦", "home.friendsListeningTo": "朋友正在聆聽", "home.followedArtists": "追蹤的藝人", - + // Errors "error.appleMusicSubRequired": "需要訂閱Apple Music以使用Cider", "error.connectionError": "無法連接到 Apple Music。", "error.noResults": "沒有結果", "error.noResults.description": "請嘗試新的搜尋內容。", - + // Podcasts "podcast.followOnCider": "在Cider上追蹤", "podcast.followedOnCider": "已在Cider上追蹤", @@ -168,7 +171,7 @@ "podcast.episodes": "單集", "podcast.playEpisode": "播放單集", "podcast.website": "Podcast 網頁", - + // Actions "action.addToLibrary": "加入資料庫", "action.addToLibrary.success": "成功加入資料庫", @@ -215,7 +218,7 @@ "action.tray.show": "顯示", "action.update": "更新", "action.copy": "複製", - "action.newpreset": "新增範本", //Equallizer preset + "action.newpreset": "新增範本", // Equallizer preset "action.deletepreset": "刪除範本", // Settings - General @@ -230,6 +233,10 @@ // Update Cider "settings.option.general.updateCider": "更新 Cider", // Button + "settings.option.general.updateCider.branch": "Cider 更新通道", // Dropdown + "settings.option.general.updateCider.branch.description": "選擇你想要接收來自哪個通道的更新", + "settings.option.general.updateCider.branch.main": "穩定", + "settings.option.general.updateCider.branch.develop": "測試", // Settings - Audio "settings.header.audio": "音訊", @@ -240,18 +247,25 @@ "settings.header.audio.quality.lossless": "無損壓縮", "settings.header.audio.quality.lossless.description": "(高達 24-bit/48 kHz)", "settings.header.audio.quality.high": "高素質", - "settings.header.audio.quality.low": "高效率", - "settings.header.audio.quality.auto": "自動", + //"settings.header.audio.quality.high.description": "256 kbps", + "settings.header.audio.quality.standard": "高效率", + //"settings.header.audio.quality.standard.description": "64 kbps", "settings.option.audio.seamlessTransition": "無縫播放", // Toggle "settings.option.audio.enableAdvancedFunctionality": "進階功能", // Toggle "settings.option.audio.enableAdvancedFunctionality.description": "啟用 AudioContext 將解鎖類似音量平衡和均衡器的進階功能。但是會在一些電腦造成音樂卡頓。", - "settings.option.audio.enableAdvancedFunctionality.decryptLLPW": "無損壓縮解碼", // Toggle - "settings.option.audio.enableAdvancedFunctionality.decryptLLPW.description": "提供 Cider 解碼無損壓縮檔案的能力,但相應地會增加電腦的工作量。", + "settings.option.audio.enableAdvancedFunctionality.ciderPPE": "Cider 數碼音訊增強處理™️", // Toggle + "settings.option.audio.enableAdvancedFunctionality.ciderPPE.description": "能夠欺騙你的大腦讓你感受到近似無損壓縮的音質 | 由 Maikiwi 設計", + "settings.warn.audio.enableAdvancedFunctionality.ciderPPE.compatibility": "音訊增強處理不兼容於空間音訊,請先停用空間音訊。", + "settings.option.audio.enableAdvancedFunctionality.ciderPPEStrength": "數碼音訊增強處理設定", // Toggle + "settings.option.audio.enableAdvancedFunctionality.ciderPPEStrength.description": "將更改音訊處理的激進程度(激進型選項有可能會引起雜訊)", + "settings.option.audio.enableAdvancedFunctionality.ciderPPEStrength.standard": "標準型", + "settings.option.audio.enableAdvancedFunctionality.ciderPPEStrength.aggressive": "激進型", "settings.option.audio.enableAdvancedFunctionality.audioNormalization": "音量平衡", // Toggle "settings.option.audio.enableAdvancedFunctionality.audioNormalization.description": "將平衡輕柔和響亮的歌曲,建立更統一的聆聽體驗。", "settings.option.audio.enableAdvancedFunctionality.audioSpatialization": "空間音訊", // Toggle "settings.option.audio.enableAdvancedFunctionality.audioSpatialization.description": "將音訊進行空間化處理來製造一個更立體的聆聽體驗(注:此功能不是官方的杜比全景聲)", - + "settings.warn.audio.enableAdvancedFunctionality.audioSpatialization.compatibility": "空間音訊不兼容於音訊增強處理,請先停用音訊增強處理。", + // Settings - Visual "settings.header.visual": "外觀", "settings.header.visual.description": "調整Cider的外觀", @@ -275,10 +289,11 @@ "settings.header.visual.hardwareAcceleration.default": "預設", "settings.header.visual.hardwareAcceleration.webGPU": "WebGPU", "settings.header.visual.theme": "主題", - + // Settings - Visual - Theme name "settings.option.visual.theme.default": "預設", "settings.option.visual.theme.dark": "午夜暗", + // Refer to term.disabled for the disabled option "settings.option.visual.showPersonalInfo": "顯示個人檔案", // Toggle @@ -289,7 +304,7 @@ "settings.option.lyrics.enableMusixmatchKaraoke": "啟用卡拉OK模式(僅限Musixmatch)", // Toggle "settings.option.lyrics.musixmatchPreferredLanguage": "Musixmatch 歌詞語言偏好", // Dropdown "settings.option.lyrics.enableYoutubeLyrics": "播放 MV 時使用 YouTube 歌詞", // Toggle - + // Settings - Connectivity "settings.header.connectivity": "外部連結", "settings.header.connectivity.description": "調整Cider與外部的連結", @@ -303,18 +318,18 @@ "settings.option.connectivity.lastfmScrobble.delay": "Last.fm Scrobble 延遲 (%)", "settings.option.connectivity.lastfmScrobble.nowPlaying": "啟用 Last.fm 正在播放", "settings.option.connectivity.lastfmScrobble.removeFeatured": "從歌名中移除藝人推薦 (Last.fm)", - //"settings.option.connectivity.lastfmScrobble.filterLoop": "Filter looped track (Last.fm)", + //"settings.option.connectivity.lastfmScrobble.filterLoop": "Filter looped track (Last.fm)", // Refer to term.connect for the connect button - + // Settings - Experimental "settings.header.experimental": "實驗性功能", "settings.header.experimental.description": "調整Cider的實驗性功能", "settings.option.experimental.compactUI": "緊凑型 UI", // Toggle "settings.option.experimental.close_button_hide": "以關閉按鈕來隱藏 Cider", "settings.option.experimental.copy_log": "複製運行記錄檔至剪貼簿", - //"settings.option.experimental.inline_playlists": "Inline Playlists and Albums", - + //"settings.option.experimental.inline_playlists": "Inline Playlists and Albums", // Refer to term.disabled & term.enabled + // Spatialization Menu "spatial.notTurnedOn": "請先在設定中啟用空間音訊。", "spatial.spatialProperties": "空間音訊屬性", @@ -335,14 +350,14 @@ "spatial.down": "下方", "spatial.listener": "觀眾", "spatial.audioSource": "音源", - + // Settings - Unfinished "settings.header.unfinished": "未完成", - + // Web Remote "remote.web.title": "遙距控制 Cider", "remote.web.description": "掃描以下的二維碼以控制 Cider", - - // About + + //About "about.thanks": "感謝 Cider Collective 以及所有貢獻者所作出的貢獻。" } \ No newline at end of file diff --git a/src/i18n/zh_TW.jsonc b/src/i18n/zh_TW.jsonc index c2190a45..aa238675 100644 --- a/src/i18n/zh_TW.jsonc +++ b/src/i18n/zh_TW.jsonc @@ -1,9 +1,10 @@ { + // i18n Info "i18n.languageName": "繁體中文(台灣)", // name of language in native language "i18n.languageNameEnglish": "Trad. Chinese (Taiwan)", // name of language in English "i18n.category": "main", // main = real language, fun = fun community languages - "i18n.authors": "@maikirakiwi @jay900604", // Authors, if you contribute to this file feel free to add your name seperated with a space + "i18n.authors": "@maikirakiwi @jay900604 @kyw504100", // Authors, if you contribute to this file feel free to add your name seperated with a space // App info "app.name": "Cider", @@ -194,6 +195,10 @@ "action.copy": "複製", "action.newpreset": "新增預設", // Equalizer Preset "action.deletepreset": "刪除預設", // Equalizer Preset + + // Settings - General + "settings.header.general": "一般", + "settings.header.general.description": "調整 Cider 的一般設定", // Language optgroups "settings.option.general.language.main": "語言", @@ -239,7 +244,7 @@ "settings.option.visual.windowBackgroundStyle": "視窗背景樣式", // Toggle "settings.header.visual.windowBackgroundStyle.none": "空白", "settings.header.visual.windowBackgroundStyle.artwork": "專輯封面", - "settings.header.visual.windowBackgroundStyle.image": "圖片", + "settings.header.visual.windowBackgroundStyle.image": "圖片", "settings.option.visual.animatedArtwork": "動態專輯封面", // Dropdown "settings.header.visual.animatedArtwork.always": "總是顯示", "settings.header.visual.animatedArtwork.limited": "只在藝人頁面和專輯封面顯示", @@ -256,16 +261,14 @@ "settings.header.visual.hardwareAcceleration.default": "預設", "settings.header.visual.hardwareAcceleration.webGPU": "WebGPU", "settings.header.visual.theme": "主題", + // Settings - Visual - Theme name "settings.option.visual.theme.default": "Cider", "settings.option.visual.theme.dark": "暗黑模式", + // Refer to term.disabled for the disabled option "settings.option.visual.showPersonalInfo": "顯示個人檔案", // Toggle - // Settings - General (Reserved) - "settings.header.general": "一般", - "settings.header.general.description": "調整 Cider 的一般設定", - // Settings - Lyrics "settings.header.lyrics": "歌詞", "settings.header.lyrics.description": "調整 Cider 的歌詞設定", diff --git a/src/i18n/zh_yue.jsonc b/src/i18n/zh_yue.jsonc index 6fec3bfb..e7f296d9 100644 --- a/src/i18n/zh_yue.jsonc +++ b/src/i18n/zh_yue.jsonc @@ -1,4 +1,5 @@ { + // i18n Info "i18n.languageName": "廣東話(香港)", // name of language in native language "i18n.languageNameEnglish": "Cantonese (Hong Kong)", // name of language in English @@ -136,12 +137,12 @@ "term.deletedpreset": "刪除咗", "term.musicVideos": "MV", // Search page friendlyTypes "term.stations": "電台", - //"term.curators": "Curators", - //"term.appleCurators": "Apple Curators", + //"term.curators": "Curators", + //"term.appleCurators": "Apple Curators", "term.radioShows": "電台單集", "term.recordLabels": "唱片公司", "term.videoExtras": "相關嘅片", - //"term.top": "Top", + //"term.top": "Top", // Home "home.title": "主頁", @@ -273,6 +274,7 @@ // Settings - Visual - Theme name "settings.option.visual.theme.default": "預設", "settings.option.visual.theme.dark": "黑色", + // Refer to term.disabled for the disabled option "settings.option.visual.showPersonalInfo": "顯示個人檔案", // Toggle @@ -306,7 +308,7 @@ "settings.option.experimental.compactUI": "逼啲既 UI", // Toggle "settings.option.experimental.close_button_hide": "㩒交叉制嚟隱藏 Cider", "settings.option.experimental.copy_log": "將log複製喺剪貼簿", - //"settings.option.experimental.inline_playlists": "Inline Playlists and Albums", + //"settings.option.experimental.inline_playlists": "Inline Playlists and Albums", // Refer to term.disabled & term.enabled // Spatialization Menu diff --git a/src/renderer/index.js b/src/renderer/index.js index 5e58911c..5a052a96 100644 --- a/src/renderer/index.js +++ b/src/renderer/index.js @@ -272,7 +272,7 @@ const app = new Vue({ }, methods: { songLinkShare(amUrl) { - notyf.open({type: "info", message: "Getting song.link share URL..."}) + notyf.open({type: "info", message: app.getLz('term.song.link.generate')}) let self = this httpRequest = new XMLHttpRequest(); httpRequest.open('GET', `https://api.song.link/v1-alpha.1/links?url=${amUrl}&userCountry=US`, true); @@ -285,7 +285,7 @@ const app = new Vue({ self.copyToClipboard(response.pageUrl) } else { console.log('There was a problem with the request.'); - notyf.error("There was a problem with the request.") + notyf.error(app.getLz('term.requestError')) } } } @@ -2284,7 +2284,7 @@ const app = new Vue({ this.mk.addToLibrary(id).then((data) => { self.getLibrarySongsFull(true) }) - notyf.success('Added to library.'); + notyf.success(app.getLz('action.addToLibrary.success')); }, removeFromLibrary(kind, id) { let self = this @@ -2296,7 +2296,7 @@ const app = new Vue({ }).then((data) => { self.getLibrarySongsFull(true) }) - notyf.success('Removed from library.') + notyf.success(app.getLz('action.removeFromLibrary.success')) }, async losslessBadge() { diff --git a/src/renderer/views/pages/about.ejs b/src/renderer/views/pages/about.ejs index 69cf3a3d..f1fd1fb3 100644 --- a/src/renderer/views/pages/about.ejs +++ b/src/renderer/views/pages/about.ejs @@ -87,6 +87,12 @@ role: app.getLz('term.developer'), avatar: 'https://avatars.githubusercontent.com/u/27716185?v=4' }, + { + name: 'Maikiwi', + link: 'https://github.com/maikirakiwi', + role: app.getLz('term.developer'), + avatar: 'https://avatars.githubusercontent.com/u/74925636?v=4' + }, { name: 'Void', link: 'https://twitter.com/MoonyVoid', diff --git a/src/renderer/views/pages/settings.ejs b/src/renderer/views/pages/settings.ejs index 0ed575bc..8c856a12 100644 --- a/src/renderer/views/pages/settings.ejs +++ b/src/renderer/views/pages/settings.ejs @@ -824,7 +824,7 @@ if (app.cfg.advanced.ciderPPE) { if (app.cfg.audio.spatial) { app.cfg.advanced.ciderPPE = false; - notyf.error("CAP is not compatible with Spatialization. Please disable Spatialization to continue.") + notyf.error(app.getLz('settings.warn.audio.enableAdvancedFunctionality.ciderPPE.compatibility')) } } }, @@ -836,7 +836,7 @@ else { CiderAudio.spatialOff() app.cfg.audio.spatial = false; - notyf.error("Spatialization is not compatible with CAP. Please disable CAP to continue.") + notyf.error(app.getLz('settings.warn.audio.enableAdvancedFunctionality.audioSpatialization.compatibility')) } } else { CiderAudio.spatialOff() From 9eb9684abcfbdb7757f8c36ba76a1f157b9bd07e Mon Sep 17 00:00:00 2001 From: Keefe Eilish Date: Tue, 8 Feb 2022 21:16:12 +0530 Subject: [PATCH 079/573] Starting Hindi translation (#382) --- src/i18n/hi_IN.jsonc | 358 +++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 358 insertions(+) create mode 100644 src/i18n/hi_IN.jsonc diff --git a/src/i18n/hi_IN.jsonc b/src/i18n/hi_IN.jsonc new file mode 100644 index 00000000..ddeef8b4 --- /dev/null +++ b/src/i18n/hi_IN.jsonc @@ -0,0 +1,358 @@ +{ + // Base File + // i18n Info + "i18n.languageName": "English (US)", // name of language in native language + "i18n.languageNameEnglish": "English (US)", // name of language in English + "i18n.category": "main", // main = real language, fun = fun community languages + "i18n.authors": "@maikirakiwi @vringster", // Authors, if you contribute to this file feel free to add your name seperated with a space + + // App info + "app.name": "Cider", + + "date.format": "${m} ${d}, ${y}", + + // Dialogs + "dialog.cancel": "रोकें", + "dialog.ok": "ठीक है", + + // Notification + "notification.updatingLibrarySongs": "अपडेटिंग लाइब्रेरी के गाने...", + "notification.updatingLibraryAlbums": "अपडेटिंग लाइब्रेरी के एल्बम...", + "notification.updatingLibraryArtists": "अपडेटिंग लाइब्रेरी के कलाकार...", + + // Terms + "term.appleInc": "Apple Inc.", + "term.appleMusic": "Apple Music", + "term.applePodcasts": "Apple Podcasts", + "term.itunes": "iTunes", + "term.github": "GitHub", + "term.discord": "Discord", + "term.learnMore": "और जानिए", + "term.accountSettings": "खाता सेटिंग्स", + "term.logout": "लॉग आऊट", + "term.login": "लॉग इन", + "term.about": "के बारे में", + "term.privateSession": "गुप्त सैशन", + "term.queue": "कतार", + "term.history": "हिस्टरी", + "term.search": "खोज करें", + "term.library": "लाइब्रेरी", + "term.listenNow": "अभी सुनियें", + "term.browse": "ब्राउज़", + "term.radio": "रेडियो", + "term.recentlyAdded": "हाल ही में जोड़ें हुए", + "term.songs": "गाने", + "term.albums": "एल्बम", + "term.artists": "कलाकार", + "term.podcasts": "पॉडकास्टस", + "term.playlists": "प्लेलिस्ट्स", + "term.playlist": "प्लेलिस्ट", + "term.newPlaylist": "नई प्लेलिस्ट्स", + "term.newPlaylistFolder": "नई प्लेलिस्ट्स फ़ोल्डर", + "term.createNewPlaylist": "नई प्लेलिस्ट्स बनाएं", + "term.createNewPlaylistFolder": "नई प्लेलिस्ट्स फ़ोल्डर बनाएं", + "term.deletePlaylist": "क्या आप वाकई इस प्लेलिस्ट को हटाना चाहते हैं", + "term.play": "प्ले", + "term.pause": "ठहराव", + "term.previous": "पिछले", + "term.next": "अगले", + "term.shuffle": "शफल", + "term.repeat": "रिपीट", + "term.volume": "वॉल्यूम", + "term.mute": "म्यूट", + "term.unmute": "अनम्यूट", + "term.share": "शेयर", + "term.share.success": "क्लिपबोर्ड में कॉपीड", + "term.settings": "सेटिंग्स", + "term.seeAll": "सभी देखें", + "term.sortBy": "सॉर्ट बाये", + "term.sortBy.album": "एल्बम", + "term.sortBy.artist": "कलाकार", + "term.sortBy.name": "नाम", + "term.sortBy.genre": "शैली", + "term.sortBy.releaseDate": "रिलीज़ की तारीख", + "term.sortBy.duration": "लंबाई", + "term.sortOrder": "ए-ज़ी", + "term.sortOrder.ascending": "असेंडिंग", + "term.sortOrder.descending": "डिसेंडिंग", + "term.viewAs": "वियू ऐस", + "term.viewAs.coverArt": "कवर आर्ट", + "term.viewAs.list": "सूची", + "term.size": "साइज़", + "term.size.normal": "साधारण", + "term.size.compact": "पिचका हुआ", + "term.enable": "खोलें", + "term.disable": "बंद", + "term.enabled": "खोला हुआ", + "term.disabled": "बंद हुआ हुआ", + "term.connect": "कनेक्ट", + "term.connecting": "कनेक्टिंग", + "term.disconnect": "डिसकनेक्ट", + "term.authed": "प्रमाणित", + "term.confirm": "पक्का?", + "term.more": "ज़्यादा", + "term.less": "कम", + "term.showMore": "दिखाएं ज़्यादा", + "term.showLess": "दिखाएं कम", + "term.topSongs": "Top Songs", + "term.latestReleases": "Latest Releases", + "term.time.added": "Added", + "term.time.released": "Released", + "term.time.updated": "Updated", + "term.time.hours": "hours", + "term.time.hour": "hour", + "term.time.minutes": "minutes", + "term.time.minute": "minute", + "term.time.seconds": "seconds", + "term.time.second": "second", + "term.fullscreenView": "Fullscreen View", + "term.defaultView": "Default View", + "term.audioSettings": "Audio Settings", + "term.clearAll": "Clear All", + "term.recentStations": "Recent Stations", + "term.language": "Language", + "term.funLanguages": "Fun", + "term.noLyrics": "Loading... / Lyrics not found./ Instrumental.", + "term.copyright": "Copyright", + "term.rightsReserved": "All Rights Reserved.", + "term.sponsor": "Sponsor this project", + "term.ciderTeam": "Cider Team", + "term.developer": "Developer", + "term.socialTeam": "Social Team", + "term.socials": "Socials", + "term.contributors": "Contributors", + "term.equalizer": "Equalizer", + "term.reset": "Reset", + "term.tracks": "tracks", // Assume x amount of tracks. e.g. 50 tracks + "term.videos": "Videos", + "term.menu": "Menu", + "term.check": "Check", + "term.aboutArtist": "About {{artistName}}", // e.g. 'About Doja Cat' + "term.topResult": "Top Result", // Search Results + "term.sharedPlaylists": "Shared Playlists", // Search Results + "term.people": "People", // Search Results + "term.newpreset.name": "नई EQ Preset Name", // Equalizer Preset + "term.addedpreset": "Added Preset", + "term.deletepreset.warn": "Are you sure you want to delete this preset?", + "term.deletedpreset": "Removed preset", + "term.musicVideos": "Music Videos", // Search page friendlyTypes + "term.stations": "Stations", + "term.curators": "Curators", + "term.appleCurators": "Apple Curators", + "term.radioShows": "Radio Shows", + "term.recordLabels": "Record Labels", + "term.videoExtras": "Video Extras", + "term.top": "Top", + + // Home + "home.title": "Home", + "home.recentlyPlayed": "Recently Played", + "home.recentlyAdded": "Recently Added", + "home.artistsFeed": "Your Artists Feed", + "home.artistsFeed.noArtist": "Follow some artists first and their latest releases will be here", + "home.madeForYou": "Made For You", + "home.friendsListeningTo": "Friends Listening To", + "home.followedArtists": "Followed Artists", + + // Errors + "error.appleMusicSubRequired": "Apple Music requires a subscription.", + "error.connectionError": "There was a problem connecting to Apple Music.", + "error.noResults": "No Results.", + "error.noResults.description": "Try a नई search.", + + // Podcasts + "podcast.followOnCider": "Follow On Cider", + "podcast.followedOnCider": "Following On Cider", + "podcast.subscribeOnItunes": "Subscribe On iTunes", + "podcast.subscribedOnItunes": "Subscribed On iTunes", + "podcast.itunesStore": "iTunes Store", + "podcast.episodes": "Episodes", + "podcast.playEpisode": "Play Episode", + "podcast.website": "Podcast Website", + + // Actions + "action.addToLibrary": "Add to Library", + "action.addToLibrary.success": "Added to Library", + "action.addToLibrary.error": "Error Adding to Library", + "action.removeFromLibrary": "Remove from Library", + "action.removeFromLibrary.success": "Removed from Library", + "action.addToQueue": "Add to Queue", + "action.addToQueue.success": "Added to Queue", + "action.addToQueue.error": "Error Adding to Queue", + "action.removeFromQueue": "Remove from Queue", + "action.removeFromQueue.success": "Removed from Queue", + "action.removeFromQueue.error": "Error Removing from Queue", + "action.createPlaylist": "बनाएं a नई Playlist", + "action.addToPlaylist": "Add to Playlist", + "action.removeFromPlaylist": "Remove from Playlist", + "action.addToFavorites": "Add to Favorites", + "action.follow": "Follow", + "action.follow.success": "Followed", + "action.follow.error": "Error Following", + "action.unfollow": "Unfollow", + "action.unfollow.success": "Unfollowed", + "action.unfollow.error": "Error Unfollowing", + "action.playNext": "Play Next", + "action.playLater": "Play Later", + "action.startRadio": "Start Radio", + "action.goToArtist": "Go to Artist", + "action.goToAlbum": "Go to Album", + "action.moveToTop": "Move to top", + "action.share": "Share", + "action.rename": "Rename", + "action.love": "Love", + "action.unlove": "Unlove", + "action.dislike": "Dislike", + "action.undoDislike": "Undo dislike", + "action.showWebRemoteQR": "Web Remote", + "action.playTracksNext": "Play ${app.selectedMediaItems.length} tracks next", + "action.playTracksLater": "Play ${app.selectedMediaItems.length} tracks later", + "action.removeTracks": "Remove ${self.selectedItems.length} tracks from queue", + "action.import": "Import", + "action.export": "Export", + "action.showAlbum": "दिखाएं Complete Album", + "action.tray.minimize": "Minimize to Tray", + "action.tray.quit": "Quit", + "action.tray.show": "दिखाएं", + "action.update": "Update", + "action.copy": "Copy", + "action.newpreset": "नई Preset...", // Equalizer Preset + "action.deletepreset": "Delete Preset", + + // Settings - General + "settings.header.general": "General", + "settings.header.general.description": "Adjust the general settings for Cider.", + "settings.option.general.language": "Language", + + // Language optgroups + "settings.option.general.language.main": "Languages", + "settings.option.general.language.fun": "Fun Languages", + "settings.option.general.language.unsorted": "Unsorted", + + // Update Cider + "settings.option.general.updateCider": "Update Cider", // Button. Refer to term.check for the check button + "settings.option.general.updateCider.branch": "Cider Update Branch", // Dropdown + "settings.option.general.updateCider.branch.description": "Select the branch to update Cider to", + "settings.option.general.updateCider.branch.main": "Stable", + "settings.option.general.updateCider.branch.develop": "Development", + + // Settings - Audio + "settings.header.audio": "Audio", + "settings.header.audio.description": "Adjust the audio settings for Cider.", + "settings.option.audio.quality": "Audio Quality", // Dropdown + "settings.header.audio.quality.hireslossless": "Hi-Res Lossless", + "settings.header.audio.quality.hireslossless.description": "up to 24-bit/192 kHz", + "settings.header.audio.quality.lossless": "Lossless", + "settings.header.audio.quality.lossless.description": "up to 24-bit/48 kHz", + "settings.header.audio.quality.high": "High", + "settings.header.audio.quality.high.description": "256 kbps", + "settings.header.audio.quality.standard": "Standard", + "settings.header.audio.quality.standard.description": "64 kbps", + "settings.option.audio.seamlessTransition": "Seamless Audio Transition", // Toggle + "settings.option.audio.enableAdvancedFunctionality": "Enable Advanced Functionality", // Toggle + "settings.option.audio.enableAdvancedFunctionality.description": "Enabling AudioContext functionality will allow for extended audio features like Audio Normalization , Equalizers and Visualizers, however on some systems this may cause stuttering in audio tracks.", + "settings.option.audio.enableAdvancedFunctionality.ciderPPE": "Cider Adrenaline Processor™️", // Toggle + "settings.option.audio.enableAdvancedFunctionality.ciderPPE.description": "Psychoacoustic Enhancements that makes everything sound both richer and more lively | Designed by Maikiwi.", + "settings.option.audio.enableAdvancedFunctionality.ciderPPEStrength": "CAP Strength", // Toggle + "settings.option.audio.enableAdvancedFunctionality.ciderPPEStrength.description": "Changes the strength of the processing done to the audio. (Aggressive may yield undesirable results)", + "settings.option.audio.enableAdvancedFunctionality.ciderPPEStrength.standard": "Standard", + "settings.option.audio.enableAdvancedFunctionality.ciderPPEStrength.aggressive": "Aggressive", + "settings.option.audio.enableAdvancedFunctionality.audioNormalization": "Audio Normalization", // Toggle + "settings.option.audio.enableAdvancedFunctionality.audioNormalization.description": "Normalizes peak volume for individual tracks to create a more uniform listening experience.", + "settings.option.audio.enableAdvancedFunctionality.audioSpatialization": "Audio Spatialization", // Toggle + "settings.option.audio.enableAdvancedFunctionality.audioSpatialization.description": "Spatialize audio and make audio more 3-dimensional (note: This is not Dolby Atmos)", + + // Settings - Visual + "settings.header.visual": "Visual", + "settings.header.visual.description": "Adjust the visual settings for Cider.", + "settings.option.visual.windowBackgroundStyle": "Window Background Style", // Toggle + "settings.header.visual.windowBackgroundStyle.none": "None", + "settings.header.visual.windowBackgroundStyle.artwork": "Artwork", + "settings.header.visual.windowBackgroundStyle.image": "Image", + "settings.option.visual.animatedArtwork": "Animated Artwork", // Dropdown + "settings.header.visual.animatedArtwork.always": "Always", + "settings.header.visual.animatedArtwork.limited": "Limited to pages and special entries", + "settings.header.visual.animatedArtwork.disable": "Disable everywhere", + "settings.option.visual.animatedArtworkQuality": "Animated Artwork Quality", // Dropdown + "settings.header.visual.animatedArtworkQuality.low": "Low", + "settings.header.visual.animatedArtworkQuality.medium": "Medium", + "settings.header.visual.animatedArtworkQuality.high": "High", + "settings.header.visual.animatedArtworkQuality.veryHigh": "Very High", + "settings.header.visual.animatedArtworkQuality.extreme": "Extreme", + "settings.option.visual.animatedWindowBackground": "Animated Window Background", // Toggle + "settings.option.visual.hardwareAcceleration": "Hardware Acceleration", // Dropdown + "settings.option.visual.hardwareAcceleration.description": "Requires relaunch", + "settings.header.visual.hardwareAcceleration.default": "Default", + "settings.header.visual.hardwareAcceleration.webGPU": "WebGPU", + "settings.header.visual.theme": "Theme", + + // Settings - Visual - Theme name + "settings.option.visual.theme.default": "Cider", + "settings.option.visual.theme.dark": "Dark", + // Refer to term.disabled for the disabled option + "settings.option.visual.showPersonalInfo": "दिखाएं Personal Info", // Toggle + + // Settings - Lyrics + "settings.header.lyrics": "Lyrics", + "settings.header.lyrics.description": "Adjust the lyrics settings for Cider.", + "settings.option.lyrics.enableMusixmatch": "Enable Musixmatch Lyrics", // Toggle + "settings.option.lyrics.enableMusixmatchKaraoke": "Enable Karaoke Mode (Musixmatch only)", // Toggle + "settings.option.lyrics.musixmatchPreferredLanguage": "Musixmatch Translation Preferred Language", // Dropdown + "settings.option.lyrics.enableYoutubeLyrics": "Enable Youtube Lyrics for Music Videos", // Toggle + + // Settings - Connectivity + "settings.header.connectivity": "Connectivity", + "settings.header.connectivity.description": "Adjust the connectivity settings for Cider.", + "settings.option.connectivity.discordRPC": "Discord Rich Presence", // Dropdown + "settings.option.connectivity.playbackNotifications": "Playback Notifications", // Toggle + // Refer to term.disabled for the disabled option + "settings.header.connectivity.discordRPC.cider": "Display as 'Cider'", + "settings.header.connectivity.discordRPC.appleMusic": "Display as 'Apple Music'", + "settings.option.connectivity.discordRPC.clearOnPause": "Clear Discord Rich Presence on Pause", // Toggle + "settings.option.connectivity.lastfmScrobble": "Last.fm Scrobbling", // Option to Connect + "settings.option.connectivity.lastfmScrobble.delay": "Last.fm Scrobble Delay (%)", + "settings.option.connectivity.lastfmScrobble.nowPlaying": "Enable Last.fm Now Playing", + "settings.option.connectivity.lastfmScrobble.removeFeatured": "Remove featuring artists from song title (Last.fm)", + "settings.option.connectivity.lastfmScrobble.filterLoop": "Filter looped track (Last.fm)", + // Refer to term.connect for the connect button + + // Settings - Experimental + "settings.header.experimental": "Experimental", + "settings.header.experimental.description": "Adjust the experimental settings for Cider.", + "settings.option.experimental.compactUI": "Compact UI", // Toggle + "settings.option.experimental.close_button_hide": "Close Button Should Hide the Application", + "settings.option.experimental.copy_log": "Copy logs to clipboard", + "settings.option.experimental.inline_playlists": "Inline Playlists and Albums", + + // Refer to term.disabled & term.enabled + // Spatialization Menu + "spatial.notTurnedOn": "Audio Spatialization is disabled. To use, please enable it first.", + "spatial.spatialProperties": "Spatial Properties", + "spatial.width": "Width", + "spatial.height": "Height", + "spatial.depth": "Depth", + "spatial.gain": "Gain", + "spatial.roomMaterials": "Room Materials", + "spatial.roomDimensions": "Room Dimensions", + "spatial.roomPositions": "Room Positions", + "spatial.setDimensions": "Set Dimensions", + "spatial.setPositions": "Set Positions", + "spatial.up": "Up", + "spatial.front": "Front", + "spatial.left": "Left", + "spatial.right": "Right", + "spatial.back": "Back", + "spatial.down": "Down", + "spatial.listener": "Listener", + "spatial.audioSource": "Audio Source", + + // Settings - Unfinished + "settings.header.unfinished": "Unfinished", + + // Web Remote + "remote.web.title": "Cider Remote", + "remote.web.description": "Scan the QR code to pair your phone up with this Cider instance", + + // About + "about.thanks": "Major thanks to the Cider Collective Team and all of our contributors." +} From 481c0be89757396ac0c0bab2b41bd01a9abeaa07 Mon Sep 17 00:00:00 2001 From: Jozen Blue Martinez Date: Tue, 8 Feb 2022 23:47:00 +0800 Subject: [PATCH 080/573] Fix loading external plugins. (#380) --- src/main/base/plugins.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/main/base/plugins.ts b/src/main/base/plugins.ts index 4ffb1042..f4f1d2ec 100644 --- a/src/main/base/plugins.ts +++ b/src/main/base/plugins.ts @@ -33,7 +33,7 @@ export class Plugins { if (fs.existsSync(this.userPluginsPath)) { fs.readdirSync(this.userPluginsPath).forEach(file => { if (file.endsWith('.ts') || file.endsWith('.js')) { - const plugin = require(path.join(this.userPluginsPath, file)).default; + const plugin = require(path.join(this.userPluginsPath, file)); file = file.replace('.ts', '').replace('.js', ''); if (plugins[file] || plugin in plugins) { console.log(`[${plugin.name}] Plugin already loaded / Duplicate Class Name`); From b182a90b8a4176f993d9115c357a72d4cdecaeba Mon Sep 17 00:00:00 2001 From: Juraj <75269827+jurosic@users.noreply.github.com> Date: Tue, 8 Feb 2022 17:17:29 +0000 Subject: [PATCH 081/573] FIxed things in slovak translation that i realized were wrong when i fell asleep, weird (#381) * Added slovak translation * fixed stuff * Update sk_SK.jsonc * added missing translations * slovak grammar is hard okay >:( * localhost:9000 and vibrant bass go to a bar and the bartender says, we dont serve bad memes here * mistake has been spotted * Update sk_SK.jsonc * Update sk_SK.jsonc Co-authored-by: Quacksire <19170969+quacksire@users.noreply.github.com> --- src/i18n/sk_SK.jsonc | 24 +++++++++++++++++------- 1 file changed, 17 insertions(+), 7 deletions(-) diff --git a/src/i18n/sk_SK.jsonc b/src/i18n/sk_SK.jsonc index 95100010..bba5ed51 100644 --- a/src/i18n/sk_SK.jsonc +++ b/src/i18n/sk_SK.jsonc @@ -4,7 +4,7 @@ "i18n.languageName": "Slovenčina (SK)", // name of language in native language "i18n.languageNameEnglish": "Slovak (SK)", // name of language in English "i18n.category": "main", // main = real language, fun = fun community languages - "i18n.authors": "@jurosic", // Authors, if you contribute to this file feel free to add your name seperated with a space + "i18n.authors": "@jurosic-JurajJanosik", // Authors, if you contribute to this file feel free to add your name seperated with a space // App info "app.name": "Cider", @@ -31,7 +31,7 @@ "term.logout": "Odhlásiť", "term.login": "Prihlásiť", "term.about": "About", - "term.privateSession": "Osobný Session", + "term.privateSession": "Skuromn Počúvanie", "term.queue": "Poradie", "term.search": "Vyhládavať", "term.library": "Knižnica", @@ -76,8 +76,8 @@ "term.viewAs.coverArt": "Náhľadovka", "term.viewAs.list": "List", "term.size": "Velkosť", - "term.size.normal": "Normal", - "term.size.compact": "Compact", + "term.size.normal": "Normálny", + "term.size.compact": "Kompaktný", "term.enable": "Zapnúť", "term.disable": "Vypnúť", "term.enabled": "Zapnuté", @@ -199,7 +199,7 @@ "action.update": "Aktualizovať", // Settings - General - "settings.header.general": "všeobecné", + "settings.header.general": "Všeobecné", "settings.header.general.description": "Zmeniť všeobecné nastavenia pre Cider.", "settings.option.general.language": "Jazyk", @@ -218,6 +218,12 @@ "settings.option.audio.seamlessTransition": "Hladký Prevod Zvuku", // Toggle "settings.option.audio.enableAdvancedFunctionality": "Zapnút Pokročilé Nastavenia Zvuku", // Toggle "settings.option.audio.enableAdvancedFunctionality.description": "Zapnutie AudioContext funkcionality dovolí rozšírené funkcie zvuku ako Zvuková Normalizávia , Equalizéry a Visualízery, ale na niektorých systémoch to može spôsobiť problémy so zvukom.", + "settings.option.audio.enableAdvancedFunctionality.ciderPPE": "Cider Adrenaline Processor™️", // Toggle + "settings.option.audio.enableAdvancedFunctionality.ciderPPE.description": "Psychoakustické Vylepšenia ktoré urobia zvuk viac bohatý a živý | Urobil Maikiwi.", + "settings.option.audio.enableAdvancedFunctionality.ciderPPEStrength": "CAP Sila", // Toggle + "settings.option.audio.enableAdvancedFunctionality.ciderPPEStrength.description": "Zmení silu CAP (Agresívná môže spôsobiť nežiadané výsledky)", + "settings.option.audio.enableAdvancedFunctionality.ciderPPEStrength.standard": "Štandardná", + "settings.option.audio.enableAdvancedFunctionality.ciderPPEStrength.aggressive": "Agresívná", "settings.option.audio.enableAdvancedFunctionality.audioNormalization": "Normalízacia Zvuku", // Toggle "settings.option.audio.enableAdvancedFunctionality.audioNormalization.description": "Normalizuje silu zvuku v pesničkách pre hľadší počúvací zážitok", "settings.option.audio.enableAdvancedFunctionality.audioSpatialization": "Priestorový Zvuk", // Toggle @@ -244,6 +250,10 @@ "settings.option.visual.hardwareAcceleration.description": "Vyžaduje Reštart", "settings.header.visual.hardwareAcceleration.default": "Predvoľba", "settings.header.visual.hardwareAcceleration.webGPU": "WebGPU", + "settings.header.visual.theme": "Theme", + // Settings - Visual - Theme name + "settings.option.visual.theme.default": "Cider", + "settings.option.visual.theme.dark": "Dark", // Refer to term.disabled for the disabled option "settings.option.visual.showPersonalInfo": "Zobraziť osobné informácie", // Toggle @@ -274,8 +284,8 @@ // Settings - Experimental "settings.header.experimental": "Experimentálne", "settings.header.experimental.description": "Zmeniť experimentálne nastavenia pre Cider.", - "settings.option.experimental.compactUI": "Compact UI", // Toggle - "settings.option.experimental.close_button_hide": "Zatvoriť by malo skriť aplikáciu", + "settings.option.experimental.compactUI": "Kompaktný UI", // Toggle + "settings.option.experimental.close_button_hide": "Zatvaranie aplikácie ju malo skriť", // Refer to term.disabled & term.enabled // Spatialization Menu From 195b4c93fbb38016a1f994345a5814fdff5a2e92 Mon Sep 17 00:00:00 2001 From: vapormusic Date: Wed, 9 Feb 2022 00:56:59 +0700 Subject: [PATCH 082/573] encode uri --- src/renderer/index.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/renderer/index.js b/src/renderer/index.js index 5a052a96..4ddf7905 100644 --- a/src/renderer/index.js +++ b/src/renderer/index.js @@ -2891,7 +2891,7 @@ const app = new Vue({ return } //this.mk.api.v3.music(`/v1/catalog/${app.mk.storefrontId}/search?term=${this.search.term}` - this.mk.api.v3.music(`/v1/catalog/${app.mk.storefrontId}/search?term=${this.search.term}`, { + this.mk.api.v3.music(`/v1/catalog/${app.mk.storefrontId}/search?term=${encodeURIComponent(this.search.term)}`, { types: "activities,albums,apple-curators,artists,curators,editorial-items,music-movies,music-videos,playlists,songs,stations,tv-episodes,uploaded-videos,record-labels", "relate[editorial-items]": "contents", "include[editorial-items]": "contents", From dc386c5bd410ddd13348057acf0abaf2f3058fc9 Mon Sep 17 00:00:00 2001 From: vapormusic Date: Wed, 9 Feb 2022 00:57:57 +0700 Subject: [PATCH 083/573] typo --- src/renderer/views/components/audio-settings.ejs | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/renderer/views/components/audio-settings.ejs b/src/renderer/views/components/audio-settings.ejs index 379cf9ae..512db50e 100644 --- a/src/renderer/views/components/audio-settings.ejs +++ b/src/renderer/views/components/audio-settings.ejs @@ -13,7 +13,7 @@
{{app.getLz('term.equalizer')}}
@@ -38,7 +38,7 @@ app.modals.equalizer = true app.modals.audioSettings = false }, - openSpacialAudio() { + openSpatialAudio() { if(app.cfg.audio.spatial) { app.modals.spatialProperties = true app.modals.audioSettings = false From 9201b7091cfaf06a7e2da412f44a6120236001bc Mon Sep 17 00:00:00 2001 From: Amaru8 <52407090+Amaru8@users.noreply.github.com> Date: Tue, 8 Feb 2022 19:00:51 +0000 Subject: [PATCH 084/573] Updated icon files in Web Remote (#389) --- src/web-remote/icon-192x192.png | Bin 17166 -> 7313 bytes src/web-remote/icon-256x256.png | Bin 16442 -> 10085 bytes src/web-remote/icon-384x384.png | Bin 43738 -> 16360 bytes src/web-remote/icon-512x512.png | Bin 38363 -> 23392 bytes 4 files changed, 0 insertions(+), 0 deletions(-) diff --git a/src/web-remote/icon-192x192.png b/src/web-remote/icon-192x192.png index 05834da24a8b7a426d6f5b3359b3dbe4e71f4775..73f1a793a5518c09ec8fb2793514c2b517b27ae0 100644 GIT binary patch literal 7313 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 literal 17166 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 N002ovPDHLkV1nLt@(=(3 diff --git a/src/web-remote/icon-256x256.png b/src/web-remote/icon-256x256.png index cb75e71b666f0fe9e72e6d3dab70a576b3d621d6..6f39989360a3051460aa19a9f5e0e40e9fa035a9 100644 GIT binary patch literal 10085 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 OK;xdaN~N+**#7|i8T-os literal 16442 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 aIVEcSQYHjWnLu?uprc`+Ua4vq@xK5k2lfg8 literal 43738 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

3zQXJO!S%09#+j;K`l~YG+Q<+xp#A-u zQ3a8y6IyB})-l7PuGwFk(8shCxcv^DM(!v52joB&-&ucl4Oke1Dsm{kpB9b7MYVob zGlyg`vGmoK6x6%@j5Yk@g; zDMEoc^Wyj)RfH|2+6|PLAAkWM(3CP398`l2SZt1$RjtE>V0f|OAvvlP}ix}NCWe@w>3~L9Lr1)+pLO>{yn;OZ; z&x=TymxSzw0lc>&6!5V4E5}z0Oc3GvJZ^{z?BS;CT1_g{>VAP zERy=wFsM4Q1)F71MQ~TB0xtRk{vKk%MJ-e4lLSN8B1vw3F}E*Ekku`_(QM5c>I!cs zh0jiizvg4JIs!VF(N~Zn&xn0)eMBLOt*%ag&J7^728t&HJL}95fdVE9P*+4cKczP z&ogD^b;bejmTm0v(S-}z*z%~G8|ETi8CW)?$tQ$`p{Osj!$74#TB^x0{_0(tC4!zx zHs8as+@R80VijbuYgYH2Bz`03ByBxuk&OoXyPTT2%Io)#j5nY6{lYly3>Yr)B~B2> z43P{^$`@a>Xjt$&;h8_LC4=s9T<8|=V#|3EKS z4&wc+EvXnFYy0549km*-6yuP}r?gIl?*E?W%;pi6z;h<2YBX8hg2(6r;$SVEZ^ste#vT?@ot%C|U;#?gBF}b75oI{L1icnI4 zSb&k@Gsaen?gZX#@Ueu@i#IP1Iv}CFZ7WTNY6H*1`C8yaa;(D%q@3cG2%t1l=nr|)zs zZ~}@2rkI&yc_EnTin6FSulMx0xqV($l$4{hbo)}^qhr*L1`GSaX$SC&pYv%B}&*s1wDVwWz~> z2?oMDa%6h?e+LHbU=JsAx3F?hf4dzIqHnu?rd%LHA)7^|Jp*mX2trluAt|{m3%E>*Vyk4 z(j(G{T*<6;BPQ&FJ(94Ss4~8``p+g?auW$`ZI{II%5Z{AhiRx@q3pi%e}iP8N7tRU zfF3R2KOB4(YDJt*EXY(xOHD_5KsE-5La4KN#aVb*zNZB{;%}Zg@PXcpN=#^^e_=|J zu}spsI$9GHiB<212o)Oq{JgB8SpMVwuEwyKw_9LzNdNM_l;dbVtn%1d^HpR1mD#-8 zRGEQ~DmwGE`;{jjtY;9@WJ055a+%20S=oWz?wNrLStpJczdeTYyROj}-w~jHv;AJn zrA{1RG+>>p(+YUD=q==e>+#p^leU?D;rOxN5hQ8WUZ{+WZ~zAA${;}_FYLo_%@`e{ z-ikP{h3v%z8Z$m!gvfoi+PFSq_kSXps7=t4Ut=E`SjuI20of%kd4ohgrj z@&EC=!YLQ(upnH06||ej;ijJcocGE~$ja$p2%I+7M%3-}&bGWb_A-7+ZRjA=+3D(! zm_zG*=V)zfxK9leJS2NB&S5ws^Q*ys>pskV$MiVt zmGq8>IDoJ29c2Or{mC@Z*lTOrj6pNn*ypnxLD`-&G`pGk2dFS%53-%r7YqT#P7AeSF^;_B=;O8DxKA6_J(7J4fzJoY&8=)8OFMv4k_UJmGoGCR(Utx zL0Hg$m;+$}cy7gA$gR)2A!iL{^LdW-Vnm!?cl=?zgs-bl&-(}(l@1z}65oRAXz>G_wde#OLPse9)etY!5Ui4&} z4rD99W91B#uy6k^;y6w;C!=}eMCRn8h(i0VS=fWHC&x!)&I(aNQS|OffZPAsbnQ&m z-Mur@b%ZqXcz34x>z210Jd{Fu6jRD!F})Xo)RyxrSod$RdhjEaLOb70IKQfOh+e#Y$K!@YIPVDw0D z)sG>B^_D48$Ug8cp%M-#+y2Ih8GT{&$Cg^BpR<-f#h#z3k*xS2qPX<$4~kSV%$bmG9vj7mN~F}*VR8T_SfESTJhCdM z__YE@6X{fyd)!7hD!^hF@Iq(+#DC98mTKcxm&RFpER4eUq*|loHF;6@cY?=l1rDll zDQ0Zf(|KipGPXBv>PJYnxqI(MR5xM>gT=F+2b~bXP^R6@r|weuhtIuE%xtB>h-rkO zpdXP@*9l*j;1<0zGNK7+9qtaGOmzeL%{EOD0_s`;N%$oxcAk1#17$z-H6eS#(TAIB zga+a}+wNO#UTy@b*@y}}O*xU^J$dZlcO4Y!T89gvo@5<)rm9o-+l`%b)hg1vpB2lj z&#G#0P+xuCimaFA$=rVKDS-g<|+%Q2U5gFYt)7U$-q_wi9E@d zQ&N(H{JGhdSt=zLU?c=!1HZ~1wu$>bUczg`b|v!QN62Tlz%luVF(`EaZRDPVaB$d# z{OW=P;QnXmm4L<>KdWJ&K*oQw^Wd}P2~w9HH|WD)vqFQVfrjQNsKfvR*}qz${$I?P zez$m~%XtmUDL+EzYsQDOZNH$1;!|EFvKb~R<^aWfc&57H$? z4p5ZfBhy=rb-wGb#GQ#dyzCX7ykAgiv@nzL)ksu?z=aT0HI{}Zm5TmHZ*4N=meSN2 zi5Q+BydGx2_OxB~yQO>J&om3242e$1H4y#yyr@M}Y?QtY@~R|+05V0;&GHc=8PbPm zGJvZL?*OsiN;KZTXWrx4iX37_EL~LquV!>6nevMeKfhSSzU7-3cvRCv0MKo5J$?Z~ zM#jzgr{0dB*i3a+9Q^jMZxNXDNpkI&+@S|Q32)&)80OOP#}LxM0pKl;;osxmO~@Z! zFtBJYV>`e(ZKL)WrKLuj_ARqRLBDJ%r92-@X@O!6({cPO zu^&ldW*^4O5$E0YEo(<8|6*b~CNVeRSCQ}EA~a_i4A9~KH6Uy(89H5Qs@qZQ22$jN z01k1$CVlXysCsc-JvD7sACvBHf+Uopljpcnel6-)^W~XJQ=!N&@(qZU(OtkvR!}_m z^ActIIj{C$+<4SOvj_fv=2T_H!*W|GMGu)zNa3EdJNF7wSqNy-ptAHd%}TM23}uAj z6eJ6Do?wPTV_@qUx4%FIx*Y||OH4aRik@-8{GsXF5p2@p=$@Xx4t3o=d3e{nrGAhF zbW_^)OAO1|nltKC09SdvZ&W>$YeZoH-HeVLT+qeoBw>vX$5e;qtq;_P$#o9W_RQyi zkC)+9xqY7jlo%W4v+sHuC3C8|YvVh3`Zm|ntZUXgC;z)1>Vng2YnmxC&Me>k>w@>` znLq{4=>Jv4Pa3v+D9+Uh_~kK@zk#olw+{TFi^<+r$G4xM;oNnkrETZws?|Ot)hNK27P+ zW2dlU&gGjnRtG9ldP=b6^nET1d&5Dw*YVJd) z0i3*o#mm~UzP728rBnv+m=cAUHI2)^FS)}UPF;#^C*$EU-A{w|ur^;rp0D{sRD~|4 z`g}ItbT^qk@dZxYR-S3Z=5A4Ada}^ao*>FG9q=Z44${!DzBy{!TZ%^auBVh71iRxH zQ|@*XZCG)2PH*Vn$7=<$VK;{83|SPqd|^|Pp6^-#L&M7j&{Dj#rumQu*+feH-I{y( zvA?NJCpJYJA2-l*G(#=c)VA_#^$^7}4+b8!6_K!dg~o8XwKmbZ6j&k9%OHohtFICp zizE@G4IpQW=HrYO1P=$4i{g|{ildnoLK{2{n3bcx>_-u-f!FKJiC@%3srTtjIBKNg zm*&9)qj2T=Xu1s(D@jeEaQ)tu(X~rgMfP`;+jsr6sMAk6IE|mN>v-?Kkz-+&o_4h^ z)lP*6;6b+1|3>P+^Zd)F$QOe+UQLf4A404-=~)`#T+qykNCl#fU|~nHTgfd6y!TlL z-Zd%;Z>*}Lmu&vYfN7&w>O#L){@GCs3`s>JXY&9}RwOnZQ2Jugl?^jXQnDXoB2G~H zi8)g%nY`SYFycog8wFL8#ugGf*LD-fscGbnXR58d@c?8bg!*hUM@ByrCj}h8QkV4j zXN7cld4g25Swe_CK~L8E-~#o>B|&8%l3|Tzt-`>LD=(FXe$A2dk0NP47Bd4A(PBTBXKFj&gK*8=Hx+QK9MjJVJFG>(ndT`VEb-2_+a z>jTT0f-)!9Zk%K`d>HRd4AZR8LI(Hv&<|o0cFqs3bkTa12z;}Tr`q0+MlVlXYnG&9 zb2X*5GH}WvzTJU8+MxF)N~Ggzewm@p8m^7!WGLvNm=}O7gY;o^B)=~yMO?ogb>m=k z@Ee({OXr_gUb6E~^O?PCz#l;X6g3Cf^uKbvC zQQgj&<=dwVJs`^`w3HW>Y7LbKg8h@_&B*RGS8zf269jdlMT4{56}zaIN>kl{$MkoX z!+ix~IQ@8y#ZWFrR!1FIRmKKhGIk}8*c1|fefav zU?%&4lhK-BQB^BWK`lc}o{&*bm|?LN&!94#sgD@Km50~|fU>MVYtA1SOvct|Z-?+n z!%7b_OUHi%e&oGR{oM)lG}dODZEdyXb#(>{fDo(V{QZdq1wlT$5^a4Bd&h@HoVwcZ>qKjvanA zoI3OkQBHtUc4h{YE{bO|2ydjxV)>w+Tm9}W8iecgWPGU9_hyWts2HhSAHJl-WubCf zv=|K*18+L!pDo3>h4O~}Lw=eVZ+f-guQs(}j|Sf6s6Ue2TNQ1bug583T8*`L;AYn5 zU6o()4Aa{+#1RRDqpWJ;AymH#NH%Ur#rf2HrkA!?BsnR3-bO@Q^M7J6({E!D$C)=o zYI$*rqaTqT{f^_lQpQXp@C-1H-4;;Y0~sF|hh7nLaj1lxrE+7l zo^q2xc-nK{kgV5~-4#eflX*JUu1j|MX++CWrxdbq=O`3noSatKwD@cvRAFBI zhj4Xq=HE95iZ~hXLDPlS((-W*Ls7fc*?MyHJY&MfhWG$yV|Sd4X3>y8sdh(<1^Fa~ z>dQ}uLq3`tA{5{oZtV98H{r=5cFng2u+R>W7=!pC&BVZrGYvh&GZzY~lIV3gcr#Mk(&dJN06IeRlV;~xq)p~a`O7=lb zq=)b;lFWy|LIWh3ys?hiB_?91#hd8Le{j0hJ@Hx}4-*R%9Sn|Zw{M+(t+CQ48!?$i z#+kD6wlA-sLVfgkD(P2P3T;DRbMSE!yOwXsh_A^L9IL^1X5rk(s6R{Mbr$+O$-@IW z&9uNYdJOv0CDs2-N7$9L-XzpHeOxf=CzHB2b(|E8m>u?Y*IX6_T?WdSNZ6kr??rk@ zN&*7lA9S<7rh@gTKPy)e9q*;({E;G$6T$QI)K|xqVr8HA|BTnUuT}K-oEp5Nvh_uP zRVT=ibb7^1zt9ms^=al_DqMJP{}>+jdHe=McX6kOKEksm`FHY%Zu^qKYa-h=ewtY^ z>GlVb(Hi*=$Bf2k=I5E)D152sIMgKCZ{AhCMpy{h;u|@rYbm1MU$Ly^*}d?orgbK5 z_o#eRyQ1@~-| z1|mB9)D}8kg-ks}eh^uTj9jq7oBautWw*hc?S4SYX-h}ka`ZmuNjs)FE&QLGcYk^7 z-Bf0x=Zb;N7J$LUCDWD|z$DT~9OK!4Nz9|Tc8uM5sD+?q=O(n(@ASlt(67|>G%2|@ z#*@8T`Nz>Uf4F1IDLYmQMnm&rit8}wI6%H)WtG?Df{FXN*{ZsHrR*OhPr)IwYx@Tm zP;O{sm^iMS3yuAJGq7uba6^7$*U$6#DIF%XWE3XBdD4a;Y!T-E2sYZ`CGz*;Pyl(D zvUu?R>ivjsQ$SrjF}6_dSkKsJ9DYgxzQukpPg{htD|^OfLsMTb(23YaVNrB37*bQA z3?!jG{>WQEkjKh-Wcm}jY{~BelA{C^dKqe%C2xZ^LD7sHENxSztc#$Pes-&WX$Ap8 zwD7%ie5sp+o07i_ZfERj^(Tc*FaQaE(Yv;ip|GF-8~dTt{%fd?0n%oMd$6_5lY5pc zA7}f6XX-l6*+DDpEW#o~x*JqfHo{cGeS)I^@@c>(BDrZJwDHo2*;d<)VF&CerbLbU z2mtNOJIew=?7>avBtgW+2#C!IdU9acO5gyhH90*B)4Ckff|8-sOt~i>A>m)RolR8_ zWDd!H`QaeC`(@J1cgLw^1E|{ZoT>O$NB_?PnAVtssgKX%nPQlP4%Rm{=}0tNJA-djV&CucWf}EV+#6qD}t0sfL;i#dZ({^l>O5MssD>M zy+wyPcW;@<2*i|1Ov@H*6E9jZ$Y3qeeumWKZ#2Sx?4Z(`T*Dwk9XH;N<@ws3`_ov9 z>mFQD5z_R?A92_S($FZbH*~-_Ywre*ft6D(>Ap$+vzyPFdp~d6Oo~I)AIP{f5&4X} z`&7`s@(MQhnf<7Bu#<(Dw-^t5eo_94Wm766H#Wl%@8OVR z#M)o{wr+UcVwU(V*dV{mp>ZO7#r1|HQ~PUXkk5h!*~Sj|Zqn zdVqdEb?(T&$EGN_=}?oBEX-%i%0a8qT#X}+EXr&I!|z!nf^Y?Fw*snQR2Bi(w&7i@ z7bYPX$c>-RrRC06F&cl+AyWUmZ`EKnt}^bpJ$caIqY{| zzHB`+F|sdbzjAu87qr~c9rZ-qst8|57abOlvQ=9dDD%PC=kT3_YkmjjGAAX}nT<0a z?V>Oio;<6U4*VWB@ZP>7=*{<_iY63B4&|?x?-h-fzNW^Cp!*$4#__5(5q{_R(~Lqq ztD$73(e))=>=k5WUPY}9lU8{%qR~6-7H5@AP5oH~v7+c_qF*0vY&>Ft{=pOqf_D8| zORF1xanM@qE$9(jNHSCIF=p(?muT{Do|Y&cFRlYj8gf)F)_EOnDz0=r*Lq@#*PO2} zGPz?s721m~CmDoaZNdRFm4xjo=6RY;z&@K;Xws;)oRI_0@+<AUN(Q>@BNS4$2nt7JxYn8MhG4lN zong@Qd@Wgd#&=g7!pzc`NrUh#V7*SW5wT_Ty~GC>w_N(CcP1IP>~rAUZ((;A$7`NE z&!aT>+pryUBcMioTIcA@IYN$2-)yyqHeF(jFc<{+*sxe`tE#94*V`nmsgbYwhHJR; zF^SODBs8A3IwVtmEB;Q|eKw{;{5=R6nLKoCkefasOEPj2(*L1~YzN5vt#@NNR95=gXA=T~g-OFTP=8 zpG|f;h1c8 zN6dvOa*r5pDVt>28T5Cv?g2MS5u$(a1pM(oqMTyrP{GRCIA5kIB%xQ}Ez|M9RxkRM z@L$`q)GzpGfx78FHVoez8%<0pq)VA{FA!^r6RkRVy&EBu|1BG8>Roa4RL3Kfb?Ta| zo!JOqRN|86OZJWo$^Q@G9_hzcUm3PY%Z(9SpEZ<`QxTBgHaR7Cy0Bh@Ia*JBO4r?u zRzT>bSXlhR%Ud`}mf%lA(L+uek_+8FsGvP4ItFISlK}WA=F|}qc>S9;hy^-hOs#h| z>UT~wa0tL{^zUf&6!%d7>1!$c8vw`3C z4bMc0a#@<+oa7nZqX+?9ag?vuDPnpuBgRT6CRYt$o_bzMpJOE=_f;fot1;_Uw9soc z`$2Bd%sd?a_KKjGYEW!L(hKlw=J<%eGx!9)o?J%cm@9GQk5r#^_TYL~ULQTNHm}$IqC1 zbB9K(hVYl(x4~|w$TE3@-SXd3j~_r|ySh;d;Pgclbxn^9uDnlYgE3PS;Q{|_O9T6C zC(Y;VI=QjyD{y_AZ_lR~?_Z{21jP(S5D$(nx|u6C{1a>i|q)6p#vn!1IQj zQeh->qj`f=|5uuURS{&V(Q36m!qM=%O%4g4Ypl`>9ju2mQ~Iz=okZrmUl_dQ#AZY* zh3zX)4ZiZ8|9%f^VG6r~JQxpc%Wg_mUberY<);S0FzZq~XqYb3xZpuo&(yB1;_0=?$sfS_;_3X&R(Fzq70cKg9JQjT9*jg9 zLR#|Tq#VL}KLa?8S7Owr!7({A^dslX^50B{@MB{nUUpdsKx%R^!Y^OumCdOOq&5g&)oh-a`;Q_}{laKxTQqv+ zFr85N_AB}ko;DnJKRH>$yAVvlWfk=EW>WECLh+Z2+co!wK)Y~{cqurply+{$(d-I% z5n&})V2>^T6JqM4GQws;nbNN}YWPL{*Y2X49(Cyn!6a@+NogpNZ&TrhLwqQ(;57A0 z*1-scC{lqHt1S+<>=*rAF!@@r4CU8WxQ(6C8C1r|;8bQ7G19S6?RtzI1Z+v@E7HUq z7XRpmESP1xL^%vD{r&Lq<%HSD7d;_|hSemxm;eUMZvv9vmkLfC-5j_bnfR2{Ls+~e|4=}4@%_2tef#%znpfBei z`eL2IAU5IDR8WWTN?5(5T|dc$F1=p;D<)m@4p2h(LPWx{`-I<=g4eoqklg zgjb6?&uuRIM*f(4 zXV8Jv7X-;|=Ap{*>SdM~550d!PMD%v!6r>m&L(D8e|t$vtno%H{(oP>Hi(oL3Zth0 z<0j--s)|*}Dt^?(>I;&bTlA0=1)3%g&?EXgfp!d^X?iN!a2oZ|N7O%kYUjq40I6jd z`5dF;q}YYrf9r?Y+aW$6qhE;hm1S+|;>d+sZL5l*7-lg-{cu_H=~fL|HgT$ugO{Bq zl+2?|TW=lp3aT{}@dg!w#t0cs&5Z+)~a5kcI&9^DPoNCyE7 zT>%Cwe9ol)u24~|E|7*+kZyY51Br@s=)>6u8F62P1KR2NN+q7Psb>YAK_eSDha;h* zH^>KLD9+O11+cM>yworY^E7>-vuJJvqDWeE&{84rr3<5xoN@!pbeMw_emKO3?2jq7 z$DvFvkI0bvTX%r-XKbjmMwCN~p~;J*@WFsO!S@v_OaHkxEk|K zC93zStb7L1QZS2_KvM=P(G_$*d!dO*)Ea)${D*tdgAL22e9TH+*L&zC%_cFQ)3eWN3k!Y@tn;<`ZFjxivL2Ke!c8 z?{ARfI=u8XR7iTM9$FX5~d5E+AAri1ZIyid# z68e7e2OY-0-)+zSL-(^F-I}fpaQE2|Xbzqjm*Q_1vRUxu$_r8JXBji&dMQqJf|Xs1 zsEKlw6K}Mz<;ruoxXetWRpUx9S+eVZfPiWh0^lgt+@UHTUvU3n5tt8F0xZFGq!H=X zTKxH5M;r`ryruXi*AOu^k)}NKnWdCfqWdmPm2}SOsQi-ULXBa;cJ?}-4Z5|wf1$Il zz-)+xBe3ZfiwF=U(n%8yQK7EoZA~@sb(ZYF1TnXOWZ4yIW@(q(A@O228;jJR3wT`S zH_?3Ytnw#t;0C@sHn+&W{Hjr>C>%>Xae4>~-Sf^^(7BAEN|%KzAKtfmeE9!7uGLcb z$q*;9y#vP+jS*}dB&1HE+d%Ah8u&d0%C5dt&n2-x3rOm0sVwiQDY;8ZlD>bqyfCm` zNJ#xs$D4`)=eVvr(N`Z}Ov~PBc_W&Nz*$DCz&u(1`JdF2!8w z_A;e&^U(tvuwcwfLyj+lvcq5T;`-UOOZWKv#!je&+{`C=4f=+=K;^ngyl))LFrXguh(qX=|S!DgB>t?lwi%Uf|d^ zg&v<7RL;}ZRM*q3iB|t0Z-fnJu^MSz>1tvB%6Y^)gBiU%{#Qzp_W9q3rB~I)U(LJ+ zUE06m12ttpeEify83QaGmC=A8-RE#&aco{)V6rGthu-dU1`a9G-k)vGmo4^*uI86| zXNDn-q>^W~!r2%pC#>&Zbhe66kD$3q2vWH^JYrvrPgN$H4ooer!n9k_QWsHbOsCVF z&Ba)IpUDgOx|{BqC+dn%H;cF9ypUp;p;Xbd+D1R!{K3I)&lx0vX;l7 zUf|_`r9z*pea(J|&Q&mD;Z=Yi_040Pbt(N}i&cGdL#Lec&bFrTic*9Ofg83_8D)Iz4Ac$7) zYAo~P=xKJQPdlE9(iHYxQ~)~;dPRJjW77N0 zBigU1peph8ndoUMBkuI87Ja7Wj7U)!+`<&N`YWB~urweYAY&1)B#?uu%^`Os@ zrjRi%cX}XaGEg%I!EYUNz#R%+6ygzrY6|-NVJg~71L;=(z1`{+vFI#RvRR3Jx>76C zMQbsyjoP0NWw?g&Ahg~{w%;LbEm6SBECoz{n&+hn4Y0KamFplmE_{ekJPeFNdsW;0 zZ;Gss0H}1ZGlzYj6DuAgANQT9M;yYKkFq=WsdNJm?@c)~sljFVv;&kvZ^W%jE(G1+YKaQA)dULU#d7*@&Oh|vxe;sM+H}HnVrY5rSqlK z9L-}%NyR?L+$s-)$Gdg~TakI;_PS#J_h00}gWq+&gm-sL6E%njjM*b(zaNp!6%fiH z$R^j^XK4lw-YF$QamDAxQwQKglyFHvkyWEx_hbWkV+G`RBJPon7>XX+0C&Dpgfqdt zD6%S`O;7+NGx{AM(q~zS6}WUYX7cBQF)`p|lmZ%$!C^Au@;fZ89jmpo%b*o!9G?pp zh5Dw%>_Bya22h+P!_+(N!-1Z!bJ8QK#!HM!x?E||HT6U|RK8f@z==e*u{aF8_VyMF z3w{GRP&7a;gKuf+q-U_l1IZ&{VgxlF!y|=>$rA)Hv;1*ybLA6Tr3A!;-M4XgA~-fr z0y`ff@uTUTv|^(~B??M&x~+w)b}6??PfMvfglKZo03-M#9EKpg4t7%GUhZ$EWs(Fa>y>CpbMGzn)pvZ2=3g zaCZ`&f4ko~DfN4M*t^Og_&uTkN-A_1Myo7qMI8#NhjL>JL63b$}$)4$XCK+ahI3i}TP>X1mrJwA|MFZ2La1 z*|m0hV*@(8m?EZ_=fYnl6PvQ0k^NlE-5~S&5ENgErWElFhoSw@2d($Nge^vR9IEAy<+s4h3O6#c(neZx+MRaB>eg6h)V zuPEl0;w1X<2gBeEttxu|Heu&ot+(-0?|U)AEPL|X>C@PEA60Sn4X}WTr~N;qt4u^J zipK2mrz^ZsMI4qC!3!+ZXELH7pS3q@Tl?p$Hh^sW*Ex>j_@=@TE?{Q_#HOe1H7-WN zdejji8j*l!u)kBM(U`eDru2oVzq_(`v2e&_T|c*3oRmnBk;Pg9dXpJN{LbPLtI_?x z-qeBihXV&)Y5{ks&ZYO4r26g5^4C8LrZYSXIb%F)76zgBSsg+5*rM>K%jk1xBaZ|* z#+vc(0B67aT=!j$Ki1~!<9MzOJ7NJJ9F^oXBovBcRkK0|f2sgi@p zl)FD1>r1w*-rSV2ZVS#^G*7=z4lU>x-)~LnvmEOxYklm6dK9%l=sWZ)!<;j+J@pEO zTo_Vbz1df(349}wOIvpqbOGK8xMVy9bl7>bjc40m4!-?yBEIX+ z0t!rxcwGji-iMQE{{)N=#uHCEu*8xcyz=Y&bD5kX)i})-KZ6H|O-n)!&Z@GD8_T0_0W{^rU~S@) z(KfCOZnx`dpPlWkk13UK8OM>cs_xz4=nX{NewdRzO@y zs$5k2mf8;uB)dx#r`4Sr&$WEnR0uRTESsC2Y8W>Or7Vy~oA7Txm@0i9u?OmpS!yB>SnBRdTIVGafzx-**E7iHRE)t1vhq5Deh>P8y|>M}kX zV4PxU{&0e-`+h+o5sv_l(xN%400{R9xqtr(uiH*kw+|m-!;kR&x|oAr0zeIdPMU~+ zjuHkmo`wOt@$UPr2G?7*O^5T>bN=JjN{jvj+>r({7!ih+0;HyEQ{+Px zlkaa@MsxqMzwx1E$lr0hCsSvCnfnTU^$b%ds@4yQ!6wB2yLwhI#Gg>Sw# zoj5^QyKRsJ;3VJzQ1P|X{jr=ni#C#qw7GHFnPLbArUL`+jgWZy>bi@KFS_k0Gc#+) zW2E1M8c$Sy)+YA*1tsLrV|E`urtSG2^ZQ;Z*1aUcc;Z$pj3I#6gT7TNcTfaa)t$k*k-GzQ*CgQ z**sAuNc|ww`JY~HGtBF7zycjt3Ls_XtcG(J1 zYizO%X+B1CF?bLKZLM#Lc^B5^?$(c!e}19QO*U6i6LGkbGC$$VAG%-hOfN-7nx*H+ zfWrzMlH%eL_{aZt3AInSkDuWHj@Ckpj_bpYPOPe<6TYhHia*$7SbD`Uy_qNJ>+AaF z=2t_D^!Mm>MoPb8d!Ss$qQWm679>z&82Jt9>4hT?;fbU$FUCrXBHz zK)j~9x~5&AiDeW=fK|KHDn`>0f(H5=e8K02aHhUaD>Jjw-3@RVZU5+zw&z7#aR%){ z^oV?+PWowvZOneN^FaVX^<-r6;Usj2KFNJ;*X64X#p__}-!$SrcMI0$*w0RA>3Q?P zL75QzoY~ z!G(5%fWF;i&?i^6G;bKg@0BLsXJPg;j_-~G(MH#$m|6)QPa9%j0Y7k#b*H8F`*L&# zI6nS&PX>p`0H0G@TNTCjIde4jD}Wenw(=w|%e1ryozTu^`LWA_o}1z_UALRd&OIts zP)zf&Dv%SpeQ6 z2hhAVZR-L@6N_C^iQL*1u@UVLFHxYziZpjX`P)qR^n!I(&3|pHu2qcKseICHYFw3r zY5f&ku3KV#$evwj{SF=e1GUj%+aucUc3^R#7G1{zp1(H(AQf@?Uyvr@XfQq}(p%n} z7>!|^o>x|CEb8TuRXGv#xpM%i02@HTm#(^<GB7$N7tA+*U!S0T+*hAkCdIFu2v^2mEp5Zh;vV{dOR8)>ITQgyWUDC+*9K*RXZbho7+jF~|^mzN!E&9f8GP)W%+wM*GqYY9y!nYrX)?O=-*6Bmjh8Xb&f0HL*TUPh zpXw4>KUDc`Zpo2k({&%kp((5Z7uDXP?|wcA`cL05#Sb}jWPKwG;SlCG6HSLEEVFJI z1hZ#Rx{9lSy=hdxdw#;iW3wD_tX=t&6b}$07Tf4Egc7w#&CV1oUTqj?dz4M zxPGUhtlzY)MmH{{x|fNY`go%ltY{Hx=!!M4rt`9^uamDJRZ@<7`+%Iir!dX)?no5q z>36^Plo4Y0_q6c(|7G8+^~V-o6=@TR8oB3fu*x=IilpnNs#4<;UX-ju2(z$UA;=NP z$wdgiZ!~$D_t%4y zDicy-1T2U~>6&(}|t*yNfW?%0_dcXL_2}UHs zbu$vYD_#m-`~D9`TSS}8zY3Pk zQ8cuD7CC-1X}92{@n{fS$kOD(zMp!hmlR9SgE#8mJ&lSHAbo9s|8tBSDxDSmFM(Ou zkpPZ_jmZ*!Z-P?pu`^!Z{STv5q2gUXHB3%ym zAhk~q5u*9d%7ipJqZupyRYsXv%rtpg`Kj*HlG^z<>PsJhL4j_uivZ=nv2UriA=ZQ= zVzpkm{UiE5<2!doDmR8)oPw=JUm#%^`YgR*>hy>B&Mh@#`2l%hKyzVLt|QtC-Fnm~ z+*J$8B5WkJ8WLSU4z)b?=EVhz0LE$ZCv{X#q|_7?q@_se#@a(uAx?Q7&sUOhmLq`E zp2QO!f!2$hhC`M7*$o z!o^cIW3^3&u}e(A56Tj6mi zZmqNbl>^*;Av{6;s{1yW+h%T{q#UGwo zgP`c(<~B}ejzs~dNBQ+KU5oPd5KK2ZXy~VAMQ*lV6DPn@?HVS?VN z{oR_MZU`fp0FvW5!qh+Q0F?eQEMcL7f)$0seAM3;-9!CFi=VMbM0H4149d|e0fy|# zvQj9*l`vp`TJtNB$CiY^Za)TDOa+R7g!#VrB*qy~mmaVtdY<#gSV#Wd;j`0mgYQeU zO6%dw-EVWNKQWDoWiCmq`B7V6^HcPvZPgfwpKW0K{Xrce+EjmmcM;U5Yic!5xA~1r zEOJMl7m0T6_JA!Mdaw0bmQaiK)b+lO^s^-m-g^tUvKm4ze;z<*1h6T#eRj5gmolc` za|TfrZf(CQR$g4M^!swIPMO=~yLCpUacXBQBUKS236&X${KT=i)2Az@vLp^YW&MF8 z%2zai&NQacq~uJUI475aXQbWJf@j)6mvKIT|q` z-wKZJMQtEp0|VS_@Y5+LY`cm*8YBN_jy6T#oL6JN`Uz4+g1n3R{O z8h}0{15F({Dl(^I50HhdP2|HjBjXJ|Up7PGkj3$1*vT*zri{ z_aLTyoEHR{R2|#*{JIvoCbp64I~rk1Eg6#2t;+s7TR1?7%h6(|OyX+HvRE}4 z0hRm^)%Rl`upk2X$D~eCsW$4aV}+ZN^4L9i2|2&p$?CZ29xRBR+P9PLlG2k{71}h% zHl(54XUejIHP@=UYzH=AG-MEUe4sxoOAGl|L34i6B}K?~+%Fo|9Ap5qHJ%kBh}G7D zS6AnY5?4~@H_Uvu&)4heJ1@9UGh0FFyd%x&T}*?E=^=Kj=17!>Kd$ZwPPQ$^N}a+%f|)sj#(O=6JFT z_H-taM-b+B?opn9dqQc@J3a9v`q^IpzN$75>Mx%UUUx&RoD}xW`yi_M#cBMcriXCN z!~k;%;2UO^4n%idr*Y>FT8T|bFT1EvTRYRu4t`G2Yxg5_@ggOj z=Vt(K0v0zIfNsZ5?KvPp-mQ-OI_59gft0e3dZ>pFJ;;L1I9EfQ^9e>LDb%{{>9^zL zAh_b!!%1UPZ(~v{U1T+A2FQKI?xp%nl+}PpYH6Uf1gtG`vxLf{xa-=N!B1vkWpKi4 z^J&qbO=Z=H$M$c}kp;;h_-xVdg$eeqdIWl&fT!HPv#xPNR1+YS5|fB?>Zj44=zLXw zw)TsTa({JI(2=jLl3)*uca>BK2;ftb4(0#y(^~yGqYhQ8R$dP##E0N_p}3WRX-rNa z4YXd262DS@eh9rC90`nW87e`*#45L6!YhTHf6>Cz{+iCXBkW0Qy~r_x%VgfrO;*ON z=5gzU@?P>rfqiAGto+CZm~x`*4h1f&rM zC$1bRst#D~-(U`<>Z+^pJQ}7~ur~xAHW?S)!+nRZ=9bN%R)?E!v#hl{+p*x)8cH@= zy-HcaPt{?-FMO@$rd*EuGa+5qM@QGHL6iSx}b$@nZMw-$8h@hxqmg7Qf9 z>c8n9kwr_VwHaHBXgwtc#CgZZ0c~A{jIspjj7nuzQOvd6`|1in3kau`R9@j|VNz#O zHY2C^Dl112!1-2VJ0VEIR%=rP#mxh3HC54$oNc9^djf%oe){h&{~?_q$i_Jsr&d zp*kjR&n!d3fo3<0gAnKBpME-{z=WQzh{~Zz(;Yg>l%#oSPZViI^7Rl$^wb+GpV)pfTW;Q!drlDNa;Y!mj zz+QLMv89Z4NB+D&iDb|v%g>H}*Tq&}68zQ)mKYV{P-OCqE?#fWVwK^d?TPb!vg$Xs zd629~FFvJUkh=K^2eaqDCsjol4z)k7B<<OO8V(; z;8aQyp_zimpx*IHDv4=JN`^L$nzJ)=J!RKgq`1lb5^~;m4+(qy)IS(VqJRkKhas}- ztBJ;C9qeJcMhJtExC9UnKi!kVyINH+Z|9qYuRof+%s+0(~9`oIGpK?W}hN!U67}Z#(c< zL}!lX=$|Tu5MTrS*;9qK0KAh1uStx?>x|*v=LpGR=(W>eB9cm@J_5pn1UiZjj!F9L zMK;p<=B}K>^_x-g*9~6>N7#ySq26|O;(Yb}&1#~&M#W={gxaqTYBZc^fuD82&Zic6 zzoX22o35CG1xWJTb;YiMr)2hs>p}HBn|7;cj1F)3=gGMl2m8ruL$8uOE&&~p8NPMj z!^SEypk{-JzN5X-E*Osh}?do<=YP z9X^CfaFKm;`PZvcW20Jqzx1$aOJ6LXp#6Cq%HU{@(Iu7nMjP^F1d+z)FW-Ms;0Lx| zpv~-K$|dB9J}B4q@6ewsa4+Hjs?&_cqf_PjguhNZ>b?Jf3pRh0q%g(SQXpSXKmFLE z5bMgTu{6QGvK7oK8()8#6tPkgl~hOzke^s5YsYr3(o*~b2Dym)lM70jU(fuR(K&kb z$wL3fi<&F-(dugsEdF;Q%x^V5hs+*8qf)EK?;MYJ9${HHjo;s26z)2K5wsHOeyQGv zyok}@b?rk`q}t?l2QJVT7Ap*fhP_3pIdTKWHq-_eMqFBdhTd~ugsWa@ z(JtTnb642lgQaY7GA)Ad?h+WCSpZgj_hscC?*_ z7$tDK&+Vpj?C%J6R{_8m4DV`rC(Y8_3=DfdSD!qD`}6-1mGD*UrRq*4WE@4@eNeM- zj}eC&dJk)5LI#yk6$Kf})6z-S*3tjZHV|lkLXTcp6!p2j$_u%=+_Z`e5jhCyNBZA- z(d3*hmoh|A2*5c@Ese*IfpReC5FXFPZBaJRx}dNbUBv3X9lFP9zSNmRre zqo{m*ZMhNY9Jt9GaQlraj15;A9%Oxmh%>A#zVXWD)WXW@ORL3!>N4Ed@aVtms4+KN zX~@OdT8OtV@(RG7ZnngGO}XGyT0LQCoB<^n?ipz_S%tMcD^&lDM7dJ}v;exBa4z#b zlhtMDkTb65;bXLvtJpZ1 z9A5f(ljfwMVO$^c)YDd2FeG%gmya}x^p8H(02Ys+@6b&jKxPSft(x7r$1!?@tMhSo zd`$1(MN%vey?ZL9aO^?F$D&~lo*FF!oF4w)K%ECOdwh&Y(LSW!h;%2*fH!BtS)u+i zzMM_$r{T1a;BSKK%Q&fl5J*7=yRb9vWk6U!;qdeK!cee)Kkz#FlUSFH>uk!*n~gEz z1=Mt5?6~H_Eh=5)K7~oc0NmB@aB}VX!`A3v_+lTR62A)6^iN1`v~2C={G{GZwoq6F zhym^FpCKj_pDV|ig-@w}3hW?72qMoM6UbzM-O{S(3s_mHrCI<;_#7mU9>!siI67$> zUfF)XR8g=coA?b#0ZrWqzE2EOAEDdIrlvpu;B=Fx$BqCR^fmXS#u?t_{MMVXESnrv z#P)kzVxt~(b-mq`q9wd;1-#`8Q~=Dt_i2}p@)$AQgv-gYpFTh!-gGc<%e4#q8F*?& zV#eMQg(e!cFEgazkx-A;HqJ-%mH6W!H?dqc*aE4d0^vgrc0*PkYOIL_)Ur8{a0={S zr*<0JxWF5F1A4%(jf)5O_^#>FaJ+HifbAncmm0{pUIngFS?(k3Q zmOrtx@Jy0v~ng&Yox4>c-|GZ_#F`fmHy zJJ1i$?Ox-5)e7)@6*n=2aIUCmw%#dis=)(Tw5H!^hf%Rt3vc|HJ2IDhp-Ov{9HOp!xd$x8JFlG-lFUKED=X zL-D&dNW&J!@M$0ydYkP;&S4Q)7%C7x&Ki0bGz|bN_n9rgln~s@T>lbvVe0r%3nUD_ z9($BhMq;TYeLVE__>5)05|;x~R5T`hhI#!x4+<73_ExU+jJL*52em;w4xq8|p^b(g z%@Qwv58`UO;LnaemyDxAdTIX^GomvkPHUZm3_8iwHP}mJlaxJRPvo2MJr~`PFQ~L7 zP}jkwq4Aa0=&H7i(H3le9`DDF5?bv!;yT>As@(x?1qc&2$vF22MXIsKMo}k#X*f@x z<{h&lYiLGyIprLJd#)(=&U2B07L3i}?D79F5$@E$|H0QODy?d>X&^b{1xSYc$MkzT zj^l1Ei0MbF!%IE~(6u{`=UUYS{i4Rplv-vn z!na45awp1F{Q=a>VXK!?x=)C-zAx$VEf)B?Igfjs@~jJw%fDrO>3nsw40WR${qpfP zNMsFFvar{R-04gQm4$&PDHV7HY|Gna#T zW0Cc*9~u)p0f-wIktgvt!ei2%Th>s>aRDBX6V@$$&YJsLlsrpabj;Hj zBU3-IHPMjMrXPLmQYUz^oSd2(z*7@+H&=~wP^66cF#+R0DKuH&Q$8Rhr`j|p4)GOd9R~RPvl-bGLItYrN^=+z z#0j^B*54OTE}r`*+i`OI`{DOdz8(sP0{o3_6_ic|DP($-$<{W37pL9;FbBW5sEM#j zj8}777#UrGu>-JiHNJ6Q{6UU_#V?LtlG$#>n$_XK9OvpmQ9tgIDw~qA!>1#+#JqW8c8YS$2d}y>N=um9AknhDk^-9>-3bQDuOwI1tvm6XSyH9dTqLF6i4N}CKii4M8g5xAdS6C zhX}u9iAO|KqBw!o(kL(R{ot{ z|Kdspt*0CQT_rD58=*r^lDz(7&Gr*P|8CSs_~lbG=#Q1=M={xPG_o&C4mX9+)-q*~ z!pdY~ntl~p?fe`fW3cPJXA+`y6mep9Dbw#L%b7fTRcfKb#D;^$)-1%WP@4mieN_3DGUQD5>YJ$8*4pg;Vkz z!EzKli!80`sFAE8^)km5TjTgZ;@^3JH+=VqSprtqsW+jK@j*<}i6X-a5nyC}ReMyQ zU#=ZQ=nYilGJ4!lZ4=hVSMaww9J|#=_B0R`Ubuu32!y60D=DTPJE~%p<}jZ;|4L=H zst^jj8t@>+Km#BO6T1@1$%(_kd~Kd&>5Urdx1^1XZwAFfRd<+Q-5d&|;#L^t-eqRO zO?^y-1>rlv1O(mv9ZI3R^S~c(nNU6IYnTIFz;D?WadGg+lLXU_Cv$~>k1T)V5wM_8 z_$h|fsZDm4H%$2CiC-zKu;_;I@$D1_^;Q{L%{b>$zRP4@7v)fywUE+)4?;)}Qckl` z`L;|g#dYH|@O8e@bi4!@m6d+LNwp*sRl#*Rxj?OXG6+aBhS3aq>|qzvN|QIxdETsi z_EyqSU}wG1o*41Fh{H__4n*ctJ{fUoBp@esf=NxhH$^p?Ip+B0O7CY8?y&NaF))6g z*aNUL)a{zldRk;)IL|7-Wc)+2LDz$|nXES*R;Z8z-GD_`-@AlEvxd(rQpGZKc_cVdVW4B z1uZFo!3RP7X`*l}eze;y-F)2SiLT-LuOKCqxGrzH(@#nn0U+&?il6q%%SDPC>1Mxs zC=M1>?XxoNBeqKY$xsIa(cMf|pzth&EsDEE5noG2`jSxyYd^!1VCJm2<{{y~#3lTM zrflWQU2f!JeupF z;D`ww&5kICLW4Hs!9Jx^L_uuoEeNMwW+ZSn@s=aKxP1(zWQK;FNawJE%DH%sbK#bq zlpw4kyDR;8&ep(6uUdRgKi}7{;-*Bd1y7|>+dP9sURU;(@M^JVi3BVj{PVbRX1@^} zN`T|Rl`QYoTDcVWQ>L~J3rO>gxfI=lAuR=TOlstVMTF$`L!4uR;>{(0`j*ovtPnpEb@=Id>&OP9;6y%AryN^IF%2TaVLx`KQw}7 z4z2X9w!RqgocXi+O?Hw)SRGmIxz~!2hkp8=bB8EeFnq11A3xEwH4Ln59jlfovJwlL z^Vr8T-d-Dxy>uQAq~*|arz16>h!LY;Vjfkh|KXq++s55*f6)9nzTqwPoOu`g6gM)S z0t|6lsk4V=UBnq{#ou^#1Sdi5b16P9Nn{qo)cOCH zIc)Aw#op5G-wp{Zd3X8{TlZWbsbq0zN~sPeQCWJX)^X=BPlx~b@YEo9i3t=Eud2h! zc+2hygfRVvX-UV*?=A27vTS!!-OWuH@Un8!_Z4a*`7JuS12jeWx7OH^OY@=V{Nj?t zPKSr)cc1!{j!ci2dmm2ZGUlPCsK)F@Fk*Y}YK9bR%S}49iK-9EQX^9;YOs5gk0<_F9eu!rGQ1d)dcDxLl)3t@Y6qV%@mGq1!T&tsLoeunAp03-$&=Ujiqxw5Av-pvcE8 z1`mbS?OR^IHcnE`X^}fz(w?4=*tsY>zi}!EbIXP961Vtqh;j+jmYx(%2 z;J^o=2E!*nu_Nk8u-?t;)-eZ9)}vXTNBF^69cYIJ7zl-eB(zPuxV9Utp{L7vJ9~K? zS~*OCh+0m+SKw?`pWNU1zST^LsH=0hx#?YwK)Jj}tX)^bwXBpZD(ti7v|%h*Qc9~f zlNC5QIc$|lA2ImOzm?UHh!P5%^TTn6zXd_vzh#%vc#G6}D|?a0!D>5sEx9a7?1f)L zjpjefZ6KA_DsPy#L=|~jBloG`&?9Xg_iW&Br^t8E`vjfKA;UJLpoFN0)j{}w4VE_E z)6FNXR2B$XyjW<3h*_>Jg;d!Yj496{ajsa0vbrpE>D1tg4VTZVf4}_wK zKWyH>Jgd*5MKEt9jf=t2N(`OPYN8$?wN=#v*qfOkfy6)&f&55eCq1)`GYM!_I_*xe ze1EjorA8ZmI_{CTVaz;81i>jDsm#Se_NgYDsDEh1e+!SW zL0cYT{BdS%oZ*#giJlhEho92PYT_h+Q}J}HeeOTE(nf8i5d^kvoA%;rMMoY8V7VXL zVN43NpqqxfA>+ZsFbqpyb9lA^OnY1=tpnt0IJbYU~cyt~$ z#I!PFn;ZHildkehz2tID^Q1_NpDcCw}|Yz6Zh8B=8lH8Gz}dB1LMMS!%D)HU2&^F^ zA@8l1S42`b+wm7-&}V75P77?Z@jY{@j5(&eNc6^1RG#O#A9dZkA||SX?18r@cL#)1TzJ(d6!$b!vkz&U6G?Re z5kE!tlJ3ARYs!k^<=*OvtucM#dz{i4*>xe+>No1y7fTAxl{@*&$^7$-RUIW16Q)bH zS}cCNyN}aa-uS7CDVh=UxmlptombibZw}X+o^H&8pqUBgy|INPdlV&)?)obmj5}K| p0wOgT-QHrxm33URr|ym6SCBP!{{!_C93=?&$Vw?m)`%Mi{s)taT|NK+ diff --git a/src/web-remote/icon-512x512.png b/src/web-remote/icon-512x512.png index f4a96312fa1083f04c62446eedd61120c942f445..ae74febb2ed9617f7ea4685d66f3ce459474e4e1 100644 GIT binary patch literal 23392 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

MA!? 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 From 2b6246ddaa1405fe0774c55bb8cad390638e938c Mon Sep 17 00:00:00 2001 From: KaHim Chan Date: Wed, 9 Feb 2022 04:46:38 +0800 Subject: [PATCH 085/573] Irregular update 09/02 (#388) --- src/i18n/hi_IN.jsonc | 5 +- src/i18n/in_ID.jsonc | 712 ++++++++++--------- src/i18n/sk_SK.jsonc | 21 +- src/renderer/views/components/miniplayer.ejs | 14 +- 4 files changed, 384 insertions(+), 368 deletions(-) diff --git a/src/i18n/hi_IN.jsonc b/src/i18n/hi_IN.jsonc index ddeef8b4..ad96e8f3 100644 --- a/src/i18n/hi_IN.jsonc +++ b/src/i18n/hi_IN.jsonc @@ -1,5 +1,5 @@ { - // Base File + // i18n Info "i18n.languageName": "English (US)", // name of language in native language "i18n.languageNameEnglish": "English (US)", // name of language in English @@ -289,6 +289,7 @@ // Settings - Visual - Theme name "settings.option.visual.theme.default": "Cider", "settings.option.visual.theme.dark": "Dark", + // Refer to term.disabled for the disabled option "settings.option.visual.showPersonalInfo": "दिखाएं Personal Info", // Toggle @@ -355,4 +356,4 @@ // About "about.thanks": "Major thanks to the Cider Collective Team and all of our contributors." -} +} \ No newline at end of file diff --git a/src/i18n/in_ID.jsonc b/src/i18n/in_ID.jsonc index d9d28529..8e4a445b 100644 --- a/src/i18n/in_ID.jsonc +++ b/src/i18n/in_ID.jsonc @@ -1,357 +1,359 @@ -{ // Base File - // i18n Info - "i18n.languageName": "Bahasa Indonesia", // name of language in native language - "i18n.languageNameEnglish": "Indonesian", // name of language in English - "i18n.category": "main", // main = real language, fun = fun community languages - "i18n.authors": "@crystalshower", // Authors, if you contribute to this file feel free to add your name seperated with a space - - // App info - "app.name": "Cider", - - "date.format": "${d} ${m}, ${y}", - - // Dialogs - "dialog.cancel": "Batal", - "dialog.ok": "OK", - - // Notification - "notification.updatingLibrarySongs": "Memperbarui Pustaka lagu...", - "notification.updatingLibraryAlbums": "Memperbarui Pustaka album...", - "notification.updatingLibraryArtists": "Memperbarui Pustaka artis...", - - // Terms - "term.appleInc": "Apple Inc.", - "term.appleMusic": "Apple Music", - "term.applePodcasts": "Apple Podcasts", - "term.itunes": "iTunes", - "term.github": "GitHub", - "term.discord": "Discord", - "term.learnMore": "Pelajari lebih lanjut", - "term.accountSettings": "Pengaturan Akun", - "term.logout": "Keluar", - "term.login": "Masuk", - "term.about": "Tentang", - "term.privateSession": "Sesi Pribadi", - "term.queue": "Antrian", - "term.history": "Riwayat", - "term.search": "Cari", - "term.library": "Pustaka", - "term.listenNow": "Dengarkan Sekarang", - "term.browse": "Telusuri", - "term.radio": "Radio", - "term.recentlyAdded": "Baru Ditambahkan", - "term.songs": "Lagu", - "term.albums": "Album", - "term.artists": "Artis", - "term.podcasts": "Podcasts", - "term.playlists": "Playlist", - "term.playlist": "Playlist", - "term.newPlaylist": "Playlist Baru", - "term.newPlaylistFolder": "Folder Playlist Baru", - "term.createNewPlaylist": "Buat Playlist Baru", - "term.createNewPlaylistFolder": "Buat Folder Playlist Baru", - "term.deletePlaylist": "Yakin ingin menghapus playlist ini?", - "term.play": "Mainkan", - "term.pause": "Jeda", - "term.previous": "Sebelumnya", - "term.next": "Selanjutnya", - "term.shuffle": "Acak", - "term.repeat": "Ulangi", - "term.volume": "Volume", - "term.mute": "Bisu", - "term.unmute": "Bunyikan", - "term.share": "Bagikan", - "term.share.success": "Disalin ke clipboard", - "term.settings": "Pengaturan", - "term.seeAll": "Lihat Semua", - "term.sortBy": "Urutkan Berdasarkan", - "term.sortBy.album": "Album", - "term.sortBy.artist": "Artis", - "term.sortBy.name": "Nama", - "term.sortBy.genre": "Genre", - "term.sortBy.releaseDate": "Tanggal Rilis", - "term.sortBy.duration": "Durasi", - "term.sortOrder": "A-Z", - "term.sortOrder.ascending": "Terkecil", - "term.sortOrder.descending": "Terbesar", - "term.viewAs": "Lihat Sebagai", - "term.viewAs.coverArt": "Cover Art", - "term.viewAs.list": "Daftar", - "term.size": "Ukuran", - "term.size.normal": "Normal", - "term.size.compact": "Kompak", - "term.enable": "Aktifkan", - "term.disable": "Nonaktifkan", - "term.enabled": "Diaktifkan", - "term.disabled": "Dinonaktikan", - "term.connect": "Sambungkan", - "term.connecting": "Menyambungkan", - "term.disconnect": "Terputus", - "term.authed": "Diotentikasi", - "term.confirm": "Konfirmasi?", - "term.more": "Selebihnya", - "term.less": "Lebih Sedikit", - "term.showMore": "Tampilkan lebih banyak", - "term.showLess": "Tampilkan lebih sedikit", - "term.topSongs": "Lagu Teratas", - "term.latestReleases": "Rilis Terbaru", - "term.time.added": "Ditambahkan", - "term.time.released": "Dirilis", - "term.time.updated": "Diperbarui", - "term.time.hours": "jam", - "term.time.hour": "jam", - "term.time.minutes": "menit", - "term.time.minute": "menit", - "term.time.seconds": "detik", - "term.time.second": "detik", - "term.fullscreenView": "Mode Layar Penuh", - "term.defaultView": "Mode Default", - "term.audioSettings": "Pengaturan Audio", - "term.clearAll": "Bersihkan Semua", - "term.recentStations": "Stasiun Terbaru", - "term.language": "Bahasa", - "term.funLanguages": "Senang-senang", - "term.noLyrics": "Memuat... / Lirik tidak ditermukan./ Instrumental.", - "term.copyright": "Hak cipta", - "term.rightsReserved": "Hak cipta dilindungi Undang-undang.", - "term.sponsor": "Sponsori proyek ini", - "term.ciderTeam": "Cider Team", - "term.developer": "Pengembang", - "term.socialTeam": "Social Team", - "term.socials": "Sosial", - "term.contributors": "Kontributor", - "term.equalizer": "Equalizer", - "term.reset": "Atur Ulang", - "term.tracks": "lagu", // Assume x amount of tracks. e.g. 50 tracks - "term.videos": "Video", - "term.menu": "Menu", - "term.check": "Cek", - "term.aboutArtist": "Tentang {{artistName}}", // e.g. 'About Doja Cat' - "term.topResult": "Hasil Teratas", // Search Results - "term.sharedPlaylists": "Playlist yang dibagikan", // Search Results - "term.people": "Orang", // Search Results - "term.newpreset.name": "Nama Preset EQ Baru", // Equalizer Preset - "term.addedpreset": "Preset Ditambahkan", - "term.deletepreset.warn": "Yakin ingin menghapus preset ini?", - "term.deletedpreset": "Preset dihapus", - "term.musicVideos": "Video Musik", // Search page friendlyTypes - "term.stations": "Stasiun", - "term.curators": "Kurator", - "term.appleCurators": "Kurator Apple", - "term.radioShows": "Acara Radio", - "term.recordLabels": "Label Rekaman", - "term.videoExtras": "Bonus Video", - "term.top": "Atas", - - // Home - "home.title": "Beranda", - "home.recentlyPlayed": "Baru Dimainkan", - "home.recentlyAdded": "Baru Ditambahkan", - "home.artistsFeed": "Feed Artis Anda", - "home.artistsFeed.noArtist": "Ikuti beberapa artis terlebih dahulu dan rilisan terbaru mereka akan ada di sini", - "home.madeForYou": "Dibuat Untuk Kamu", - "home.friendsListeningTo": "Teman Sedang Mendengarkan", - "home.followedArtists": "Artis Diikuti", - - // Errors - "error.appleMusicSubRequired": "Apple Music memerlukan langganan.", - "error.connectionError": "Terjadi masalah saat menyambungkan ke Apple Music.", - "error.noResults": "Tidak ada hasil.", - "error.noResults.description": "Coba pencarian baru.", - - // Podcasts - "podcast.followOnCider": "Ikuti Di Cider", - "podcast.followedOnCider": "Mengikuti Di Cider", - "podcast.subscribeOnItunes": "Langganan Di iTunes", - "podcast.subscribedOnItunes": "Berlangganan Di iTunes", - "podcast.itunesStore": "iTunes Store", - "podcast.episodes": "Episode", - "podcast.playEpisode": "Mainkan Episode", - "podcast.website": "Website Podcast", - - // Actions - "action.addToLibrary": "Tambahkan ke Pustaka", - "action.addToLibrary.success": "Ditambahkan ke Pustaka", - "action.addToLibrary.error": "Terjadi Kesalahan Saat Menambahkan Pustaka", - "action.removeFromLibrary": "Hapus dari Pustaka", - "action.removeFromLibrary.success": "Dihapus dari Pustaka", - "action.addToQueue": "Tambahkan ke Antrian", - "action.addToQueue.success": "Ditambahkan ke Antrian", - "action.addToQueue.error": "Terjadi Kesalahan Saat Menambahkan ke Antrean", - "action.removeFromQueue": "Hapus dari Antrian", - "action.removeFromQueue.success": "Dihapus dari Antrian", - "action.removeFromQueue.error": "Terjadi Kesalahan Saat Menghapus Antrian", - "action.createPlaylist": "Buat Playlist Baru", - "action.addToPlaylist": "Tambahkan ke Playlist", - "action.removeFromPlaylist": "Hapus dari Playlist", - "action.addToFavorites": "Tambahkan ke Favorit", - "action.follow": "Ikuti", - "action.follow.success": "Diikuti", - "action.follow.error": "Kesalahan Dalam Mengikuti", - "action.unfollow": "Berhenti Mengikuti", - "action.unfollow.success": "Sudah Tidak Mengikuti", - "action.unfollow.error": "Terjadi Kesalahan Saat Berhenti Mengikuti", - "action.playNext": "Mainkan Selanjutnya", - "action.playLater": "Mainkan Nanti", - "action.startRadio": "Mulai Radio", - "action.goToArtist": "Lihat Halaman Artis", - "action.goToAlbum": "Lihat Halaman Album", - "action.moveToTop": "Pindah ke Atas", - "action.share": "Bagikan", - "action.rename": "Ubah Nama", - "action.love": "Suka", - "action.unlove": "Batal Suka", - "action.dislike": "Tidak Suka", - "action.undoDislike": "Batalkan Tidak Suka", - "action.showWebRemoteQR": "Remot Web", - "action.playTracksNext": "Mainkan ${app.selectedMediaItems.length} lagu selanjutnya", - "action.playTracksLater": "Mainkan ${app.selectedMediaItems.length} lagu nanti", - "action.removeTracks": "Hapus ${self.selectedItems.length} lagu dari antrian", - "action.import": "Impor", - "action.export": "Ekspor", - "action.showAlbum": "Tampilkan Album Sepenuhnya", - "action.tray.minimize": "Sembunyikan ke Tray", - "action.tray.quit": "Keluar", - "action.tray.show": "Tampilkan", - "action.update": "Perbarui", - "action.copy": "Salin", - "action.newpreset": "Preset Baru...", // Equalizer Preset - "action.deletepreset": "Hapus Preset", - - // Settings - General - "settings.header.general": "Umum", - "settings.header.general.description": "Sesuaikan pengaturan umum untuk Cider.", - "settings.option.general.language": "Bahasa", - - // Language optgroups - "settings.option.general.language.main": "Bahasa", - "settings.option.general.language.fun": "Bahasa Candaan", - "settings.option.general.language.unsorted": "Tidak disortir", +{ + + // i18n Info + "i18n.languageName": "Bahasa Indonesia", // name of language in native language + "i18n.languageNameEnglish": "Indonesian", // name of language in English + "i18n.category": "main", // main = real language, fun = fun community languages + "i18n.authors": "@crystalshower", // Authors, if you contribute to this file feel free to add your name seperated with a space - // Update Cider - "settings.option.general.updateCider": "Perbarui Cider", // Button. Refer to term.check for the check button - "settings.option.general.updateCider.branch": "Branch Pembaruan Cider", // Dropdown - "settings.option.general.updateCider.branch.description": "Pilih branch untuk memperbarui Cider", - "settings.option.general.updateCider.branch.main": "Stable", - "settings.option.general.updateCider.branch.develop": "Development", - - // Settings - Audio - "settings.header.audio": "Audio", - "settings.header.audio.description": "Sesuaikan pengaturan audio untuk Cider.", - "settings.option.audio.quality": "Kualitas Audio", // Dropdown - "settings.header.audio.quality.hireslossless": "Hi-Res Lossless", - "settings.header.audio.quality.hireslossless.description": "sampai dari 24-bit/192 kHz", - "settings.header.audio.quality.lossless": "Lossless", - "settings.header.audio.quality.lossless.description": "sampai dari 24-bit/48 kHz", - "settings.header.audio.quality.high": "Tinggi", - "settings.header.audio.quality.high.description": "256 kbps", - "settings.header.audio.quality.standard": "Standar", - "settings.header.audio.quality.standard.description": "64 kbps", - "settings.option.audio.seamlessTransition": "Transisi Audio Mulus", // Toggle - "settings.option.audio.enableAdvancedFunctionality": "Aktifkan Fungsi Lanjutan", // Toggle - "settings.option.audio.enableAdvancedFunctionality.description": "Mengaktifkan fungsionalitas AudioContext memungkinkan fitur audio lanjutan seperti Normalisasi Audio, Equalizer dan Visualizer. Namun pada beberapa perangkat dapat menyebabkan tersendatnya audio.", - "settings.option.audio.enableAdvancedFunctionality.ciderPPE": "Cider Adrenaline Processor™️", // Toggle - "settings.option.audio.enableAdvancedFunctionality.ciderPPE.description": "Peningkatan Psikoakustik yang membuat semuanya terdengar lebih jelas dan lebih hidup | Dirancang oleh Maikiwi.", - "settings.option.audio.enableAdvancedFunctionality.ciderPPEStrength": "Kekuatan CAP", // Toggle - "settings.option.audio.enableAdvancedFunctionality.ciderPPEStrength.description": "Mengubah kekuatan pemrosesan yang dilakukan pada audio. (Agresif dapat menghasilkan hasil yang tidak diinginkan)", - "settings.option.audio.enableAdvancedFunctionality.ciderPPEStrength.standard": "Standar", - "settings.option.audio.enableAdvancedFunctionality.ciderPPEStrength.aggressive": "Agresif", - "settings.option.audio.enableAdvancedFunctionality.audioNormalization": "Normalisasi Audio", // Toggle - "settings.option.audio.enableAdvancedFunctionality.audioNormalization.description": "Menormalkan puncak volume untuk masing-masing lagu demi menciptakan pengalaman mendengarkan yang lebih seragam.", - "settings.option.audio.enableAdvancedFunctionality.audioSpatialization": "Spasialisasi Audio", // Toggle - "settings.option.audio.enableAdvancedFunctionality.audioSpatialization.description": "Atur ruang audio dan buat audio lebih 3 dimensi (NB: Bukan Dolby Atmos)", - - // Settings - Visual - "settings.header.visual": "Visual", - "settings.header.visual.description": "Sesuaikan pengaturan visual untuk Cider.", - "settings.option.visual.windowBackgroundStyle": "Gaya Latar Belakang Jendela", // Toggle - "settings.header.visual.windowBackgroundStyle.none": "Tidak Ada", - "settings.header.visual.windowBackgroundStyle.artwork": "Artwork", - "settings.header.visual.windowBackgroundStyle.image": "Gambar", - "settings.option.visual.animatedArtwork": "Artwork Bergerak", // Dropdown - "settings.header.visual.animatedArtwork.always": "Selalu", - "settings.header.visual.animatedArtwork.limited": "Terbatas untuk halaman dan entri khusus", - "settings.header.visual.animatedArtwork.disable": "Matikan di semua tempat", - "settings.option.visual.animatedArtworkQuality": "Kualitas Artwork Bergerak", // Dropdown - "settings.header.visual.animatedArtworkQuality.low": "Rendah", - "settings.header.visual.animatedArtworkQuality.medium": "Medium", - "settings.header.visual.animatedArtworkQuality.high": "Tinggi", - "settings.header.visual.animatedArtworkQuality.veryHigh": "Sangat Tinggi", - "settings.header.visual.animatedArtworkQuality.extreme": "Paling Tinggi", - "settings.option.visual.animatedWindowBackground": "Jendela Latar Belakang Bergerak", // Toggle - "settings.option.visual.hardwareAcceleration": "Akselerasi Perangkat Keras (HW Acceleration)", // Dropdown - "settings.option.visual.hardwareAcceleration.description": "Membutuhkan dibuka ulang", - "settings.header.visual.hardwareAcceleration.default": "Default", - "settings.header.visual.hardwareAcceleration.webGPU": "WebGPU", - "settings.header.visual.theme": "Tema", - - // Settings - Visual - Theme name - "settings.option.visual.theme.default": "Cider", - "settings.option.visual.theme.dark": "Gelap", - // Refer to term.disabled for the disabled option - "settings.option.visual.showPersonalInfo": "Tampilkan Info Pribadi", // Toggle - - // Settings - Lyrics - "settings.header.lyrics": "Lyrics", - "settings.header.lyrics.description": "Sesuaikan pengaturan lirik untuk Cider.", - "settings.option.lyrics.enableMusixmatch": "Aktifkan Lirik Musixmatch", // Toggle - "settings.option.lyrics.enableMusixmatchKaraoke": "Aktifkan Mode Karaoke (khusus Musixmatch)", // Toggle - "settings.option.lyrics.musixmatchPreferredLanguage": "Bahasa Terjemahan Musixmatch", // Dropdown - "settings.option.lyrics.enableYoutubeLyrics": "Aktifkan Lirik Youtube untuk Video Musik", // Toggle - - // Settings - Connectivity - "settings.header.connectivity": "Konektivitas", - "settings.header.connectivity.description": "Sesuaikan pengaturan konektivitas untuk Cider.", - "settings.option.connectivity.discordRPC": "Discord Rich Presence", // Dropdown - "settings.option.connectivity.playbackNotifications": "Pemberitahuan Pemutaran", // Toggle - // Refer to term.disabled for the disabled option - "settings.header.connectivity.discordRPC.cider": "Tampilkan sebagai 'Cider'", - "settings.header.connectivity.discordRPC.appleMusic": "Tampilkan sebagai 'Apple Music'", - "settings.option.connectivity.discordRPC.clearOnPause": "Sembunyikan Discord Rich Presence saat dijeda", // Toggle - "settings.option.connectivity.lastfmScrobble": "Last.fm Scrobbling", // Option to Connect - "settings.option.connectivity.lastfmScrobble.delay": "Delay Last.fm Scrobble (%)", - "settings.option.connectivity.lastfmScrobble.nowPlaying": "Aktifkan Last.fm Now Playing", - "settings.option.connectivity.lastfmScrobble.removeFeatured": "Hapus featuring artist dari judul lagu (Last.fm)", - "settings.option.connectivity.lastfmScrobble.filterLoop": "Filter lagu yang diulang (Last.fm)", - // Refer to term.connect for the connect button - - // Settings - Experimental - "settings.header.experimental": "Eksperimental", - "settings.header.experimental.description": "Sesuaikan pengaturan eksperimental untuk Cider.", - "settings.option.experimental.compactUI": "UI Kompak", // Toggle - "settings.option.experimental.close_button_hide": "Tombol Tutup Menyembunyikan Aplikasi", - "settings.option.experimental.copy_log": "Salin log ke clipboard", - "settings.option.experimental.inline_playlists": "Playlist dan Album Sebaris", - - // Refer to term.disabled & term.enabled - // Spatialization Menu - "spatial.notTurnedOn": "Spasialisasi Audio dinonaktifkan. Untuk menggunakan, aktifkan terlebih dahulu.", - "spatial.spatialProperties": "Spatial Properties", - "spatial.width": "Lebar", - "spatial.height": "Tinggi", - "spatial.depth": "Kedalaman", - "spatial.gain": "Gain", - "spatial.roomMaterials": "Bahan Ruangan", - "spatial.roomDimensions": "Dimensi Ruangan", - "spatial.roomPositions": "Posisi Ruangan", - "spatial.setDimensions": "Atur Dimensi", - "spatial.setPositions": "Atur Posisi", - "spatial.up": "Atas", - "spatial.front": "Depan", - "spatial.left": "Kiri", - "spatial.right": "Kanan", - "spatial.back": "Belakang", - "spatial.down": "Bawah", - "spatial.listener": "Pendegar", - "spatial.audioSource": "Sumber Audio", - - // Settings - Unfinished - "settings.header.unfinished": "Belum Diselesaikan", - - // Web Remote - "remote.web.title": "Remote Cider", - "remote.web.description": "Pindai kode QR untuk memasangkan ponsel Anda dengan Cider.", - - // About - "about.thanks": "Terima kasih yang sebesar-besarnya kepada Cider Collective Team dan semua kontributor kami." + // App info + "app.name": "Cider", + + "date.format": "${d} ${m}, ${y}", + + // Dialogs + "dialog.cancel": "Batal", + "dialog.ok": "OK", + + // Notification + "notification.updatingLibrarySongs": "Memperbarui Pustaka lagu...", + "notification.updatingLibraryAlbums": "Memperbarui Pustaka album...", + "notification.updatingLibraryArtists": "Memperbarui Pustaka artis...", + + // Terms + "term.appleInc": "Apple Inc.", + "term.appleMusic": "Apple Music", + "term.applePodcasts": "Apple Podcasts", + "term.itunes": "iTunes", + "term.github": "GitHub", + "term.discord": "Discord", + "term.learnMore": "Pelajari lebih lanjut", + "term.accountSettings": "Pengaturan Akun", + "term.logout": "Keluar", + "term.login": "Masuk", + "term.about": "Tentang", + "term.privateSession": "Sesi Pribadi", + "term.queue": "Antrian", + "term.history": "Riwayat", + "term.search": "Cari", + "term.library": "Pustaka", + "term.listenNow": "Dengarkan Sekarang", + "term.browse": "Telusuri", + "term.radio": "Radio", + "term.recentlyAdded": "Baru Ditambahkan", + "term.songs": "Lagu", + "term.albums": "Album", + "term.artists": "Artis", + "term.podcasts": "Podcasts", + "term.playlists": "Playlist", + "term.playlist": "Playlist", + "term.newPlaylist": "Playlist Baru", + "term.newPlaylistFolder": "Folder Playlist Baru", + "term.createNewPlaylist": "Buat Playlist Baru", + "term.createNewPlaylistFolder": "Buat Folder Playlist Baru", + "term.deletePlaylist": "Yakin ingin menghapus playlist ini?", + "term.play": "Mainkan", + "term.pause": "Jeda", + "term.previous": "Sebelumnya", + "term.next": "Selanjutnya", + "term.shuffle": "Acak", + "term.repeat": "Ulangi", + "term.volume": "Volume", + "term.mute": "Bisu", + "term.unmute": "Bunyikan", + "term.share": "Bagikan", + "term.share.success": "Disalin ke clipboard", + "term.settings": "Pengaturan", + "term.seeAll": "Lihat Semua", + "term.sortBy": "Urutkan Berdasarkan", + "term.sortBy.album": "Album", + "term.sortBy.artist": "Artis", + "term.sortBy.name": "Nama", + "term.sortBy.genre": "Genre", + "term.sortBy.releaseDate": "Tanggal Rilis", + "term.sortBy.duration": "Durasi", + "term.sortOrder": "A-Z", + "term.sortOrder.ascending": "Terkecil", + "term.sortOrder.descending": "Terbesar", + "term.viewAs": "Lihat Sebagai", + "term.viewAs.coverArt": "Cover Art", + "term.viewAs.list": "Daftar", + "term.size": "Ukuran", + "term.size.normal": "Normal", + "term.size.compact": "Kompak", + "term.enable": "Aktifkan", + "term.disable": "Nonaktifkan", + "term.enabled": "Diaktifkan", + "term.disabled": "Dinonaktikan", + "term.connect": "Sambungkan", + "term.connecting": "Menyambungkan", + "term.disconnect": "Terputus", + "term.authed": "Diotentikasi", + "term.confirm": "Konfirmasi?", + "term.more": "Selebihnya", + "term.less": "Lebih Sedikit", + "term.showMore": "Tampilkan lebih banyak", + "term.showLess": "Tampilkan lebih sedikit", + "term.topSongs": "Lagu Teratas", + "term.latestReleases": "Rilis Terbaru", + "term.time.added": "Ditambahkan", + "term.time.released": "Dirilis", + "term.time.updated": "Diperbarui", + "term.time.hours": "jam", + "term.time.hour": "jam", + "term.time.minutes": "menit", + "term.time.minute": "menit", + "term.time.seconds": "detik", + "term.time.second": "detik", + "term.fullscreenView": "Mode Layar Penuh", + "term.defaultView": "Mode Default", + "term.audioSettings": "Pengaturan Audio", + "term.clearAll": "Bersihkan Semua", + "term.recentStations": "Stasiun Terbaru", + "term.language": "Bahasa", + "term.funLanguages": "Senang-senang", + "term.noLyrics": "Memuat... / Lirik tidak ditermukan./ Instrumental.", + "term.copyright": "Hak cipta", + "term.rightsReserved": "Hak cipta dilindungi Undang-undang.", + "term.sponsor": "Sponsori proyek ini", + "term.ciderTeam": "Cider Team", + "term.developer": "Pengembang", + "term.socialTeam": "Social Team", + "term.socials": "Sosial", + "term.contributors": "Kontributor", + "term.equalizer": "Equalizer", + "term.reset": "Atur Ulang", + "term.tracks": "lagu", // Assume x amount of tracks. e.g. 50 tracks + "term.videos": "Video", + "term.menu": "Menu", + "term.check": "Cek", + "term.aboutArtist": "Tentang {{artistName}}", // e.g. 'About Doja Cat' + "term.topResult": "Hasil Teratas", // Search Results + "term.sharedPlaylists": "Playlist yang dibagikan", // Search Results + "term.people": "Orang", // Search Results + "term.newpreset.name": "Nama Preset EQ Baru", // Equalizer Preset + "term.addedpreset": "Preset Ditambahkan", + "term.deletepreset.warn": "Yakin ingin menghapus preset ini?", + "term.deletedpreset": "Preset dihapus", + "term.musicVideos": "Video Musik", // Search page friendlyTypes + "term.stations": "Stasiun", + "term.curators": "Kurator", + "term.appleCurators": "Kurator Apple", + "term.radioShows": "Acara Radio", + "term.recordLabels": "Label Rekaman", + "term.videoExtras": "Bonus Video", + "term.top": "Atas", + + // Home + "home.title": "Beranda", + "home.recentlyPlayed": "Baru Dimainkan", + "home.recentlyAdded": "Baru Ditambahkan", + "home.artistsFeed": "Feed Artis Anda", + "home.artistsFeed.noArtist": "Ikuti beberapa artis terlebih dahulu dan rilisan terbaru mereka akan ada di sini", + "home.madeForYou": "Dibuat Untuk Kamu", + "home.friendsListeningTo": "Teman Sedang Mendengarkan", + "home.followedArtists": "Artis Diikuti", + + // Errors + "error.appleMusicSubRequired": "Apple Music memerlukan langganan.", + "error.connectionError": "Terjadi masalah saat menyambungkan ke Apple Music.", + "error.noResults": "Tidak ada hasil.", + "error.noResults.description": "Coba pencarian baru.", + + // Podcasts + "podcast.followOnCider": "Ikuti Di Cider", + "podcast.followedOnCider": "Mengikuti Di Cider", + "podcast.subscribeOnItunes": "Langganan Di iTunes", + "podcast.subscribedOnItunes": "Berlangganan Di iTunes", + "podcast.itunesStore": "iTunes Store", + "podcast.episodes": "Episode", + "podcast.playEpisode": "Mainkan Episode", + "podcast.website": "Website Podcast", + + // Actions + "action.addToLibrary": "Tambahkan ke Pustaka", + "action.addToLibrary.success": "Ditambahkan ke Pustaka", + "action.addToLibrary.error": "Terjadi Kesalahan Saat Menambahkan Pustaka", + "action.removeFromLibrary": "Hapus dari Pustaka", + "action.removeFromLibrary.success": "Dihapus dari Pustaka", + "action.addToQueue": "Tambahkan ke Antrian", + "action.addToQueue.success": "Ditambahkan ke Antrian", + "action.addToQueue.error": "Terjadi Kesalahan Saat Menambahkan ke Antrean", + "action.removeFromQueue": "Hapus dari Antrian", + "action.removeFromQueue.success": "Dihapus dari Antrian", + "action.removeFromQueue.error": "Terjadi Kesalahan Saat Menghapus Antrian", + "action.createPlaylist": "Buat Playlist Baru", + "action.addToPlaylist": "Tambahkan ke Playlist", + "action.removeFromPlaylist": "Hapus dari Playlist", + "action.addToFavorites": "Tambahkan ke Favorit", + "action.follow": "Ikuti", + "action.follow.success": "Diikuti", + "action.follow.error": "Kesalahan Dalam Mengikuti", + "action.unfollow": "Berhenti Mengikuti", + "action.unfollow.success": "Sudah Tidak Mengikuti", + "action.unfollow.error": "Terjadi Kesalahan Saat Berhenti Mengikuti", + "action.playNext": "Mainkan Selanjutnya", + "action.playLater": "Mainkan Nanti", + "action.startRadio": "Mulai Radio", + "action.goToArtist": "Lihat Halaman Artis", + "action.goToAlbum": "Lihat Halaman Album", + "action.moveToTop": "Pindah ke Atas", + "action.share": "Bagikan", + "action.rename": "Ubah Nama", + "action.love": "Suka", + "action.unlove": "Batal Suka", + "action.dislike": "Tidak Suka", + "action.undoDislike": "Batalkan Tidak Suka", + "action.showWebRemoteQR": "Remot Web", + "action.playTracksNext": "Mainkan ${app.selectedMediaItems.length} lagu selanjutnya", + "action.playTracksLater": "Mainkan ${app.selectedMediaItems.length} lagu nanti", + "action.removeTracks": "Hapus ${self.selectedItems.length} lagu dari antrian", + "action.import": "Impor", + "action.export": "Ekspor", + "action.showAlbum": "Tampilkan Album Sepenuhnya", + "action.tray.minimize": "Sembunyikan ke Tray", + "action.tray.quit": "Keluar", + "action.tray.show": "Tampilkan", + "action.update": "Perbarui", + "action.copy": "Salin", + "action.newpreset": "Preset Baru...", // Equalizer Preset + "action.deletepreset": "Hapus Preset", + + // Settings - General + "settings.header.general": "Umum", + "settings.header.general.description": "Sesuaikan pengaturan umum untuk Cider.", + "settings.option.general.language": "Bahasa", + + // Language optgroups + "settings.option.general.language.main": "Bahasa", + "settings.option.general.language.fun": "Bahasa Candaan", + "settings.option.general.language.unsorted": "Tidak disortir", + + // Update Cider + "settings.option.general.updateCider": "Perbarui Cider", // Button. Refer to term.check for the check button + "settings.option.general.updateCider.branch": "Branch Pembaruan Cider", // Dropdown + "settings.option.general.updateCider.branch.description": "Pilih branch untuk memperbarui Cider", + "settings.option.general.updateCider.branch.main": "Stable", + "settings.option.general.updateCider.branch.develop": "Development", + + // Settings - Audio + "settings.header.audio": "Audio", + "settings.header.audio.description": "Sesuaikan pengaturan audio untuk Cider.", + "settings.option.audio.quality": "Kualitas Audio", // Dropdown + "settings.header.audio.quality.hireslossless": "Hi-Res Lossless", + "settings.header.audio.quality.hireslossless.description": "sampai dari 24-bit/192 kHz", + "settings.header.audio.quality.lossless": "Lossless", + "settings.header.audio.quality.lossless.description": "sampai dari 24-bit/48 kHz", + "settings.header.audio.quality.high": "Tinggi", + "settings.header.audio.quality.high.description": "256 kbps", + "settings.header.audio.quality.standard": "Standar", + "settings.header.audio.quality.standard.description": "64 kbps", + "settings.option.audio.seamlessTransition": "Transisi Audio Mulus", // Toggle + "settings.option.audio.enableAdvancedFunctionality": "Aktifkan Fungsi Lanjutan", // Toggle + "settings.option.audio.enableAdvancedFunctionality.description": "Mengaktifkan fungsionalitas AudioContext memungkinkan fitur audio lanjutan seperti Normalisasi Audio, Equalizer dan Visualizer. Namun pada beberapa perangkat dapat menyebabkan tersendatnya audio.", + "settings.option.audio.enableAdvancedFunctionality.ciderPPE": "Cider Adrenaline Processor™️", // Toggle + "settings.option.audio.enableAdvancedFunctionality.ciderPPE.description": "Peningkatan Psikoakustik yang membuat semuanya terdengar lebih jelas dan lebih hidup | Dirancang oleh Maikiwi.", + "settings.option.audio.enableAdvancedFunctionality.ciderPPEStrength": "Kekuatan CAP", // Toggle + "settings.option.audio.enableAdvancedFunctionality.ciderPPEStrength.description": "Mengubah kekuatan pemrosesan yang dilakukan pada audio. (Agresif dapat menghasilkan hasil yang tidak diinginkan)", + "settings.option.audio.enableAdvancedFunctionality.ciderPPEStrength.standard": "Standar", + "settings.option.audio.enableAdvancedFunctionality.ciderPPEStrength.aggressive": "Agresif", + "settings.option.audio.enableAdvancedFunctionality.audioNormalization": "Normalisasi Audio", // Toggle + "settings.option.audio.enableAdvancedFunctionality.audioNormalization.description": "Menormalkan puncak volume untuk masing-masing lagu demi menciptakan pengalaman mendengarkan yang lebih seragam.", + "settings.option.audio.enableAdvancedFunctionality.audioSpatialization": "Spasialisasi Audio", // Toggle + "settings.option.audio.enableAdvancedFunctionality.audioSpatialization.description": "Atur ruang audio dan buat audio lebih 3 dimensi (NB: Bukan Dolby Atmos)", + + // Settings - Visual + "settings.header.visual": "Visual", + "settings.header.visual.description": "Sesuaikan pengaturan visual untuk Cider.", + "settings.option.visual.windowBackgroundStyle": "Gaya Latar Belakang Jendela", // Toggle + "settings.header.visual.windowBackgroundStyle.none": "Tidak Ada", + "settings.header.visual.windowBackgroundStyle.artwork": "Artwork", + "settings.header.visual.windowBackgroundStyle.image": "Gambar", + "settings.option.visual.animatedArtwork": "Artwork Bergerak", // Dropdown + "settings.header.visual.animatedArtwork.always": "Selalu", + "settings.header.visual.animatedArtwork.limited": "Terbatas untuk halaman dan entri khusus", + "settings.header.visual.animatedArtwork.disable": "Matikan di semua tempat", + "settings.option.visual.animatedArtworkQuality": "Kualitas Artwork Bergerak", // Dropdown + "settings.header.visual.animatedArtworkQuality.low": "Rendah", + "settings.header.visual.animatedArtworkQuality.medium": "Medium", + "settings.header.visual.animatedArtworkQuality.high": "Tinggi", + "settings.header.visual.animatedArtworkQuality.veryHigh": "Sangat Tinggi", + "settings.header.visual.animatedArtworkQuality.extreme": "Paling Tinggi", + "settings.option.visual.animatedWindowBackground": "Jendela Latar Belakang Bergerak", // Toggle + "settings.option.visual.hardwareAcceleration": "Akselerasi Perangkat Keras (HW Acceleration)", // Dropdown + "settings.option.visual.hardwareAcceleration.description": "Membutuhkan dibuka ulang", + "settings.header.visual.hardwareAcceleration.default": "Default", + "settings.header.visual.hardwareAcceleration.webGPU": "WebGPU", + "settings.header.visual.theme": "Tema", + + // Settings - Visual - Theme name + "settings.option.visual.theme.default": "Cider", + "settings.option.visual.theme.dark": "Gelap", + + // Refer to term.disabled for the disabled option + "settings.option.visual.showPersonalInfo": "Tampilkan Info Pribadi", // Toggle + + // Settings - Lyrics + "settings.header.lyrics": "Lyrics", + "settings.header.lyrics.description": "Sesuaikan pengaturan lirik untuk Cider.", + "settings.option.lyrics.enableMusixmatch": "Aktifkan Lirik Musixmatch", // Toggle + "settings.option.lyrics.enableMusixmatchKaraoke": "Aktifkan Mode Karaoke (khusus Musixmatch)", // Toggle + "settings.option.lyrics.musixmatchPreferredLanguage": "Bahasa Terjemahan Musixmatch", // Dropdown + "settings.option.lyrics.enableYoutubeLyrics": "Aktifkan Lirik Youtube untuk Video Musik", // Toggle + + // Settings - Connectivity + "settings.header.connectivity": "Konektivitas", + "settings.header.connectivity.description": "Sesuaikan pengaturan konektivitas untuk Cider.", + "settings.option.connectivity.discordRPC": "Discord Rich Presence", // Dropdown + "settings.option.connectivity.playbackNotifications": "Pemberitahuan Pemutaran", // Toggle + // Refer to term.disabled for the disabled option + "settings.header.connectivity.discordRPC.cider": "Tampilkan sebagai 'Cider'", + "settings.header.connectivity.discordRPC.appleMusic": "Tampilkan sebagai 'Apple Music'", + "settings.option.connectivity.discordRPC.clearOnPause": "Sembunyikan Discord Rich Presence saat dijeda", // Toggle + "settings.option.connectivity.lastfmScrobble": "Last.fm Scrobbling", // Option to Connect + "settings.option.connectivity.lastfmScrobble.delay": "Delay Last.fm Scrobble (%)", + "settings.option.connectivity.lastfmScrobble.nowPlaying": "Aktifkan Last.fm Now Playing", + "settings.option.connectivity.lastfmScrobble.removeFeatured": "Hapus featuring artist dari judul lagu (Last.fm)", + "settings.option.connectivity.lastfmScrobble.filterLoop": "Filter lagu yang diulang (Last.fm)", + // Refer to term.connect for the connect button + + // Settings - Experimental + "settings.header.experimental": "Eksperimental", + "settings.header.experimental.description": "Sesuaikan pengaturan eksperimental untuk Cider.", + "settings.option.experimental.compactUI": "UI Kompak", // Toggle + "settings.option.experimental.close_button_hide": "Tombol Tutup Menyembunyikan Aplikasi", + "settings.option.experimental.copy_log": "Salin log ke clipboard", + "settings.option.experimental.inline_playlists": "Playlist dan Album Sebaris", + + // Refer to term.disabled & term.enabled + // Spatialization Menu + "spatial.notTurnedOn": "Spasialisasi Audio dinonaktifkan. Untuk menggunakan, aktifkan terlebih dahulu.", + "spatial.spatialProperties": "Spatial Properties", + "spatial.width": "Lebar", + "spatial.height": "Tinggi", + "spatial.depth": "Kedalaman", + "spatial.gain": "Gain", + "spatial.roomMaterials": "Bahan Ruangan", + "spatial.roomDimensions": "Dimensi Ruangan", + "spatial.roomPositions": "Posisi Ruangan", + "spatial.setDimensions": "Atur Dimensi", + "spatial.setPositions": "Atur Posisi", + "spatial.up": "Atas", + "spatial.front": "Depan", + "spatial.left": "Kiri", + "spatial.right": "Kanan", + "spatial.back": "Belakang", + "spatial.down": "Bawah", + "spatial.listener": "Pendegar", + "spatial.audioSource": "Sumber Audio", + + // Settings - Unfinished + "settings.header.unfinished": "Belum Diselesaikan", + + // Web Remote + "remote.web.title": "Remote Cider", + "remote.web.description": "Pindai kode QR untuk memasangkan ponsel Anda dengan Cider.", + + // About + "about.thanks": "Terima kasih yang sebesar-besarnya kepada Cider Collective Team dan semua kontributor kami." } \ No newline at end of file diff --git a/src/i18n/sk_SK.jsonc b/src/i18n/sk_SK.jsonc index bba5ed51..6d77106c 100644 --- a/src/i18n/sk_SK.jsonc +++ b/src/i18n/sk_SK.jsonc @@ -1,7 +1,7 @@ -{ // Base File +{ // i18n Info - "i18n.languageName": "Slovenčina (SK)", // name of language in native language + "i18n.languageName": "Slovenčina (SK)", // name of language in native language "i18n.languageNameEnglish": "Slovak (SK)", // name of language in English "i18n.category": "main", // main = real language, fun = fun community languages "i18n.authors": "@jurosic-JurajJanosik", // Authors, if you contribute to this file feel free to add your name seperated with a space @@ -19,6 +19,7 @@ "notification.updatingLibrarySongs": "Aktualizujem pesničky v knižnici...", "notification.updatingLibraryAlbums": "Aktualizujem albumy v knižnici...", "notification.updatingLibraryArtists": "Aktualizujem tvorcov v knižnici...", + // Terms "term.appleInc": "Apple Inc.", "term.appleMusic": "Apple Music", @@ -125,7 +126,6 @@ "term.menu": "Menu", "term.check": "Skontrolovať", "term.aboutArtist": "Viac o {{artistName}}", // e.g. 'About Doja Cat' - "term.updateCider": "Aktualizovať Cider", // Home "home.title": "Domov", @@ -136,13 +136,14 @@ "home.madeForYou": "Robené Pre Teba", "home.friendsListeningTo": "Kamaráti počúvajú", "home.followedArtists": "Sledovaný Tvorcovia", + // Errors "error.appleMusicSubRequired": "Apple Music potrebuje subscription.", "error.connectionError": "Pri pripojovaní ku Apple Music sa vyskytol problém", "error.noResults": "Žiadne výsledky", "error.noResults.description": "Skús nové vyhľádavanie", - //Podcasts + // Podcasts "podcast.followOnCider": "Sleduj na Cider", "podcast.followedOnCider": "Sledované na Cider", "podcast.subscribeOnItunes": "Odoberaj na iTunes", @@ -208,6 +209,9 @@ "settings.option.general.language.fun": "Zábanve Jazyky", "settings.option.general.language.unsorted": "Nepotriedené", + // Update Cider + "settings.option.general.updateCider": "Aktualizovať Cider", + // Settings - Audio "settings.header.audio": "Zvuk", "settings.header.audio.description": "Zmeniť nastavenia zvuku pre Cider.", @@ -228,6 +232,7 @@ "settings.option.audio.enableAdvancedFunctionality.audioNormalization.description": "Normalizuje silu zvuku v pesničkách pre hľadší počúvací zážitok", "settings.option.audio.enableAdvancedFunctionality.audioSpatialization": "Priestorový Zvuk", // Toggle "settings.option.audio.enableAdvancedFunctionality.audioSpatialization.description": "Priestorový zvuk urobí zvuk 3-dimenzionálny (poznámka: Toto nie je Dolby Atmos)", + // Settings - Visual "settings.header.visual": "Visuálne", "settings.header.visual.description": "Zmenit Visuálne nastavenia pre Cider.", @@ -251,9 +256,11 @@ "settings.header.visual.hardwareAcceleration.default": "Predvoľba", "settings.header.visual.hardwareAcceleration.webGPU": "WebGPU", "settings.header.visual.theme": "Theme", + // Settings - Visual - Theme name "settings.option.visual.theme.default": "Cider", "settings.option.visual.theme.dark": "Dark", + // Refer to term.disabled for the disabled option "settings.option.visual.showPersonalInfo": "Zobraziť osobné informácie", // Toggle @@ -284,10 +291,12 @@ // Settings - Experimental "settings.header.experimental": "Experimentálne", "settings.header.experimental.description": "Zmeniť experimentálne nastavenia pre Cider.", + "settings.option.experimental.compactUI": "Compact UI", // Toggle + "settings.option.experimental.close_button_hide": "Zatvoriť by malo skriť aplikáciu", "settings.option.experimental.compactUI": "Kompaktný UI", // Toggle "settings.option.experimental.close_button_hide": "Zatvaranie aplikácie ju malo skriť", - // Refer to term.disabled & term.enabled + // Refer to term.disabled & term.enabled // Spatialization Menu "spatial.notTurnedOn": "Priestorový Zvuk je vypnutý. Prosím najprv ho zapnite.", "spatial.spatialProperties": "Špeciálne Nastavenia", @@ -318,4 +327,4 @@ // About "about.thanks": "Ďakujeme Cider Tímu, Komunite a Kontribútorom, bez vás by to nebolo možné." -} +} \ No newline at end of file diff --git a/src/renderer/views/components/miniplayer.ejs b/src/renderer/views/components/miniplayer.ejs index 8c268588..11ef521d 100644 --- a/src/renderer/views/components/miniplayer.ejs +++ b/src/renderer/views/components/miniplayer.ejs @@ -6,11 +6,15 @@ 📌

- - + + + + + + + +
From b7fb674d68c5b5185495e38d4b7231dcf07f9d7f Mon Sep 17 00:00:00 2001 From: Jozen Blue Martinez Date: Wed, 9 Feb 2022 05:40:57 +0800 Subject: [PATCH 086/573] Create WebNowPlaying plugin (#393) --- src/main/plugins/webNowPlaying.ts | 227 ++++++++++++++++++++++++++++++ 1 file changed, 227 insertions(+) create mode 100644 src/main/plugins/webNowPlaying.ts diff --git a/src/main/plugins/webNowPlaying.ts b/src/main/plugins/webNowPlaying.ts new file mode 100644 index 00000000..25673133 --- /dev/null +++ b/src/main/plugins/webNowPlaying.ts @@ -0,0 +1,227 @@ +import * as WebSocket from 'ws'; + +/** + * 0-pad a number. + * @param {Number} number + * @param {Number} length + * @returns String + */ +const pad = (number: number, length: number) => String(number).padStart(length, '0'); + +/** + * Convert seconds to a time string acceptable to Rainmeter + * https://github.com/tjhrulz/WebNowPlaying-BrowserExtension/blob/master/WebNowPlaying.js#L50-L59 + * @param {Number} timeInSeconds + * @returns String + */ +const convertTimeToString = (timeInSeconds: number) => { + const timeInMinutes = timeInSeconds / 60; + if (timeInMinutes < 60) { + return timeInMinutes + ":" + pad(timeInSeconds % 60, 2); + } + return timeInMinutes / 60 + ":" + pad(timeInMinutes % 60, 2) + ":" + pad(timeInSeconds % 60, 2); +} + +export default class WebNowPlaying { + /** + * Base Plugin Details (Eventually implemented into a GUI in settings) + */ + public name: string = 'WebNowPlaying'; + public description: string = 'Song info and playback control for the Rainmeter WebNowPlaying plugin.'; + public version: string = '1.0.0'; + public author: string = 'Zennn '; + + private _win: any; + private ws: any = null; + private wsapiConn: any = null; + private playerName: string = 'Cider'/* Apple Music */; + + constructor() { + console.debug(`[Plugin][${this.name}] Loading Complete.`); + } + + sendSongInfo(attributes: any) { + if (!this.ws || this.ws.readyState !== WebSocket.OPEN) return; + + const fields = ['STATE', 'TITLE', 'ARTIST', 'ALBUM', 'COVER', 'DURATION', 'POSITION', 'VOLUME', 'REPEAT', 'SHUFFLE']; + fields.forEach((field) => { + try { + let value: any = ''; + switch (field) { + case 'STATE': + value = attributes.status ? 1 : 2; + break; + case 'TITLE': + value = attributes.name; + break; + case 'ARTIST': + value = attributes.artistName; + break; + case 'ALBUM': + value = attributes.albumName; + break; + case 'COVER': + value = attributes.artwork.url.replace('{w}', attributes.artwork.width).replace('{h}', attributes.artwork.height); + break; + case 'DURATION': + value = convertTimeToString(attributes.durationInMillis / 1000); + break; + case 'POSITION': + value = convertTimeToString((attributes.durationInMillis - attributes.remainingTime) / 1000); + break; + case 'VOLUME': + value = attributes.volume * 100; + break; + case 'REPEAT': + value = attributes.repeatMode; + break; + case 'SHUFFLE': + value = attributes.shuffleMode; + break; + } + this.ws.send(`${field}:${value}`); + } catch (error) { + if (this.ws.readyState === WebSocket.OPEN) { + this.ws.send(`Error:Error updating ${field} for ${this.playerName}`); + this.ws.send(`ErrorD:${error}`); + } + } + }); + } + + fireEvent(evt: any) { + if (!evt.data) return; + let value = ''; + if (evt.data.split(/ (.+)/).length > 1) { + value = evt.data.split(/ (.+)/)[1]; + } + const eventName = evt.data.split(' ')[0].toLowerCase(); + + try { + switch (eventName) { + case 'playpause': + this._win.webContents.executeJavaScript('MusicKitInterop.playPause()').catch(console.error); + break; + case 'next': + this._win.webContents.executeJavaScript('MusicKitInterop.next()').catch(console.error); + break; + case 'previous': + this._win.webContents.executeJavaScript('MusicKitInterop.previous()').catch(console.error); + break; + case 'setposition': + this._win.webContents.executeJavaScript(`MusicKit.getInstance().seekToTime(${parseFloat(value)})`); + break; + case 'setvolume': + this._win.webContents.executeJavaScript(`MusicKit.getInstance().volume = ${parseFloat(value) / 100}`); + break; + case 'repeat': + this._win.webContents.executeJavaScript('wsapi.toggleRepeat()').catch(console.error); + break; + case 'shuffle': + this._win.webContents.executeJavaScript('wsapi.toggleShuffle()').catch(console.error); + break; + case 'togglethumbsup': + // not implemented + break; + case 'togglethumbsdown': + // not implemented + break; + case 'rating': + // not implemented + break; + } + } catch (error) { + console.debug(error); + if (this.ws.readyState === WebSocket.OPEN) { + this.ws.send(`Error:Error sending event to ${this.playerName}`); + this.ws.send(`ErrorD:${error}`); + } + } + } + + /** + * Runs on app ready + */ + onReady(win: any) { + this._win = win; + + // Connect to Rainmeter plugin and retry on disconnect. + const init = () => { + try { + this.ws = new WebSocket('ws://127.0.0.1:8974/'); + let retry: NodeJS.Timeout; + this.ws.onopen = (() => { + console.info('[WebNowPlaying] Connected to Rainmeter'); + this.ws.send(`PLAYER:${this.playerName}`); + }).bind(this); + + this.ws.onclose = () => { + clearTimeout(retry); + retry = setTimeout(init, 2000); + }; + + this.ws.onerror = () => { + clearTimeout(retry); + this.ws.close(); + }; + + this.ws.onmessage = this.fireEvent?.bind(this); + } catch (error) { + console.error(error); + } + }; + + init(); + + // Connect to wsapi. Only used to update progress. + try { + this.wsapiConn = new WebSocket('ws://127.0.0.1:26369/'); + + this.wsapiConn.onopen = () => { + console.info('[WebNowPlaying] Connected to wsapi'); + }; + + this.wsapiConn.onmessage = (evt: { data: string; }) => { + const response = JSON.parse(evt.data); + if (response.type === 'playbackStateUpdate') { + this.sendSongInfo(response.data); + } + }; + } catch (error) { + console.error(error); + } + + console.debug(`[Plugin][${this.name}] Ready.`); + } + + /** + * Runs on app stop + */ + onBeforeQuit() { + if (this.ws) { + this.ws.send('STATE:0'); + this.ws.onclose = null; // disable onclose handler first to stop it from retrying + this.ws.close(); + } + if (this.wsapiConn) { + this.wsapiConn.close(); + } + console.debug(`[Plugin][${this.name}] Stopped.`); + } + + /** + * Runs on playback State Change + * @param attributes Music Attributes (attributes.status = current state) + */ + onPlaybackStateDidChange(attributes: any) { + this.sendSongInfo(attributes); + } + + /** + * Runs on song change + * @param attributes Music Attributes + */ + onNowPlayingItemDidChange(attributes: any) { + this.sendSongInfo(attributes); + } +} From 43bf12d2847ab3ce1a0e463f8d37aa7b26b66bf8 Mon Sep 17 00:00:00 2001 From: Amaru8 <52407090+Amaru8@users.noreply.github.com> Date: Wed, 9 Feb 2022 02:17:02 +0100 Subject: [PATCH 087/573] Translation update (#395) * Update Hungarian (hu_HU) language file * Temporary fix for Hindi language i18n info --- src/i18n/hi_IN.jsonc | 4 ++-- src/i18n/hu_HU.jsonc | 18 +++++++++++------- 2 files changed, 13 insertions(+), 9 deletions(-) diff --git a/src/i18n/hi_IN.jsonc b/src/i18n/hi_IN.jsonc index ad96e8f3..e1127d2c 100644 --- a/src/i18n/hi_IN.jsonc +++ b/src/i18n/hi_IN.jsonc @@ -1,8 +1,8 @@ { // i18n Info - "i18n.languageName": "English (US)", // name of language in native language - "i18n.languageNameEnglish": "English (US)", // name of language in English + "i18n.languageName": "हिन्दी", // name of language in native language + "i18n.languageNameEnglish": "Hindi", // name of language in English "i18n.category": "main", // main = real language, fun = fun community languages "i18n.authors": "@maikirakiwi @vringster", // Authors, if you contribute to this file feel free to add your name seperated with a space diff --git a/src/i18n/hu_HU.jsonc b/src/i18n/hu_HU.jsonc index 28882427..382679d7 100644 --- a/src/i18n/hu_HU.jsonc +++ b/src/i18n/hu_HU.jsonc @@ -106,7 +106,7 @@ "term.time.second": "másodperc", "term.fullscreenView": "Teljes képernyős mód", "term.defaultView": "Alapértelmezett nézet", - "term.spacializedAudioSetting": "Térbeli hang", + "term.audioSettings": "Hangbeállítások", "term.clearAll": "Összes törlése", "term.recentStations": "Nemrég játszott", "term.language": "Nyelv", @@ -131,9 +131,9 @@ "term.sharedPlaylists": "Megosztott lejátszási listák", // Search Results "term.people": "Profilok", // Search Results "term.newpreset.name": "New EQ Preset Name", // Equalizer Preset - "term.addedpreset": "Preset hozzáadva", - "term.deletepreset.warn": "Are you sure you want to delete this preset?", - "term.deletedpreset": "Preset törölve", + "term.addedpreset": "Előbeállítás hozzáadva", + "term.deletepreset.warn": "Biztos törölni szeretnéd ezt az előbeállítást?", + "term.deletedpreset": "Előbeállítás törölve", "term.musicVideos": "Videóklipek", // Search page friendlyTypes "term.stations": "Állomások", "term.curators": "Curators", @@ -229,7 +229,11 @@ "settings.option.general.language.unsorted": "Azonosítatlan", // Update Cider - "settings.option.general.updateCider": "A Cider frissítése", // Button + "settings.option.general.updateCider": "Cider frissítése", // Button. Refer to term.check for the check button + "settings.option.general.updateCider.branch": "Verzió kiválasztása", // Dropdown + "settings.option.general.updateCider.branch.description": "Válaszd ki a Cider melyik verziójára szeretnél frissíteni", + "settings.option.general.updateCider.branch.main": "Normál", + "settings.option.general.updateCider.branch.develop": "Fejlesztői", // Settings - Audio "settings.header.audio": "Hang", @@ -260,7 +264,7 @@ // Settings - Visual "settings.header.visual": "Vizuális", "settings.header.visual.description": "A Cider vizuális beállításainak módosítása.", - "settings.option.visual.windowBackgroundStyle": "Ablak háttér stílusa", // Toggle + "settings.option.visual.windowBackgroundStyle": "Ablakháttér stílusa", // Toggle "settings.header.visual.windowBackgroundStyle.none": "Sehol", "settings.header.visual.windowBackgroundStyle.artwork": "Borító", "settings.header.visual.windowBackgroundStyle.image": "Kép", @@ -315,7 +319,7 @@ // Settings - Experimental "settings.header.experimental": "Kísérleti", "settings.header.experimental.description": "A Cider kísérleti beállításainak módosítása.", - "settings.option.experimental.compactUI": "Kompakt UI", // Toggle + "settings.option.experimental.compactUI": "Kompakt felület", // Toggle "settings.option.experimental.close_button_hide": "A bezárás gomb rejtse el az alkalmazást", "settings.option.experimental.copy_log": "Napló másolása a vágólapra", "settings.option.experimental.inline_playlists": "Inline Playlists and Albums", From 988b10a13f11b100dc2d15a728c449b2b21d18c8 Mon Sep 17 00:00:00 2001 From: Jozen Blue Martinez Date: Wed, 9 Feb 2022 09:19:42 +0800 Subject: [PATCH 088/573] Various WebNowPlaying plugin updates (#394) * Create WebNowPlaying plugin * Only run WebNowPlaying plugin on win32 * [WebNowPlaying] Fix time formatting * [WebNowPlaying] Minor code cleanup Co-authored-by: Quacksire <19170969+quacksire@users.noreply.github.com> --- src/main/plugins/webNowPlaying.ts | 35 ++++++++++++++++++++++--------- 1 file changed, 25 insertions(+), 10 deletions(-) diff --git a/src/main/plugins/webNowPlaying.ts b/src/main/plugins/webNowPlaying.ts index 25673133..2787e4c1 100644 --- a/src/main/plugins/webNowPlaying.ts +++ b/src/main/plugins/webNowPlaying.ts @@ -14,12 +14,12 @@ const pad = (number: number, length: number) => String(number).padStart(length, * @param {Number} timeInSeconds * @returns String */ -const convertTimeToString = (timeInSeconds: number) => { - const timeInMinutes = timeInSeconds / 60; + const convertTimeToString = (timeInSeconds: number) => { + const timeInMinutes = Math.floor(timeInSeconds / 60); if (timeInMinutes < 60) { - return timeInMinutes + ":" + pad(timeInSeconds % 60, 2); + return timeInMinutes + ":" + pad(Math.floor(timeInSeconds % 60), 2); } - return timeInMinutes / 60 + ":" + pad(timeInMinutes % 60, 2) + ":" + pad(timeInSeconds % 60, 2); + return Math.floor(timeInMinutes / 60) + ":" + pad(Math.floor(timeInMinutes % 60), 2) + ":" + pad(Math.floor(timeInSeconds % 60), 2); } export default class WebNowPlaying { @@ -40,7 +40,20 @@ export default class WebNowPlaying { console.debug(`[Plugin][${this.name}] Loading Complete.`); } - sendSongInfo(attributes: any) { + /** + * Blocks non-windows systems from running this plugin + * @private + * @decorator + */ + private static windowsOnly(_target: any, _propertyKey: string, descriptor: PropertyDescriptor) { + if (process.platform !== 'win32') { + descriptor.value = function () { + return + } + } + } + + private sendSongInfo(attributes: any) { if (!this.ws || this.ws.readyState !== WebSocket.OPEN) return; const fields = ['STATE', 'TITLE', 'ARTIST', 'ALBUM', 'COVER', 'DURATION', 'POSITION', 'VOLUME', 'REPEAT', 'SHUFFLE']; @@ -88,8 +101,7 @@ export default class WebNowPlaying { } }); } - - fireEvent(evt: any) { + private fireEvent(evt: any) { if (!evt.data) return; let value = ''; if (evt.data.split(/ (.+)/).length > 1) { @@ -142,7 +154,8 @@ export default class WebNowPlaying { /** * Runs on app ready */ - onReady(win: any) { + @WebNowPlaying.windowsOnly + public onReady(win: any) { this._win = win; // Connect to Rainmeter plugin and retry on disconnect. @@ -197,7 +210,8 @@ export default class WebNowPlaying { /** * Runs on app stop */ - onBeforeQuit() { + @WebNowPlaying.windowsOnly + public onBeforeQuit() { if (this.ws) { this.ws.send('STATE:0'); this.ws.onclose = null; // disable onclose handler first to stop it from retrying @@ -221,7 +235,8 @@ export default class WebNowPlaying { * Runs on song change * @param attributes Music Attributes */ - onNowPlayingItemDidChange(attributes: any) { + @WebNowPlaying.windowsOnly + public onNowPlayingItemDidChange(attributes: any) { this.sendSongInfo(attributes); } } From f30bc3215bdbb5a6745bf1fe02697420ddeae661 Mon Sep 17 00:00:00 2001 From: Brandon <52553007+crypticplank@users.noreply.github.com> Date: Tue, 8 Feb 2022 20:26:31 -0500 Subject: [PATCH 089/573] Switch to v1 V1 adds Websockets iCloud artwork api better json responses --- src/renderer/index.js | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/renderer/index.js b/src/renderer/index.js index 4ddf7905..1caa41fc 100644 --- a/src/renderer/index.js +++ b/src/renderer/index.js @@ -3692,7 +3692,7 @@ document.addEventListener('musickitloaded', function () { function initMusicKit() { let parsedJson = JSON.parse(this.responseText) MusicKit.configure({ - developerToken: parsedJson.Key, + developerToken: parsedJson.token, app: { name: 'Apple Music', build: '1978.4.1', @@ -3716,7 +3716,7 @@ document.addEventListener('musickitloaded', function () { fallbackinitMusicKit() } }; - request.open("GET", "https://api.cider.sh/"); + request.open("GET", "https://api.cider.sh/v1/"); request.send(); // check for widevine failure and reconfigure the instance. From 479e2024baaa848babf5da4fb203731577046b4f Mon Sep 17 00:00:00 2001 From: vapormusic Date: Wed, 9 Feb 2022 10:25:10 +0700 Subject: [PATCH 090/573] fix this --- .gitignore | 1 + resources/afterPack.js | 5 ++++- 2 files changed, 5 insertions(+), 1 deletion(-) diff --git a/.gitignore b/.gitignore index acc6dfb9..a7130433 100644 --- a/.gitignore +++ b/.gitignore @@ -318,3 +318,4 @@ keys.sh package-lock.json yarn.lock +resources/b64.txt diff --git a/resources/afterPack.js b/resources/afterPack.js index c70017c1..f37d1c48 100644 --- a/resources/afterPack.js +++ b/resources/afterPack.js @@ -4,7 +4,8 @@ exports.default = function(context) { if (process.platform !== 'darwin') return - + + fs.unlinkSync(context.appOutDir + '/Cider.app/Contents/Frameworks/Electron Framework.framework/Versions/A/Resources/Electron Framework.sig') console.log('Castlabs-evs update start') execSync('python3 -m pip install --upgrade castlabs-evs') console.log('Castlabs-evs update complete') @@ -12,6 +13,8 @@ exports.default = function(context) { console.log('VMP signing start') + if (fs.existsSync('dist/mac-universal')) + execSync('python3 -m castlabs_evs.vmp -n sign-pkg dist/mac-universal',{stdio: 'inherit'}) if (fs.existsSync('dist/mac')) execSync('python3 -m castlabs_evs.vmp -n sign-pkg dist/mac',{stdio: 'inherit'}) if (fs.existsSync('dist/mac-arm64')) From 60e4bfbd0eca3ec3931bf8e43b6cc835712c4007 Mon Sep 17 00:00:00 2001 From: Maikiwi Date: Tue, 8 Feb 2022 19:53:28 -0800 Subject: [PATCH 091/573] Update ja_JP.jsonc --- src/i18n/ja_JP.jsonc | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/i18n/ja_JP.jsonc b/src/i18n/ja_JP.jsonc index 9729be9b..c13bc722 100644 --- a/src/i18n/ja_JP.jsonc +++ b/src/i18n/ja_JP.jsonc @@ -218,9 +218,9 @@ "settings.option.audio.seamlessTransition": "曲間なしで再生", // Toggle "settings.option.audio.enableAdvancedFunctionality": "先進的な機能", // Toggle "settings.option.audio.enableAdvancedFunctionality.description": "AudioContext 機能を有効にすると、オーディオノーマライズ、空間オーディオ、イコライザーなどの機能を使用できますが、音が途切れるかもしれません。", // Toggle - "settings.option.audio.enableAdvancedFunctionality.ciderPPE": "Cider AEP™️", // Toggle + "settings.option.audio.enableAdvancedFunctionality.ciderPPE": "Cider Adrenaline Processor™️", // Toggle "settings.option.audio.enableAdvancedFunctionality.ciderPPE.description": "圧縮音源を高解像度に処理することによって、ロスレス相当の音質に向上させます。", // Toggle - "settings.option.audio.enableAdvancedFunctionality.ciderPPEStrength": "AEPの強さ", // Toggle + "settings.option.audio.enableAdvancedFunctionality.ciderPPEStrength": "CAPの強さ", // Toggle "settings.option.audio.enableAdvancedFunctionality.ciderPPEStrength.description": "Changes the strength of the processing done to the audio. (Aggressive may yield undesirable results)", "settings.option.audio.enableAdvancedFunctionality.ciderPPEStrength.standard": "標準", "settings.option.audio.enableAdvancedFunctionality.ciderPPEStrength.aggressive": "高", From 00c52712440d4216f5b375b7c586c1582ca7cafb Mon Sep 17 00:00:00 2001 From: Maikiwi Date: Tue, 8 Feb 2022 20:01:43 -0800 Subject: [PATCH 092/573] alignmnt of preset butt --- src/renderer/views/components/equalizer.ejs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/renderer/views/components/equalizer.ejs b/src/renderer/views/components/equalizer.ejs index af6b4c85..a999e073 100644 --- a/src/renderer/views/components/equalizer.ejs +++ b/src/renderer/views/components/equalizer.ejs @@ -5,7 +5,7 @@
- From ffec528b9defe5fc16f0ca2421840837925585f2 Mon Sep 17 00:00:00 2001 From: vapormusic Date: Wed, 9 Feb 2022 11:40:45 +0700 Subject: [PATCH 093/573] universal attempt --- resources/afterPack.js | 9 +- resources/macPackager.js | 399 +++++++++++++++++++++++++++++++++++++++ 2 files changed, 406 insertions(+), 2 deletions(-) create mode 100644 resources/macPackager.js diff --git a/resources/afterPack.js b/resources/afterPack.js index f37d1c48..55dcbc91 100644 --- a/resources/afterPack.js +++ b/resources/afterPack.js @@ -5,12 +5,17 @@ exports.default = function(context) { if (process.platform !== 'darwin') return - fs.unlinkSync(context.appOutDir + '/Cider.app/Contents/Frameworks/Electron Framework.framework/Versions/A/Resources/Electron Framework.sig') + if (fs.existsSync('dist/mac-universal--x64/Cider.app/Contents/Frameworks/Electron Framework.framework/Versions/A/Resources/Electron Framework.sig')) + fs.unlinkSync('dist/mac-universal--x64/Cider.app/Contents/Frameworks/Electron Framework.framework/Versions/A/Resources/Electron Framework.sig') + if (fs.existsSync('dist/mac-universal--arm64/Cider.app/Contents/Frameworks/Electron Framework.framework/Versions/A/Resources/Electron Framework.sig')) + fs.unlinkSync('dist/mac-universal--arm64/Cider.app/Contents/Frameworks/Electron Framework.framework/Versions/A/Resources/Electron Framework.sig') console.log('Castlabs-evs update start') execSync('python3 -m pip install --upgrade castlabs-evs') console.log('Castlabs-evs update complete') - + // xcode 13 + if (fs.existsSync('dist/mac-universal--x64') && fs.existsSync('dist/mac-universal--arm64')) + execSync("cp 'dist/mac-universal--x64/Cider.app/Contents/Frameworks/Electron Framework.framework/Versions/A/Resources/MainMenu.nib/keyedobjects-101300.nib' 'dist/mac-universal--arm64/Cider.app/Contents/Frameworks/Electron Framework.framework/Versions/A/Resources/MainMenu.nib/keyedobjects-101300.nib'",{stdio: 'inherit'}) console.log('VMP signing start') if (fs.existsSync('dist/mac-universal')) diff --git a/resources/macPackager.js b/resources/macPackager.js new file mode 100644 index 00000000..24d56d81 --- /dev/null +++ b/resources/macPackager.js @@ -0,0 +1,399 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +const bluebird_lst_1 = require("bluebird-lst"); +const builder_util_1 = require("builder-util"); +const electron_osx_sign_1 = require("electron-osx-sign"); +const promises_1 = require("fs/promises"); +const lazy_val_1 = require("lazy-val"); +const path = require("path"); +const fs_1 = require("builder-util/out/fs"); +const promise_1 = require("builder-util/out/promise"); +const appInfo_1 = require("./appInfo"); +const macCodeSign_1 = require("./codeSign/macCodeSign"); +const core_1 = require("./core"); +const platformPackager_1 = require("./platformPackager"); +const ArchiveTarget_1 = require("./targets/ArchiveTarget"); +const pkg_1 = require("./targets/pkg"); +const targetFactory_1 = require("./targets/targetFactory"); +const macosVersion_1 = require("./util/macosVersion"); +const pathManager_1 = require("./util/pathManager"); +const fs = require("fs/promises"); +class MacPackager extends platformPackager_1.PlatformPackager { + constructor(info) { + super(info, core_1.Platform.MAC); + this.codeSigningInfo = new lazy_val_1.Lazy(() => { + const cscLink = this.getCscLink(); + if (cscLink == null || process.platform !== "darwin") { + return Promise.resolve({ keychainFile: process.env.CSC_KEYCHAIN || null }); + } + return macCodeSign_1.createKeychain({ + tmpDir: this.info.tempDirManager, + cscLink, + cscKeyPassword: this.getCscPassword(), + cscILink: platformPackager_1.chooseNotNull(this.platformSpecificBuildOptions.cscInstallerLink, process.env.CSC_INSTALLER_LINK), + cscIKeyPassword: platformPackager_1.chooseNotNull(this.platformSpecificBuildOptions.cscInstallerKeyPassword, process.env.CSC_INSTALLER_KEY_PASSWORD), + currentDir: this.projectDir, + }).then(result => { + const keychainFile = result.keychainFile; + if (keychainFile != null) { + this.info.disposeOnBuildFinish(() => macCodeSign_1.removeKeychain(keychainFile)); + } + return result; + }); + }); + this._iconPath = new lazy_val_1.Lazy(() => this.getOrConvertIcon("icns")); + } + get defaultTarget() { + return this.info.framework.macOsDefaultTargets; + } + // eslint-disable-next-line @typescript-eslint/no-unused-vars + prepareAppInfo(appInfo) { + return new appInfo_1.AppInfo(this.info, this.platformSpecificBuildOptions.bundleVersion, this.platformSpecificBuildOptions); + } + async getIconPath() { + return this._iconPath.value; + } + createTargets(targets, mapper) { + for (const name of targets) { + switch (name) { + case core_1.DIR_TARGET: + break; + case "dmg": { + // eslint-disable-next-line @typescript-eslint/no-var-requires + const { DmgTarget } = require("dmg-builder"); + mapper(name, outDir => new DmgTarget(this, outDir)); + break; + } + case "zip": + // https://github.com/electron-userland/electron-builder/issues/2313 + mapper(name, outDir => new ArchiveTarget_1.ArchiveTarget(name, outDir, this, true)); + break; + case "pkg": + mapper(name, outDir => new pkg_1.PkgTarget(this, outDir)); + break; + default: + mapper(name, outDir => (name === "mas" || name === "mas-dev" ? new targetFactory_1.NoOpTarget(name) : targetFactory_1.createCommonTarget(name, outDir, this))); + break; + } + } + } + async doPack(outDir, appOutDir, platformName, arch, platformSpecificBuildOptions, targets) { + switch (arch) { + default: { + return super.doPack(outDir, appOutDir, platformName, arch, platformSpecificBuildOptions, targets); + } + case builder_util_1.Arch.universal: { + const x64Arch = builder_util_1.Arch.x64; + const x64AppOutDir = appOutDir + "--" + builder_util_1.Arch[x64Arch]; + await super.doPack(outDir, x64AppOutDir, platformName, x64Arch, platformSpecificBuildOptions, targets, false, true); + const arm64Arch = builder_util_1.Arch.arm64; + const arm64AppOutPath = appOutDir + "--" + builder_util_1.Arch[arm64Arch]; + await super.doPack(outDir, arm64AppOutPath, platformName, arm64Arch, platformSpecificBuildOptions, targets, false, true); + const framework = this.info.framework; + builder_util_1.log.info({ + platform: platformName, + arch: builder_util_1.Arch[arch], + [`${framework.name}`]: framework.version, + appOutDir: builder_util_1.log.filePath(appOutDir), + }, `packaging`); + const appFile = `${this.appInfo.productFilename}.app`; + const { makeUniversalApp } = require("@electron/universal"); + await makeUniversalApp({ + x64AppPath: path.join(x64AppOutDir, appFile), + arm64AppPath: path.join(arm64AppOutPath, appFile), + outAppPath: path.join(appOutDir, appFile), + force: true, + }); + await fs.rm(x64AppOutDir, { recursive: true, force: true }); + await fs.rm(arm64AppOutPath, { recursive: true, force: true }); + const packContext = { + appOutDir, + outDir, + arch, + targets, + packager: this, + electronPlatformName: platformName, + } + await this.info.afterPack(packContext) + if (framework.afterPack != null) { + await framework.afterPack(packContext) + } + await this.doSignAfterPack(outDir, appOutDir, platformName, arch, platformSpecificBuildOptions, targets); + break; + } + } + } + async pack(outDir, arch, targets, taskManager) { + let nonMasPromise = null; + const hasMas = targets.length !== 0 && targets.some(it => it.name === "mas" || it.name === "mas-dev"); + const prepackaged = this.packagerOptions.prepackaged; + if (!hasMas || targets.length > 1) { + const appPath = prepackaged == null ? path.join(this.computeAppOutDir(outDir, arch), `${this.appInfo.productFilename}.app`) : prepackaged; + nonMasPromise = (prepackaged + ? Promise.resolve() + : this.doPack(outDir, path.dirname(appPath), this.platform.nodeName, arch, this.platformSpecificBuildOptions, targets)).then(() => this.packageInDistributableFormat(appPath, arch, targets, taskManager)); + } + for (const target of targets) { + const targetName = target.name; + if (!(targetName === "mas" || targetName === "mas-dev")) { + continue; + } + const masBuildOptions = builder_util_1.deepAssign({}, this.platformSpecificBuildOptions, this.config.mas); + if (targetName === "mas-dev") { + builder_util_1.deepAssign(masBuildOptions, this.config.masDev, { + type: "development", + }); + } + const targetOutDir = path.join(outDir, `${targetName}${builder_util_1.getArchSuffix(arch)}`); + if (prepackaged == null) { + await this.doPack(outDir, targetOutDir, "mas", arch, masBuildOptions, [target]); + await this.sign(path.join(targetOutDir, `${this.appInfo.productFilename}.app`), targetOutDir, masBuildOptions, arch); + } + else { + await this.sign(prepackaged, targetOutDir, masBuildOptions, arch); + } + } + if (nonMasPromise != null) { + await nonMasPromise; + } + } + async sign(appPath, outDir, masOptions, arch) { + if (!macCodeSign_1.isSignAllowed()) { + return; + } + const isMas = masOptions != null; + const options = masOptions == null ? this.platformSpecificBuildOptions : masOptions; + const qualifier = options.identity; + if (!isMas && qualifier === null) { + if (this.forceCodeSigning) { + throw new builder_util_1.InvalidConfigurationError("identity explicitly is set to null, but forceCodeSigning is set to true"); + } + builder_util_1.log.info({ reason: "identity explicitly is set to null" }, "skipped macOS code signing"); + return; + } + const keychainFile = (await this.codeSigningInfo.value).keychainFile; + const explicitType = options.type; + const type = explicitType || "distribution"; + const isDevelopment = type === "development"; + const certificateTypes = getCertificateTypes(isMas, isDevelopment); + let identity = null; + for (const certificateType of certificateTypes) { + identity = await macCodeSign_1.findIdentity(certificateType, qualifier, keychainFile); + if (identity != null) { + break; + } + } + if (identity == null) { + if (!isMas && !isDevelopment && explicitType !== "distribution") { + identity = await macCodeSign_1.findIdentity("Mac Developer", qualifier, keychainFile); + if (identity != null) { + builder_util_1.log.warn("Mac Developer is used to sign app — it is only for development and testing, not for production"); + } + } + if (identity == null) { + await macCodeSign_1.reportError(isMas, certificateTypes, qualifier, keychainFile, this.forceCodeSigning); + return; + } + } + if (!macosVersion_1.isMacOsHighSierra()) { + throw new builder_util_1.InvalidConfigurationError("macOS High Sierra 10.13.6 is required to sign"); + } + let filter = options.signIgnore; + if (Array.isArray(filter)) { + if (filter.length == 0) { + filter = null; + } + } + else if (filter != null) { + filter = filter.length === 0 ? null : [filter]; + } + const filterRe = filter == null ? null : filter.map(it => new RegExp(it)); + let binaries = options.binaries || undefined; + if (binaries) { + // Accept absolute paths for external binaries, else resolve relative paths from the artifact's app Contents path. + const userDefinedBinaries = await Promise.all(binaries.map(async (destination) => { + if (await fs_1.statOrNull(destination)) { + return destination; + } + return path.resolve(appPath, destination); + })); + // Insert at front to prioritize signing. We still sort by depth next + binaries = userDefinedBinaries.concat(binaries); + builder_util_1.log.info("Signing addtional user-defined binaries: " + JSON.stringify(userDefinedBinaries, null, 1)); + } + const signOptions = { + "identity-validation": false, + // https://github.com/electron-userland/electron-builder/issues/1699 + // kext are signed by the chipset manufacturers. You need a special certificate (only available on request) from Apple to be able to sign kext. + ignore: (file) => { + if (filterRe != null) { + for (const regExp of filterRe) { + if (regExp.test(file)) { + return true; + } + } + } + return (file.endsWith(".kext") || + file.startsWith("/Contents/PlugIns", appPath.length) || + file.includes("/node_modules/puppeteer/.local-chromium") || + file.includes("/node_modules/playwright-firefox/.local-browsers") || + file.includes("/node_modules/playwright/.local-browsers")); + /* Those are browser automating modules, browser (chromium, nightly) cannot be signed + https://github.com/electron-userland/electron-builder/issues/2010 + https://github.com/electron-userland/electron-builder/issues/5383 + */ + }, + identity: identity, + type, + platform: isMas ? "mas" : "darwin", + version: this.config.electronVersion, + app: appPath, + keychain: keychainFile || undefined, + binaries, + timestamp: isMas ? masOptions === null || masOptions === void 0 ? void 0 : masOptions.timestamp : options.timestamp, + requirements: isMas || this.platformSpecificBuildOptions.requirements == null ? undefined : await this.getResource(this.platformSpecificBuildOptions.requirements), + // https://github.com/electron-userland/electron-osx-sign/issues/196 + // will fail on 10.14.5+ because a signed but unnotarized app is also rejected. + "gatekeeper-assess": options.gatekeeperAssess === true, + // https://github.com/electron-userland/electron-builder/issues/1480 + "strict-verify": options.strictVerify, + hardenedRuntime: isMas ? masOptions && masOptions.hardenedRuntime === true : options.hardenedRuntime !== false, + }; + await this.adjustSignOptions(signOptions, masOptions); + builder_util_1.log.info({ + file: builder_util_1.log.filePath(appPath), + identityName: identity.name, + identityHash: identity.hash, + provisioningProfile: signOptions["provisioning-profile"] || "none", + }, "signing"); + await this.doSign(signOptions); + // https://github.com/electron-userland/electron-builder/issues/1196#issuecomment-312310209 + if (masOptions != null && !isDevelopment) { + const certType = isDevelopment ? "Mac Developer" : "3rd Party Mac Developer Installer"; + const masInstallerIdentity = await macCodeSign_1.findIdentity(certType, masOptions.identity, keychainFile); + if (masInstallerIdentity == null) { + throw new builder_util_1.InvalidConfigurationError(`Cannot find valid "${certType}" identity to sign MAS installer, please see https://electron.build/code-signing`); + } + // mas uploaded to AppStore, so, use "-" instead of space for name + const artifactName = this.expandArtifactNamePattern(masOptions, "pkg", arch); + const artifactPath = path.join(outDir, artifactName); + await this.doFlat(appPath, artifactPath, masInstallerIdentity, keychainFile); + await this.dispatchArtifactCreated(artifactPath, null, builder_util_1.Arch.x64, this.computeSafeArtifactName(artifactName, "pkg", arch, true, this.platformSpecificBuildOptions.defaultArch)); + } + } + async adjustSignOptions(signOptions, masOptions) { + const resourceList = await this.resourceList; + const customSignOptions = masOptions || this.platformSpecificBuildOptions; + const entitlementsSuffix = masOptions == null ? "mac" : "mas"; + let entitlements = customSignOptions.entitlements; + if (entitlements == null) { + const p = `entitlements.${entitlementsSuffix}.plist`; + if (resourceList.includes(p)) { + entitlements = path.join(this.info.buildResourcesDir, p); + } + else { + entitlements = pathManager_1.getTemplatePath("entitlements.mac.plist"); + } + } + signOptions.entitlements = entitlements; + let entitlementsInherit = customSignOptions.entitlementsInherit; + if (entitlementsInherit == null) { + const p = `entitlements.${entitlementsSuffix}.inherit.plist`; + if (resourceList.includes(p)) { + entitlementsInherit = path.join(this.info.buildResourcesDir, p); + } + else { + entitlementsInherit = pathManager_1.getTemplatePath("entitlements.mac.plist"); + } + } + signOptions["entitlements-inherit"] = entitlementsInherit; + if (customSignOptions.provisioningProfile != null) { + signOptions["provisioning-profile"] = customSignOptions.provisioningProfile; + } + signOptions["entitlements-loginhelper"] = customSignOptions.entitlementsLoginHelper; + } + //noinspection JSMethodCanBeStatic + async doSign(opts) { + return electron_osx_sign_1.signAsync(opts); + } + //noinspection JSMethodCanBeStatic + async doFlat(appPath, outFile, identity, keychain) { + // productbuild doesn't created directory for out file + await promises_1.mkdir(path.dirname(outFile), { recursive: true }); + const args = pkg_1.prepareProductBuildArgs(identity, keychain); + args.push("--component", appPath, "/Applications"); + args.push(outFile); + return await builder_util_1.exec("productbuild", args); + } + getElectronSrcDir(dist) { + return path.resolve(this.projectDir, dist, this.info.framework.distMacOsAppName); + } + getElectronDestinationDir(appOutDir) { + return path.join(appOutDir, this.info.framework.distMacOsAppName); + } + // todo fileAssociations + async applyCommonInfo(appPlist, contentsPath) { + const appInfo = this.appInfo; + const appFilename = appInfo.productFilename; + // https://github.com/electron-userland/electron-builder/issues/1278 + appPlist.CFBundleExecutable = appFilename.endsWith(" Helper") ? appFilename.substring(0, appFilename.length - " Helper".length) : appFilename; + const icon = await this.getIconPath(); + if (icon != null) { + const oldIcon = appPlist.CFBundleIconFile; + const resourcesPath = path.join(contentsPath, "Resources"); + if (oldIcon != null) { + await fs_1.unlinkIfExists(path.join(resourcesPath, oldIcon)); + } + const iconFileName = "icon.icns"; + appPlist.CFBundleIconFile = iconFileName; + await fs_1.copyFile(icon, path.join(resourcesPath, iconFileName)); + } + appPlist.CFBundleName = appInfo.productName; + appPlist.CFBundleDisplayName = appInfo.productName; + const minimumSystemVersion = this.platformSpecificBuildOptions.minimumSystemVersion; + if (minimumSystemVersion != null) { + appPlist.LSMinimumSystemVersion = minimumSystemVersion; + } + appPlist.CFBundleIdentifier = appInfo.macBundleIdentifier; + appPlist.CFBundleShortVersionString = this.platformSpecificBuildOptions.bundleShortVersion || appInfo.version; + appPlist.CFBundleVersion = appInfo.buildVersion; + builder_util_1.use(this.platformSpecificBuildOptions.category || this.config.category, it => (appPlist.LSApplicationCategoryType = it)); + appPlist.NSHumanReadableCopyright = appInfo.copyright; + if (this.platformSpecificBuildOptions.darkModeSupport) { + appPlist.NSRequiresAquaSystemAppearance = false; + } + const extendInfo = this.platformSpecificBuildOptions.extendInfo; + if (extendInfo != null) { + Object.assign(appPlist, extendInfo); + } + } + async signApp(packContext, isAsar) { + const appFileName = `${this.appInfo.productFilename}.app`; + await bluebird_lst_1.default.map(promises_1.readdir(packContext.appOutDir), (file) => { + if (file === appFileName) { + return this.sign(path.join(packContext.appOutDir, file), null, null, null); + } + return null; + }); + if (!isAsar) { + return; + } + const outResourcesDir = path.join(packContext.appOutDir, "resources", "app.asar.unpacked"); + await bluebird_lst_1.default.map(promise_1.orIfFileNotExist(promises_1.readdir(outResourcesDir), []), (file) => { + if (file.endsWith(".app")) { + return this.sign(path.join(outResourcesDir, file), null, null, null); + } + else { + return null; + } + }); + } +} +exports.default = MacPackager; +function getCertificateTypes(isMas, isDevelopment) { + if (isDevelopment) { + return isMas ? ["Mac Developer", "Apple Development"] : ["Developer ID Application"]; + } + return isMas ? ["Apple Distribution"] : ["Developer ID Application"]; +} +//# sourceMappingURL=macPackager.js.map \ No newline at end of file From 748db1030a9b8b9380b00e26990338e02dfe5385 Mon Sep 17 00:00:00 2001 From: cryptofyre Date: Tue, 8 Feb 2022 23:27:28 -0600 Subject: [PATCH 094/573] fuck widevine piss drm. --- package.json | 4 ++-- src/main/index.ts | 5 ++++- 2 files changed, 6 insertions(+), 3 deletions(-) diff --git a/package.json b/package.json index d232d542..f4ed5a4b 100644 --- a/package.json +++ b/package.json @@ -97,9 +97,9 @@ } ], "build": { - "electronVersion": "16.0.7", + "electronVersion": "16.0.8", "electronDownload": { - "version": "16.0.7+wvcus", + "version": "16.0.8+wvcus", "mirror": "https://github.com/castlabs/electron-releases/releases/download/v" }, "appId": "cider", diff --git a/src/main/index.ts b/src/main/index.ts index e5ca6772..7c7a085c 100644 --- a/src/main/index.ts +++ b/src/main/index.ts @@ -41,10 +41,13 @@ app.on('ready', () => { require('vue-devtools').install() } - components.whenReady().then(async () => { + app.whenReady().then(async () => { + await components.whenReady(); const bw = new BrowserWindow() const win = await bw.createWindow() + console.log('[Cider][Widevine] Status:', components.status()); + win.on("ready-to-show", () => { Cider.bwCreated(); CiderPlug.callPlugins('onReady', win); From 308193061d7c08c3d0e85ca94e52d4415dc4989b Mon Sep 17 00:00:00 2001 From: Maikiwi Date: Tue, 8 Feb 2022 22:02:05 -0800 Subject: [PATCH 095/573] volume max for web remote so I don't go deaf --- src/main/base/wsapi.ts | 14 ++++++++++++++ src/renderer/js/WSAPI_Interop.js | 3 +++ src/web-remote/index.js | 9 +++++++++ src/web-remote/views/index.ejs | 2 +- 4 files changed, 27 insertions(+), 1 deletion(-) diff --git a/src/main/base/wsapi.ts b/src/main/base/wsapi.ts index bfd62c9f..95d2b521 100644 --- a/src/main/base/wsapi.ts +++ b/src/main/base/wsapi.ts @@ -61,6 +61,9 @@ export class wsapi { electron.ipcMain.on('wsapi-returnLyrics', (_event: any, arg: any) => { this.returnLyrics(JSON.parse(arg)); }); + electron.ipcMain.on('wsapi-returnvolumeMax', (_event: any, arg: any) => { + this.returnmaxVolume(JSON.parse(arg)); + }); this.wss = new WebSocketServer({ port: this.port, perMessageDeflate: { @@ -162,6 +165,10 @@ export class wsapi { this._win.webContents.executeJavaScript(`MusicKit.getInstance().stop()`); response.message = "Stopped"; break; + case "volumeMax": + this._win.webContents.executeJavaScript(`wsapi.getmaxVolume()`); + response.message = "maxVolume"; + break; case "volume": this._win.webContents.executeJavaScript(`MusicKit.getInstance().volume = ${parseFloat(data.volume)}`); response.message = "Volume"; @@ -295,4 +302,11 @@ export class wsapi { client.send(JSON.stringify(response)); }); } + + returnmaxVolume(vol: any) { + const response: standardResponse = {status: 0, data: vol, message: "OK", type: "maxVolume"}; + this.clients.forEach(function each(client: any) { + client.send(JSON.stringify(response)); + }); + } } \ No newline at end of file diff --git a/src/renderer/js/WSAPI_Interop.js b/src/renderer/js/WSAPI_Interop.js index 525ad47e..422c96b3 100644 --- a/src/renderer/js/WSAPI_Interop.js +++ b/src/renderer/js/WSAPI_Interop.js @@ -107,5 +107,8 @@ const wsapi = { }else{ MusicKit.getInstance().repeatMode = 0 } + }, + getmaxVolume() { + ipcRenderer.send('wsapi-returnvolumeMax',JSON.stringify(app.cfg.audio.maxVolume)); } } \ No newline at end of file diff --git a/src/web-remote/index.js b/src/web-remote/index.js index 44f8d1c0..3a8b522b 100644 --- a/src/web-remote/index.js +++ b/src/web-remote/index.js @@ -13,6 +13,7 @@ var app = new Vue({ player: { currentMediaItem: {}, songActions: false, + maxVolume: 1, lyrics: {}, lyricsMediaItem: {}, lyricsDebug: { @@ -161,6 +162,11 @@ var app = new Vue({ volume: volume })); }, + getVolumeMax() { + socket.send(JSON.stringify({ + action: "volumeMax", + })); + }, getQueue() { socket.send(JSON.stringify({ action: "get-queue" @@ -570,6 +576,9 @@ var app = new Vue({ self.updatePlaybackState(response.data) } break; + case "maxVolume": + this.player.maxVolume = response.data; + break; } // console.log(e.data); } diff --git a/src/web-remote/views/index.ejs b/src/web-remote/views/index.ejs index 46915075..de38dc44 100644 --- a/src/web-remote/views/index.ejs +++ b/src/web-remote/views/index.ejs @@ -172,7 +172,7 @@
-
From 63b129390352b6dce4781b0d8b877b81f2516dba Mon Sep 17 00:00:00 2001 From: booploops <49113086+booploops@users.noreply.github.com> Date: Wed, 9 Feb 2022 03:30:52 -0800 Subject: [PATCH 096/573] added vue-horizontal --- src/renderer/index.js | 1 + src/renderer/js/smoothscroll.js | 434 ++++++++++++++++++ src/renderer/js/vue-horizontal.js | 1 + src/renderer/style.less | 19 +- .../mediaitem-scroller-horizontal-large.ejs | 10 +- .../mediaitem-scroller-horizontal-mvview.ejs | 4 +- .../mediaitem-scroller-horizontal-sp.ejs | 10 +- .../mediaitem-scroller-horizontal.ejs | 4 +- src/renderer/views/main.ejs | 2 + src/renderer/views/pages/artist-feed.ejs | 22 +- src/renderer/views/pages/cider-playlist.ejs | 6 +- src/renderer/views/pages/home.ejs | 36 +- src/renderer/views/pages/zoo.ejs | 3 - 13 files changed, 486 insertions(+), 66 deletions(-) create mode 100644 src/renderer/js/smoothscroll.js create mode 100644 src/renderer/js/vue-horizontal.js diff --git a/src/renderer/index.js b/src/renderer/index.js index 1caa41fc..23be9306 100644 --- a/src/renderer/index.js +++ b/src/renderer/index.js @@ -1,3 +1,4 @@ +Vue.use(VueHorizontal); Vue.use(VueObserveVisibility); var notyf = new Notyf(); diff --git a/src/renderer/js/smoothscroll.js b/src/renderer/js/smoothscroll.js new file mode 100644 index 00000000..8c694ad6 --- /dev/null +++ b/src/renderer/js/smoothscroll.js @@ -0,0 +1,434 @@ +/* smoothscroll v0.4.4 - 2019 - Dustan Kasten, Jeremias Menichelli - MIT License */ +(function () { + 'use strict'; + + // polyfill + function polyfill() { + // aliases + var w = window; + var d = document; + + // return if scroll behavior is supported and polyfill is not forced + if ( + 'scrollBehavior' in d.documentElement.style && + w.__forceSmoothScrollPolyfill__ !== true + ) { + return; + } + + // globals + var Element = w.HTMLElement || w.Element; + var SCROLL_TIME = 468; + + // object gathering original scroll methods + var original = { + scroll: w.scroll || w.scrollTo, + scrollBy: w.scrollBy, + elementScroll: Element.prototype.scroll || scrollElement, + scrollIntoView: Element.prototype.scrollIntoView + }; + + // define timing method + var now = + w.performance && w.performance.now + ? w.performance.now.bind(w.performance) + : Date.now; + + /** + * indicates if a the current browser is made by Microsoft + * @method isMicrosoftBrowser + * @param {String} userAgent + * @returns {Boolean} + */ + function isMicrosoftBrowser(userAgent) { + var userAgentPatterns = ['MSIE ', 'Trident/', 'Edge/']; + + return new RegExp(userAgentPatterns.join('|')).test(userAgent); + } + + /* + * IE has rounding bug rounding down clientHeight and clientWidth and + * rounding up scrollHeight and scrollWidth causing false positives + * on hasScrollableSpace + */ + var ROUNDING_TOLERANCE = isMicrosoftBrowser(w.navigator.userAgent) ? 1 : 0; + + /** + * changes scroll position inside an element + * @method scrollElement + * @param {Number} x + * @param {Number} y + * @returns {undefined} + */ + function scrollElement(x, y) { + this.scrollLeft = x; + this.scrollTop = y; + } + + /** + * returns result of applying ease math function to a number + * @method ease + * @param {Number} k + * @returns {Number} + */ + function ease(k) { + return 0.5 * (1 - Math.cos(Math.PI * k)); + } + + /** + * indicates if a smooth behavior should be applied + * @method shouldBailOut + * @param {Number|Object} firstArg + * @returns {Boolean} + */ + function shouldBailOut(firstArg) { + if ( + firstArg === null || + typeof firstArg !== 'object' || + firstArg.behavior === undefined || + firstArg.behavior === 'auto' || + firstArg.behavior === 'instant' + ) { + // first argument is not an object/null + // or behavior is auto, instant or undefined + return true; + } + + if (typeof firstArg === 'object' && firstArg.behavior === 'smooth') { + // first argument is an object and behavior is smooth + return false; + } + + // throw error when behavior is not supported + throw new TypeError( + 'behavior member of ScrollOptions ' + + firstArg.behavior + + ' is not a valid value for enumeration ScrollBehavior.' + ); + } + + /** + * indicates if an element has scrollable space in the provided axis + * @method hasScrollableSpace + * @param {Node} el + * @param {String} axis + * @returns {Boolean} + */ + function hasScrollableSpace(el, axis) { + if (axis === 'Y') { + return el.clientHeight + ROUNDING_TOLERANCE < el.scrollHeight; + } + + if (axis === 'X') { + return el.clientWidth + ROUNDING_TOLERANCE < el.scrollWidth; + } + } + + /** + * indicates if an element has a scrollable overflow property in the axis + * @method canOverflow + * @param {Node} el + * @param {String} axis + * @returns {Boolean} + */ + function canOverflow(el, axis) { + var overflowValue = w.getComputedStyle(el, null)['overflow' + axis]; + + return overflowValue === 'auto' || overflowValue === 'scroll'; + } + + /** + * indicates if an element can be scrolled in either axis + * @method isScrollable + * @param {Node} el + * @param {String} axis + * @returns {Boolean} + */ + function isScrollable(el) { + var isScrollableY = hasScrollableSpace(el, 'Y') && canOverflow(el, 'Y'); + var isScrollableX = hasScrollableSpace(el, 'X') && canOverflow(el, 'X'); + + return isScrollableY || isScrollableX; + } + + /** + * finds scrollable parent of an element + * @method findScrollableParent + * @param {Node} el + * @returns {Node} el + */ + function findScrollableParent(el) { + while (el !== d.body && isScrollable(el) === false) { + el = el.parentNode || el.host; + } + + return el; + } + + /** + * self invoked function that, given a context, steps through scrolling + * @method step + * @param {Object} context + * @returns {undefined} + */ + function step(context) { + var time = now(); + var value; + var currentX; + var currentY; + var elapsed = (time - context.startTime) / SCROLL_TIME; + + // avoid elapsed times higher than one + elapsed = elapsed > 1 ? 1 : elapsed; + + // apply easing to elapsed time + value = ease(elapsed); + + currentX = context.startX + (context.x - context.startX) * value; + currentY = context.startY + (context.y - context.startY) * value; + + context.method.call(context.scrollable, currentX, currentY); + + // scroll more if we have not reached our destination + if (currentX !== context.x || currentY !== context.y) { + w.requestAnimationFrame(step.bind(w, context)); + } + } + + /** + * scrolls window or element with a smooth behavior + * @method smoothScroll + * @param {Object|Node} el + * @param {Number} x + * @param {Number} y + * @returns {undefined} + */ + function smoothScroll(el, x, y) { + var scrollable; + var startX; + var startY; + var method; + var startTime = now(); + + // define scroll context + if (el === d.body) { + scrollable = w; + startX = w.scrollX || w.pageXOffset; + startY = w.scrollY || w.pageYOffset; + method = original.scroll; + } else { + scrollable = el; + startX = el.scrollLeft; + startY = el.scrollTop; + method = scrollElement; + } + + // scroll looping over a frame + step({ + scrollable: scrollable, + method: method, + startTime: startTime, + startX: startX, + startY: startY, + x: x, + y: y + }); + } + + // ORIGINAL METHODS OVERRIDES + // w.scroll and w.scrollTo + w.scroll = w.scrollTo = function() { + // avoid action when no arguments are passed + if (arguments[0] === undefined) { + return; + } + + // avoid smooth behavior if not required + if (shouldBailOut(arguments[0]) === true) { + original.scroll.call( + w, + arguments[0].left !== undefined + ? arguments[0].left + : typeof arguments[0] !== 'object' + ? arguments[0] + : w.scrollX || w.pageXOffset, + // use top prop, second argument if present or fallback to scrollY + arguments[0].top !== undefined + ? arguments[0].top + : arguments[1] !== undefined + ? arguments[1] + : w.scrollY || w.pageYOffset + ); + + return; + } + + // LET THE SMOOTHNESS BEGIN! + smoothScroll.call( + w, + d.body, + arguments[0].left !== undefined + ? ~~arguments[0].left + : w.scrollX || w.pageXOffset, + arguments[0].top !== undefined + ? ~~arguments[0].top + : w.scrollY || w.pageYOffset + ); + }; + + // w.scrollBy + w.scrollBy = function() { + // avoid action when no arguments are passed + if (arguments[0] === undefined) { + return; + } + + // avoid smooth behavior if not required + if (shouldBailOut(arguments[0])) { + original.scrollBy.call( + w, + arguments[0].left !== undefined + ? arguments[0].left + : typeof arguments[0] !== 'object' ? arguments[0] : 0, + arguments[0].top !== undefined + ? arguments[0].top + : arguments[1] !== undefined ? arguments[1] : 0 + ); + + return; + } + + // LET THE SMOOTHNESS BEGIN! + smoothScroll.call( + w, + d.body, + ~~arguments[0].left + (w.scrollX || w.pageXOffset), + ~~arguments[0].top + (w.scrollY || w.pageYOffset) + ); + }; + + // Element.prototype.scroll and Element.prototype.scrollTo + Element.prototype.scroll = Element.prototype.scrollTo = function() { + // avoid action when no arguments are passed + if (arguments[0] === undefined) { + return; + } + + // avoid smooth behavior if not required + if (shouldBailOut(arguments[0]) === true) { + // if one number is passed, throw error to match Firefox implementation + if (typeof arguments[0] === 'number' && arguments[1] === undefined) { + throw new SyntaxError('Value could not be converted'); + } + + original.elementScroll.call( + this, + // use left prop, first number argument or fallback to scrollLeft + arguments[0].left !== undefined + ? ~~arguments[0].left + : typeof arguments[0] !== 'object' ? ~~arguments[0] : this.scrollLeft, + // use top prop, second argument or fallback to scrollTop + arguments[0].top !== undefined + ? ~~arguments[0].top + : arguments[1] !== undefined ? ~~arguments[1] : this.scrollTop + ); + + return; + } + + var left = arguments[0].left; + var top = arguments[0].top; + + // LET THE SMOOTHNESS BEGIN! + smoothScroll.call( + this, + this, + typeof left === 'undefined' ? this.scrollLeft : ~~left, + typeof top === 'undefined' ? this.scrollTop : ~~top + ); + }; + + // Element.prototype.scrollBy + Element.prototype.scrollBy = function() { + // avoid action when no arguments are passed + if (arguments[0] === undefined) { + return; + } + + // avoid smooth behavior if not required + if (shouldBailOut(arguments[0]) === true) { + original.elementScroll.call( + this, + arguments[0].left !== undefined + ? ~~arguments[0].left + this.scrollLeft + : ~~arguments[0] + this.scrollLeft, + arguments[0].top !== undefined + ? ~~arguments[0].top + this.scrollTop + : ~~arguments[1] + this.scrollTop + ); + + return; + } + + this.scroll({ + left: ~~arguments[0].left + this.scrollLeft, + top: ~~arguments[0].top + this.scrollTop, + behavior: arguments[0].behavior + }); + }; + + // Element.prototype.scrollIntoView + Element.prototype.scrollIntoView = function() { + // avoid smooth behavior if not required + if (shouldBailOut(arguments[0]) === true) { + original.scrollIntoView.call( + this, + arguments[0] === undefined ? true : arguments[0] + ); + + return; + } + + // LET THE SMOOTHNESS BEGIN! + var scrollableParent = findScrollableParent(this); + var parentRects = scrollableParent.getBoundingClientRect(); + var clientRects = this.getBoundingClientRect(); + + if (scrollableParent !== d.body) { + // reveal element inside parent + smoothScroll.call( + this, + scrollableParent, + scrollableParent.scrollLeft + clientRects.left - parentRects.left, + scrollableParent.scrollTop + clientRects.top - parentRects.top + ); + + // reveal parent in viewport unless is fixed + if (w.getComputedStyle(scrollableParent).position !== 'fixed') { + w.scrollBy({ + left: parentRects.left, + top: parentRects.top, + behavior: 'smooth' + }); + } + } else { + // reveal element in viewport + w.scrollBy({ + left: clientRects.left, + top: clientRects.top, + behavior: 'smooth' + }); + } + }; + } + + if (typeof exports === 'object' && typeof module !== 'undefined') { + // commonjs + module.exports = { polyfill: polyfill }; + } else { + // global + polyfill(); + } + + }()); + \ No newline at end of file diff --git a/src/renderer/js/vue-horizontal.js b/src/renderer/js/vue-horizontal.js new file mode 100644 index 00000000..723b63e9 --- /dev/null +++ b/src/renderer/js/vue-horizontal.js @@ -0,0 +1 @@ +var VueHorizontal=function(t,e){"use strict";function n(t){return t&&"object"==typeof t&&"default"in t?t:{default:t}}var i=n(e).default.extend({name:"VueHorizontal",data:function(){return{left:0,width:0,scrollWidth:0,hasPrev:!1,hasNext:!1,debounceId:void 0}},props:{button:{type:Boolean,default:function(){return!0}},buttonBetween:{type:Boolean,default:function(){return!0}},scroll:{type:Boolean,default:function(){return!1}},responsive:{type:Boolean,default:function(){return!1}},displacement:{type:Number,default:function(){return 1}},snap:{type:String,default:function(){return"start"}}},mounted:function(){this.onScrollDebounce()},beforeDestroy:function(){clearTimeout(this.debounceId)},methods:{children:function(){return this.$refs.container.children},findPrevSlot:function(t){for(var e=this.children(),n=0;n2.5)return void this.scrollToLeft(t.scrollLeft+o)}var l=t.clientWidth*this.displacement;this.scrollToLeft(t.scrollLeft+l)},scrollToIndex:function(t){var e=this.children();if(e[t]){var n=this.$refs.container,i=e[t].getBoundingClientRect().left-n.getBoundingClientRect().left;this.scrollToLeft(n.scrollLeft+i)}},scrollToLeft:function(t){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"smooth",n=this.$refs.container;n.scrollTo({left:t,behavior:e})},onScroll:function(){var t=this.$refs.container;t&&(this.$emit("scroll",{left:t.scrollLeft}),clearTimeout(this.debounceId),this.debounceId=setTimeout(this.onScrollDebounce,100))},onScrollDebounce:function(){var t=this;this.refresh((function(e){t.$emit("scroll-debounce",e)}))},refresh:function(t){var e=this;this.$nextTick((function(){var n=e.calculate();e.left=n.left,e.width=n.width,e.scrollWidth=n.scrollWidth,e.hasNext=n.hasNext,e.hasPrev=n.hasPrev,null==t||t(n)}))},calculate:function(){var t=this.$refs.container,e=this.children()[0];return{left:t.scrollLeft,width:t.clientWidth,scrollWidth:t.scrollWidth,hasNext:t.scrollWidth>t.scrollLeft+t.clientWidth+2.5,hasPrev:function(){var n,i;if(0===t.scrollLeft)return!1;var o=t.getBoundingClientRect().left,l=null!==(n=null==e||null===(i=e.getBoundingClientRect())||void 0===i?void 0:i.left)&&void 0!==n?n:0;return Math.abs(o-l)>=2.5}()}}}});function o(t,e,n,i,o,l,r,a,s,c){"boolean"!=typeof r&&(s=a,a=r,r=!1);const d="function"==typeof n?n.options:n;let h;if(t&&t.render&&(d.render=t.render,d.staticRenderFns=t.staticRenderFns,d._compiled=!0,o&&(d.functional=!0)),i&&(d._scopeId=i),l?(h=function(t){(t=t||this.$vnode&&this.$vnode.ssrContext||this.parent&&this.parent.$vnode&&this.parent.$vnode.ssrContext)||"undefined"==typeof __VUE_SSR_CONTEXT__||(t=__VUE_SSR_CONTEXT__),e&&e.call(this,s(t)),t&&t._registeredComponents&&t._registeredComponents.add(l)},d._ssrRegister=h):e&&(h=r?function(t){e.call(this,c(t,this.$root.$options.shadowRoot))}:function(t){e.call(this,a(t))}),h)if(d.functional){const t=d.render;d.render=function(e,n){return h.call(n),t(e,n)}}else{const t=d.beforeCreate;d.beforeCreate=t?[].concat(t,h):[h]}return n}const l="undefined"!=typeof navigator&&/msie [6-9]\\b/.test(navigator.userAgent.toLowerCase());function r(t){return(t,e)=>function(t,e){const n=l?e.media||"default":t,i=s[n]||(s[n]={ids:new Set,styles:[]});if(!i.ids.has(t)){i.ids.add(t);let n=e.source;if(e.map&&(n+="\n/*# sourceURL="+e.map.sources[0]+" */",n+="\n/*# sourceMappingURL=data:application/json;base64,"+btoa(unescape(encodeURIComponent(JSON.stringify(e.map))))+" */"),i.element||(i.element=document.createElement("style"),i.element.type="text/css",e.media&&i.element.setAttribute("media",e.media),void 0===a&&(a=document.head||document.getElementsByTagName("head")[0]),a.appendChild(i.element)),"styleSheet"in i.element)i.styles.push(n),i.element.styleSheet.cssText=i.styles.filter(Boolean).join("\n");else{const t=i.ids.size-1,e=document.createTextNode(n),o=i.element.childNodes;o[t]&&i.element.removeChild(o[t]),o.length?i.element.insertBefore(e,o[t]):i.element.appendChild(e)}}}(t,e)}let a;const s={};var c=o({render:function(){var t=this,e=t.$createElement,n=t._self._c||e;return n("div",{staticClass:"vue-horizontal",staticStyle:{position:"relative",display:"flex"}},[t.button&&t.hasPrev?n("div",{staticClass:"v-hl-btn v-hl-btn-prev",class:{"v-hl-btn-between":t.buttonBetween},attrs:{role:"button"},on:{click:function(e){return e.stopPropagation(),t.prev(e)}}},[t._t("btn-prev",[n("svg",{staticClass:"v-hl-svg",attrs:{viewBox:"0 0 24 24","aria-label":"horizontal scroll area navigate to previous button"}},[n("path",{attrs:{d:"m9.8 12 5 5a1 1 0 1 1-1.4 1.4l-5.7-5.7a1 1 0 0 1 0-1.4l5.7-5.7a1 1 0 0 1 1.4 1.4l-5 5z"}})])])],2):t._e(),t._v(" "),t.button&&t.hasNext?n("div",{staticClass:"v-hl-btn v-hl-btn-next",class:{"v-hl-btn-between":t.buttonBetween},attrs:{role:"button"},on:{click:function(e){return e.stopPropagation(),t.next(e)}}},[t._t("btn-next",[n("svg",{staticClass:"v-hl-svg",attrs:{viewBox:"0 0 24 24","aria-label":"horizontal scroll area navigate to next button"}},[n("path",{attrs:{d:"m14.3 12.1-5-5a1 1 0 0 1 1.4-1.4l5.7 5.7a1 1 0 0 1 0 1.4l-5.7 5.7a1 1 0 0 1-1.4-1.4l5-5z"}})])])],2):t._e(),t._v(" "),n("div",{ref:"container",staticClass:"v-hl-container",class:{"v-hl-responsive":t.responsive,"v-hl-scroll":t.scroll,"v-hl-snap-start":"start"===t.snap,"v-hl-snap-center":"center"===t.snap,"v-hl-snap-end":"end"===t.snap},on:{"&scroll":function(e){return t.onScroll(e)}}},[t._t("default")],2)])},staticRenderFns:[]},(function(t){t&&t("data-v-45080727_0",{source:".v-hl-btn[data-v-45080727]{position:absolute;align-self:center;z-index:1;top:0;bottom:0;display:flex;align-items:center;cursor:pointer}.v-hl-btn-prev[data-v-45080727]{left:0}.v-hl-btn-prev.v-hl-btn-between[data-v-45080727]{transform:translateX(-50%)}.v-hl-btn-next[data-v-45080727]{right:0}.v-hl-btn-next.v-hl-btn-between[data-v-45080727]{transform:translateX(50%)}.v-hl-svg[data-v-45080727]{width:40px;height:40px;margin:6px;padding:6px;border-radius:20px;box-sizing:border-box;background:#fff;color:#000;fill:currentColor;box-shadow:0 1px 3px rgba(0,0,0,.12),0 1px 2px rgba(0,0,0,.24)}.v-hl-container[data-v-45080727]{display:flex;width:100%;margin:0;padding:0;border:none;box-sizing:content-box;overflow-x:scroll;overflow-y:hidden;scroll-snap-type:x mandatory;-webkit-overflow-scrolling:touch}.v-hl-container>*[data-v-45080727]{flex-shrink:0;box-sizing:border-box;min-height:1px}.v-hl-snap-start>*[data-v-45080727]{scroll-snap-align:start}.v-hl-snap-center>*[data-v-45080727]{scroll-snap-align:center}.v-hl-snap-end>*[data-v-45080727]{scroll-snap-align:end}.v-hl-container[data-v-45080727]:not(.v-hl-scroll){scrollbar-width:none;-ms-overflow-style:none;padding-bottom:30px;margin-bottom:-30px;clip-path:inset(0 0 30px 0)}.v-hl-container[data-v-45080727]:not(.v-hl-scroll)::-webkit-scrollbar{width:0!important;height:0!important}.v-hl-responsive>*[data-v-45080727]{width:100%;margin-right:24px}.v-hl-responsive[data-v-45080727]>:last-child{margin-right:0}@media (min-width:640px){.v-hl-responsive>*[data-v-45080727]{width:calc((100% - 24px)/ 2)}}@media (min-width:768px){.v-hl-responsive>*[data-v-45080727]{width:calc((100% - 48px)/ 3)}}@media (min-width:1024px){.v-hl-responsive>*[data-v-45080727]{width:calc((100% - 72px)/ 4)}}@media (min-width:1280px){.v-hl-responsive>*[data-v-45080727]{width:calc((100% - 96px)/ 5)}}",map:void 0,media:void 0})}),i,"data-v-45080727",!1,void 0,!1,r,void 0,void 0),d=function(t){d.installed||(d.installed=!0,t.component("VueHorizontal",c))},h={install:d},u=null;return"undefined"!=typeof window?u=window.Vue:"undefined"!=typeof global&&(u=global.Vue),u&&u.use(h),c.install=d,t.default=c,Object.defineProperty(t,"__esModule",{value:!0}),t}({},Vue); \ No newline at end of file diff --git a/src/renderer/style.less b/src/renderer/style.less index 4b88be9c..358d34c7 100644 --- a/src/renderer/style.less +++ b/src/renderer/style.less @@ -3751,14 +3751,6 @@ input[type="range"].web-slider.display--small::-webkit-slider-thumb { /* horizontal media scroller */ .cd-hmedia-scroller { - margin: 0 auto; - display: flex; - flex-flow: row; - overflow-x: scroll; - overflow-y: hidden; - height: 284px; - align-items: center; - &::-webkit-scrollbar-thumb { box-shadow: none; } @@ -3767,16 +3759,9 @@ input[type="range"].web-slider.display--small::-webkit-slider-thumb { box-shadow: inset 0px 0px 10px 10px rgb(200 200 200 / 50%); } - &.small { - overflow-x: overlay; - height: 210px; - } - &.hmedia-scroller-card { - height: 370px; - .mediaitem-card { - margin: 12px; + margin: 16px; } } } @@ -4047,7 +4032,7 @@ input[type="range"].web-slider.display--small::-webkit-slider-thumb { .cd-mediaitem-square-sp { --spcolor: var(""); width: 190px; - height: 250px; + height: 245px; display: inline-flex; flex: 0 0 auto; flex-direction: column; diff --git a/src/renderer/views/components/mediaitem-scroller-horizontal-large.ejs b/src/renderer/views/components/mediaitem-scroller-horizontal-large.ejs index a8c709f6..0c26d60d 100644 --- a/src/renderer/views/components/mediaitem-scroller-horizontal-large.ejs +++ b/src/renderer/views/components/mediaitem-scroller-horizontal-large.ejs @@ -1,10 +1,8 @@ diff --git a/src/renderer/views/components/mediaitem-scroller-horizontal-mvview.ejs b/src/renderer/views/components/mediaitem-scroller-horizontal-mvview.ejs index a9c3a036..0f3e7bd7 100644 --- a/src/renderer/views/components/mediaitem-scroller-horizontal-mvview.ejs +++ b/src/renderer/views/components/mediaitem-scroller-horizontal-mvview.ejs @@ -1,5 +1,5 @@ diff --git a/src/renderer/views/components/mediaitem-scroller-horizontal-sp.ejs b/src/renderer/views/components/mediaitem-scroller-horizontal-sp.ejs index f7a5e4b3..d83cd68e 100644 --- a/src/renderer/views/components/mediaitem-scroller-horizontal-sp.ejs +++ b/src/renderer/views/components/mediaitem-scroller-horizontal-sp.ejs @@ -1,9 +1,11 @@ diff --git a/src/renderer/views/components/mediaitem-scroller-horizontal.ejs b/src/renderer/views/components/mediaitem-scroller-horizontal.ejs index e1413c7c..b01bfd63 100644 --- a/src/renderer/views/components/mediaitem-scroller-horizontal.ejs +++ b/src/renderer/views/components/mediaitem-scroller-horizontal.ejs @@ -1,10 +1,10 @@ diff --git a/src/renderer/views/main.ejs b/src/renderer/views/main.ejs index a4710132..55b4403d 100644 --- a/src/renderer/views/main.ejs +++ b/src/renderer/views/main.ejs @@ -19,6 +19,8 @@ + + diff --git a/src/renderer/views/pages/artist-feed.ejs b/src/renderer/views/pages/artist-feed.ejs index 2a354bd8..9c34d485 100644 --- a/src/renderer/views/pages/artist-feed.ejs +++ b/src/renderer/views/pages/artist-feed.ejs @@ -8,18 +8,16 @@

{{app.getLz('home.followedArtists')}}

-
- -
- - -
-
-
+ +
+ + +
+
diff --git a/src/renderer/views/pages/cider-playlist.ejs b/src/renderer/views/pages/cider-playlist.ejs index a34b3f94..74c81f7e 100644 --- a/src/renderer/views/pages/cider-playlist.ejs +++ b/src/renderer/views/pages/cider-playlist.ejs @@ -169,8 +169,10 @@

{{ data.views[view].attributes.title }}

-
- +
+
+ +
diff --git a/src/renderer/views/pages/home.ejs b/src/renderer/views/pages/home.ejs index f91ada8c..0a1abbb8 100644 --- a/src/renderer/views/pages/home.ejs +++ b/src/renderer/views/pages/home.ejs @@ -53,9 +53,9 @@

{{app.getLz('home.madeForYou')}}

- + + +
@@ -71,10 +71,10 @@
- + :item="item"> +
@@ -86,7 +86,7 @@ \ No newline at end of file diff --git a/src/renderer/views/pages/zoo.ejs b/src/renderer/views/pages/zoo.ejs index 298659f0..6b065883 100644 --- a/src/renderer/views/pages/zoo.ejs +++ b/src/renderer/views/pages/zoo.ejs @@ -5,8 +5,5 @@ {{ $store.state.test }}
-
- -
From 7f0b2da0bef4166653888d098c8514ec479b5f49 Mon Sep 17 00:00:00 2001 From: vapormusic Date: Wed, 9 Feb 2022 19:23:40 +0700 Subject: [PATCH 097/573] fix web remote volume slider, #317, cant run yarn start --- src/main/base/plugins.ts | 21 ++++++++++++++++----- src/renderer/index.js | 5 ++++- src/web-remote/views/index.ejs | 2 +- 3 files changed, 21 insertions(+), 7 deletions(-) diff --git a/src/main/base/plugins.ts b/src/main/base/plugins.ts index f4f1d2ec..3dc77b0f 100644 --- a/src/main/base/plugins.ts +++ b/src/main/base/plugins.ts @@ -33,13 +33,24 @@ export class Plugins { if (fs.existsSync(this.userPluginsPath)) { fs.readdirSync(this.userPluginsPath).forEach(file => { if (file.endsWith('.ts') || file.endsWith('.js')) { - const plugin = require(path.join(this.userPluginsPath, file)); - file = file.replace('.ts', '').replace('.js', ''); - if (plugins[file] || plugin in plugins) { - console.log(`[${plugin.name}] Plugin already loaded / Duplicate Class Name`); + if (!electron.app.isPackaged) { + const plugin = require(path.join(this.userPluginsPath, file)).default; + file = file.replace('.ts', '').replace('.js', ''); + if (plugins[file] || plugin in plugins) { + console.log(`[${plugin.name}] Plugin already loaded / Duplicate Class Name`); + } else { + plugins[file] = new plugin(electron.app, utils.getStore()); + } } else { - plugins[file] = new plugin(electron.app, utils.getStore()); + const plugin = require(path.join(this.userPluginsPath, file)); + file = file.replace('.ts', '').replace('.js', ''); + if (plugins[file] || plugin in plugins) { + console.log(`[${plugin.name}] Plugin already loaded / Duplicate Class Name`); + } else { + plugins[file] = new plugin(electron.app, utils.getStore()); + } } + } }); } diff --git a/src/renderer/index.js b/src/renderer/index.js index 23be9306..b50e35a7 100644 --- a/src/renderer/index.js +++ b/src/renderer/index.js @@ -293,7 +293,10 @@ const app = new Vue({ }, mainMenuVisibility(val) { if (val) { - (this.chrome.userinfo.id) ? this.chrome.menuOpened = !this.chrome.menuOpened : false + (this.mk.isAuthorized) ? this.chrome.menuOpened = !this.chrome.menuOpened : false; + if (!this.mk.isAuthorized){ + this.mk.authorize() + } } else { setTimeout(() => { this.chrome.menuOpened = false diff --git a/src/web-remote/views/index.ejs b/src/web-remote/views/index.ejs index de38dc44..9a6ec9a6 100644 --- a/src/web-remote/views/index.ejs +++ b/src/web-remote/views/index.ejs @@ -172,7 +172,7 @@
-
From cb7c6e092299b68ea39c1728baa257f929d2e016 Mon Sep 17 00:00:00 2001 From: booploops <49113086+booploops@users.noreply.github.com> Date: Wed, 9 Feb 2022 04:27:25 -0800 Subject: [PATCH 098/573] added listitem-horizontal --- src/main/base/browserwindow.ts | 1 + src/renderer/index.js | 7 + src/renderer/less/bootstrap.less | 5053 ++++++++++++++++- src/renderer/style.less | 27 +- .../views/components/listitem-horizontal.ejs | 43 + src/renderer/views/pages/artist.ejs | 47 +- src/renderer/views/pages/home.ejs | 16 +- 7 files changed, 5143 insertions(+), 51 deletions(-) create mode 100644 src/renderer/views/components/listitem-horizontal.ejs diff --git a/src/main/base/browserwindow.ts b/src/main/base/browserwindow.ts index 991ccbdf..ef6a0b94 100644 --- a/src/main/base/browserwindow.ts +++ b/src/main/base/browserwindow.ts @@ -66,6 +66,7 @@ export class BrowserWindow { "components/listennow-child", "components/mediaitem-mvview-sp", "components/animatedartwork-view", + "components/listitem-horizontal", "components/lyrics-view", "components/fullscreen", "components/miniplayer", diff --git a/src/renderer/index.js b/src/renderer/index.js index 23be9306..72e5e535 100644 --- a/src/renderer/index.js +++ b/src/renderer/index.js @@ -3569,6 +3569,13 @@ const app = new Vue({ darwinShare(url) { ipcRenderer.send('share-menu', url) }, + arrayToChunk(arr, chunkSize) { + let R = []; + for (let i = 0, len = arr.length; i < len; i += chunkSize) { + R.push(arr.slice(i, i + chunkSize)); + } + return R; + } } }) diff --git a/src/renderer/less/bootstrap.less b/src/renderer/less/bootstrap.less index 6dfc7821..4a7dd9d5 100644 --- a/src/renderer/less/bootstrap.less +++ b/src/renderer/less/bootstrap.less @@ -1104,4 +1104,5055 @@ fieldset:disabled .btn { .form-control { width:100%; -} \ No newline at end of file +} + +/*! + * Bootstrap Grid v5.1.1 (https://getbootstrap.com/) + * Copyright 2011-2021 The Bootstrap Authors + * Copyright 2011-2021 Twitter, Inc. + * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE) + */ + :root { + --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-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-white-rgb: 255, 255, 255; + --bs-black-rgb: 0, 0, 0; + --bs-body-color-rgb: 33, 37, 41; + --bs-body-bg-rgb: 255, 255, 255; + --bs-font-sans-serif: system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", Arial, "Noto Sans", "Liberation Sans", 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-bg: #fff; + } + + .container, + .container-fluid, + .container-xxl, + .container-xl, + .container-lg, + .container-md, + .container-sm { + width: 100%; + padding-right: var(--bs-gutter-x, 0.75rem); + padding-left: var(--bs-gutter-x, 0.75rem); + margin-right: auto; + margin-left: auto; + } + + @media (min-width: 576px) { + .container-sm, .container { + max-width: 540px; + } + } + @media (min-width: 768px) { + .container-md, .container-sm, .container { + max-width: 720px; + } + } + @media (min-width: 992px) { + .container-lg, .container-md, .container-sm, .container { + max-width: 960px; + } + } + @media (min-width: 1200px) { + .container-xl, .container-lg, .container-md, .container-sm, .container { + max-width: 1140px; + } + } + @media (min-width: 1400px) { + .container-xxl, .container-xl, .container-lg, .container-md, .container-sm, .container { + max-width: 1320px; + } + } + .row { + --bs-gutter-x: 1.5rem; + --bs-gutter-y: 0; + display: flex; + flex-wrap: wrap; + margin-top: calc(var(--bs-gutter-y) * -1); + margin-right: calc(var(--bs-gutter-x) * -.5); + margin-left: calc(var(--bs-gutter-x) * -.5); + } + .row > * { + box-sizing: border-box; + 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.3333333333%; + } + + .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.6666666667%; + } + + .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.3333333333%; + } + + .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.6666666667%; + } + + .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.3333333333%; + } + + .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.6666666667%; + } + + .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.3333333333%; + } + + .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.6666666667%; + } + + .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.3333333333%; + } + + .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.6666666667%; + } + + .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.3333333333%; + } + + .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.6666666667%; + } + + .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; + } + } + .d-inline { + display: inline !important; + } + + .d-inline-block { + display: inline-block !important; + } + + .d-block { + display: block !important; + } + + .d-grid { + display: 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; + } + + .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: 0.25rem !important; + } + + .m-2 { + margin: 0.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: 0.25rem !important; + margin-left: 0.25rem !important; + } + + .mx-2 { + margin-right: 0.5rem !important; + margin-left: 0.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: 0.25rem !important; + margin-bottom: 0.25rem !important; + } + + .my-2 { + margin-top: 0.5rem !important; + margin-bottom: 0.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: 0.25rem !important; + } + + .mt-2 { + margin-top: 0.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: 0.25rem !important; + } + + .me-2 { + margin-right: 0.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: 0.25rem !important; + } + + .mb-2 { + margin-bottom: 0.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: 0.25rem !important; + } + + .ms-2 { + margin-left: 0.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: 0.25rem !important; + } + + .p-2 { + padding: 0.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: 0.25rem !important; + padding-left: 0.25rem !important; + } + + .px-2 { + padding-right: 0.5rem !important; + padding-left: 0.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: 0.25rem !important; + padding-bottom: 0.25rem !important; + } + + .py-2 { + padding-top: 0.5rem !important; + padding-bottom: 0.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: 0.25rem !important; + } + + .pt-2 { + padding-top: 0.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: 0.25rem !important; + } + + .pe-2 { + padding-right: 0.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: 0.25rem !important; + } + + .pb-2 { + padding-bottom: 0.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: 0.25rem !important; + } + + .ps-2 { + padding-left: 0.5rem !important; + } + + .ps-3 { + padding-left: 1rem !important; + } + + .ps-4 { + padding-left: 1.5rem !important; + } + + .ps-5 { + padding-left: 3rem !important; + } + + @media (min-width: 576px) { + .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-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: 0.25rem !important; + } + + .m-sm-2 { + margin: 0.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: 0.25rem !important; + margin-left: 0.25rem !important; + } + + .mx-sm-2 { + margin-right: 0.5rem !important; + margin-left: 0.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: 0.25rem !important; + margin-bottom: 0.25rem !important; + } + + .my-sm-2 { + margin-top: 0.5rem !important; + margin-bottom: 0.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: 0.25rem !important; + } + + .mt-sm-2 { + margin-top: 0.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: 0.25rem !important; + } + + .me-sm-2 { + margin-right: 0.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: 0.25rem !important; + } + + .mb-sm-2 { + margin-bottom: 0.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: 0.25rem !important; + } + + .ms-sm-2 { + margin-left: 0.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: 0.25rem !important; + } + + .p-sm-2 { + padding: 0.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: 0.25rem !important; + padding-left: 0.25rem !important; + } + + .px-sm-2 { + padding-right: 0.5rem !important; + padding-left: 0.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: 0.25rem !important; + padding-bottom: 0.25rem !important; + } + + .py-sm-2 { + padding-top: 0.5rem !important; + padding-bottom: 0.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: 0.25rem !important; + } + + .pt-sm-2 { + padding-top: 0.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: 0.25rem !important; + } + + .pe-sm-2 { + padding-right: 0.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: 0.25rem !important; + } + + .pb-sm-2 { + padding-bottom: 0.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: 0.25rem !important; + } + + .ps-sm-2 { + padding-left: 0.5rem !important; + } + + .ps-sm-3 { + padding-left: 1rem !important; + } + + .ps-sm-4 { + padding-left: 1.5rem !important; + } + + .ps-sm-5 { + padding-left: 3rem !important; + } + } + @media (min-width: 768px) { + .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-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: 0.25rem !important; + } + + .m-md-2 { + margin: 0.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: 0.25rem !important; + margin-left: 0.25rem !important; + } + + .mx-md-2 { + margin-right: 0.5rem !important; + margin-left: 0.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: 0.25rem !important; + margin-bottom: 0.25rem !important; + } + + .my-md-2 { + margin-top: 0.5rem !important; + margin-bottom: 0.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: 0.25rem !important; + } + + .mt-md-2 { + margin-top: 0.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: 0.25rem !important; + } + + .me-md-2 { + margin-right: 0.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: 0.25rem !important; + } + + .mb-md-2 { + margin-bottom: 0.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: 0.25rem !important; + } + + .ms-md-2 { + margin-left: 0.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: 0.25rem !important; + } + + .p-md-2 { + padding: 0.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: 0.25rem !important; + padding-left: 0.25rem !important; + } + + .px-md-2 { + padding-right: 0.5rem !important; + padding-left: 0.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: 0.25rem !important; + padding-bottom: 0.25rem !important; + } + + .py-md-2 { + padding-top: 0.5rem !important; + padding-bottom: 0.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: 0.25rem !important; + } + + .pt-md-2 { + padding-top: 0.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: 0.25rem !important; + } + + .pe-md-2 { + padding-right: 0.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: 0.25rem !important; + } + + .pb-md-2 { + padding-bottom: 0.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: 0.25rem !important; + } + + .ps-md-2 { + padding-left: 0.5rem !important; + } + + .ps-md-3 { + padding-left: 1rem !important; + } + + .ps-md-4 { + padding-left: 1.5rem !important; + } + + .ps-md-5 { + padding-left: 3rem !important; + } + } + @media (min-width: 992px) { + .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-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: 0.25rem !important; + } + + .m-lg-2 { + margin: 0.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: 0.25rem !important; + margin-left: 0.25rem !important; + } + + .mx-lg-2 { + margin-right: 0.5rem !important; + margin-left: 0.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: 0.25rem !important; + margin-bottom: 0.25rem !important; + } + + .my-lg-2 { + margin-top: 0.5rem !important; + margin-bottom: 0.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: 0.25rem !important; + } + + .mt-lg-2 { + margin-top: 0.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: 0.25rem !important; + } + + .me-lg-2 { + margin-right: 0.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: 0.25rem !important; + } + + .mb-lg-2 { + margin-bottom: 0.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: 0.25rem !important; + } + + .ms-lg-2 { + margin-left: 0.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: 0.25rem !important; + } + + .p-lg-2 { + padding: 0.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: 0.25rem !important; + padding-left: 0.25rem !important; + } + + .px-lg-2 { + padding-right: 0.5rem !important; + padding-left: 0.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: 0.25rem !important; + padding-bottom: 0.25rem !important; + } + + .py-lg-2 { + padding-top: 0.5rem !important; + padding-bottom: 0.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: 0.25rem !important; + } + + .pt-lg-2 { + padding-top: 0.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: 0.25rem !important; + } + + .pe-lg-2 { + padding-right: 0.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: 0.25rem !important; + } + + .pb-lg-2 { + padding-bottom: 0.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: 0.25rem !important; + } + + .ps-lg-2 { + padding-left: 0.5rem !important; + } + + .ps-lg-3 { + padding-left: 1rem !important; + } + + .ps-lg-4 { + padding-left: 1.5rem !important; + } + + .ps-lg-5 { + padding-left: 3rem !important; + } + } + @media (min-width: 1200px) { + .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-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: 0.25rem !important; + } + + .m-xl-2 { + margin: 0.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: 0.25rem !important; + margin-left: 0.25rem !important; + } + + .mx-xl-2 { + margin-right: 0.5rem !important; + margin-left: 0.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: 0.25rem !important; + margin-bottom: 0.25rem !important; + } + + .my-xl-2 { + margin-top: 0.5rem !important; + margin-bottom: 0.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: 0.25rem !important; + } + + .mt-xl-2 { + margin-top: 0.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: 0.25rem !important; + } + + .me-xl-2 { + margin-right: 0.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: 0.25rem !important; + } + + .mb-xl-2 { + margin-bottom: 0.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: 0.25rem !important; + } + + .ms-xl-2 { + margin-left: 0.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: 0.25rem !important; + } + + .p-xl-2 { + padding: 0.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: 0.25rem !important; + padding-left: 0.25rem !important; + } + + .px-xl-2 { + padding-right: 0.5rem !important; + padding-left: 0.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: 0.25rem !important; + padding-bottom: 0.25rem !important; + } + + .py-xl-2 { + padding-top: 0.5rem !important; + padding-bottom: 0.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: 0.25rem !important; + } + + .pt-xl-2 { + padding-top: 0.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: 0.25rem !important; + } + + .pe-xl-2 { + padding-right: 0.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: 0.25rem !important; + } + + .pb-xl-2 { + padding-bottom: 0.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: 0.25rem !important; + } + + .ps-xl-2 { + padding-left: 0.5rem !important; + } + + .ps-xl-3 { + padding-left: 1rem !important; + } + + .ps-xl-4 { + padding-left: 1.5rem !important; + } + + .ps-xl-5 { + padding-left: 3rem !important; + } + } + @media (min-width: 1400px) { + .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-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: 0.25rem !important; + } + + .m-xxl-2 { + margin: 0.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: 0.25rem !important; + margin-left: 0.25rem !important; + } + + .mx-xxl-2 { + margin-right: 0.5rem !important; + margin-left: 0.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: 0.25rem !important; + margin-bottom: 0.25rem !important; + } + + .my-xxl-2 { + margin-top: 0.5rem !important; + margin-bottom: 0.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: 0.25rem !important; + } + + .mt-xxl-2 { + margin-top: 0.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: 0.25rem !important; + } + + .me-xxl-2 { + margin-right: 0.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: 0.25rem !important; + } + + .mb-xxl-2 { + margin-bottom: 0.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: 0.25rem !important; + } + + .ms-xxl-2 { + margin-left: 0.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: 0.25rem !important; + } + + .p-xxl-2 { + padding: 0.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: 0.25rem !important; + padding-left: 0.25rem !important; + } + + .px-xxl-2 { + padding-right: 0.5rem !important; + padding-left: 0.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: 0.25rem !important; + padding-bottom: 0.25rem !important; + } + + .py-xxl-2 { + padding-top: 0.5rem !important; + padding-bottom: 0.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: 0.25rem !important; + } + + .pt-xxl-2 { + padding-top: 0.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: 0.25rem !important; + } + + .pe-xxl-2 { + padding-right: 0.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: 0.25rem !important; + } + + .pb-xxl-2 { + padding-bottom: 0.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: 0.25rem !important; + } + + .ps-xxl-2 { + padding-left: 0.5rem !important; + } + + .ps-xxl-3 { + padding-left: 1rem !important; + } + + .ps-xxl-4 { + padding-left: 1.5rem !important; + } + + .ps-xxl-5 { + padding-left: 3rem !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-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; + } + } + \ No newline at end of file diff --git a/src/renderer/style.less b/src/renderer/style.less index 358d34c7..38b8251b 100644 --- a/src/renderer/style.less +++ b/src/renderer/style.less @@ -2977,7 +2977,7 @@ input[type="range"].web-slider.display--small::-webkit-slider-thumb { padding-top: var(--navigationBarHeight); .playlist-body { - padding: 0px var(--contentInnerPadding) 0px var(--contentInnerPadding); + padding: var(--contentInnerPadding) 2em; margin-top: -75px; } @@ -3445,7 +3445,7 @@ input[type="range"].web-slider.display--small::-webkit-slider-thumb { .artist-body { padding: 0px var(--contentInnerPadding) 0px var(--contentInnerPadding); - margin-top: -140px; + margin: -140px 20px; } &.animated > .artist-body { @@ -5410,26 +5410,19 @@ input[type="range"].web-slider.display--small::-webkit-slider-thumb { // Cider App +.listitem-horizontal { + .cd-mediaitem-list-item { + width: 350px; + height: 60px; + } +} + .mediaitem-list-item__grid { - overflow-x: overlay; - overflow-y: hidden; background: rgba(200, 200, 200, 0.05); border-radius: 10px; padding: var(--contentInnerPadding); box-shadow: rgba(0, 0, 0, 0.08) 0px 0px 0px 1px; - height: 300px; - display: flex; - align-items: center; - - .grid-body { - display: grid; - grid-auto-flow: column dense; - grid-template-rows: auto auto auto auto; - grid-gap: 0 6px; - padding: 2px 0; - justify-content: left; - width: 0; - } + width: 100%; .cd-mediaitem-list-item { width: 350px; diff --git a/src/renderer/views/components/listitem-horizontal.ejs b/src/renderer/views/components/listitem-horizontal.ejs new file mode 100644 index 00000000..73d74838 --- /dev/null +++ b/src/renderer/views/components/listitem-horizontal.ejs @@ -0,0 +1,43 @@ + + + \ No newline at end of file diff --git a/src/renderer/views/pages/artist.ejs b/src/renderer/views/pages/artist.ejs index d6c69394..07361202 100644 --- a/src/renderer/views/pages/artist.ejs +++ b/src/renderer/views/pages/artist.ejs @@ -57,35 +57,32 @@
-
+
+

{{app.getLz('term.latestReleases')}}

+
+ + +
+
+
-
-

{{app.getLz('term.latestReleases')}}

-
- - -
+
+

{{app.getLz('term.topSongs')}}

-
-
-
-

{{app.getLz('term.topSongs')}}

-
-
- -
-
-
-
- -
-
+
+
+
+
+
+ + +
+
+
+
diff --git a/src/renderer/views/pages/home.ejs b/src/renderer/views/pages/home.ejs index 0a1abbb8..f0350c49 100644 --- a/src/renderer/views/pages/home.ejs +++ b/src/renderer/views/pages/home.ejs @@ -3,11 +3,11 @@
-
-
+
+

{{app.getLz('home.recentlyPlayed')}}

-
+
@@ -20,11 +20,11 @@
-
-
+
+

{{app.getLz('home.artistsFeed')}}

-
+
@@ -63,10 +63,10 @@
-
+

{{app.getLz('home.friendsListeningTo')}}

-
+
From 9b574a1919213e47dd0dd1e99e764b72c329eaa5 Mon Sep 17 00:00:00 2001 From: vapormusic Date: Wed, 9 Feb 2022 21:17:10 +0700 Subject: [PATCH 099/573] use play button instead of add for library adding for album --- .gitignore | 5 +++++ src/renderer/views/components/mediaitem-list-item.ejs | 5 ++++- 2 files changed, 9 insertions(+), 1 deletion(-) diff --git a/.gitignore b/.gitignore index a7130433..f2383b33 100644 --- a/.gitignore +++ b/.gitignore @@ -319,3 +319,8 @@ keys.sh package-lock.json yarn.lock resources/b64.txt + + +savedconfig/cider-config.json +savedconfig/config.json +savedconfig/session.json diff --git a/src/renderer/views/components/mediaitem-list-item.ejs b/src/renderer/views/components/mediaitem-list-item.ejs index 132d7b24..76487b1e 100644 --- a/src/renderer/views/components/mediaitem-list-item.ejs +++ b/src/renderer/views/components/mediaitem-list-item.ejs @@ -16,9 +16,12 @@ + + + + +
\ No newline at end of file diff --git a/src/renderer/views/pages/home.ejs b/src/renderer/views/pages/home.ejs index 226dc360..e278248c 100644 --- a/src/renderer/views/pages/home.ejs +++ b/src/renderer/views/pages/home.ejs @@ -51,7 +51,14 @@
-

{{app.getLz('home.madeForYou')}}

+
+
+

{{app.getLz('home.madeForYou')}}

+
+
+ +
+
diff --git a/src/renderer/views/pages/replay.ejs b/src/renderer/views/pages/replay.ejs new file mode 100644 index 00000000..b41eb62d --- /dev/null +++ b/src/renderer/views/pages/replay.ejs @@ -0,0 +1,95 @@ + + \ No newline at end of file From 4e569365f8126f61937862f3d5c8f9d951a73b31 Mon Sep 17 00:00:00 2001 From: booploops <49113086+booploops@users.noreply.github.com> Date: Thu, 17 Feb 2022 02:08:28 -0800 Subject: [PATCH 295/573] replay, added this year --- .../views/components/listitem-horizontal.ejs | 6 +++++- .../views/components/mediaitem-list-item.ejs | 3 +++ src/renderer/views/pages/replay.ejs | 17 +++++++++-------- 3 files changed, 17 insertions(+), 9 deletions(-) diff --git a/src/renderer/views/components/listitem-horizontal.ejs b/src/renderer/views/components/listitem-horizontal.ejs index a8df81f4..0ee1bfaa 100644 --- a/src/renderer/views/components/listitem-horizontal.ejs +++ b/src/renderer/views/components/listitem-horizontal.ejs @@ -3,7 +3,7 @@
@@ -19,6 +19,10 @@ items: { type: Array, required: true + }, + "show-library-status": { + type: Boolean, + default: true } }, data: function () { diff --git a/src/renderer/views/components/mediaitem-list-item.ejs b/src/renderer/views/components/mediaitem-list-item.ejs index fc671c53..44288389 100644 --- a/src/renderer/views/components/mediaitem-list-item.ejs +++ b/src/renderer/views/components/mediaitem-list-item.ejs @@ -74,6 +74,9 @@
{{ msToMinSec(item.attributes.durationInMillis ?? 0) }}
+
+ {{ item.attributes.playCount }} +
diff --git a/src/renderer/views/pages/replay.ejs b/src/renderer/views/pages/replay.ejs index b41eb62d..7cb9c60c 100644 --- a/src/renderer/views/pages/replay.ejs +++ b/src/renderer/views/pages/replay.ejs @@ -1,8 +1,8 @@ diff --git a/src/renderer/views/pages/home.ejs b/src/renderer/views/pages/home.ejs index 226dc360..45fe4b57 100644 --- a/src/renderer/views/pages/home.ejs +++ b/src/renderer/views/pages/home.ejs @@ -49,9 +49,21 @@ +
+
+ +
+
-

{{app.getLz('home.madeForYou')}}

+
+
+

{{app.getLz('home.madeForYou')}}

+
+
+ +
+
@@ -98,7 +110,9 @@ artistFeed: [], showingArtistFeed: false, page: "main", - sectionsReady: [] + sectionsReady: [], + year: new Date().getFullYear(), + seenReplay: localStorage.getItem('seenReplay') } }, async mounted() { @@ -106,6 +120,10 @@ this.getListenNowData() await this.getArtistFeed() await this.getFavorites() + if (new Date().getMonth() == 11) { + this.seenReplay = false + localStorage.setItem('seenReplay', false) + } }, methods: { async seeAllHistory() { diff --git a/src/renderer/views/pages/library-songs.ejs b/src/renderer/views/pages/library-songs.ejs index 567d2884..b2e27ab5 100644 --- a/src/renderer/views/pages/library-songs.ejs +++ b/src/renderer/views/pages/library-songs.ejs @@ -15,8 +15,16 @@ v-model="library.songs.search" class="search-input">
-
+
+ +
-
-
- {{$root.getLz('settings.option.experimental.copy_log')}} -
-
- -
-
@@ -791,6 +811,9 @@ ipcRenderer.send('fetch-log') notyf.success(app.getLz('term.share.success')); }, + openAppData() { + ipcRenderer.send('open-appdata') + }, getLanguages: function () { let langs = this.$root.lzListing let categories = { From 951053ed46886b26cc166df296d8982bca704feb Mon Sep 17 00:00:00 2001 From: booploops <49113086+booploops@users.noreply.github.com> Date: Thu, 17 Feb 2022 19:31:17 -0800 Subject: [PATCH 311/573] added force-video to mediaitem-square --- src/renderer/less/pages.less | 25 +++++++++++++++++++ .../views/components/mediaitem-square.ejs | 5 ++++ src/renderer/views/pages/replay.ejs | 17 ++++++++++--- 3 files changed, 43 insertions(+), 4 deletions(-) diff --git a/src/renderer/less/pages.less b/src/renderer/less/pages.less index ee7ba294..013a4d72 100644 --- a/src/renderer/less/pages.less +++ b/src/renderer/less/pages.less @@ -924,6 +924,31 @@ } } + .replay-playlist-container { + .cd-mediaitem-square { + height: 230px; + width: 230px; + .info-rect { + display: none; + } + } + } + + .replay-video { + max-height: 300px; + max-width: 800px; + margin: 0 auto; + + .mediaitem-artwork { + max-height: 300px; + max-width: 800px; + } + + .mediaitem-artwork .animatedartwork-view-box .animated video { + object-fit: cover; + } + } + .top-genres-container { .genre-name { diff --git a/src/renderer/views/components/mediaitem-square.ejs b/src/renderer/views/components/mediaitem-square.ejs index 4248f1b7..6be015b1 100644 --- a/src/renderer/views/components/mediaitem-square.ejs +++ b/src/renderer/views/components/mediaitem-square.ejs @@ -12,6 +12,7 @@ :size="size" shadow="subtle" :bgcolor="getBgColor()" + :video-priority="forceVideo" :type="item.type">
@@ -103,7 +103,7 @@ Simulates the analog warmth modelled after the Korg Nutube 6P1
- +
@@ -149,7 +149,7 @@ {{$root.getLz('settings.option.audio.enableAdvancedFunctionality.audioSpatialization.description')}}
- +
From 28ac72ed3459dbba8925a567be37d5c21730f17a Mon Sep 17 00:00:00 2001 From: vapormusic Date: Fri, 18 Feb 2022 14:35:15 +0700 Subject: [PATCH 319/573] fix playlist on listen now --- src/renderer/index.js | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/src/renderer/index.js b/src/renderer/index.js index c0b0442d..e8c19593 100644 --- a/src/renderer/index.js +++ b/src/renderer/index.js @@ -1319,6 +1319,14 @@ const app = new Vue({ extend: "offers,editorialVideo", "views": "appears-on,more-by-artist,related-videos,other-versions,you-might-also-like,video-extras,audio-extras", } + if (kind.includes("playlist")){ + params["include"] = "tracks"; + } + if (kind.includes("album")){ + params["include[albums]"] = "artists" + params["fields[artists]"] = "name,url" + params["fields[albums]"] = "artistName,artistUrl,artwork,contentRating,editorialArtwork,name,playParams,releaseDate,url" + } if (this.cfg.advanced.experiments.includes('inline-playlists')) { let showModal = kind.toString().includes("album") || kind.toString().includes("playlist") From 1aec27bc839b0ddcdeb3bd2ad1f5b938d42d4f8e Mon Sep 17 00:00:00 2001 From: vapormusic Date: Fri, 18 Feb 2022 21:38:30 +0700 Subject: [PATCH 320/573] fix #474 --- src/renderer/index.js | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/src/renderer/index.js b/src/renderer/index.js index e208b8e4..cb2ed420 100644 --- a/src/renderer/index.js +++ b/src/renderer/index.js @@ -3253,8 +3253,8 @@ const app = new Vue({ }, async getRating(item) { let type = item.type.slice(-1) === "s" ? item.type : item.type + "s" - let id = item.attributes.playParams.catalogId ? item.attributes.playParams.catalogId : item.id - if (item.id.startsWith("i.")) { + let id = item.attributes?.playParams?.catalogId ? item.attributes.playParams.catalogId : (item.attributes?.playParams?.id ?? item.id) + if (item.id && item.id.startsWith("i.")) { if (!type.startsWith("library-")) { type = "library-" + type } @@ -3270,8 +3270,8 @@ const app = new Vue({ }, love(item) { let type = item.type.slice(-1) === "s" ? item.type : item.type + "s" - let id = item.attributes.playParams.catalogId ? item.attributes.playParams.catalogId : item.id - if (item.id.startsWith("i.")) { + let id = item.attributes?.playParams?.catalogId ? item.attributes.playParams.catalogId : (item.attributes?.playParams?.id ?? item.id) + if (item.id && item.id.startsWith("i.")) { if (!type.startsWith("library-")) { type = "library-" + type } @@ -3291,8 +3291,8 @@ const app = new Vue({ }, dislike(item) { let type = item.type.slice(-1) === "s" ? item.type : item.type + "s" - let id = item.attributes.playParams.catalogId ? item.attributes.playParams.catalogId : item.id - if (item.id.startsWith("i.")) { + let id = item.attributes?.playParams?.catalogId ? item.attributes.playParams.catalogId : (item.attributes?.playParams?.id ?? item.id) + if (item.id && item.id.startsWith("i.")) { if (!type.startsWith("library-")) { type = "library-" + type } From 99425e65c32ca143153569ad66b78f8ec8470756 Mon Sep 17 00:00:00 2001 From: vapormusic Date: Fri, 18 Feb 2022 21:53:31 +0700 Subject: [PATCH 321/573] ok --- src/renderer/index.js | 8 ++++---- src/renderer/views/components/mediaitem-list-item.ejs | 2 +- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/src/renderer/index.js b/src/renderer/index.js index cb2ed420..1bacbad9 100644 --- a/src/renderer/index.js +++ b/src/renderer/index.js @@ -3254,7 +3254,7 @@ const app = new Vue({ async getRating(item) { let type = item.type.slice(-1) === "s" ? item.type : item.type + "s" let id = item.attributes?.playParams?.catalogId ? item.attributes.playParams.catalogId : (item.attributes?.playParams?.id ?? item.id) - if (item.id && item.id.startsWith("i.")) { + if (item.id != null && (item.id.toString()).startsWith("i.")) { if (!type.startsWith("library-")) { type = "library-" + type } @@ -3271,7 +3271,7 @@ const app = new Vue({ love(item) { let type = item.type.slice(-1) === "s" ? item.type : item.type + "s" let id = item.attributes?.playParams?.catalogId ? item.attributes.playParams.catalogId : (item.attributes?.playParams?.id ?? item.id) - if (item.id && item.id.startsWith("i.")) { + if (item.id != null && (item.id.toString()).startsWith("i.")) { if (!type.startsWith("library-")) { type = "library-" + type } @@ -3292,7 +3292,7 @@ const app = new Vue({ dislike(item) { let type = item.type.slice(-1) === "s" ? item.type : item.type + "s" let id = item.attributes?.playParams?.catalogId ? item.attributes.playParams.catalogId : (item.attributes?.playParams?.id ?? item.id) - if (item.id && item.id.startsWith("i.")) { + if (item.id != null && (item.id.toString()).startsWith("i.")) { if (!type.startsWith("library-")) { type = "library-" + type } @@ -3860,7 +3860,7 @@ function fallbackinitMusicKit() { }, sourceType: 24, suppressErrorDialog: true - }); + }) setTimeout(() => { app.init() }, 1000) diff --git a/src/renderer/views/components/mediaitem-list-item.ejs b/src/renderer/views/components/mediaitem-list-item.ejs index 44288389..a3c4f621 100644 --- a/src/renderer/views/components/mediaitem-list-item.ejs +++ b/src/renderer/views/components/mediaitem-list-item.ejs @@ -474,7 +474,7 @@ menus.normal.headerItems.find(x => x.id == 'dislike').hidden = true } } catch (err) { - + console.log(err) } }, visibilityChanged: function (isVisible, entry) { From bb8e22cf9388a48a13d65ee8dccbd2162c6d8bd4 Mon Sep 17 00:00:00 2001 From: vapormusic Date: Fri, 18 Feb 2022 22:50:02 +0700 Subject: [PATCH 322/573] back button & media keys improvement --- src/main/base/wsapi.ts | 5 ++++- src/preload/cider-preload.js | 3 +++ src/renderer/index.js | 13 ++++++++++++- 3 files changed, 19 insertions(+), 2 deletions(-) diff --git a/src/main/base/wsapi.ts b/src/main/base/wsapi.ts index 619a0ac6..bb48d86a 100644 --- a/src/main/base/wsapi.ts +++ b/src/main/base/wsapi.ts @@ -183,7 +183,10 @@ export class wsapi { break; case "next": this._win.webContents.executeJavaScript(`if (MusicKit.getInstance().queue.nextPlayableItemIndex != -1 && MusicKit.getInstance().queue.nextPlayableItemIndex != null) { - MusicKit.getInstance().changeToMediaAtIndex(MusicKit.getInstance().queue.nextPlayableItemIndex);}`); + try { + app.prevButtonBackIndicator = false; + } catch (e) { } + MusicKit.getInstance().changeToMediaAtIndex(MusicKit.getInstance().queue.nextPlayableItemIndex);}`); response.message = "Next"; break; case "previous": diff --git a/src/preload/cider-preload.js b/src/preload/cider-preload.js index 243b7951..84a55e91 100644 --- a/src/preload/cider-preload.js +++ b/src/preload/cider-preload.js @@ -136,6 +136,9 @@ const MusicKitInterop = { }, next: () => { + try { + app.prevButtonBackIndicator = false; + } catch (e) { } if (MusicKit.getInstance().queue.nextPlayableItemIndex != -1 && MusicKit.getInstance().queue.nextPlayableItemIndex != null) MusicKit.getInstance().changeToMediaAtIndex(MusicKit.getInstance().queue.nextPlayableItemIndex); // MusicKit.getInstance().skipToNextItem().then(r => console.log(`[MusicKitInterop.next] Skipping to Next ${r}`)); diff --git a/src/renderer/index.js b/src/renderer/index.js index 1bacbad9..7daaa4b2 100644 --- a/src/renderer/index.js +++ b/src/renderer/index.js @@ -250,7 +250,8 @@ const app = new Vue({ items: {}, headerItems: {} } - } + }, + pauseButtonTimer : null }, watch: { cfg: { @@ -813,6 +814,8 @@ const app = new Vue({ this.page = "home" } + this.mediaKeyFixes() + setTimeout(() => { this.getSocialBadges() this.getBrowsePage(); @@ -1355,8 +1358,11 @@ const app = new Vue({ prevButton() { if (!app.prevButtonBackIndicator && app.mk.nowPlayingItem && app.mk.currentPlaybackTime > 2) { app.prevButtonBackIndicator = true; + try{clearTimeout(app.pauseButtonTimer)} catch (e){ } app.mk.seekToTime(0); + app.pauseButtonTimer = setTimeout(app.prevButtonBackIndicator = false,3000); } else { + try{clearTimeout(app.pauseButtonTimer)} catch (e){ } app.prevButtonBackIndicator = false; app.skipToPreviousItem() } @@ -3743,6 +3749,7 @@ const app = new Vue({ } }, skipToNextItem(){ + app.prevButtonBackIndicator = false; // app.mk.skipToNextItem() is buggy somehow so use this if (this.mk.queue.nextPlayableItemIndex != -1 && this.mk.queue.nextPlayableItemIndex != null) this.mk.changeToMediaAtIndex(this.mk.queue.nextPlayableItemIndex); @@ -3751,6 +3758,10 @@ const app = new Vue({ // app.mk.skipToPreviousItem() is buggy somehow so use this if (this.mk.queue.previousPlayableItemIndex != -1 && this.mk.queue.previousPlayableItemIndex != null) this.mk.changeToMediaAtIndex(this.mk.queue.previousPlayableItemIndex); + }, + mediaKeyFixes(){ + navigator.mediaSession.setActionHandler('previoustrack', function() { app.prevButton() }); + navigator.mediaSession.setActionHandler('nexttrack', function() { app.skipToNextItem() }); } } }) From a2e44ed0e8be3a79f961abecbffe77f75a5d6a38 Mon Sep 17 00:00:00 2001 From: vapormusic Date: Fri, 18 Feb 2022 22:50:46 +0700 Subject: [PATCH 323/573] ok --- src/renderer/index.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/renderer/index.js b/src/renderer/index.js index 7daaa4b2..a08eeb2d 100644 --- a/src/renderer/index.js +++ b/src/renderer/index.js @@ -1360,7 +1360,7 @@ const app = new Vue({ app.prevButtonBackIndicator = true; try{clearTimeout(app.pauseButtonTimer)} catch (e){ } app.mk.seekToTime(0); - app.pauseButtonTimer = setTimeout(app.prevButtonBackIndicator = false,3000); + app.pauseButtonTimer = setTimeout(() => {app.prevButtonBackIndicator = false},3000); } else { try{clearTimeout(app.pauseButtonTimer)} catch (e){ } app.prevButtonBackIndicator = false; From 6638e2dc048249ba6f75f046e55a5dfb254cecb9 Mon Sep 17 00:00:00 2001 From: Maikiwi Date: Fri, 18 Feb 2022 14:47:27 -0800 Subject: [PATCH 324/573] Innolab Merger (#479) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * Sync I don't commit now is the conflict of tomorrow (#477) * Added update check if using MSS or MAS builds. need help implementing * fix locale / allow pl to show before list loading is fully done * oops * Also copy blockmap for partial download `[2022-02-15 17:28:30.126] [error] Cannot download differentially, fallback to full download: Error: Cannot download "https://478-429851205-gh.circle-artifacts.com/0/%7E/Cider/dist/artifacts/Cider-Setup-1.1.428.exe.blockmap", status 404: Not Found at ClientRequest. (C:\Program Files\Cider\resources\app.asar\node_modules\builder-util-runtime\src\httpExecutor.ts:288:11) at ClientRequest.emit (node:events:394:28) at ClientRequest.emit (node:domain:475:12) at SimpleURLLoaderWrapper. (node:electron/js2c/browser_init:105:6829) at SimpleURLLoaderWrapper.emit (node:events:394:28) at SimpleURLLoaderWrapper.emit (node:domain:475:12)` * more lang fix * Removed Discord clear on pause * Linux frame * fix #459 * Fix * exposed --songProgressColor and --songProgressBackground * revert * Revert "revert" This reverts commit 24313b53cf5b6fb37e8454175d91074c0f644cee. * ok? * Revert "ok?" This reverts commit 9218ccc88731b607f228ac712e3987d7baab668e. * ok * fix adding/remove mvs from library * Created audio controls menu * Added start-renderer command for easier testing * shitty floats shitty shitty * LastFM can be unique and have its own call * Revert "LastFM can be unique and have its own call" This reverts commit d36e1b19f65259743d07001db4942fe3932608de. * Revert "Merge branch 'develop' into develop" This reverts commit 5fa345e6c8107a5256649c6e15450add001afb56, reversing changes made to a02b633f49b94b05a925d65fb2bda0f267c0096a. * Revert "Revert "LastFM can be unique and have its own call"" This reverts commit f156083d48f866fcd69d590794a33e0b25c8d95d. * Revert "Merge branch 'ciderapp:develop' into develop" This reverts commit 20fd0c05da981a82b786254f0f1bbaa39c9d3fa0, reversing changes made to 4937e29fcfccc2e7bdbd1f8c0afdd6ce22b85af3. * lastfm changes * i hate lastfm like really really hate it * Revert "Merge remote-tracking branch 'origin/develop' into develop" This reverts commit 5b360e74faf937a6e54fda80e5851fc36707a528, reversing changes made to 548688341d953bd5cfe5f27b32a60fcc8b338c08. * Revert "Revert "Merge remote-tracking branch 'origin/develop' into develop"" This reverts commit 0fb6802ff35ad9cfd03e3ce50f4de768cdba750c. * Revert "Merge branch 'develop' of https://github.com/ciderapp/Cider into develop" This reverts commit bd3a2b6172097dbbffaf8e5d7b477ae0a340c71e, reversing changes made to 0fb6802ff35ad9cfd03e3ce50f4de768cdba750c. * volume step i18n * and git can go in the bin too * Added OpenAppData button in settings and updated layout/translations * change in translation README.md * margin: 0 on song-progress * fix np navigation on some songs * enables native linux chrome * replay wip * replay, added this year * fix for library status * added attributes.playparams.id * replay banner * changed colors * fancy animations * more fancy * some changes * add play button in library-songs page * fix * improve drag on topbar * Generating top genres, made buttons nicer on replay * changes to replay graphs * Revert "Merge branch 'innolab' into develop" This reverts commit b740f76e3c803bcfa158c5105316cf9acaed24ca, reversing changes made to a5746f08fa90d4a2f8dbec48c4608e1c77fb785d. * added force-video to mediaitem-square * Update zh_TW.jsonc (#468) Update TW language. Co-authored-by: Maikiwi * Update zh_TW.jsonc * frontend plugins first iteration * trans prep * macOS transparency * fix playlist on listen now * fix #474 * ok * back button & media keys improvement * ok Co-authored-by: child_duckling <19170969+quacksire@users.noreply.github.com> Co-authored-by: vapormusic Co-authored-by: JYW0803 <74043061+JYW0803@users.noreply.github.com> Co-authored-by: Core <64542347+coredev-uk@users.noreply.github.com> Co-authored-by: booploops <49113086+booploops@users.noreply.github.com> Co-authored-by: 宥叡 <46503943+jay900604@users.noreply.github.com> * refactored specialty settings and switch for two spatialization Co-authored-by: child_duckling <19170969+quacksire@users.noreply.github.com> Co-authored-by: vapormusic Co-authored-by: JYW0803 <74043061+JYW0803@users.noreply.github.com> Co-authored-by: Core <64542347+coredev-uk@users.noreply.github.com> Co-authored-by: booploops <49113086+booploops@users.noreply.github.com> Co-authored-by: 宥叡 <46503943+jay900604@users.noreply.github.com> --- src/main/base/store.ts | 25 +- src/renderer/audio/audio.js | 224 +++++++++++------- src/renderer/views/app/chrome-top.ejs | 2 +- .../views/components/audio-settings.ejs | 2 +- src/renderer/views/components/equalizer.ejs | 4 +- src/renderer/views/pages/settings.ejs | 26 +- 6 files changed, 172 insertions(+), 111 deletions(-) diff --git a/src/main/base/store.ts b/src/main/base/store.ts index 26629f9d..c97989cb 100644 --- a/src/main/base/store.ts +++ b/src/main/base/store.ts @@ -27,17 +27,26 @@ export class Store { }, "audio": { "volume": 1, - "volumeStep": 0.02, + "volumeStep": 0.1, "maxVolume": 1, "lastVolume": 1, "muted": false, "quality": "HIGH", "seamless_audio": true, "normalization": false, - "ciderPPE": false, - "ciderPPE_value": 0.5, - "analogWarmth": false, - "analogWarmth_value": 1.25, + "maikiwiAudio": { + "ciderPPE": false, + "ciderPPE_value": 0.5, + "analogWarmth": false, + "analogWarmth_value": 1.25, + "spatial": false, + "vibrantBass": { // Hard coded into the app. Don't include any of this config into exporting presets in store.ts + 'multiplier': 0, + 'frequencies': [17.182, 42.169, 53.763, 112.69, 119.65, 264.59, 336.57, 400.65, 505.48, 612.7, 838.7, 1155.3, 1175.6, 3406.8, 5158.6, 5968.1, 6999.9, 7468.6, 8862.9, 9666, 10109], + 'Q': [2.5, 0.388, 5, 5, 2.5, 7.071, 14.14, 10, 7.071, 14.14, 8.409, 0.372, 7.071, 10, 16.82, 7.071, 28.28, 20, 8.409, 40, 40], + 'gain': [-0.34, 2.49, 0.23, -0.49, 0.23, -0.12, 0.32, -0.29, 0.33, 0.19, -0.18, -1.27, -0.11, 0.25, -0.18, -0.53, 0.34, 1.32, 1.78, 0.41, -0.28] + } + }, "spatial": false, "spatial_properties": { "presets": [], @@ -68,12 +77,6 @@ export class Store { 'presets': [], 'userGenerated': false }, - "vibrantBass": { // Hard coded into the app. Don't include any of this config into exporting presets in store.ts - 'multiplier': 0, - 'frequencies': [17.182, 42.169, 53.763, 112.69, 119.65, 264.59, 336.57, 400.65, 505.48, 612.7, 838.7, 1155.3, 1175.6, 3406.8, 5158.6, 5968.1, 6999.9, 7468.6, 8862.9, 9666, 10109], - 'Q': [2.5, 0.388, 5, 5, 2.5, 7.071, 14.14, 10, 7.071, 14.14, 8.409, 0.372, 7.071, 10, 16.82, 7.071, 28.28, 20, 8.409, 40, 40], - 'gain': [-0.34, 2.49, 0.23, -0.49, 0.23, -0.12, 0.32, -0.29, 0.33, 0.19, -0.18, -1.27, -0.11, 0.25, -0.18, -0.53, 0.34, 1.32, 1.78, 0.41, -0.28] - } }, "visual": { "theme": "", diff --git a/src/renderer/audio/audio.js b/src/renderer/audio/audio.js index 1d21644e..f2b801b0 100644 --- a/src/renderer/audio/audio.js +++ b/src/renderer/audio/audio.js @@ -81,27 +81,7 @@ var CiderAudio = { }, spatialOn: function (){ - - - /** - CiderAudio.audioNodes.spatialNode = new ResonanceAudio(CiderAudio.context); - CiderAudio.audioNodes.spatialNode.connect(CiderAudio.context.destination); - let roomDimensions = { - width: 32, - height: 12, - depth: 32, - }; - let roomMaterials = { - // Room wall materials - left: 'metal', - right: 'metal', - front: 'brick-bare', - back: 'brick-bare', - down: 'acoustic-ceiling-tiles', - up: 'acoustic-ceiling-tiles', - }; - CiderAudio.audioNodes.spatialNode.setRoomProperties(roomDimensions, roomMaterials);*/ - + if (app.cfg.audio.maikiwiAudio.spatial === true) { CiderAudio.audioNodes.spatialNode = CiderAudio.context.createConvolver(); fetch('./audio/CiderSpatial_Conv.wav').then(async (impulseData) => { @@ -111,6 +91,29 @@ var CiderAudio = { }); CiderAudio.audioNodes.spatialNode.normalize = true; CiderAudio.audioNodes.spatialNode.connect(CiderAudio.context.destination); + } + else { + try{ + CiderAudio.audioNodes.gainNode.disconnect(CiderAudio.context.destination);} catch(e){} + CiderAudio.audioNodes.spatialNode = new ResonanceAudio(CiderAudio.context); + CiderAudio.audioNodes.spatialNode.output.connect(CiderAudio.context.destination); + let roomDimensions = { + width: 32, + height: 12, + depth: 32, + }; + let roomMaterials = { + // Room wall materials + left: 'metal', + right: 'metal', + front: 'brick-bare', + back: 'brick-bare', + down: 'acoustic-ceiling-tiles', + up: 'acoustic-ceiling-tiles', + }; + CiderAudio.audioNodes.spatialNode.setRoomProperties(roomDimensions, roomMaterials); + CiderAudio.audioNodes.spatialInput = CiderAudio.audioNodes.spatialNode.createSource(); + CiderAudio.audioNodes.gainNode.connect(CiderAudio.audioNodes.spatialInput.input);} }, spatialOff: function (){ CiderAudio.hierarchical_loading(); @@ -143,7 +146,7 @@ var CiderAudio = { CiderAudio.audioNodes.analogWarmth[i].type = 'peaking'; // 'peaking'; CiderAudio.audioNodes.analogWarmth[i].frequency.value = WARMTH_FREQUENCIES[i]; CiderAudio.audioNodes.analogWarmth[i].Q.value = WARMTH_Q[i]; - CiderAudio.audioNodes.analogWarmth[i].gain.value = WARMTH_GAIN[i] * app.cfg.audio.analogWarmth_value; + CiderAudio.audioNodes.analogWarmth[i].gain.value = WARMTH_GAIN[i] * app.cfg.audio.maikiwiAudio.analogWarmth_value; } for (i = 1; i < WARMTH_FREQUENCIES.length; i ++) { @@ -180,7 +183,7 @@ var CiderAudio = { CiderAudio.audioNodes.llpw[i].type = 'peaking'; // 'peaking'; CiderAudio.audioNodes.llpw[i].frequency.value = LLPW_FREQUENCIES[i]; CiderAudio.audioNodes.llpw[i].Q.value = LLPW_Q[i]; - CiderAudio.audioNodes.llpw[i].gain.value = LLPW_GAIN[i] * app.cfg.audio.ciderPPE_value; + CiderAudio.audioNodes.llpw[i].gain.value = LLPW_GAIN[i] * app.cfg.audio.maikiwiAudio.ciderPPE_value; } for (i = 1; i < LLPW_FREQUENCIES.length; i ++) { @@ -202,9 +205,9 @@ var CiderAudio = { }, vibrantbass_h2_1: function (status){ if (status === true) { - let VIBRANTBASSBANDS = app.cfg.audio.vibrantBass.frequencies; - let VIBRANTBASSGAIN = app.cfg.audio.vibrantBass.gain; - let VIBRANTBASSQ = app.cfg.audio.vibrantBass.Q; + let VIBRANTBASSBANDS = app.cfg.audio.maikiwiAudio.vibrantBass.frequencies; + let VIBRANTBASSGAIN = app.cfg.audio.maikiwiAudio.vibrantBass.gain; + let VIBRANTBASSQ = app.cfg.audio.maikiwiAudio.vibrantBass.Q; CiderAudio.audioNodes.vibrantbassNode = [] for (i = 0; i < VIBRANTBASSBANDS.length; i++) { @@ -212,7 +215,7 @@ var CiderAudio = { CiderAudio.audioNodes.vibrantbassNode[i].type = 'peaking'; // 'peaking'; CiderAudio.audioNodes.vibrantbassNode[i].frequency.value = VIBRANTBASSBANDS[i]; CiderAudio.audioNodes.vibrantbassNode[i].Q.value = VIBRANTBASSQ[i]; - CiderAudio.audioNodes.vibrantbassNode[i].gain.value = VIBRANTBASSGAIN[i] * app.cfg.audio.vibrantBass.multiplier; + CiderAudio.audioNodes.vibrantbassNode[i].gain.value = VIBRANTBASSGAIN[i] * app.cfg.audio.maikiwiAudio.vibrantBass.multiplier; } for (i = 1; i < VIBRANTBASSBANDS.length; i ++) { @@ -224,6 +227,7 @@ var CiderAudio = { }, hierarchical_unloading: function (){ + try {CiderAudio.audioNodes.spatialNode.output.disconnect();} catch(e){} try {CiderAudio.audioNodes.spatialNode.disconnect();} catch(e){} try {CiderAudio.audioNodes.gainNode.disconnect();} catch(e){} try {for (var i of CiderAudio.audioNodes.analogWarmth){i.disconnect();} CiderAudio.audioNodes.analogWarmth = []} catch(e){} @@ -237,35 +241,51 @@ var CiderAudio = { CiderAudio.hierarchical_unloading(); // Vibrant Bass, CAP, Analog Warmth, Spatial - if (app.cfg.audio.vibrantBass.multiplier !== 0 && - app.cfg.advanced.ciderPPE === true && + if (app.cfg.audio.maikiwiAudio.vibrantBass.multiplier !== 0 && + app.cfg.audio.maikiwiAudio.ciderPPE === true && app.cfg.audio.spatial === true && - app.cfg.audio.analogWarmth === true) { + app.cfg.audio.maikiwiAudio.analogWarmth === true) { CiderAudio.vibrantbass_h2_1(true) CiderAudio.llpw_h2_2(true, 2); CiderAudio.analogWarmth_h2_3(true, 3); - CiderAudio.audioNodes.gainNode.connect(CiderAudio.audioNodes.spatialNode); - CiderAudio.audioNodes.spatialNode.connect(CiderAudio.audioNodes.analogWarmth[0]); - console.log('[Cider][Audio] Vibrant Bass, CAP, Analog Warmth, Spatial') + + if (app.cfg.audio.maikiwiAudio.spatial === true) { + CiderAudio.audioNodes.gainNode.connect(CiderAudio.audioNodes.spatialNode); + CiderAudio.audioNodes.spatialNode.connect(CiderAudio.audioNodes.analogWarmth[0]); + console.log('[Cider][Audio] Vibrant Bass, CAP, Analog Warmth, Maikiwi Spatial') + } + else { + CiderAudio.audioNodes.gainNode.connect(CiderAudio.audioNodes.spatialInput.input); + CiderAudio.audioNodes.spatialNode.output.connect(CiderAudio.audioNodes.analogWarmth[0]); + console.log('[Cider][Audio] Vibrant Bass, CAP, Analog Warmth, Spatial') + } } // Vibrant Bass, CAP, Spatial - else if (app.cfg.audio.vibrantBass.multiplier !== 0 && - app.cfg.advanced.ciderPPE === true && + else if (app.cfg.audio.maikiwiAudio.vibrantBass.multiplier !== 0 && + app.cfg.audio.maikiwiAudio.ciderPPE === true && app.cfg.audio.spatial === true && - app.cfg.audio.analogWarmth === false) { + app.cfg.audio.maikiwiAudio.analogWarmth === false) { CiderAudio.vibrantbass_h2_1(true) CiderAudio.llpw_h2_2(true, 2); - CiderAudio.audioNodes.gainNode.connect(CiderAudio.audioNodes.spatialNode); - CiderAudio.audioNodes.spatialNode.connect(CiderAudio.audioNodes.llpw[0]); - console.log('[Cider][Audio] Vibrant Bass, CAP, Spatial') + if (app.cfg.audio.maikiwiAudio.spatial === true) { + CiderAudio.audioNodes.gainNode.connect(CiderAudio.audioNodes.spatialNode); + CiderAudio.audioNodes.spatialNode.connect(CiderAudio.audioNodes.llpw[0]); + console.log('[Cider][Audio] Vibrant Bass, CAP, Maikiwi Spatial') + } + else { + CiderAudio.audioNodes.gainNode.connect(CiderAudio.audioNodes.spatialInput.input); + CiderAudio.audioNodes.spatialNode.output.connect(CiderAudio.audioNodes.llpw[0]); + console.log('[Cider][Audio] Vibrant Bass, CAP, Spatial') + } + } // Vibrant Bass, CAP, Analog Warmth - else if (app.cfg.audio.vibrantBass.multiplier !== 0 && - app.cfg.advanced.ciderPPE === true && + else if (app.cfg.audio.maikiwiAudio.vibrantBass.multiplier !== 0 && + app.cfg.audio.maikiwiAudio.ciderPPE === true && app.cfg.audio.spatial === false && - app.cfg.audio.analogWarmth === true) { + app.cfg.audio.maikiwiAudio.analogWarmth === true) { CiderAudio.vibrantbass_h2_1(true) CiderAudio.llpw_h2_2(true, 2); @@ -274,33 +294,46 @@ var CiderAudio = { console.log('[Cider][Audio] Vibrant Bass, CAP, Analog Warmth') } // CAP, Spatial - else if (app.cfg.audio.vibrantBass.multiplier === 0 && - app.cfg.advanced.ciderPPE === true && + else if (app.cfg.audio.maikiwiAudio.vibrantBass.multiplier === 0 && + app.cfg.audio.maikiwiAudio.ciderPPE === true && app.cfg.audio.spatial === true && - app.cfg.audio.analogWarmth === false) { + app.cfg.audio.maikiwiAudio.analogWarmth === false) { CiderAudio.llpw_h2_2(true, 1); - CiderAudio.audioNodes.gainNode.connect(CiderAudio.audioNodes.spatialNode); - CiderAudio.audioNodes.spatialNode.connect(CiderAudio.audioNodes.llpw[0]); - console.log('[Cider][Audio] CAP, Spatial') + if (app.cfg.audio.maikiwiAudio.spatial === true) { + CiderAudio.audioNodes.gainNode.connect(CiderAudio.audioNodes.spatialNode); + CiderAudio.audioNodes.spatialNode.connect(CiderAudio.audioNodes.llpw[0]); + console.log('[Cider][Audio] Maikiwi Spatial') + } + else { + CiderAudio.audioNodes.gainNode.connect(CiderAudio.audioNodes.spatialInput.input); + CiderAudio.audioNodes.spatialNode.output.connect(CiderAudio.audioNodes.llpw[0]); + console.log('[Cider][Audio] CAP, Spatial') + } } // Analog Warmth, Spatial - else if (app.cfg.audio.vibrantBass.multiplier === 0 && - app.cfg.advanced.ciderPPE === false && + else if (app.cfg.audio.maikiwiAudio.vibrantBass.multiplier === 0 && + app.cfg.audio.maikiwiAudio.ciderPPE === false && app.cfg.audio.spatial === true && - app.cfg.audio.analogWarmth === true) { + app.cfg.audio.maikiwiAudio.analogWarmth === true) { - CCiderAudio.analogWarmth_h2_3(true, 1); - //CiderAudio.audioNodes.gainNode.connect(CiderAudio.audioNodes.spatialInput.input); - CiderAudio.audioNodes.gainNode.connect(CiderAudio.audioNodes.spatialNode); - CiderAudio.audioNodes.spatialNode.connect(CiderAudio.audioNodes.analogWarmth[0]); - console.log('[Cider][Audio] Analog Warmth, Spatial') + CiderAudio.analogWarmth_h2_3(true, 1); + if (app.cfg.audio.maikiwiAudio.spatial === true) { + CiderAudio.audioNodes.gainNode.connect(CiderAudio.audioNodes.spatialNode); + CiderAudio.audioNodes.spatialNode.connect(CiderAudio.audioNodes.analogWarmth[0]); + console.log('[Cider][Audio] Analog Warmth, Maikiwi Spatial') + } + else { + CiderAudio.audioNodes.gainNode.connect(CiderAudio.audioNodes.spatialInput.input); + CiderAudio.audioNodes.spatialNode.output.connect(CiderAudio.audioNodes.analogWarmth[0]); + console.log('[Cider][Audio] Analog Warmth, Spatial') + } } // CAP, Analog Warmth - else if (app.cfg.audio.vibrantBass.multiplier === 0 && - app.cfg.advanced.ciderPPE === true && + else if (app.cfg.audio.maikiwiAudio.vibrantBass.multiplier === 0 && + app.cfg.audio.maikiwiAudio.ciderPPE === true && app.cfg.audio.spatial === false && - app.cfg.audio.analogWarmth === true) { + app.cfg.audio.maikiwiAudio.analogWarmth === true) { CiderAudio.llpw_h2_2(true, 1); CiderAudio.analogWarmth_h2_3(true, 3); @@ -308,10 +341,10 @@ var CiderAudio = { console.log('[Cider][Audio] CAP and Analog Warmth') } // Vibrant Bass, Analog Warmth - else if (app.cfg.audio.vibrantBass.multiplier !== 0 && - app.cfg.advanced.ciderPPE === false && + else if (app.cfg.audio.maikiwiAudio.vibrantBass.multiplier !== 0 && + app.cfg.audio.maikiwiAudio.ciderPPE === false && app.cfg.audio.spatial === false && - app.cfg.audio.analogWarmth === true) { + app.cfg.audio.maikiwiAudio.analogWarmth === true) { CiderAudio.vibrantbass_h2_1(true) CiderAudio.analogWarmth_h2_3(true, 2); @@ -320,10 +353,10 @@ var CiderAudio = { } // Vibrant Bass, CAP - else if (app.cfg.audio.vibrantBass.multiplier !== 0 && - app.cfg.advanced.ciderPPE === true && + else if (app.cfg.audio.maikiwiAudio.vibrantBass.multiplier !== 0 && + app.cfg.audio.maikiwiAudio.ciderPPE === true && app.cfg.audio.spatial === false && - app.cfg.audio.analogWarmth === false) { + app.cfg.audio.maikiwiAudio.analogWarmth === false) { CiderAudio.vibrantbass_h2_1(true) CiderAudio.llpw_h2_2(true, 2); @@ -331,53 +364,66 @@ var CiderAudio = { console.log('[Cider][Audio] Vibrant Bass, CAP') } // Vibrant Bass, Spatial - else if (app.cfg.audio.vibrantBass.multiplier !== 0 && - app.cfg.advanced.ciderPPE === false && + else if (app.cfg.audio.maikiwiAudio.vibrantBass.multiplier !== 0 && + app.cfg.audio.maikiwiAudio.ciderPPE === false && app.cfg.audio.spatial === true && - app.cfg.audio.analogWarmth === false) { + app.cfg.audio.maikiwiAudio.analogWarmth === false) { CiderAudio.vibrantbass_h2_1(true) - //CiderAudio.audioNodes.gainNode.connect(CiderAudio.audioNodes.spatialInput.input); - CiderAudio.audioNodes.gainNode.connect(CiderAudio.audioNodes.spatialNode); - CiderAudio.audioNodes.spatialNode.connect(CiderAudio.audioNodes.vibrantbassNode[0]); - console.log('[Cider][Audio] Vibrant Bass, Spatial') + if (app.cfg.audio.maikiwiAudio.spatial === true) { + CiderAudio.audioNodes.gainNode.connect(CiderAudio.audioNodes.spatialNode); + CiderAudio.audioNodes.spatialNode.connect(CiderAudio.audioNodes.vibrantbassNode[0]); + console.log('[Cider][Audio] Vibrant Bass, Maikiwi Spatial') + } + else { + CiderAudio.audioNodes.gainNode.connect(CiderAudio.audioNodes.spatialInput.input); + CiderAudio.audioNodes.spatialNode.output.connect(CiderAudio.audioNodes.vibrantbassNode[0]); + console.log('[Cider][Audio] Vibrant Bass, Spatial') + } + } // Vibrant Bass - else if (app.cfg.audio.vibrantBass.multiplier !== 0 && - app.cfg.advanced.ciderPPE === false && + else if (app.cfg.audio.maikiwiAudio.vibrantBass.multiplier !== 0 && + app.cfg.audio.maikiwiAudio.ciderPPE === false && app.cfg.audio.spatial === false && - app.cfg.audio.analogWarmth === false) { + app.cfg.audio.maikiwiAudio.analogWarmth === false) { CiderAudio.vibrantbass_h2_1(true) CiderAudio.audioNodes.gainNode.connect(CiderAudio.audioNodes.vibrantbassNode[0]); console.log('[Cider][Audio] Vibrant Bass') } // CAP - else if (app.cfg.audio.vibrantBass.multiplier === 0 && - app.cfg.advanced.ciderPPE === true && + else if (app.cfg.audio.maikiwiAudio.vibrantBass.multiplier === 0 && + app.cfg.audio.maikiwiAudio.ciderPPE === true && app.cfg.audio.spatial === false && - app.cfg.audio.analogWarmth === false) { + app.cfg.audio.maikiwiAudio.analogWarmth === false) { CiderAudio.llpw_h2_2(true, 1); CiderAudio.audioNodes.gainNode.connect(CiderAudio.audioNodes.llpw[0]); console.log('[Cider][Audio] CAP') } // Analog Warmth - else if (app.cfg.audio.vibrantBass.multiplier === 0 && - app.cfg.advanced.ciderPPE === false && - app.cfg.audio.spatial === false && - app.cfg.audio.analogWarmth === true) { + else if (app.cfg.audio.maikiwiAudio.vibrantBass.multiplier === 0 && + app.cfg.audio.maikiwiAudio.ciderPPE === false && + app.cfg.audio.maikiwiAudio.spatial === false && + app.cfg.audio.maikiwiAudio.analogWarmth === true) { CiderAudio.analogWarmth_h2_3(true, 1); CiderAudio.audioNodes.gainNode.connect(CiderAudio.audioNodes.analogWarmth[0]); console.log('[Cider][Audio] Analog Warmth') } // Spatial - else if (app.cfg.audio.vibrantBass.multiplier === 0 && - app.cfg.advanced.ciderPPE === false && + else if (app.cfg.audio.maikiwiAudio.vibrantBass.multiplier === 0 && + app.cfg.audio.maikiwiAudio.ciderPPE === false && app.cfg.audio.spatial === true && - app.cfg.audio.analogWarmth === false){ - //CiderAudio.audioNodes.gainNode.connect(CiderAudio.audioNodes.spatialInput.input); - CiderAudio.audioNodes.gainNode.connect(CiderAudio.audioNodes.spatialNode); - CiderAudio.audioNodes.spatialNode.connect(CiderAudio.audioNodes.audioBands[0]); - console.log('[Cider][Audio] Spatial') + app.cfg.audio.maikiwiAudio.analogWarmth === false){ + if (app.cfg.audio.maikiwiAudio.spatial === true) { + CiderAudio.audioNodes.gainNode.connect(CiderAudio.audioNodes.spatialNode); + CiderAudio.audioNodes.spatialNode.connect(CiderAudio.audioNodes.audioBands[0]); + console.log('[Cider][Audio] Maikiwi Spatial') + } + else { + CiderAudio.audioNodes.gainNode.connect(CiderAudio.audioNodes.spatialInput.input); + CiderAudio.audioNodes.spatialNode.output.connect(CiderAudio.audioNodes.audioBands[0]); + console.log('[Cider][Audio] Spatial') + } } // Nothing diff --git a/src/renderer/views/app/chrome-top.ejs b/src/renderer/views/app/chrome-top.ejs index a80eab05..0ea9c415 100644 --- a/src/renderer/views/app/chrome-top.ejs +++ b/src/renderer/views/app/chrome-top.ejs @@ -57,7 +57,7 @@ v-if="mk.nowPlayingItem['attributes']['contentRating'] == 'explicit'" style="display: inline-block">
-
+
{{$root.getLz('settings.option.audio.enableAdvancedFunctionality.ciderPPE.description')}}
- +
-
+
{{$root.getLz('settings.option.audio.enableAdvancedFunctionality.ciderPPEStrength')}}
@@ -103,10 +103,10 @@ Simulates the analog warmth modelled after the Korg Nutube 6P1
- +
-
+
Analog Warmth Intensity
@@ -152,6 +152,16 @@
+
+
+ Cider Tuned Spatialization +
+ Pre-tuned Spatializing Effect by the Cider Dev Team, disables the customizable settings of Audio Spatialization. +
+
+ +
+
{{$root.getLz('settings.header.visual')}} @@ -874,7 +884,7 @@ CiderAudio.hierarchical_loading(); } } else { - app.cfg.advanced.ciderPPE = false; + app.cfg.audio.maikiwiAudio.ciderPPE = false; CiderAudio.off(); } }, @@ -887,10 +897,12 @@ }, toggleSpatial: function () { if (app.cfg.audio.spatial) { - if (app.cfg.advanced.ciderPPE === true) { + if (app.cfg.audio.maikiwiAudio.ciderPPE === true && app.cfg.audio.maikiwiAudio.spatial === false) { CiderAudio.spatialOff() app.cfg.audio.spatial = false; - notyf.error(app.getLz('settings.warn.audio.enableAdvancedFunctionality.audioSpatialization.compatibility')) + notyf.error(app.getLz('settings.warn.audio.enableAdvancedFunctionality.audioSpatialization.compatibility')) + try { + CiderAudio.hierarchical_loading();} catch(e) {} } else { CiderAudio.spatialOn() From 77464764308284f0d55481b1077587120d5f5509 Mon Sep 17 00:00:00 2001 From: Maikiwi Date: Fri, 18 Feb 2022 16:37:42 -0800 Subject: [PATCH 325/573] Cider Tuned Spat V2 (actually v like 120 something) --- src/renderer/audio/CiderSpatial_Conv_v2.wav | Bin 0 -> 384044 bytes src/renderer/audio/audio.js | 2 +- 2 files changed, 1 insertion(+), 1 deletion(-) create mode 100644 src/renderer/audio/CiderSpatial_Conv_v2.wav diff --git a/src/renderer/audio/CiderSpatial_Conv_v2.wav b/src/renderer/audio/CiderSpatial_Conv_v2.wav new file mode 100644 index 0000000000000000000000000000000000000000..dad94064fd4e465b57e33acf6c7bfb34389eccdb GIT binary patch literal 384044 zcmWJsX*5<{6gHDNv#3m&B4m8;KJTkiDNR(8G$*MHX`+%8${0zR8<0ZC5Z-(CMMR1Q zl{6`puX&(JQTqJ2>;5_Gu6x$r`|M{w&vO>foju#=sicV4^kuXB0(a^ui-?Gbi-?Jc zgo=uY)X9m+i0Fy4L9d(6&F&yE=a|>r&Bq@7V)BY$S|7Ddc z|3O zoR9zEh{r*6eCx}-PM*mb2qWQY=Ts6Y_kthnl*Lcqttt3aEy+)O7Rld8ySSS=^SB6G zvwAq5j_gi9qTK8y_^+W+0GR`Vm`8ffWpbjqf5-!HV8vzfN9UgPeM`cG4>8m=Cm(V#rm zv!Siuw&75cLc{Rhl6vK&VeB{h!XG+zU%*&B5FDSR>MZ%@n_xrr8^IjzlHjlU62YlC z8UkHMBzK0~SxfIvB&E(DtHkyT&aade{NASFtU=lZx`S(+PmLHk56uj8{(BOfkK8nO z4m_yg{IX!CU_wBQVE>84`uRb(xfSmu8v4$a)`x%ZuOC}L>&te;UdzkXPB0l)iv z6o0DsCc*mCSpr$-B!Qhymtb4-F2O_NMgj9}vY=z~dV%bZI{pO-BYvT3CpomLjQg{5 zA#Tb1$~}Hvjat()xz;NQxHi-eL{$CpaaT6~zP%gXPaoiaZ|Z@?`h)zS+SUB?b(CMR z{|&#lZ8d-JqnZF`sq=RS{^3U_&fV8ZHVWIXjO#oMz%KPH(kjy*uvbTyjP0 z8fFegFAU^JyDRrk&X8+7t%=H~_uWeC9KN7CxOH7>=(=z+cWg>78}E^f-63b0x`g$hFa437_1{8LS@wb&Ul1i{q$i?O z$qTw#W*i3BbYiQoCEB@8=B%P}uqJaJH?&lVJ5veV+IwzXv#c0*SKpm`F0}@qzLw*R zxxoCjyP)scUA;WDoJsS3Ywj}7<7+>aRBf5gL86S2m@15Mw(#Ln~jU}dGn z^+#?Z%?3JL-uk1YPxc2!_Php*vTgY6Y9eMFSqX1)ow?xQqePy>asCFENMg?sZn4-3 zvId;E_e=!+X}$}23+wRy4rOBTSDu@FFO%#ZufnNbIZmDqyv2Rx;pFnb2|V~Do+wAF zqs7hhWbHl`cBC(rG{tKZ@7C?$Vo^YDZc4?XE6>T;czLc*v4>3GrNWJC&LuwK*RfMd zpS;_)93?7lgRecH^c{DiXB>-HkKQA_b7IltfF}QXnItvfPvD<6YbP07zmcG*rTl>7 zkwo=n9DljpTzD-J&tI2SPxVjw@yl;{;MWC){DI1R?7Eysp8a@&w}*>prQZnd;AFXu zjUzZaHh}Zk)r)rrVmObH8gvu&gbT zJ3?bmTar%(x}>s8i9DZOPKKV0CuRLN$)f>jGHb>eBJ#zU>6O(cJ7S!1UtTg(S5l5+ z+*;WGR7#}oQd>vuPneEf-tlBC zpF3e(LIyTIe}#X>B%sA(J#L``6?kkYumwHej~$m6$!WtDTZ98t`c`>uR8a5az8R%%^1S_hD?PN_KS*h zAHA1CUX3WH-rNR5$9nLVeG=pF;1p(k9iW;jj_7$k0LMZWbb_=yK; z%F8;8Rx-l$pQAZPlF;1$4z38S#)n?F@P>9RMn3GuNPaHntRBJMm`JRisLQ#`*n!JG zSaUa)CgJI($=oxyV*GkrhHE-1M6K;b$P`wi>Yy@ae<{KRYMgJyoPZPG{BAbtJwShx#0ojJyc$5D=OZQ!|X@%u`??aRc|y=O^&4c2{F)f5Tr)24IEQt2@h4k%$G|Y{^Kv%PSu$^+myW%lHpQat_ zoyeMP`LyMBE3A>cKwC3YnD*jMdToarJ@ZT)6X<8^8Sh+Vjz5CC z!DqBDK8ZXCr`=!Br9n#Y%gzi9ConMe!ya7p_8N45O~EP=Gvd|1179R8B111m=!7Ls zB>8~^yZ_J=@H}Dxw?95&(o=JJx0P7dwCNm`I4wqFf>lvvULmWNC4n(1hgi#l^3?m~ zczW*u3!i+1wE3|e@%TO-Tlw~6*{=C$aK8Zn7NOSTvDC5J2y+{ZQR&Gw+Wa~KA2a|R zbV|V6Yvt%3(I8a+aDvu8n}F*FH1P6*T-xfs62;jDb~rK!pM9(4X|vO@_oFEIz4}D! z+H)Z(B7$bdtC5HH%jow+Zz6jsllEK>A=l*E>GXN_Bx_X*t@t7hIX%niS`{^%^0Jnp z*AlVZp#cu|WT54o7w|WAE#9jHSo6Aznkr<{HA`%1>%SS;C(%lmI~_nea1aL`hGOx| zXE^=NJoNr6#hw2*3Aca$gp-o=arcgRZ0rP77j>q+AH49#a63dVS%!~tCCJ+VYc#!9 z4!tFVbX_$MQlzu!>PUacne?7*v+aYm7J4uqj7UBI4^%(XC*fW^ve)z$oJcn(VjsUS zX`ZJc)$F8j>>?RD<$WBZd7zoj5FP^M$4S(fmP57e4d(WBS5S`m46bu$(TF}7@{s3* zfxrFW6y)MP%NTlFycO3t>)^S0tvFaa2|I>!u%zM(eOGUbiU!g2U8V`u{`G`y;%$Tl z>b1OGQ9_U`p9~~B1TLDz0VYPX`@~j4XnO?>`=r4x?CGT21|Lx$&*?N{oCi8t@}TS6 z5nNOH0o?nK;IZF>P$Trfx1w<{XKo+8zf+W*qt?#;cQb_U-gA#BDjv;t(|#sh*NdvA zny?`k1+@2O1~uB5Ku=wi#?KBN)S2jF@UMqdAyN$Yj!&b~!v*wgbsf9%ffIFEdYQLH zQH`GRv8;=(a-viJJI<#0`cwD$er#oUG_8*>VV;Mj(Xk)n;2BiWypgNWF7t*qSW)P$ zRYY5zP4IWeC?>Kv#48Q_K)bhZr6rqJ(CR~?7~n3>cx2AS?R!i|*X+ZLU|aAxvI}MQ zN_~i%bJe@f1(#v-gOJy zGyhU~QBC3fw!s*0Z{@WjuT0{z9D#QvLGtU1hCh|k|?Z9nYEIy>JBeroGt~<7jCg!$l6YF zV1$m3SW|}*W@6<;Iv8ccnC#Y|TzwYX8Z&_%?(n6brIq2cP8oeEl>^InHd5|>J#?JS zp|gz7!rGl0^hCKntd4YM)WWU_#drFHQT{)6vOy~ZR?cCayJgAc(f|KtZAFF#Wyzgn zSMsjajfD5P6aJF5M5bT~xmV;xj0e4mUeE$EG2fS{lrJWo16xUy>{^n%U^DUbSW7lY z_zia`l5E)X96ZJu5VO*= zK+DIIkX^y>sm7QTg*e06WCyZl_%D;0K9huB4dhMhT1d`4d(HNr^&sk5i>P4BG!o~$ zk!nOJlbv-u3d!m4;^`f>zaxa1oA^z5Z~tu8Md7UQ$?Fv1&!wI0tefSGM!_y>{+0)~ z&y>-|Y#-Rn71R567Eqw>OJ`k9Wr7Z6uo=n`!el=mrhAV&+t4!}=5BFfhaSejV4^fD z8+{jMtd0{FywN6C{u{?Ei!BHtRVYDTT)Y84q$P-8!w|e$*9iGS8S*$n6PDf-BZrReXG0D@1PgmUl@QH= z#ihRV%vNtm)A6HL(md$b52J_WWf2)I-xVS-a$pv%+pZ2d&&E-& zyJ2AEbD!04NC&etV`1IiUBDC5fNfrXn6DEM>O0Js<2i=p-O2{u-@+|qetT?Pylyi2 zdg2SaRr>@f*_T9roQWnjCu`|^n|Y+o=mLGJq)4WkSI~75J&xz_%dUq$n-FM{;r-_vTfII!sR_6S$65<7%K7ICLV<)_JhQIcuWdcG;oHB9Xj#($xlA2@PlI$#r2lg4sZHWF z>PX*GrOWT=e;+LH_is7e_rn`C62_y2^hS({)W<)$mU#KG#wbr>O&5SD4jcahljXN* z_|(JXwN@UrOTR#NehQ}n4^ET+3~gyw+D_tjx`2%e*C2TA0`I=BKQw0MGyE$*SOQxZgjuBmNZHvu2jm(!nlL))$F!PJAPUb#; z!gyWkfH&{9!rq9}5K(^f9Pu3`^ zGvAqN@^)J|%WS_%EQU_ktrJNmhdT`6#p?>@<)%#7P`?7Xf@9F|IS!>>-eG#zY2bn4 z-|VEyEH=V_8-1=AN3##RQ2WcNcw97<-MIQ2{z*E(yL#yDD6ihequ$9_edK|#W4bGj zNq)kfWef4(j)hci;cxWxNu`m_mAG;L8M@lTh*(GlQK#EB{3A?@Fqm7+j~jCsd>R$_ zS8t0FLC$O9s;^0IuTSQi=MKTLY(2rg=Y?>oKS@?OVXB0;`ITa-$ZKqRD550oKQ@=UiU)Mm?u7}(By9MOtPO3MpC;|C(N9z4N9bjM9 zrTQ=5$FP6bM>6yWcxT=G_Oe@ z(C?>viz)@WyM5>;vjBm$M|<5S-4y=E6me#Fc@#JAdp&zk{TKJU@HoA^w2piH`2*c+ z*DahCsDM^ZH~98CGPq}-sbK4(do-=fR-p4PjTX(36-@Yfnx1Pp#P4Smu=9@!E;-?k z!MR(ximp_&>PX~tT;ecK&zY0zu*PqXRPd0x4;^{jKpZB0WNaU5^Eb>~4_;H``Su~f zFr?Q)x_0J`GH54B^sVopn{ke;&ypv`8!2(zbPG&f;>pBO97U8bvY+qT@N|;yV5Q9k z#y{7Ao95oh@Z=YBRa-Kt_j*3}b8ZF>+)?IA^JKW<&Svx~GT_#%SdRA?1x|JYpSGyp zK%2trpc__(pWW<<@<<;hQys$YQ{i;S-e5{||Dw1HA76`1K=G07gjDf1MB>wURU+9$5Z~UuCmvA7+R-hHG#%bLE!KN>+oL<`#{-z>d&ZSF~d-KVQ zJ21<%zEE77tNOjE-h2KQ{Lb^L|FxUKnyF^>TfOFx93S2K$u)Mc=dnwDQQt1KpTDO* zm-hvqc^#UTs$&@p}M2Bw2IIn8zqwQqNbSqx@Ewoxtz`*f0j z@3|sIrN#0mOe&%__YCvlqGK*L%2B}=h^V<@!Y?DN>Aq> z;Z}GmVb{4)&0+gW%zrVFYgu*@r`Vjqre_(L_uPyY%o5;^XHVhV7ir%6Yi)2?-GT^S z8_{znk>uKz0Gzlqfm{o3$HS6Y3T2mO6N(U8GIK1OlpFC zPYm%;+cT;?aEopEDZq!Rs*pYY5xx1vv9@ld8AvSeqQ{bCi20`lDA+4UR+X*8yqkZ) z_?#C0Izq@QA8V@Gev0IcFJK%W-ylyfRPy|GmXei+=F#vlRgxrkjD9>9MW+?Huv?l{ z@VjIOtc#pQpM*{&=?kPt;*oD4yMG7qeSU+kdTK<}G9TlYQlt;hPU9|q??l&SyE*^w zCY;5L2ySQcG|tY!hx;wz#5G*d@?{m1%x8%4pU1PW_bvJR%Q^b&Q2k>s!Wz;QJMbVBybbb4g z=G>ahIm?*iX-^Ms>cgY>*kdKf=WrsreU#7Shxq8sDw+{uY!f3c%-B6(LW&ec^2U?==S553D& z>}fAP|Fr~|0TULrvl2 z=WIWu-`Yrqd^g=!!U5hL^L&z$NobL z&~ErB{!|UY>6LM);vS4&MI!L2$|(Q%pD+HZ7t(F>W?`fCZ6UW*8~3|(GCz}==-Lqj z_CTIC^*1B`K7XUycP;4Tt?3jiDEnB9<>{4F3dNRuf`vURcrW9& zk`${i!gSA5Wd45}sEG0f^6rQpZkl|8s0?M{ms5VE(CiJ~w$vwoj>vJ*b$7tFRgRMg z*a3?hKBHnn7bD?Rga2yQIZeD7gJ*i(*pOp0F(-NqdqZAgREw}-q)noz*zfr{Hi#0{);UFu{4CjIh}MB|PD*%vECRwmA4mz@{}|2Q;g_Mdxyow(bVNvJCda#7`Cb!o0gu#a>XJnf1Qurffq4o z>k-_(U5Mo?U2#rwGafrVL`f}&hsPPx=&J>&BjF9EK?gB3W(>JyGO82JoJ!_&NMMw` z5h=7xq*uKAAkxu{iJcS!PT#IVN2ND>-!_r#-f#(A*XWb6zT-$x+zpVNvz|Pf)Wp+p zh$q@IRkSTQnWRY@Vuas*a%b;6ln-(w>M$22%gbSks5*LHyv903_|hY*l(F7d2L|=_ zpzkmX>knk%PR}!tcP0b3?fk%-8?g^#E2^l>2*Hz8Q$`;xe4*xxf6mI`!OU>1)_p-u zGY;YCpi9+{MdNP!2=Hq=j2A7(lH7d>77`)* z)f`GhjiByCCXj;)?7qJHFu!FzRk`{ZQl)C>-UmIP5_*&V`E&tt_i=RUB1c#X1@vC_ zqgwTOIdm+427P@upMF)oOb?5mrke%^=%lTi>7Tz!SnxK5{coK)CMpgx0lxDwsXY^v z-}&R%?=QeU(hu+K9zz}wTb!M!NyxY|8aQPF(Lxsnl=Me?+9{B-F(R>z99Zl#CtocR zp>(q?nRHPKE^6{fWSAmz_{~(Zl=s7FZksM??UrW9%0W1l+{FZRm&3zie^5@C4+Y~| z;1n~$o8>D>;%}PLJ111hW|flpP}n zD{ai#<*Sv2jdzc+yN@oQTg6|oOEvG%fJHNDSEDL!>pMq>R!m0k1MjHTh$((F{6i~4 z6mkA)q)V4|(7=Y5?C!4-G(5-@cHGydO8<)CvrIi3F}DmXUu6qFg?dBc$RFnJ;%;88 z=Xq$Gs7Pm;OA?Kj0krh=8_8a^Fi~E%5u^AaqX=+5r{AUca&&JVE zqY}pd#zV?}n9XdFlEUIdE#}aY_q5Dej~QvOr&j~!Ge@%az$2dpjC{aE5&++wG%vf5 zmgLK<{;)dPF?}|zmbQYlC0po>9Vh6cP<5*I+yFl`KjNtzUWm`Smcinm-e@td0xp($ zA^-VHIAypH$0f;=ytDQgKHZA^xg&uGek>$Y_l41W-ph&p?9B|9G>y0ka$&_~C1UL| z0L=+?FjAmIW)*D({~;aX8!;0UXB!gmTmozFP9oV>t6q&eL?^9)uM%TT9# z#xj8*wnrY$Ijb{!Z}l>YN8huP<{f7C&xoQQ8DHjl`%`+b{svPyULQLuoMA)c96UB7 z6C@iK76mP(D4A-o3sCO2x9-KR*na zqkncW^D7%z#plzY>YYBd-yILCEjDzdc<#~x0@hs-7xdG?g8T*Gz%8KGGt~vh=)P7_dK`d z=V8bAK3?RMQn+)dyH4cBSvc5G%bI^mhx(F5^v2A;yq8CPi6 z!#6N8aFJH|+<`~ZadgM(97sFoNGJW72ETt6v4^i-Wo)XdoV?5#W}q;NS?$u#J7ax; zF>8@xniNu)EcqEsPpv<*N-B++m3ELxxcP|L@t~G@I9UzWoc+pFhzVfrC^kDYup64E zih_ex2}m`4W+e1~zq7*HVYne%s*BC;;==<$PY52B6nLKZ3W&)-PMq_%3Sx_HNm+5_CI=5@#V!j@{ znLZbnw^=}rm=|s+R{*W+OL5ofI;NX($78-xj7`fd%=~+fIrrQUGk1$X$el`h-b)_@ z_?&qZp$wU2=EQT-QAWBVll*sfK*+kblV9dv{)ONwtX^@GZSTN2C*F(>C5f!V_o(C|H#nNjl*o=ZhIskTd#-8Ff_ z*d3yz`g$oZtnCHlMt@=)R^9-mDc-PR@^!dTwHLBqc0%QHGOEF~!S175neP`*K+>&f z_ITng#yjN$+byb1TN;rhBw7pxZukn zkXrVE&NZPevuYl5YgQWF8?4Q`nU~WZA6q(Get<6Cac0!Jsf%mt?$Sn~4Niae zlqQN>qtd9ZzNBItDwhP&xpl*I=YnQ-+p=3U#Py`3@*7Im8mcj#*BfX=dkb$`NgK7g zEH6~8YNP3qcI@KlMmqLEE*m|G(#scbu|0AP^z)L3?8&38bk@sS)^Ae_ot2l$vbL9L zReBa1;+jRrhP+^t(jsW5xgiyAT|o~N%%N+17SgfIJQ{s$0UhQU(fa)}sNIXJ?6Il| zw0{8DX6>i!RM%)$RIZqvG03M*{jb=;jwU+z9%$?vMMPc%tV?=xC3pUzo@P39 zevKd1F;j3d>FQ#xt<{2J%X^SC5Cog6%*ia3gYapGFY)#|2;YCEkSD4qKq9b`bf+{y z(yQBKJNpfOia#gv9g-yL{Ufq&M1-`=zDlUpTe!8Vh#a-K2faJfNXW)kh%bmEpU+mq z`tT?+$>jv>$_^yOF&m-T)s7?`pA8d#Re@ZhKe+0E~Ckl<)P!6B~AS(DvVxd#cp1e$Sxf>&1vAzTp@RF8hdW6BusUiK^^*1 z;Qp-}H0e8nxr{E>nN`4MshQ|;Z6mzQUyL_xb~BGhxeiI?R5oC)DUP}OlAU-*6ivG9 z+0dZ|dj9ZbrcUw{b!}P=S2kXvwJJ#0Hddq(oEJsK?E&$tCzVjQc? z+!nD${Vmc$bzMHPvf?ayEWrDP7laWZ%kk(35vM0zKB(|oRw(7{jYX$Y*u(zr80Drz zMK1tmk9vv+pQvK`CK>urw46p=@N@D{U&B7}odSv#0U&uM2R_!lhpW={py{MeKmN5s-PBS_3%>c0bQk)0+ZK0q3`}g0TwsY=%u;v_h}Ao)@gzA8$s0g z=Tn&A!ji|NK2+JW(4!(@v-|bQ*&?( zmaU%)Rq-FGYxr*X9$HBQJ42w=C4ibWyTSV3nsj=g74W{x)3JjKL4{pHXVhhZ>EnDV z?fo2Nqwdio%Vde%x?ZX@Lz#pL+v&+YBE+Sjgg$7$3ARorsE5&c@D)p>m!(g^=8hPe z8B_!UubtFz>Ln<9>_r!EI0gAKuJlB_Kj;YN&=WyppnTYaR({K3>IZyiYJ3Kxc3>OT zz5R{3cKtZL;%EiaR4T|J^yh~JswxPqV;r5wLS9#uF*J?AzaER_vBu5t2*s`vEaz;Uzh6{znLp|+KT5vtYDxnCQyz{dr>OPl=LL;ht*k2pB(ac znSjj?=p=^&dWF%MKL|J(GOcAlN$)-l7}s)}ynS#G9vLPQvvX%)|9ep)~ZZjrt%4A{Iwzit9b5CHMq&@Vd_EzIsE+8U+ZN=7@9W zZGp*i_u#k65-8M9MC;qvpvmI^@;olW)|Ym8rOygN^{S}YZZlS)v4%D8^P*-`#aY?r zcxqf}OIIyhL+37fKo_NUusSk&DBWJe+t+S`!3K{Q-cK#O7AXxnVH{OcY-ZAB%h=vk zlj{zAvw`73WqQS|2(tDk(-QPqW(Tl<}#&@Sja|qsTbw@c9artk^-% z)jg$!-lO}wDLGn`Syb##k6<5_$+i@il|uyd!j)Di^_CHIs~{ekIPu5Z9;c=rfZf3FBp;-h=K_LF(|S|9&L z#?)!OFYdmI#G;1`l5qQ3uZA! zqn_DZw?c4D{ms5Rt3&QQ(1+?mcXC>qg?&cB#QmZO>28W7*)#Nsnd=cE`D!*t#CS4V6Kut^|IYy$Dol-BBufF>9F+gLz7c zRHZfnyLD@*Y+6UzBymD(1no@_+grXEh^gR#3Q`7RG;M9fHQu3=>&8^refVGn6+Wg_|gC5>iBpCqUK77*v>bI2sE-DGm_OyZxc zM&9k2MC3geK;Fu)uth?Rs-DS)hkIYp`3-vTy=^kCpH#;?o3aR}x%9E}ipx;^S}2`& zT!6#;8XEUY5q0)Ir*l`Ip)H;7>D}p**_^d4^uU#k@W^}yeW&mmw$dkzt${X~({yii zPBkO4vg1hpK}&LLtp+*iVNdF>Ux)af`6R=797IZo5WkiFylX8-NL)uYqh}aL_|~T( zqj4(3S6#AUxd-9jcZCBd*Akzpaa3Y(4q2&UkN*Eg>x(;#H$q-Qm+vV|Q@ISh zv>d#3k_GM4QD|iL5~k!3lod#klm4G5{ZEPL|465X8|6v4Z6w{EDnV3*3DiwZoY-1q z&?%c_iKWL$Dq*TZcI`^0zs@U=dG5!lo&Q^i7tN>Twz2U0NGZLx?Qw0T$yq9zTSB)! z38&ko>~P&OTRLPPgY)LAQk$7)@m$7a`rfw?^X0bCSJo%->A`F|zi=0xIMqs-T?EU; zep8qvhGX7n;B6gusy)RF2joX_RlF(skItjI`eShk){_yxd-TAAKg8H(FBOK%^S$r4 zvTYw^_})&F;_vwJef2c{sZOmn@F{?BC&s`P7L#8 ziOGRZ=G%o=U|>4R^DaFG2^uNbDgKPP>)(v^BZ(j?D-)t%#wGkmV4lTus)PJBf>f1KXzYl)pn{n~DM9`J>!-cngG7k!Ua7s>& z(~&hUc)5HW``J_t`D$mJ0w-nB7Shj5_V45+_D4hJ`E!tTuL<)1lOPTS&w*Z6APH44x0^Jng zL;G&!({bhtXcOB(7mS`mb6)?TM>X4o`_)8o(Sm1;-uWK7D<~M!UmT^&C!B}Mw7V?- zN+Xo~d%`n+-3l|JGnkic^{~+0hq>)}5k}+7n|~`6p0Iwx@3JAVXP>*%q9}Km<~)ya zn(Z}e{pT3TfrHSk*~Y98$pIT12gbKIAJlt8*zQeh1EY9HYz>{zwE*jjTGA*Q>zp=NR_Y zHf=bXZO=x$>0&-J3aqg68q@yY3SsGUQK&XcaB66>huC#Gyx;meA$?Jkll9Ok*c+dH#t-QzaonL@G9YrGxVDsrYSwb_W=ujezLT*i>k zzJHnf72V*=&IjqIC6MhJ0hU_na6mi;MwHUv%9MQ&*`EeO5*y)nQX=%kErm?g0MIIO zgT42sz|N6rAVPjI{e4qm$mcoJf7Jk14QYUhx)xl@@rNr3+HhoMKG?4^1-&n)8Z-*y;lRsRusJ#w zu1B{)N?ROU*FG_-kHx{Z878oFS|q4_QDmO_ctDrzQFca%GI*xSP!7tN=gqpbKR<-A zb(f>zov}>(fh%mP0ml?rs~~a$BdJ|GFWZMVoY6QU~R-x-bLdp@W;GJ zxNh1SDC!h+J zJo1OIQw1<+VhR(_9fV+`Tt<1RB?Q;!3FS^UF(Q+0u%+EzOmpHG`c)y2nXdhXePi;P zSuGvFHpwl3KQqI5$5PUOoK0sm+bW^@={?5GrWOQdPZ(}NKIp}?F+WBIF3)CS1P#oNB`J)DV=A*lJc-G$3S<&ObC`w=bD7jnEsX3HJLcXSaTv0j z!j!dILSdv8lda|hnNv)d*w+W)Lh4`Mz?&rSiL&9v6eqys3*JKaq!5U4>J%OtjWOTx zQ{C42kC=}u7Bh+$1dQAmRS2E_)p5)A1F-nF7;Dj20k+o;uya)(L8%qTDk^;g?ZWTu z{)7Kuub%>4A36fXN5;~HYX=}ob%;z`EiWu^ zEYXThV8*4&l8e8JnM+e;h{fJ?MlC~zXf|$UOm4`K8Cg!u&nzi2>53Yo;wVPcgUWe% zj(?%JM6phL(kOPGenn`PIEEbL_Xt~+waMWH|LQKsnv%6ki+SaLt%*{h29vtaib&)> z;eGmJO#F3E)>T!GC#5C^Y@WOpDcrJ~9WGKQe@i#9X89__RPuu`bg~@TxiO8Gh=1U@ zUM7R$PvMe^Bw(-*9{XBD>0rhv9+?9oxA%bMI1gyPI3I3|Uku?PW>9J20n@AHAaL?L z_!an+(Y@dZ6UOH;R%I#>uyZT(a8C;(bHjsKsJE1PAsWuSOv~go$(>~ul{nNzBwu1` zQZt3~{-iNqz5WV=9_TXnUWl^?6#D9{n`a8cgO{=MsR*MY+Q5EVUd{|Yk)(CUCE?|3 z6DmG!Ja`T`)5p^dL9WV`Hbt31?b7MA|HL$C{W!|0rvyNIzXLTdJ_g@}0@^XN7(VpO zqz^}ZHXa57+NZ$6DKj&=Q@R|iM&xPONDfTU>t%PP$HSW+XW7Izd!XOVl#Mmm3a;Ne zoN7w_V0D=<^JMfs$F}=TOnZC)9G&}?iL45M{okK3b<@_voYUu-IKO$2-X&n7IUCr{ z&fx_sn80#PPvLVR4<^{$68eStgMs#S;o{I^&{w@jnEt#NJQBCndF@A7Gk&R4mEUz3 zbc%KmTi*?dTLOe?-EZOT7F{-hHw;VqqF6z{1c?)tu@-8hXXNe{cB`B$89S?k%{7)G zv0Nux{ZEXHYFo7LrAUN|3aLazN~6-G z_jy10;&PqiJZJBMI5-<7xPC48hxphk-GiCjNIh-YvWi_o4{qLkWl$PeO9@ z9LEEvQKwz;P>>&4LkFV3Mqvl>j*W!w%MD~&WF%C6eMizgBY}K;OQg%fU`qczl01D6 z7>%4Kv6md+xAPVJSuSVzviInLi+ z{Fp2smNuQ*^_(<2{@}UDc99$R0?3oj2W0Gg0f|g~Ko&+nAl(^{h-AedqWra)C^L$X zXkAWvy$F12J5EA_9HF>kKG|991NWWJ@HRXSf>61dn)v+@5dTqtN*Kn&Rf7Pk`SdJo zR=q-<1}=lhf31{PRSeAghcvUI2(0_6=*C?a;oQ|QdTVPM*o{o2H*I5J;8kNyy!3u( z9J1xTgH3SwU@dRp+%lNy@s8(gV*yIBe|bgUtzpFGH81(jS_oe2!;3R>0qv#${u?6? zsP6NnD!aGBo4zhOchDBhcTU4J2NOuk(ZS*US|Hb;i=WbGL$I1Aj%Vn@p!ykjNHU~hmP zS(mdBMmFywvqZN;%wPuDm#_`CEiNH?oonE6d?^VO{tx_b=8*IlO{gNt-4e!`!!K#AWX>Xf}@I{kh`}vz#hw zmM>Wci`000J(2a0&NHf6c*YZiG8gbhHtz?%Wjb$cuRom5+sE5!wGI-dPd5#hp9_J) z27Hf?--x}#9==v$4)N#;s|nd>M>em!z;pXLmHavIA2E5YMCv&&h*_r{NsBp5bkc%| z%zka+GToQ_OETrjKT#!iIidV1$2RZ^G==Hj$h?{`s~I%G?sSd(UMYIxY5?z9{98W1 zdjZ)Hb&Y?5o*)KY$^7M}S4g}=5r0i=B}rH>O09O3kUvVBXy%e^(rB7a|H+>uR=TA$ z)Bg|&(8!~wp9PcUUAySF)0t#sM-%`4{66x#eHzdAvI<=4mLu0!E`x>r?j$K`3wW5G zCf4dsut0-PJ{%>W`ThfG$(jPBO#yb@d_wHpEg*ACE@8$!V4~g$GEey^yiAQHQe6>X z=yH~fM~A{|J(ldK3jk*ETauyb3J)7Zq4WG2Fjy=LCljndZ>BVueKr8c+TUcs7G)TI z)k(g#Pk@knH^?Q0A);y2L}U)VA#N{+$<1*g&~B81e_vGKXRI3R*>4JJdvqZ-&>D^~ z3t-K}B@j44A9M}pgRrI+SHmfB9(pCHikc2iza`-H3?0~Zf0(G%tp@%QmdM^c47|@L z$jX;-aA2wp@ys{@bypQhcVPs$2+0$@vwI*R(Tu!2y%Q||`jS1;-r!XcLM(KAAkM^w z{N-lq@3eDy%nTlkFHGQ%*iV4U0DG!rltEn5V`$p_N#wj~C|$QKo;SBdf!fY*=I!0P z%~UpW896rYM5ay5AUT8WBxX4!?VLB0=gcRUUd)2kA96_Eh#G`UOD5s%lc7zZfMi*I zCHz}MWSwLSxtys6wY^u!lMqX=>rEuzGi^ZmXCRTj+{xjZl{03-nh*1N%?GsL>Gi3^FJ>XMeArKP?JPiFIg9*@ zUJqYamyzlBcR&sIy87<<18Ucie;K=Af+qJGVx779TnzSx_K~F4*&owj-?=ezdWH-rzi1>{mNVeLdB@1_fAe7Pq^V?8%SzCHc$wFDIRLC>kvBOZ z4q~O%iFd@yndUFu+&L|Xp1cc{_ho}_AjTeFXEB=+!;~oB2LVL z)F62AEgr@zKvGL3Z~IzVD82rL*Xt+-pDlFBR*O;cUSb<*6nR3l@w-(5=<(to5}~fg7wsEH6>|2kf1z;Z(p+oq+SW~ z_2L+~_;#Qs)@TY`a%-rG)4fMBD|AhA-4By%B#&pWHHA!UaVA&vZt(tP+$6)=UA!co z2>dY9B;^N{Kz_3~fx%hO%Rf%|I_mK6P6X+(Qs(B>PDFuDhn@f(@<(tAMEueq_nV|( z#kTe2to0<=KbA)BZJG)v=iVbGwu&$^@`V&RD!`>S5jZC(0mjMVKq|Y5vyKQPiKmfr z%`aqfml63Z+eYSZuHwzvSV%T5$}sKBI7Kc?EaguoQDlMnbN;laCyDoFDVkt-p17TR z#<%G$Bfo62YCIO+AV=lz@^W6^B}W77$uGYa((xslmB=8?*~@#L+8EU`(5A*Ow3Qh^zQ`NaI!6lim+AyLt|-FNjUnZZOp^Bq?pa zkTmK=X7RmYr|}}%!}-$}|y8kx>$67jTLa^{u@$e;ukn+-`Yi@)W_6OWP%&8j z>=xOgE&!<#9c0e&e&TB(3JVKvk|)m>LNMWK1e1-RtaXyy_~8Q|PaP*!0&cMWODg$Z zX$_6LD#)t=ZCG{r37Kdj56A3B$#~>+XiN|SKXpYIY!L*d-_xOtd?r1?qA>SYJIR~V zLl)K)5VJdHiClOz`KYE(j?51r#b2iID%2y%oU|;y47o@i{1u~9KHMUjp`Co{^^mw) zshWyfwvmjJx+F}xk>G&~eU7OP@Qr@+;CV(t)I7l((;u>Yb>hm={AWTldqICMS6D-GRK3NJ)rndPK69N5FTx z`Eb*v6!>LM@VWICOc^=?^)o2^Alc9om<_wV+rd&N8YE)IVa?IQkeMjPNUn*6`&mEX zn{777O5K3ORYg$vHU!+ioPlQ_)WGllYVfH3MTE=~$n8_VNqlt_9k~CQSWjMn+X8Zl z>Q-Nl1+w84Up|BhJ^pmm*A2TSJ*5Z22>KR%rfpNE;;E#kbhX$B70@Z9fx0(o-#s_l zP#;83OQrCe9vv~hFlRF1Bs3!S>OP_KY+%S|E-XBL7QS&F{Nhy|)>;?_8^XD7#(m0fk?vn$HGG+WKp$k)}Jr>ky z!^fqTSmhuFeLp6k*s(&A9N|g-J3Y#~@T{*!`j8Jlh;x3cty)BF`%8JhQ}@tnXJ2yP z-~_!O{+rw>E1+|b2Vvg_Xy}6_5VlSg>y^bJK57;2ES*D|cI`$D1x*^f%nwHnpQFDH zEyw-h$@Gtl1g;F-N8QgP)5im`G~BzNue9P3?a7$V&%LCKjyD(awF~TV$U1{RZhHvD zZ)EWUz9rx)O&R{_wK+JeqS*9lRuP6CA2+q@$wl($Aph)-7!3Jxf|lu-Ba~X{9`k#TT(MON*pLWn=YYhOoO65o8J39v6adBWIC6Ia_gq{8QdB zkrn9n=YeT`qY*9^_v44CDB`4x-}(D=dT9D`CHh#=n9gFAsHB(}S*i4v|26OfsWtdj ztvhM~HMcD)hQ;=5c4R60E!G+;?(3p1; zx{c0*^I#n09=;4E#mQhap#bh~&xV4!9I#lB1G{UJpzlHwcp2{j5v~vWSZV;5>&Vb*OV{oKtA^eJ436Eb@kvrd1z~gNQx!fuO9yKZCM)_Z|JMji-jT8pavSCuT zQ5IerD1yJIK2#ochSyzA&}o?tM^_(%`hhAK`gR7!pI3p!&KzjsYGe(|b1)LQ0S3}f zLYlq`Oce-+!-?wP!09Cw)ETb$oQ6+XsnFnF01egE@M}#C=*(+?rQy|3FLNE9Y30LD zkqeM_<}~QO_6FN^5pc&)9MXdKLam=ES$tzVbn$-kXMS4>>IZMp?W6K==syK~E!9E- zixy*e@m^9bZjVb}C=;W57I;HNip&tw#jj3kWY650xbN?OgmIF`yL?ZQVI_j+za$f9 z!)&_Cvz@qlNSdl^&42?-v&pj8j$mBykr=G!c-ILZ$W5&pxFFO``~o|`wNwz43txc3 zVl#kKPr&YK80?#P6I>3Zfl6u~M73mqZ(ckMKTL;@W1(=mDHkTb2n2R+1Ekjm!29t} zko1kq0y!+oBo3_wyB%VTkESvFTk{JJi%)@ktrt+Vp@k&YJc1eF&P3*MFWk9h#JiR7 z8MeiG@+VdOfy9uO8j+A6F!)D_-1$8WFDp995XYI`9GnN1ih|6?wvBMVYciv#c@WwY zrZH*sB*^{}W8N~k@XV|W7W!9%qgV#aYpjCR`kUd@tu%``+Ww(AOF^`|qp5`9XxLyn;?=};`K6%`IB%gdGlQE}tJ<+;QLr*M! z!z-U0SkvXIN^+~4NZrmx(y(GVh$fps%KlTJU=anqS=BJFHwEnHzl2wJqMh0?AYFz>q7qf>Bze(G*znDboO${T(uV${{!{L7{i_688m57>%OZ?RFam9Z zd1$T_PAU&cYrg+H?px z^PKD%=^-m!WG!GU2RuEDR`D!7r0UNV(bsV;A#bfkg+*4Q~ZGHSTA~7bwZR3tlq>nQ!%F;8-#W zXO1Mmbg4%$*USMAh@a%W!*Q4>x0)m<1;Qj=S5@hQ2*_F{LJ#F+K(6F^8l7AM zVTIw;v-lbeL>!|Qw{l_sge5dDKM9UqEvWJRlmfakJIIt?7M7p>N2Wjh3t>+!VV})R zrgby|PA-|x{Lm}}e4)=}xO9N{v^mUkGrEVew>9s+Xique}VI|q{E{F5nwdt4Q8=xK;6O?`X`#hyLKn| z#PucDkB7pN{uB`PO9HpNMz}NMG*pj&g;@`eLVLO>V;EoqcDa&FC7lPY+r*h01_TV7 zM3^Pi5Al~FOtDSHLcH5W*2eG?emdQTq3Rlql&C7{`U z34FcdA)xvq{F+h*jNw%{ltN+YjXU5GbqVYx`(de45ZoCU1IrnluJ`>9_$pbFfXC0OGqRGIt;mgfxbs z%^D##ze93gU z#$M-}o4te`_f}xSBuVCe(-mCf@C>%Rx{oQB{lH`3CN>zKCh))dA9_6)2bZQK zI$2+p`SMDQytr@3d<^g*J9D)dQ}qv~i#|Pui51%_-=>@(TR1;Ysna3sYHxtB<&C)Q z&1}Y_z5);5He;U6_QRec1xD(>&uMXF_*Wq$ zotls0W9MPLZw|gckp-%IE@I%pR;@kz3n0UC&zg5-_vC}8RB!~B;Zo~o%8sjkik|ES>RAQ(7H3vs&!XC^_g1>X7 zvhM%BgO7(7jxfN?pt?}w5XgA&1sRo@@r=0e5{5J8KJ}`w+=#@kyv8youM_6_3}SYH~BJ0lX0M7}o!r%Pxzb z!Sp0=VVjdCG1+3f*y}egz%)N#vs6y=ruLl0E!@$1zdRTc&uxnO^VFlM;Xi&Mb6VGX3xBOx`@%XNrn@xl`+!Mp6SbM#g*?2n5}a^ z;Y%-BruyA8EU1=YQm&L^-%Vha4{t-Ke}|YM*CPH>g9Ik9+6Cl(A7gH2_CmIX6?10U zB<8qHAH+*ZGmD%L!HS*_uqgUClpW{hbW=IL=7l}{_0VD5R8*jQJ7L1MyMUIi3}d>E zg{*NeIGiKEl#ljMX%lhgOKdDY&>e;3Lk{@Ktrv7pUaL89o2$v*&47~IqKxc$1yJqg zYVBH8vhl14Z|Pk#>hNzSyCgxe>dgIgHrh`czH!-{;-|~t^7dVZe+n|zf3(=N#0$)mrJB&OaVIm&z<@Cr8ico6>zM3qS^TQDilq~3#zuN_3sTTgM0bR|YA4x;YoRxGp^Wy6`9i1`Za>84Pe_IL*S zo-al#jYrU*;|mJI4`NVPH!L=@safwT%A5~g0@=A@%;yr07d$DzSZg%Fca7g5Xa5p@ zUl3$M7QBKQzA!Ve>?T+^`~V%p-H`g|F}z&#i#KFV;nl>&crLsIet6a4^VDJ(!`~Rc zF#`_e39~VOt>8vcH@>%f$cw$a5C3hIK*7iX)39Y*(abFn&e#%+J#-J8i%n>?NI#VA zlZGRy?Vuxn78J!e9nQ1~*4t)+JeMW)!2S|^OG|+&<0g1nKO4+le#7<&&cwz@p2;Ui zc#1rI#!S` zQ2qCk;O=^r{1+NVesVg4-NK)ycvF-ylX=V!bXvqPEAR7XzFyDF+k2AdA{@wcca{?( z5yNagrwZT8-sg}YD5C(D>8zsb^~N9#}wXh zmm*@T3PI?lplNc~0JIHrv)dbz%*FZ>G@we#GQuQ$J%i~-mom34Q}M<_3x@CMiurmbjB$7!6*Hg5EI1ND+CQi;-|{_y z9+qGXmQ${OeFDmY?}3gS20a%+=8u30v7Isw?n4q-{^vF9)bhi!IW3?qxDmCvIPhPnyye|LL1UhaE=6XQ28=$U(^8WT2isE!yCHC+)(cM zH*#1)2IC(TkX0Fx)Ds?(GADE1hKO;ZB=L~s>@FiR#`d7rI?4|VkA+#u2H0~f8Y=c4 zM%AP9;nH_)yyq~1EMFW==Jw{$hl|T$t4Tlgx0YgBGNS0&plQsa@b#vV_ddgsepQkj zbQabJ=ksQXF9gBOLe$moC-IWGN@co5;YaTeDypOn|E^5IEqY5J@_`B#-&+Hll$9`v z(_v?JjnN0}S}?k`hq|U~Ly5s%-U|IPGThQb`d@#jR&~{dP=g>kxoa7`Wa6p0r8%sq zv!RDMP2`556WzqTCy%p#(5k<6r0URNd?wpKRz&@x z1!1A%FlfIRTHCY0Uhp6{lVxG>QYI`K>4DEV6rwCfp`rIS_;~#Uxz*+1xv>{)td4_D zQ64OqV*(eH)VO8Y|c)6kk&S|l* zy0{c3e2j-97T00C&KiUoUqX&ZGYL34k=Zl9haVa(%k&f)Nx`Q0mtZrHhOYK6AfV?sF8j)PHzzK^!ABB|a7rv) z*FS^F)=40nX3Su&t>%2);-XBE^#w>Ueg%SO-hgvTJ&Zk@$#i^1xc0<`nRTTO9?x=P zbPlu7`foiGH?A)Tg7?<{#{q2w?ea?609tP^NgOOV{Q=e&={-_XJFEINs^ zuOHYxNS$oUh?U)Qy5>$5@W0-pVdvGE6_p>TXv112{M`cFUgN=Nri5d6rXv$(a2XFS zSj6P^T*Fj<5hgA%7pvcu!rjUk%nG&y1)m_Cwusmb{Gy9To_Q53x|S~JPp2ss&G!gx;C=RO;*j_bDtMe9oN=@f(B zt0&=P)PtIvqvrvZEJmfC`>;>rIvyDufm`Q<*r}SYVV%lkcICp0@WXQ)Q{Lv1gnOkZ zQyYZl5?Z*ZK!Nq19m9|P=f$eaxDu0RCs-%#-9)7C1bd&IOum?Tv6|JB$-06W>`%!qR;)s8DJOSyXV`zP- z05oOXa9QR)2>d67UNHt>9CwKd+sp>`@k^RzYX{1iyD%~>mh(Y1;f)FTFhT^`dXZu{ z@qP?Holl3>$2mw60^$4TaC&|ED)|0I3;Z<9;PJpoSQ#)Kg6GD;jgU#CV%si|P13_% z#ZeID+lhZ}bc6dbWtPlX#Jqc>%~lQ^glguUq|s3C1btY&U^% zbq+@3ccP5+reIvk^+|$1ajSpN?ZTniCdpg zn2~0y&NrZ%+D|lZuAm{4vaw{tWsbLeMNeDJVgBtGBrg{(WR_c>AQhq`u>YbA&meCK zD7|!90) z)R|dZKl0a%H}jsD)DyvCarRNDF_al>W#6rlfjV$!qki-G+G2Cryx0R6q?e6@Yddj| z?L>Yfd`IVosT?2CjgGqn;I&N(&hPnBZM$liUJaazhmWR{j52>*bu|*oC73wOEkt@ma&eHCb7o^7}u_SFs#uAp*Hp4^fd$Yn!91={f)4Q z^IzEUr+~@pe)71#mR$M06l25=k#%Z+G4RJcayxYq8~X4)?_N2T|NWqb!KH{f&6K~CLB$GDZ zMj88pn&qqF(bt#ThUI*jN`*{hW1mRC@IMFE%A3<`143BQrdl|dbC8wFy#=1jEZOGw z_3$V7KE@e#!uF7E-i-WDu)*XRSU&s>=mgB&#vagJ<;H}R9*5L1561uaEK-1W3@>sq zzT@jKeUoeO?q(_G<>)XDKl}l&XNt0ob>ASgUWL{CAjsSqGH3M^C756zS9WNg6!U%0 z4tCQi5#}f7F%9K?fJ56#@Rs`xNU@QGMEheP!u{^M)q?Q+lNqD-pw8sMG=?c$ahiS& zQelEV9HLUQ1esT@|9GYHA3&;RE>wk#0OOeq!Hxsm{0!lDbPf0$)VNzmB>riXm@=zL6hccEsMK2z;Jj zp+kwH%=gsWuK2v+>BCu{PT+lNuQm2HU1VHeaGv#FxUKGGS%*+G;Yd}N4Dk#Vd>-4oKlJu53T z%b>)k58^B)Fm=9hOx}n*V|1~E`NDZE#|HA4$4>;AFDs8R7pC3pY_t!7+gQqQcs?ZC?UzhuI9aCFq&|c6|(3< z>-WCwvVy&=OjAC7yLgO!&lG^Xl?8h;&6hbeEe@juikZ-;1#r3K4)ayH4H9y0Gi~B^ zAT+I-c~U6{-ilWkV~44@%eaV%6R5$UCnbzcW;d=+xxyGNt-{45nR&czJ1&o~Vx~ww zr$!6>;oFQbs`T$7ej1LZcUCNAzh@q$S3XCw-!_Z#J1)hu7OnZj>_;TKu}d1pi?^@^ z)fdRYc^a(t@FeUGy^SM5pHTMeR1B81V-+t_-pezg?8hacy!4|h&@3R2WXp%(nu15< zfmIyx?QfE$YY$-j)IhQ#TOB>?m+^+AHqZxcQdBQv68U!`i5}S+Pdwr}D0wPHsGcnT zuuY>)g-h|S(LN0O8Hk@JKH;*DkKx1ZGHgNbPHY!YW81dL;=S23*rNi!`Ep!_%2~f0 z($iRh#nTqR{8kVAP#O-&-@EAE{8F$qt~YIveFdund&sKp3C!|+3t&^c1k?Cx0sPnh z8*FVJlKJIaw)&5ungXdaV7U1qeS0Jv^i8Evcm7HE+VhO&y}kk~f)~(WpZhS$^}ET^ ze=i|@;tsxw)@%6qrI}Xg_d?Y?KRkD>2_7=HP)IHx-s=jpm&5i#=t&iJ%GqhKmZ!(o z6xWc_U;6Bt%XQ@QLpAp6fhq95V*jbr-RvaPDsTnwiLSWHC7aWbxj95$CC4(IqeEGRaR1FtYH%kC zUYMlPAX@`4T>prA*0bbV!#DaTs*e|9)k7mbwDTqMPt(Lh7wA@>`P6jVBs4DEOzod9 zM@6|mbXMvf-1dDhx{HUP=+SE2xX_F9@Vvl(N-I#oxew2TF54&z`Zg_KYDdl&Yro!M)_sCeDYK7Y7%WqVV7I+u$aD3ne95z$ASb^Oxp< zRP1LwVB`W5P1eR9B)-UTtl70}FUn-U;p<#KgSBTYh_Xx~8X2qui#EV(>u!N; z@q8LE`kkwbQ%QmU7l=Rjjg+3O1^#Nb+ICww**io@|IQARc& z1-X3+gu_p?4$+UL<%Uh{C(XgI&1Y6;HC{8qE=={g+zFP^SE zyBtlH8Di^nCA>MFfKSb8>Dsw9Sm|y`>%v=clJ6h>!E!Dyq&I>?e z+kjusf5e8-By_pki<3VWAPM90tYV9>hud$pCG9+FMW1|Ji{yOKd1&{-0jJkD zBhd*B6K3{!IWhRXnXD<&e1xE zE1I|*mGnG(ADW5oOb4D%+=82)i?GgmFR36`UzHEG)ND+g&6=8|lV%Y))=}^mDbIU{ zr<5kciXiTPC?o@SQc6&mP4a=gTRMQ+6lwE}N8r#X= zjaQ*<>H(Oy<{V7ikqF<-Ho=1YMR2448WE~A;0KjR(OdmGn6y?1SH?Ty!R{sKJxK`9 zeK~-;{|@rJ9;c&Vj25)XR^a36A3ovu$SJ%c++m`IRU6c?ITEnf>kZ%BdJA%!0eA`DJkY0IjxJnn zf%e};(QMUwdT*->{{1ROzYd1srRrO}p(oyW{hJ)wlCOgw9(kF5d2)-IH3iax=8ANG zw(BF~pDu|Q*=OZ>oBj(BNj23-)j6k8YRVtMu*cM2RlC#G(alu2<3RlEUn> z$`>^Fg9`iCRTcM|8n9W(4!CuZ5qn+A3-5EgrjjhSpq+jL>hMib^5-CxiIB(T_uGl> zz3I3(K_7bcjPTF*D)LitBYHZnpz1Z-@$%_0`s0BuS_kZ)4*tfR-~KzPuD3=zjx7tg z7={M#`=PTw8_z%g1O~~uIH9K#!X8CnZe0)JIIrOwm z#iyOQkab`MUbP8^AK})>c1c2Okv<0X4e?gHt0SrKpxL$>xNPcgIxBn@I{Gfh2QA`g z9G8M&D%tes?fWSIX}M`*(>UgPTq9SXO0#{H(_qmBIgSKX20?RKR(@Fvc^%7TIxXIA zdMM;IzTebB&vq5y!)u24USc&0{Mm}bX1C}E%Mi>iJi!0*($8XLAZc54q^rV8sI%oYj%~w95na-jn^$_jrYXT?kjU~MKz%w z^E7bp&NeDLdkRW6N}$>4m()$^G=1@7KfUsWC2qTmP0c1I!jxNSL`AY06i2_4!+UBt zHfV^2`P9^Vg>#7u@E~=!fF(r-Nj|Ijfs@o2fW-7OU_M@V3i^_kcC-F z>>9ZxysuZa+0uts`L{Fm*}$3<{+Ql8_KDg6PkNgQyY>8ia%sgxcK^Zour~V<2Gnkb zWjD?utH^OyGu?3IZdHiQ1a!V;Pfqw*VzGK5_4}|3H8*U+)l34nNANsObjZbX?i3y8 zU&Ylnx3PXfDdxvF;%=7`Ja?`cbHa=9*1t9koP8PNceSE~ei}yYy@}=`hp_Q-0d9O_ zj?Y%cSPuzhXVzHQI5`c>T3ega~@Op0<9(P-YLNDS` z`u7Z!C>O?G+FxmVc{EucGXXO=&Xch;LHGIP+#S3R6&(>~9f?JkfB7)?NH{(dPJ`&7 zm8g9(73^UGUUkTZd;j8S>g^1;a;=$PQMnb)yRfFQNx|e$R3|UsYcI81`-&&~*byfU z<<&f0Z-w=zvgpJ3gVaN7KAyYMODrcI#`y(Xp`$Gt*ReJrS?G?}wbqh*_8RDNNFK+s zB++U08O*d;j$gtq;kpNTIN-$Xbu)U0*V#ZS+BlJokvT?LkL zub`I6*BUNe5c55w_)7}1aBLufY}|7NzfJN1#}(xmd7uHDa`G`%;3H_8CgLlO2A`Gb zh9z?G@O!yBPFz+*E<9_a0*M7Qd2uL}>C#2NQ;IZT<{V7f`J=|lwuBn?ZY1q}`n)CS z+zv+H95Os78L|he$QsfK3d%D`)l~te@9!46YO5%t93h8~oc}_)jU9ga^bp#T*5O2< zRM10X{GcY!v8_^=eI59%x%cS?#YGrU7(?^@^KkRrA^zX!9&BS`c~4io$JZ)biF0rp zZb=CxHG1(_5iyZO9uq}V+g84{yC{A1pn}TGb>sW_N#bH@U;6IF9DG^(jy9iNfLS(E z(e#fgDy*G`=ErPN&Qt~8X6?ZN(`A^IpNwLD(Kymyh8>bcsIj;S9rEgN_oFAcwXXyB zmGdpG&ZZ&Sl|nlnZN_H-?3$&a%mZb6HcCdvdyM*m1`PZ2QTLtoEihwzzFQ z>&|gCV=q^*&r{E^PC*uIznLprxY3+lAUJ_t%`>X<&5XK zKlIBPsXBMwWMqblXsKvuX-j*Ow9kDVrBW)S2uT!@ zsLZUa-}(Oj@PB%o&bjaFdcB@c?(@gJm~OR}(^!>^5ia|<#kY%4`}bikeqk9F=(=%D znI+h!x}1~Ul!s>=W^yTuL-CiF0=HzwbiUU=jE3zTD>JVFw?F73?AwT<#TB> zUN44_b=z@{527mr(!E3i@Ks(W;bZ3vri@1KB5k4%e6T2qGWE$;x3VpeO?0tQ^$IOaN!DoQ%oPh5kPd#7Vh=Xq^}kII|h78hvZOC)J~R2RFk$CQgnQ^Fov|RAjzmGPFmk{fCP3j+WmyFBNBYLALq*LM!k#cz`5b^v@s%9BcyGzYP z<@76RyHAw_Y#omVjti);w>qA*;+>=q2I!^(R>*r+Xzc4{sLanvHgB^)dFAn#v`h{S zTlQm3Q9FJ2EFR;YRM36jvhhVzC-rg2!S}|BD4m&sb&qDD@aI&VEM=R>%W+yPIoO% z4bkW4-zk`UXcCSgRv0;;gD)eU=!d}>=>B^@DR!NNRvBGna^X7~v^$M>ewU@H3rDN& z4@Q$NpXc=Zzqzn)ktHt5iUH9NuGr~7Vame8xNX86$aUC_KbADW;|6QIE|Ck8A8*h! z{r#Z2?KDX*`b^%P_JzmFAFHA+-iOh8d4A^l3+hMDVcPf+@SjqP_t{p6SLnhr%}f}d zcpDENIsw~$r=X?6Z0LTv3|E?@5XC}8G+63I!C4y(y0@Y7&`wNv$YD@QEb`t?>}yKG zSS?}hpXO=IJoppY&Z*dTzXt_k)l@&A8mrUJ(=53JOpUrhRg4``O=>JE+TWm;HrQi# zmmCq%x>%!%`;W#;iXRg)8<6wF+yr_uAFTdiTBH07=pB{#z8@2G~LRGLkHID|x znUQ$;6!Lcs@UIa^(CF=;fA8nmF{AZ0E7^_r#?xDC+K5hbE9?DvDJbrL!{(@; z1JheOX@W`;X#c!NuQtcR7hiQ;ec=EsZnwgNu@cZeeE(?@nC)SX zZ|>IP75nqpyz~}+>8ruPV=Tt`ccEzdC5##SfZsp+Og_u`{A2V80{cf!(9Wt zpP#GT9L_-t&ntfV%o?g*y?a`xr#G*()lV)Yb(#>bakfC{sSiWSCkn{6!L9+&| zxVse1O_gBtWg}dse2-Wj#F}kNM*GI?9NC>H9>rw{4<@Ul!0STO{cET}O$!|3|^u@6$o#^F5->>;k4w z3{tH(LUvaQIbFc_rgko(*ABW7g%69cy{^2fY;h{OeJy4qy?E#A*{fClwO3HjaGc=P z(hE4Qx1wsS$q|f{-$W-~u*1Km!}QT56O2vQ!S!@0R)3m|0j4o%HUB=nG5$F!s!T1v zFkw7r8}x%ni`jDdM!VtOz4ct@rg)g*ww{Y0&W0!R=5qms`A|7mox5yu1%`EM@m5F) zoH2h-eGV2w+zlEg6S3QP@L#-e90!R*v9 zR&R@i2Wus`1a)Ef879tc-$m$amCyLf+70hMx`U2|t*G}W1Ksw^aQDOa-9U(jT+_3grTyQCSF)>=SI@S%Q&{2wK5h+Z_eat(Kj$xwrROa^h%UEl;iup3_Auc!H z&&-YgjnGUaKZf#WNlHMCL`P*eV1=k-?EcP8IDTaYnS~Gsl zq+~A7(Y^iDh%V?|j=yG#@bmt+)Z@%7)DQd49tm22_7?VJo46fj>whJx9z0j}sRcxx zor%xx?ty(xCYW0k1T9OKU_oFQ{5!u7_gwLZ`~|15cFszeU~&|9g~&j=?q+OW$TL6` zHsbRi%H%5lzFKbbT@ZCT7q5(tBd#tj2#T`AvbY1u$2^NuW2>=2aV71xjKmG@!YC&; z7f;AL^Zv?SI($D4yB`J7Tc21Au>v}4%N?{5Org5Yw@^REmOhzSh`&h;P1p6spxHxo z_di_}PM(7)`Neco%}JbeLV5xsITyPX*&ztZ@39O!~W4suQgyC8%b-E zx5GPb9`#t{1Jh&9QI7APwu}6r4`%ZHB1wW76SQD_@eUk3_f!ye!X5Xiis9i~P8j?m z9K|FJFn(VhhK-ZNvfOrDdGQbJ7O?nRXEL6u3_u&7eJJiFj`KgHV{w~0J7`;npDY^5 z>h2ai)UyyQmUB2Pp9mlS<9GcJTfuF21e!Jcg{Z(FT$Ciw=pPHgO`S@N-i@=kP)3^3 zTY8#z3O$8OY7WSio`oOVztEyjmr00|6kVT?Mh!$Hi0p9-JejeJIPG@EcOK$o{NF_w z>XXm5&z^(5IYIPWv;ig*1<@BJ(^38P$Ew1cWBIvKDM|fSM*qAug1R1SHr0F~T;P2} zqHD*(jKp8$(LPzy-!K!tb>>o&R=zVPJQ?-3hCJm}^6x%4{W}8XHT_{{ktZ(aJF(v*<mq#lT8^(?Nz7rj*4?KJ=kp1q`_*F>0kMPI2>ssvNHw1);5itsL>Lh82VEm$hr z(Ypp!ub22Cb88dbc9kQMI_@~}doghhEX2G>J0f7)v0daU zJ97LD{^}T}`FsgYS!@SdB(`GylPtV>I15|%G-Hb8Vbs;_#Q*l0;r+oj{FXcpuX!Wt zwhG~@I~h3bYz{p+B?3D`SF@4q34Gs6*XeAu?E}IGo*|8ZzH|QAWHwFdN0n4MF(%h#FUTU%2VAy>L~_dgiBSBCb>88MseE(^vKEoI1_VInnuBQxuW8*G+vVIogv!OgJs z%+qQ0uqbj3V=ZzYwn?vGW|=*Ps!A&+*XSYGJ7_UdFPgxk;u%N{U4i>hT^!3C?144q7o1Tzl~(JP`Q< zPu>}%Q95lr|NkgG-hTlP99ms9MtKT)m0OZwRVBJ(Z2>u(?n#C=-XRxnj1VJ@DxxE$ z3VIt>l3npy;2x;SmUV0M>A@7bvrrv4Gb!vqQ7BI^Lf5%0X;QXB$+qd_XXXaH?EAKA zu821tJjhTvp(t#>5KCh#v+?)A3OY}r0>fMG&{x6L7}fop2F~Yj=Bg2TSF;c+HuL?= zok8fRp^JYV$K&NAi%{}zHGAWiH|{$_Nzuh*%vGNZLFcdIqrV1lKBN~-gvLU*g%DR8 z)=x@z$a3p~+DH}e_$HH{6XC3}T%2?tv3oU!JAS8>lqm>tL!JGCnYUlzAJY@`;!rbs zc1^>nPpa@rP5?TXm7)=sj!VB(;E-u1hRm(OH+6wnJ8}zqowRV}P%Dm)wxnsM_c8r- zk3e_-T@?NYq%@hLm2i}xzcUUyXNb{z`R7?(p{?}JkOOSjZ6y0|@f^DlX9&{ZJH;8N z;NgwyWTU|fu&=Ka3>$Y7M$(%e6)Y1ZjZwr8uclDfQ5&qtok1H^2yS?8%U-D)q{@9~ z1bb`q*|59Kf>mY*NXq*d!8Dx)f*t;X743IObD${k$-PS!2lN3Yfj_8aib>@yM6VqyervJgf?@noJUp@7mZ zDbSqD?~8R3AwEC^gGLfyaP5Dn8gUVx-kgX+7cw9{UmIswWkR;MFt+zzf|G4LL#XZ| zq|HnfJc~#Ntr>TTsX+l0%Ikp)pVQlSVghYM$7ATH4XHc$43 zfFy3pZc*!QI1(@Zbo)^K1M?`l|vU z-*bet9QA}Qr+4H<@mh!vsU;z+mEp0_Hqul)C=j<5GS}KEjdv#US%I!gm}=Nf%PH@Y zOcTS^G1A=N5dY49EyG>czCia`{l-aRsqBLz570XxS>R)siIetK3%pF$p)u;RpGhTs z(;Pv=)RvKlCuDKx>M{@=S%?k~O2M|y1HJj4gZt$WJah0r#^h5J-m_Lpz{?P0Jn5hOcY!GP~IZDY?twIGVLg(kuWZ$)~+Fa`|Oo9SZvz0kCGh#EbVhxo!b zbd8)USvDeu>pWuU(dhZuKNt9UKny@VS%N1cqOd@F9`TMg0{%Qq1UxVG+3HS``+WnLX3E0f|E$4R za~eqAk$}{unXrtBCR^re^W7jNa(k5!Jd-yi&QF`j^FbuE_&Q;4On_OhpOg2OmcsJY z!mzJ(6L|mpN($PYLAfiRj7-`9k9B0p8TKU4mHTY*v?mo>eLDo^v+Lo6Oeyi((G52X z4WKjZ6^OTbf$Q{VaQ|l_MD#s?H|MYLyw!WKQG1tY9@wQ^v!wt+cSeF^ zb_{%Xc7wcA?r{EtCAe4+NG~^p9Xu0HdcHBxZ=z7Nb1p1*?;$~k%ixe*8kwl)0w->( zlE$o^;J?P9s-)W)jtxI%?_8J(LuL)^#)w|>SJT?U(cF%>Z?h&@=8FV-)ou~H4^je0 zcRtI0>b$_t$q1&+_-fH_Zvu}-r%~J0li}%%_w;kEB%CS*JQdnc#;sn9#gm_r71|3h zIQ;{$*sO`$=SxDC#Q*WuucN=(K5vK;viy1o(%-V0AHY3UP3}ITzgBl7TtL z|Ba1}gp!8+U*ZW+sg$D(C0vdNuH6dn(6zTB_cmD)vm1S{$41II~xdLCV{QBH7l zaSy#0X-jYJkil!qpHQ`xlW=y)Gz|KvkAf9DaK8T}v=xcQSMz?+qTFKic@s$8A2(wE z7db)rkvo`M&62aLtMR136xKARW3zV%=pXUN$}yFE?{*FDh<^z#BUU)MON2pw4&Sg% zj-f3&*ifL%EKhw;ot(xo6ZaTUR#uY{vfM(JJ=9=?S7<|=+gPUUizjRyGYaq5CqnRs za#*}P3-k{z0GG$B!J7o&3I;BJVc^1 zW^mC^;=$m^Z)UHN%0z@7VEmJ(`>m=6>C@ zK>MCwxJeQzJnhAvADsfLwG}v%jt8^6GkB5bnnfzk#`P9GaE3miTctIb`L_&*-%o+Kk=X?=ci_rb3YMkk!GHVgEzAnqK&eblV6p!Vhz#WlGBSr@`mS!l zy4QUWaO9rAsgdt!dzA~8TF1e=>RQ1mJ2fbp^GKi|x}9BZ5hkcuqJrx?{a86^7u>Zd zo<5oHj@y1I;i{cG`B|wGZj*LJ5usB!R{ap)YYpW4s|WDcW-qkTSb~E8*5jT1vZ%7& z1i6Rj=`vj@>^&CDj{llNM?3ojOKwbN%Vbi>Iky{RdzBbCy*mhfLk7H;trb>!%!a#C zN{r$oRgimU%G~sML#~Zo#E9wDlB?Yg%;KlTc{W$jq&S+s!;@ley{c`}%xXN;C z?{2~+p&DH5Hw~UkIF@rOj-YM1uknPDika!g^LXyCDM=`NL4)3e5GnJ8WTN$D;<&{H zQlGyj?n~~2rLGq25*yDHWiEsMSGG*d>3vWu?!rXd?1p#0_cJE{*@4w1f5s?J8Jt%~ zF%|Nigi}sps?ADCPerBB$|rejwCY%i`taUSJX%*@{0C zm@x{Wq)u%)^Q=W2e#{79l7)=nd3*}9W5^Mr^KzNQCnunDSt9e~QZxvhw=qG58DMPv z5uUBc2chM4WXsMR_?NGY$|kAMMg8&JzV1A2Z=g5dLiQBf+L=ap%4 z2WO_io6c!mLRmDZ?wZKGtMh%CD6pThQzyI+Z<{uHv zbKZS%Vw*ctEtn5R8>Ta%ilMON=6x{nD2IQ8$6$6#2TVR^3@S=5p(ShqZ28>-4ol8L zFVBY?U`wI@P#fGo)B?=Y7Eso$hVq5Akn|-2#*Y+%$Q2d%({%x2Cyo{5S@`h0yeHH@ ze;2GjIuHAv9S4i02hp7W21H9AM3Wwt=arb^gz_#3T^~d%P7Z-fO)NPy{1(K1+JNhv zPS`%z8#;I6;$Ulm5=@?&0hhP0fgeiO z;L?FWShs@jCA*x5V^%lev+Y?pHd+H)x^@EEmcqez+OSnJ3u<$7`CNYjq-duLYDX^s zX)$BB98G~|8{Sm4d*s2ErRM}zPS>EciqEA9Uxqgx|B=9yC|K68N)VyF6nsQ|*tTDT zWV#IRE$Iy+!Vf*Da!NQ^EtE}jDqa)sx3}n(5j}VteuL)jSqVqCt*4ECt{`N4mFL3l zgP+Ilkpnk(fLN~z|NO21j|CEt+`zy$Eidxyz(UY?Ax)K5oq?tYAE;h2g1NF0Kl2!d zT}SNjjk`2+JlW$5F4^jsM{=Sg+m>Mh&LZO)w_>%9hy#Fy3I~7Fm@Ch9p&T*zWPpYZS zZV@tK&?*RDEd&SeYr-bGHPDvq15a}Tz-4DDtXl5}$Ca;xXxwrz&UyrXAy$iw(8ZBv+_i_}=-#B=T&m?B(q(;uGa48V*7x1H zS3<|&jo1<{PVW*NysXQ`wpYP5ad9qXP9t14?86gvH(}7Y8I2>0p~NczRqTUc@Iwdv zbB*VWud;z>nj2YrLow#n4}N!SW5=|aok8dD?Tlwm0%GDiMmO&~9$aP0NLwC5k^NFk z`VD6++FK3VKP<;884p;mVUK|af0MkXiFoeM20;@SOS4wrr4u@oh`ZEI{LS;NKVv1v zj9CJP`Twx*+-4ZC)#f68u7o*?W?Z?IDcp@DT%v~xIOxydG>V6an4>r+*N{gJ7pGyy z)=4CGY#g1kq>T0SnF=cJpU{%$Ww1Y-KR3?)2#vq9uscnNsV{hf*S~%O`%6Mx`09sn z>zXvjIn=<5Ibz&FUj)~Jr?{bv|Mqr7;tTm6o&o)shM5oZIsOn*W&al5`a6N|KpU)m zlMTLB1<>>D1xVDN0#c*O$fg@Z_nkgt*hZfi2vW$w% zS;^(hdrih)cjcTqHv+4&mAf8&3{DQ)awm6KLc=l*PQ~&p`Igs#X#pklX8eAXoa2oh zxn8vJQyuz_eNDoueqxgY&vz?S^eGwqti;D^Qb=8-}hM{TQix9 z``wDoj}$qRnw6ZV=TDp@6UIIGei!8g30z-y2HK3oa7PZf;ZVa_PSy1rjmc)}0ixcSD6mojg>Z_}2V@~!tPb^x9}&yfmAEKx z4Kau~GO4c(^5)POiU&OA@}(ChrgE7CsZV4T^J4UpJ$qg&22xQy|`3--nM1 zW6<)!HI(_5iU)oMqi|&|(s$cYaz-H@=XWl~6=}HpDqt3K3VqwfF;D(Kj9YI^cP6c1 zUrh@kj^Zg~%uExwx~i0S(FcIk{7}IU=~!4b^%k|b5(o)ti|`81mwod45ISe?A%llk z;KRxjRA&BXy6?0B+RX7_XBCIwp2rEqZZ^d=a^m3Y+>fh&DTC2+Ax?vP)3gbTHJyZsGWv$6nJH2fnK=Q45R5$|nJ%tCXgKLVY$3{=`(MD6=7p}PNa ztO?FXZQi4*Y;hZ1R)_Kq>c6^wCtTSckQ$%Ya}MdrKM%C zcjexr^UFW1YysbsdApar=J*cj+yx}F_8ofns)5d)m-yqYKRlk)i6fzx;n~{`d|Ouy zt{IQ9B#DB1<^#NsxzMl<@yOB$NLd<&%cgGwqiMPr`&12Nr=6mV?G%EVn^>>ke`&6k z3Oz1fjy0`gFkM%Rv;C8Z{fAt*!pVOyk?+0E=QGRC)q*&w+xFb<3CB1{U%^%HT+1C! zaNwfO+H$pHt+;sk1>7}tQ!b}v8F%cKAt$tH8JE;Gg_BD&pXZzLA_E!G0*SAsQ;;*)8+;B&tkm%e%f_#89hjI%Z1YA?eL!5E@X=5g*$ujyHqa8J#T;qi^r zIU~c1s53#1yC|8!?=l|a^!tZ!6%&TrKF-FdC1db4pEa!L`^fSbJZyzFL9YFA{48}^ z@YpgDca7OWwPH%}eC-UJEP4;w*l4Vn{v89XZsBmM5~u3?5jWnM!mSaN;qLWM;T#uC z;I?_makm3ZICrT#7<0mbJJ7Trl{HC1w>WHhD*?vhVGIn+&TU{cjTc2w?#f4X5Meb*9N=~dl&z0`o%(ym;tKoV8N+7 zohCWtfZ(JKT~Cg|#h?&6%Z8tsXpG0sg7I|U>tGDpOYndeV#K`*`0QmT9+4|U54UI7 zl2(F^>UYt~IugZx7GZ3*4o=NIi~FWMsrt`(A?{>UK#1@5#f>`$j-&7B8GdHe#EPR` zYBLDU7hqXsD?F1sjs4^n=*gs`YIr%Q@8&a1F)8rTg2S?6Ur3x^gb}b57OKT!d-)`I z(C&fhvwo7YeVcI9=?W>U+=oZhb;(`6n_Rlvp4FY7j)VJ8&|AE3-mc&pJz!sgxwU8L z%~NIg!GD`z)ms+Fipqk3&kSAD4u<5P*U@YHHF$1)1^?VGh0zaTJd-B^p6#$f?=&3{ zx{36~VkMGppeC5;eU|PixkYAeRKo-vb$BPd8KZ5Lp+zzhNpUXWVzTkn!|kjr&+};$ zJfaGwUieyl8a_Ywn*P+9hqXmhNW#sz(XdmM6z<5ugwPpS?i2>%{yT9}Y!Ofwe|$EW2ZB9k zaB<`*cpJrMv@%D?eB}Tv(!bA^bcbX8lL=T5%JWFCdt<`K>*)VqJeG{@z;=>>BGY^D z>rggsa({-tPcrfMhkH0BJRXh4Rbo`calH9E5_5aCao%rpv`XJejaVnTYt=L|f5jCt zcI+ooTCfh{<&5C@qDvEB^wKko~?wpI~bZcMx8De|A-+f?vGyxr)h4w_`_31TKC!5&s)li%nb7>34fY|fIiN`UmFZjZK@Vc;qzR{ayR&R*d-eH-!gbRdyxIB6ajlqZnSv0FbDLa zPYAAOT!p^@0RrXcxo~J!vB1kL0%D(=kOdQ$!n@XN@-*fZIhpW|e7N2xIL?le@Yga_ z&{R(x2Ysnbt_}ICxRcuN8n)P$)5M0y`I+7KleSp$pBQmoZ_EanT_aO#GHLomSx9KN z#Im%hu)y;?in~mPo0+ND86*yidG4=_Q3c7`D}^_E=aAAVl@=XyN-ZifzLDNN;cUC7 zJ!s{hU_ZAWfyW!R2xi^jxnJt1$;aUYP;q`oR43;E(=X1=U7*kX4V30IOJ{R^D`hy1EIsbeF9|N=xIA|!|2N*=^cdx3c!q`78MMjc zvnEDu^u?11ygg5g=slc{u90dmW%YL!R5nBW`4^cxKq~NI0&$7)m>% z;AF8HNS+M<5343pSnUp?Zybqn5VHEs4Uk=vlnj0 zo%ohsbPB`vMnycm?+P~mH4%%41z)%2rDeS0yf zN{YReI7IcoX^;;>l2ykFy~zUCdt~}$M>4#{4u%HD2`)&S2QA5Mba!|aMD+@zywY=+ z-?so~`i?@ugi}~2EygG&Mx*#t5$1qqA|{{s%zMznu)?VeN{>5Y{;xV%)%AqlSyKex z{(h@S|CIoHGx7+Xa0)W=MZvqr2D-vjL3ElN_{^EiXIy(p-B%O%d!wI}eO>@dRaC(> z*%l%uuLf5aZ7{XH0IXdpF`w50hI5WoZYmdIj(?wPNHFzF0x?yn}x+0#km1! zFs&6@qu1k;f++Z>RYNns@ND`M!(^J6A35f96Mi-+(D$3BF#5V9bmtK#=EhhnR9WiE z#NIrD&d1j<73zF$b^c5yY0Y{3`tcu3TgmSfye@;#FFREGxEYQoP-~~Oug>eLXD9h{#Ts{*-0<(NqZYye6Gp8T`a`3&a~hxFDNi?)aG&1crQ-K zF$=CyUzyomsLP4WkY-lBk>#pf-h<7qK~xU94*EPFPsh(64ByA%5=t@?4F1~i_gc}s`?b=h!$%l z7=3F`nljAEki|)|~uW-{QW3znzCNX)D` zU~Xwl%5@x|(L|X{(%1qIN`SoYIRFM0+lkZfqY&G=hFm#w2xNCpC8rl|1OJT^$#J#C zFje;iY4J0GuE7o>I&})HXj25|!;@j=bPZsPwc%*Z7ZUed1`76hk=9p5q~c&l`IG5^ zf`5rXV`^s6i)Uk~$*o|zD5`+o{;_}_$SopIbx-np@_7+-$BOO4PTWn2fs!xwCPUWk ze3?*-VRk&XT;vZvR`tPxy<@nZr3q+1AjDnNxsKXnn$fqV5ABkJkrs<^Hw80rY@aM= z`R^IM)uhO27{^fVs1oRvHbk|bYYM3VQmiL2*=Wl4mt1Kwsc@p_y?V!2E z53RNSfX~H1?0qnX3H*2#eWRtB3C-y!VlfD1kQJ zdiNLh_>vr$Y?Dj>TX_i@;-s*<~R;B$PDarcV*XS?v+ZIqW5m#h#%~-!77o z*o_}w>yx&N_c86Cw0WvC#p+ic^y$1v9FYD*tM|=BlUrK&aK0P0aGHre%|8TsIWy7G zG@Ojj*T?Hiy-9@YbiA(nRUs}o`wL$>{=ie} z)2ECBenR*yV-Ip_N*J^>7rD=xn0>t)!@D$5YNIgMm#B#m(n8$SOH(j0vI&PCFz9yE z5fg5%!=LVpSku=1nBFN2ca9&%3tKJ0_U}$yJkJV@i6dr(7(jKi4Z1Fy2-~Xp4(wM& zP_Z44^WJ_X^W9$46Cqd0J>E~-rRhv$=ei2Gdn%-a@39yRP9qByf0D4MgT#63Sa{%` zO|r&}fp0zciSngZqT>65%-Uv4K5i9)U9()PMt7%&$r0uHyu{cbx&f=POR< z_6<_&N@H3grG@MGo$Zt1shB!>0$OS6p|$vC9H++L!S?!N!n0G@Q4@%lwq~Qrh&SGR zR*PrCc4PSb7CdFT4!a|3QSrq*ToYY}>YbXX!RJf@7I)A)+pgl_8C&VQ=U32fs~`Jc zb_zCkIS7tOx?+ij80q<0O>fUOB0Egeh~9iT;%|BmnuX;mdqoG}G!sZ2($yGseN`0P zn8v&w-Hq3xwVA?s7jUPG*3pg)-g$-xz?j-aK5 z!8GV~9Q}CjCv}*7fd+0|gem6f^zgVCe08;k=G|_>)w}y?_NWjCW|H_VU6WhOv!L!p z8gptjwrJHgm*>!XV(OpyoLO}|&UCir3~Teyb-fiQ@jM&72242Fj0kjV)#f&Iuf<#8 z5?ryJB5oCK$B|FjH2Gcvt}-oUpUZAXsV;`31usH>liy_Sv|T(SVj(CWh{dikCt=y= z3Y47_0=LZX;>y@S7@63CW7_tEn%4vDziSJ<@f~<~t`v-qdCZ>=oyo=4b~G`WLq#7{ z;sO^{ToiN`e|dXhQ_D2IyPAs+J|@z{np+rj%$^-g>c*s?X(S-|B_3rT6OKGa6DbD% z$x%E!!5^Mn3r7j5ScrLNh;B#2;YG=2`bTFMxTx+Tvs@>^K?h9;U`vVg${pY{^|B!G zUI?V0oJAc^Mnj!h7mc461@Qu%5kN7zYb~Jf}vsIZ%;E_}^PTEWGQ98_Y7{H6~y|O)~U}6{GK_MA+uf;)rG}J2rRMoywvl-FQ<|2(N z^+WmJsR|xg5CB25r(u7aJG{GQgC88`gW*0`)cqp{+t;4Kp=M8#-xr0O53I7NcZtE$ z{D-WwR4}ekxX;f0w*j5&8CE|*9m}QuRV~?@M>D2L&>N2)vD-o`>Bp&+7I;b@EjItM zIM#LwJ%75h-n|)^u*90)vqSVJ=U-iHC@2ifI#)Kzdvxw(|F5kDF_;<=RH5TRR0OzQ0XYNXcMnMI`k;E`kwm z=WzEuX*?hN7Eeu3$DW@moR8yFtkl-wrhT1;DNn|8HD@*O&4?uDyh{W(ZtcLxz9#Ck zEE4;CJn63s${0L8yK3d@BkZ{gi9~l>3t2m42!~c%!I{^7@FM3pq$(tWzv&s?2Neh2 z;m6@ai#NP%v;o_Rv!Ub0D^m5QiTqo$TyR6WSCF)&j!NZ$mqqN&K|!4SLC~-%Ci9Lv!?_Yl|yFBDO$|3ps zg6vIjz+=e))Z=tb=LUJgqnlhO7Szn{_z!|@~GkP_jDtt#O#cWy6T=MV*6{Wh$D zT?|xcxRH);=Rtc)C3)E$40|7S5Q)9VVZq-~qW)tQJeaQmZ`kqRSUd|{V=t4mJ;u;} zaF;+khQB+!l&3F+8c3gpB`tZonH;8RY|R}B68f=6;I@4nvAG#eGI&;tontu>bNxm< z)Qd=G?p*MC7)O?GIR!?231m5&0Q*eZ$nn?t&|#|uvj)oG;prVv6HLK8?>vZU^8Ti| z32N(5 zp8q_g#K^r@;|?BCVYZ+uS5IY_iv>!Y_22KX$l;CVF-GNR>77j zl;$=h!@tqB`KVI3 z9F`wz!!CZV)*bx@EsO(UdfR&pIuHiF?Qe1H#$eFQ??u(OyCL7?8OofV3qlh8SkOHg z8eD#&^JZNTJtx5pEt>z@!OA3rwOQ4rzDGbFlQ}vEQs7w1liq15gs<(^7WFC^alzA2*3Flc`C{a>MLM5dB z4Jt{4N@W(33{mDOQW=U2=UH1RiY7@#MWsj@HEWW0zn^?Nm+M^n?7g40e!u&!q?tx> zplp4Lh6$)a*~=9A>i7(jMeS+H@7XjoYz{xW{t~r|DdXMveT#~P3ljFj5jt>g7ca4! z$Nw4bepB#?bPjfhTX=@!9jN5DsHtwxdEYAxfW>?W+4aY=C+}G8(VeVD_^T%7z<9R8aA$t&qeTA_iB$?}| z>Y~ZYB5XArqp#|hf(d6^gpO4FzYA6OO; zVPoHu3OpwT!b+cnESYd}!Tm7&)~q8%hulHDh4TPjlmhPp6*xKNFzKwC0bK%}4Rg5n z-R86?Dl4x7zDYl*XVMta(w&7-&Mle`lK?6GPL7s$tp=Q2^Coa=(Sax(+g3Z1jmFma_3KChCe3tl*4W6*D+EVB%E zD{}W+=P4YA;T^OzRP!wolo%hL2&{N*%#iZEaAJ}zBRZDMxdRt53x0>fmiO+=rq4Pc z6}g0AToVXZ@|ZcZ{xz=Pd_dg;=F}ti4mh<+(^<SWyBsK4n#z>=kyzTcc(`7fyiG8F!b?uKL zZSPm}R(!N=@Lhj{6rGw+KYFi(OBC?)uLC7G4nnS$QVwvnDhrDKj67 zbYMZ4D3k3W54yYV!Gq-!;c0d%Jh`e5E@gAzn}H8}F8EFIKOBV_;-$n|>NI!WnNLh> zxjCENU0&6WLU>?!oTvOd683YJP{mD-a7|8+Joe$d%|>qI&Y&ht8Q)0`jL!tUR|RB} z;VdXHdrA7YD8K<(WvGd6AzRkYfPV*LiI9&O#EqUIH%4_qO=lWR*`Nkv76)O5x;nh* zuLO0@o4Tao9&Fno3%aYhIluG}*}Ls4beHCmfInYAuE&^!EgXW~Jzs6Qj5^`pA8GoW z^5KkbCDlAv1$s)tSf*PC{2fa8xw8#|r~jhE;*UUoK?D`i>4Bpv6M4rbTmk(LN#x0# z0=zb7l{x>wm&;*hSAK`K?S*I|(E}|T z>ak&RDP;LHV*k3O(2`b$rMC-7@Msjb4|Ar=3Uu(hjxDae=0d&8&*2O8{bc=(Kj^(c z2aYb#V(;aLz)o&C=<9hLDia;p0}qN}mX|GS;Zn-w5ofYxoYSe$NSnPnx)1V-CbE=r zPNRlrIIZ<4-2U^Z z=&(D?=%308*2NMNzX|N>#|<>6_ZI5HPRw-4KokE9xO%ArzIok_my`49%Fs&~{dpB( z7vy4uvO8Q}wjNs-HbG<9G(69FH2)KRNS~o0(-B@kpR6ZL$(L9LkSB=B`>e@HZ|DPx=MgeBO%|xm! zG7gqUCFxD^H?T0&gr@qn!hwXT9BKQIO5 z`S-}|!r5?JT@q&1+CtS#Gng>A1nyYPhlE30U?#kDcvDLR=t{pTOBWw{1Xi3SxtbUhIzQ5R~`;O<9NbB zQt&~qlfTh)i1>c^Mo{K7F_Ae6EtZS94%%Z-aL?vBXG=4Tus?r;n>JJOXD(HHGJ~ne zDxqIIW;6Ph-BhU1o^f2xaZr<&GQVzLr^C{#nMaEj(lJYSW+A-bsa~JS%vkb?G$e^I zd{Gw&(!L57vQhT}mDiqd^_BKu_WD7Bg?#Rjx3L!9>(JGdS5**tD0lX@BN z%yd8>p%1uYU^ksFC(RZ^5NX~%jV(TI0$D=p?BkZhp!;|dTQjE;ZVwKj-1Ig$wzCA| zN}obch8La_{{^EfH1R({X~wI-2y6c+GgCu1U{0Pgb0WF`h3X}k#ry7{gx7n>y!sVe zM%tm8<@& z`b#s?RT;QLUVsVQXN=1(wu0zxPpYlE6ZVCD`=`_zy6MkN|qiIj{AS8D;eSF3MRQG(Mor6}eZ{G@B7Ud3`ZkC|y zmJP7fWdPMvxV-2*1@=UT8GP-sU~g{iC+^=Cu)gD~iQB=&>`KWqJl}YRy%o2RC-G+r zt8})K*HZluQ@izu{I5WiTa`eDmu;sCO*hCZjS}*3x-isbnZYrCHP~0<0hMDG5O~@V zYU`JAj3-5C%!-B~cS`a;bN#b?L$c4X3x;l|^7kolPTq|8+N4%i32vQ^>&_7omWNu%k^QYV*UtG75#-u1RtZxfpy;Dflq7(2d zi1HMhJ7Mrn3wIV4Wt6+-5PdFFeRF3Uakx60d9=q01icyN;?iS~KY2FOThapgo3)s{ zckj7(A0Z}->rG9TMQ)xW&XhYY0M}L0jQopC-rFg%%py&Wi>x{CN4`0!-dIHh?Q_Y7gLR~J zL;%`j&hj4PO!zmwiO!qo1D=^)=y50-ECsW$If-+;?Wo36Vof0XsRrW}pTej^1)fg) z3cpqt%u-$jF}*R5`Dgu{7+a|_JHp=+0r{6ud-xrh5|IY?em*CkwY8uz z<}&dS@+F@KqRGY=f|NQuRlUjG>Nea z51YVj-BdPCrVbu@&R|7!Dq*QAj}0m3Tmg4&*sCK&F#Ku;JLg#`7#M4?qjS&0oLB|+ z-~9$y?<&n+a6Jzm&xF~)&8g7k@DYuVS%dw77M%3nlI+=(j%(cS(I$@HkXpPK2iD9% z^{ae5^lB-Ny&OW`;#mA1FTnbKtH%A4MA%g00hCY@Vx3*2*~J2*xbMCW>&tPXA55_1 z{1at(KajBJw_4(FZ!7lACL>;%uK~MD!wX)7NwaUhwgdLx!ax7S7>7%K7}hn7VXm9g z(`(e2|3aIHOt3VQ=WGt9bv+O>v z+e2(oY=jfV3M^lz35Ex)*@G6GH}JYU`%S14YD5Fr`w1yfA+w1sNOc0SjLmF#OAX2B z=JJOh#rS$n0qkae0(B}|$_|EBa_lGWJN%bVuWtT=#?43Qg=?Eo!1*xU6W7nX-55=G ziNwOlWiQ&k=M{t{|K$5}*I4GnkBz|!dQ4Zm3~%JVK4aHa$#dPJ&h*WkN#-0;U_NS; zllWd~CM8e=Do#o5-(1`17DCewUJD^Kv6myGx6Glz1E;4QR0+)Q@26uq>N-WfjIQ8o?B6C0sm8anC$H zjnq7fBjpQe3AbzR?$hKq2v0@z3(~~<*$bNT^f+1FRZ6eEtRlaA_t6JyBS<|bWz}=u z!;{{jP1Sc!q|JW!`5i$i)c%f%jk{GVU3%PwbOs9Im$4pFyV)GO=oI*~WdpK)+EBbX z7Jn=jgbzY7-0bNH5tzLOr%3e$ackjtOt-QbV&cqeuypstYUw?&+ zZVkppuE+klDGRTs+$Aq2)}w64CSv%q6Rk>B`OV6oaf{+PdW%Z4s~HvCbw-;V&0L5B z?z33|U#?3kZO48|2*#)DfK7$SkT`sZ{h$Isjz zD-TbzT&U%<9{5~#q0#uDHKW-Z&HK0G5L0se7caT;B(pzZ2kE<0$n+<^B5Tw$nUW#` z)2a?JyV4`UM9+N6M^X@KSllbHo;Zh}YKUr?OZ4X)>_;f-An+?LmX+{9a8 z`BB?u^YVK5n=qe-E-!$W3&eSXok`I5plq?jJjN^aX<&WikpQy$xSzK$v@xv41 zsL8eje8EUq*QTeVYsy^mNFxEo?PAH1#tj(#&WQw@I^bzHE1P;lg4wk@X-fGjEU*1Z zXFf_oI~ik~KlcK@%wjNU=3OifosP=?JwyJscl22K6V#K{rl)SG0%p^ov~+&gbO&PoPLMyPQW^3mH1W(P?192ZWyH6v5EPyC zVPhzTjYS7REb=B~FDZie>+eBuXbtH6x&f)~=i%_vvv4Lj59ST5f$Hu9&@p=}QTjU* z?vLH4W!$@Uiuzg{>RCnhwZtM@H-%(yTtq=(KO%NQ9{;t}5!KUL6jQ&DfQcJ8mV_8I z9vLSynq(o;UIXS&Fa!1K$zaRvRUS6(wxD6FI=}e_)c=&4- z&O3A&Y_m)7*85kWA@Ts9Y5f43?4P*K;tw4CB+N>hjf2{^32ggY0VcrmD^B6|5;Z>0 z@MhOz5Q*r*g0dp`lih`nbm@6|W2kYT_5Eg?peCb3b|RlxJ01UusG2NGH1_-=7JytNy~uXr9- z&A5k)>k&kHFXP^fGqBo?kGpk_I3xhb%&$LDXzfS^ALOY z7GXiJ0_!j#05uNtSh3@gJ?JRcwmS-L+mg2ncS`5a<;?Q4hM(C>pN^~nR|8n}N(YN1l{$(*A zp70^Lx|kGy^#Dy*8@Sx}l(!(AbJ`uBjw>q4;2q~lx$9L6$=)AODCayZa~5C~_7_7B zeT^U0k{~dl5?zIS;Y{{i&X+U|Vt0=5s}I%^xxv50hs&y0s2&C}-e+r5XaVsrC;6F+ zMu5zhp@+hSnfwh)sG*WL6JxZCj@=Yw)Q>HuN@>sFynG;k)>t+ye`Q6I*#UB9!CMmi z>@5wJ0C;D88VyVL!TX>usN-~!%b$s|uRm7-Zv2a_tt_nFatAkkMCgo7!FR>w&=Wot z?@oyU-@9dvlROOJlbSBvGL0s7+S!?rbF*{GK;pIrQts}FzYOq)87M5Opdb&9j}|r+tuYjqV8Mbh<-vi%H(R%tA_GcwfAVFb4#J$^*VKudqeb7Jk5$*~;Q6e06y59&iN{W1aa|M-=k)^E>MRUPy>9RY4C@=`oH#}{i;3e< zfGEf1*^JNY=UoN?5y4$e2E;3}&};GK1m>zO@)u|3Ury$oUct8*we^Dvb4 zhv2LwieS%wM5o06<}I8`d7mN^=<%8_g!n0<+$|H>K4}?ln{Ev@cMjsZHhrjdO~&wO zQ4n93fh|MTL~iUDX7jJ|4vdB1hny93`xRaMC?SMDZH`ijYKH5)Tl1tXJaJp;K2n{$ z0>>Py$zQdl7(6&Ys(V*q+PE$xX79tsBU@qI@hFBrPJ5_^x2#ME2 z;figrH;(g4shUHT&t1HcCj-5=Mo`OB76iM$;o9lyaJO_2-%L>g=Xq_IY0ygkaI^2m zqi1+^ZGQOtn?D54lSPntZxRvyF9F8pog6B&*qQ_o^x2Pl8noeTQam1gbCS4TNO-=|v0SvNC&qPGD^SjCfo$Y9uTMjFZwr@(|Miy=)#07p`_Yb@eLb6yf=BCMVF@MzK2jSfm!1x{>^eoWSvEm3l-h|ZvAicj4NFfb=g zYPf8L#&&wjx(yQhr(o{gAMg>^;@m<>#`t$6p5^8~=I#4&!}wq5XmCTndF}AKNDia! zCxF=hU9pwAa5Yw+C#HFZXj#1?e?Rr|RtM~WZ@M4(o~BJeyzbNEuYbXGJtzF&E6Y4t zo{U>66`73Oa!gtz$sFE%2Kx@Y13S-DJg}C6ZQf$^)K7w;$m`S{7sI|qn|U>H%Aj8J zfheErCN8(;K-6PNhUbbIH0*6v)>dGA6Ij+}*(_0($cHE+w zu4njW+oP!D3>{iBdj`MQy?`zd9OOm0OQUDqD_&zc_xZnHHs1D%M59<|nkgTR-3KD5 z>7j-ApmqXXU0X;K%Y{hHgEVqG^ahC=_l8{((s1Wg4s_m;0>xuzAmsIPvV_e6x1)t* z=A#I3(TpVf_1)lIW&+9lJOj+aib?ib6`-BPWd14v7>V*GZ%-Eyx4%-2%+`O__Myk< z-tm8-oSV)3$&{BuU_ty9-F{d~KA9 zZKnfL5T&xcA@7$&0G1q{&CDH!aHh8^hA>E|h2+x0~@yqIS zAfP;vd|JL29v5zdDu;Pc9XJHcl4+1zqQ^Mw{6dDR80PKw3gYTu!u(6{Ch1+DpzD?x zNvpR9=goqoxpIUWr(2L}mg{1NuO~qLYGjS_G%g_d9afJs6_M|co(`;b#!}E;)7?(R6Zeyx5iiv8#ZN@KR4iR^4WXd$I z@HYD&V>I6FvYu?kFg+=4{L{X-;JW7`>Q*}wv^V9@>6;=5ZXTeUeR6oyTlKNh&8aa) zB@nl%oZ~xsW#U&i0lG`63Kxw`q7}{cXz1)g2aZ;w{l6FVnn*S_G;hG={lTce@hWan zQ%AnP82fPcNt!TOgWY#xGyih5CM$Jq8}DDVG;5TT%)4^p5k~HI;mOZBiF=g-d1*af zsMcM@<7->vw~dE*`L+viaz!J*+G#(2dD%i!6Z4Tn-r}+6S8xO(xpP)O2EROlzB|6* ziI2Om(d-v)3o=D1kF{gBS8dx^pm^63uehxlQ2H+}!#O-vm#$BSDpV{P|7^wzGy z5A9qQ&8rkAj_pQSw*s6JtBj5nC0MaUj#k-MqpPDD(Y`?Op57Sm@Z&2uv@VuD9c#yz zT`N)S&to)}Z(cmz@^T8l(&RjEmg#fS-rY}}#tfj(a31)VtH6!4Sje4SL=tut!)vP^ z{-&Wi@ZKPaZ~VDj_qw(C^l1$^y^O`~+b7_TY9!v5T@7n07vSNsH$+#kn^t;l<jpmSZ`a?HP}xFl~OTo?|-zLsq;-cW+}66;^BB z7(c^LhrPi)(0jO5UO>);Cf_XXi)qV zx0!}xRmLrRGr9wx|EtFK6&~oZF9pjr%~1L82Fwbbh;j*Y(Ba`nsx4)XTqcPA+z*&K z{G0yU?uj?dG;zl)?VKOBnop z2KFqe!NEi8uxff1K0bULbE^-dB*(&3J$D4>G(E=l8=U{LVHDpsUO=;XQtaQAW!wy8 z8awO1O&kx}n3c{-qYt#KSlP~7q)K`=d+Ny{2zj8(&OhD=su{xUlUL8-_?imLKK~Qe ziF~9U!h+0gm+xc%en6&0HAu9AjPb>ro}49_Ct03ELJKt-kN`RgCu!8@esub%K{+33nOlC#3JTYXwCfhPM z8KV~Ivi*;4qk?L3neR4@ zOSD(&DUKvwq$3wDVa`qiijFn7MtKdf=H6S(>t=%Knv1yVR0@c3`FcO@+%`th%- zkFNk37ZtX?&lYUn>##E}SitLIHTGi~0XdG@EqC1+oF86C)2@Xa-)t*ZXWK%rUJhM1 zW(Mm%9wJBT%;5=Z20Jf0z}@UH_9BWAf$4O3bZ77#>i%bIZc+O?)vxc0LEr*ai zVd}lD7>uOO(A5HQ;GmdK?-i@S0>3u?g4DnDp-)`Mrk_*LZulE{>>Yz0y_R5>RfMa% zHo$TF3S3vrv3paiQOYF`f`3=yk+@S3`Y<1L&gOs<$8nh-6a#&e`sw-y3qd+3T^k)HoiIXs+6uO#7>=0n&R3DOq9dF?8^}j?Q>?%ZB zz9f>HQo(h1203tofe*&_c)78BvLq>-Zyu_}>zX`;wx_z$3(dmxn9w<@7UI@8T3SVy z1R9V$&ON*5#Cfu?cOPHl)^DN_uSI$WCPU4}7NWJw3?%l*!La2Lkj^j$al=pu^ELuY z`&4i^Ith+&j{45ij|o4$2r5SN$#6jmT)h!Qgx;=%vU}!aa$rB1*TH3EV`}+xCH~_r z&76trYnJfR?w`Tuk6-fks(t6W=N@Eo*cA58m2`4d!kCS(DFb0aPD4VQns=fjX8Hk#sybw&1s_jyU$X^dBarY_!XY@ zND-}X8Y13@S{je|5OB%hvKvc7K;qg{ayB*RV5JwzP~32gRYFfE`zYy2G7M20^qhgR$!h?yPE@Z$q07jp39$bMKnAI$Y zg=;h5QM)?|+$;f34uR`#RzOp4AiiE%4KpeN@NsQ&kjTi7%!cnNLwnNq^ z9gL0R`BrOFV9G{WsN5LKok6%B=;R=%HNFPrxn8iy|0CF{Erp-9Ld-=8Z_r#X#+;Yk z3`?GgGFyL!!Ne#LX2ZNV$dD0c{;o`dD__RA?D0`3JM)6G?DHLvKEb@<>3-ciLdUy&tHT?Sh4mT5xVe z5!8i0Kr#Df@LSc71Do%{De?wCdEbPv@wb?}_#$lK`j{%FS&+_gNbcW{1&5Qn&>(Ri z$9#-2L0`#?7*gKIIB8| zom|!i3a!$tx8Ggx^$=heKD`Q=;*Zd3V<}jkI)%Ox2ch?mH?Ey+2y3;w=_=Daa`3-* zjS0&6e9!R`^6AE3n)6o&zFhqei}!DXwpH0EtCJ3sxxD0L!4inxP=u$stZIww0sPOt z1f&niV#w)yC_0kN4-wCX=+HhgZ%P`RYx0AFU zxQ{}NoO3wLy`sacDLV=KM;9@!doO~V@lIxwP$%?lh+_tSyn#y5c*d-B9C}(0FgIL8 znFyEFjO~~x!>qPu#>|Bn|IaFntIrsSUKC+e7ygC-&k^X=9ET9aZqVovVsr$!yo9_M z<1{@FYK+902a$2$ZY$2X2JZ#qLUD!(KEUD!k$e@@ci99 z*j^S7{!6N$zAqMx`Z7R!@nN``mjZ8VkAiV@E|{cq+2(82kQZA6ua-A+jNd05zv%{d z&4@FpQXTLyMu%yuz6-W%te9-+4j7#V%#@N=I94@_QQ24xRS5>n3cq8pF88$P94J5aC`jg>G7-i!`R37PJ$L)#3p10!O%w;_I1KU z`24Vd%Oy-8r^Cx=+^q<@Z?_<{N($pF$$Y5E(c>6f@4+$H1jF+cn3T6VcuZEGS-oBn ziKGd0pk5H07V0vd;m@gN_eAFLwcFGz;y%b;cuB{DLbwjdRO~;ro@Di}MGN(I`aHb= zcZx5?juoBwNFfGCD}UkGh9elhP?DXZ5{su?C$YEcgYf&hi7dWeibf{ltmI!iOnxB5 zy8c***0w^dN8t`US}w}2+n$cnAEnrNJ2{rvze#NShEjyvvaI&|WV~!9!&>P4pNTBN z4z;VI_n;7)B=?p!-~5AZ<$P*l_W}J4Bk1#Wk1_phG=Bo`67r(vl9UTMcv$l-(O2Ar zD-+G2=(`ej|5*(u!&B%5I0!+D^&5YCa9k+$VDffhGQ3v!K(0-SgI|><@IciUrf&3t zT2zK#%oey67EMfF`GT-pGC$heg1hHc({a6LWRac}ws9867bh)nahL|3dfpfPMjlf| zw^ZamH%6tGE%@L~06q{DWDOGz<2i2j5TSDd)xTM?fAx#-)_gnmKgH9ix67XOOejZP zt2u1zl_H!dW6QpKa}=EgZQ0I^p12DL`|R%zx<22Wz4`1hf8%luc6akuVoSKaaJC>! z^Bu&paT^F<*?@XG1K>@?VXQUV3ogZ)I6Nm9!WYWW)x;5wc%38LLqC&`GiHHAdoNE$ zeItB5kwC5e_rRn*8fY4{9ok!W;P|pt;7xLIE4Q=XU0#QdQhnquw_`3`eVP|6*oce& zaz2r^0$d^7!#V9kk;8S-o^|SYIk1E85aUCg&mJe{zB|ZS4F+cT%>r@vEbzXT40r!M zfCi5H>Gw&5X=%C+aAYdu;NQYMOLZC1$a7F|PMcX25&=!ml^N|aDdQ(ZZDG4p4)knWGC&K&av+VDT+L#Cq z-y33X#!bV6FK#g^yR7iyqqEFyZx6iDp2&PO-hg^OYnf61H7ITbOkX;|+3xC0KO=`4 zc|y$N=5I9M-7N^;ER3JT5@7PK>BwA{fNhzp@LE(dFY;&v=FUi=(L3VtexeAzkdDIT zdOS3jT!ndZ2aztFj7ksB<5<-(x?6PwO>PWW`yW$ee+4Wd*`9jro%SQdO;ndP?hGe) z1mxL09~P1rr;ptJ!<0m=r})R+mV6>7Q23EQDNRqrhLT$_pl-g%^X*C~wY>mcVI zG@zE296Wp9jMa9|u;oQP{+esZ?E3}z6qRU~Gq8g)eR}VbSN-`^-iohI`r?5=_ z2Wbk;hp9it$b{KTASGG=Tn7G;H_Q7-=kp>muso7zyZVyO2SyF@`i3NGbuw+NFd~Gpv6 zn|AbBR0YGzX}I|JCXh1F!%F!JByQeU{uZ~>G=6b2(R&t;!wVd_e$F7qMu)@YLM2wA zE)G7a8nTuFyE(Ut0lP(TA>3t^*`RtgP!9Ql(cYq98GI2vZ%Dz7C?8xdF`er~=5sUn zWuPe%NW|7{gU_1@+}X4Zwh3f{h5jN~V0;~(Zj*xAocA!bZ#~KVG=aIODMk(6a2fm* zA?(N-1#_QZ^mb^2eShjOOg92{xQya~l?^1HH-&W>Nv2|(4cQAjz0omOkKI1!G){XU z!>$Xxhemhqhr707?^A_ycfv1Z6F)6SYFa8u|pG;L^ z9~!J=hwq!RKdqA47hiz=qFKaFcxcC3*q5+_du-YN=n1yw&usSe^JuoK$&g)Y?8Vl2 zDY9A4YHUdOC-he+Mw!YAT%U4}eBqo(-P5OY4$EqKOZqHBOd|M=8e@#z;yI05FR0lL zADKzlA2GI_`{NsJJY`@T5$J&rS|;1dZ%xBtL1EjF$LBG_XMhpE+J+*-SD5$5pQ7BW zT;})hA6Wj>hgtkYoOO_Y3i~+clmF~ld|o@psc*c6k)LGPMMLK799DYSqwCXP$ zeip-i+VT;POiE{u%f7hU zY{Kd|$KVjpk-cSIhSHUO?Ae z-Y&*IO6sNl(xX^9=_ggXdmlSqO~IOhQ+QKz4!ZvF#m=S;IQ`ToYP%>F$y|9VoRf_2 z-3oY{0uwP`9msXb5G?*|Le}qhK!?K?JaR{Yn=>0wovp*PLghNGwrHn8;!-%$e2K1F zAdBVGuF-bwNA#stFLlijp$9VrP;KZaInO-^=UsIG-&2N2gA1T<+H}rN^Z=%OQ$nk6 z-?`m&AJ?%N1Jmo<>2Tyn=*!dO_i1%OkH$}4w@)ot1nnl%|7O8b&q{Kf<6?Bky(PKw z5fBuv38yU%z?P$4;Or3&#Z%)z^74cNw&|CM5j-e2!FfQoqDG8TW#pAW3Q(@6;j^RAR01`rKFy)9glo-}y z#y@emEq4J;Ubd3T*{9JtD2OB#<>J(3gFK)48Mq)iz~=6O;~41Q#$WO}2fw~POobnw zLEnN2=uY@}nCtggcD3NzTS?qI=rt@?EJIC!OX$^g4)^A8pZh6~@#n7eg z);5t|5<#V#HP{k%AqK>Reo5_2% z#-4N(&f(3QV&jthmPGYyPSN zpL;+Ch91G@3)q@+&VW6HbOhrB}h6;BtjzK*SY&Gjp zX32aoHh7IoiyT2zQ-JkXm=EP*f~;erCww^hiDMH-fPrKeYEH|CgA!GEZE8K({7uB! zXPaQ#?G<>)uLh>qD`ET7?EiB->DAN-Xy4IV=jq}Os-E%W>~lkiF1Sywe;Xr1mu`^& z`BUUbi1!p z(>0urZTok6ee(@iXs(EbF0J6S(-OO~ioxH`AMd|i1M4;2iQ49WB&^n`3D?jnD@Rb0PMdEPimVfU2@N zSn6K~pB6=+^on}0y^@dGW|i=9?P&y|Y|w5^Lb-+E5MZE#=SrPGC?J;aXgeA1zj#J` zx%aq=mv->hSOTV+uZ4CSOOT(w2`C!^^&WxHHhuzFwe2wdQYEmCJK)QYMz9Fn45{my z;NZ9yB*k2YcN^!!TG|X7zY#cg`ZCO_W5DSEhT}sxC-Pu9)n{;ve5YC2wlz}%i#=G{FW&R-kFG~{~Y1Mv`Mr)~)DjP+!;{EwpZj>qbK9l(9Kah@Eh)2R?*`O+JxAKt!Tl)4q=0r=g9%quVU}yp>r0tAGCa>UlQ6V+C zO2MK1F!78|hbb*)u;*0>*!CacKBp%nM}$DrvXvk-c@tO)v9R-q2GrEdgey@zvi6A* z+%@~k%nlKUn65^i&n;141tMtHs5}&$DC7FN`Y>FWM?Lqku+n!Ewe+-yz6+;#=EAEX zt~7voDzp#+cZ-md5{mHHS(q$ts^Ay}$C%#}&NC&pr+9IMp|=AL)9r0HsdHa1jk-2Q z#oe{=ZHYK8t+2;m|IZ6&?8T9YVLHwW!>s9HR9rn8cWFN1%p>8LkSqo6w|C$?{XiHo zG(u6`3sBj4i*8s}0#EF`dDQeKxCV0c)qMb`3A3|(eGvVucMCD-C`eF|h6dz$19BF{DA`kYM zcOG1O3#`tEF!)-k$lml_4PxKFLz;;eTtCL0iA;ux{oZ=`4QEK(opNvrjAlNkC&EGx zLpn!i3EX$Aqw9YrlLx{7=;!_obVmOKj5jvK4MmTsi(WV?)Wp(4-7E~ym7+^zv(RYU z#p=kB5ZpcYE3v33u|b%212*+&|=;EZ2F4 zx4z<+3GEg=UV{ApoPpHK3Gln#+#JSn6m3%~o;D@%_?p za9kSf(s<0kW)TH#NtF;0rsPe0K{ebGAUsKa+XY8-!4CvKuXzI!U)bsHOX=rt`{QOJh=S zDWhp(hkn`bnSSLE^!i)EY~l9SyHvkh%#%&#m}F~sGm1{*eL9~mbUwxTo37Ejb0hKN zBoWjr3P;9X4@K96pyf^@l;Gz46B^Z#Jo3hg4<_Jk%Ppwh+(b`2-i+<{vZ?rdcYIl# zM1Q{Hm{samsano%j?FMa|N9(*@3qwM2`?6R@Mq$uCCMn@CW)Dtg!$7GsiQpieXj~L zBGSINAm$|T>o!4?g7f71ZSFl6Xh!aCKUrN}vW>U=S}s}Pm`8hmO@cF7Q?Mym94>!w z#3fUjNw;JK2H%=YTBI_t)X$hcT9}KE7yP78r(Hnxqf7A1nH+4f3dZYyig9w}8BCbk zis4KO#$}D;JSA?Avp|u5U2Qj>ou{2keUQxu!wCwXYm zTCHHzN`7}dCADrLq!t%I>nd@gtGpkaK29SCY@)$uu$<&nyd9XW3e ze{v_|;afw*e#2T+@~dDxl~3Zd*B7X9z!?Rz_$pG}Uu@wzycu#1o+XkiFF`M(&Yk<(p=rl{DB3Ur1Ibx1MNot_ z$>+iEFnP8>q5*^+tFR3b6e?TfS%IP~NbeehpxJvt<-v8B3Yu^++Y)Y=){^#!D#m5) zdg9hKM$cP}GT(?l+DfD_;|Z5AXqE?K(pQ7)Y*Lv~u7dPjO_FGEcZb%uzC_D=JGyD) z5m8AQY%r@L|6XR&CdES1Rj5EG96d%R%{k6{b4rG2n>SXAHBDqD9}(is*2?2uExFGd z$abLOiCgLBj_XuS_a;p}HVK<%O+?+3^ANXdqH*yy+@@fLk=Zf$!+SYSHn@oDZ`b1` z*D4&iwh?zb+`(;QYjHz#6Rt>Jjuzi|JokI?b$k>yTYsVTYqRhf z+hOr$N*OLtc}xENsYabf0$bP`ywbBCW(3us?&h_yu#<<^l>i*m%JFWE7KE7lZ#KffEiy#ilTUT`*YU>Bd-2BWZc^83hEO2`)M$z)5=(s1 zFnkC3=a7JgswvE2%N$%Y*ui`M{W8vJ*-x_)%aJ44(d?7exKJg9);&iYci2TGd@9k# zZxUsD^3d-;vueN9QJD3)muWU$fu?$%#OOEYpzOLtWTVPnIYWoUO7Y{2H}uboE?o6b1vA3`;Eu)_ zD0Xlnzs-3H=AIDX=dQa)i+_GZd`xIuJ?CIwvXtj!e;HlsM0w-cHvcFY+Lk6TlhY#UHLK95f4bNtMi8|jDc2jt~Y4E4`^#C*29PL=6#+8+6aPLJmX z@rR@^hIPewL2cv>2H}6_wD7%PAlD#?rjJ28u_9|ro1knghAi;OhE-3p$>ANFK_fJa9GLx@r2C&GJ73P_B^aM2zkf^P znSc~BqahqighI%y!&gyjlP=j`P>;PwwlD_cwK%MGv3k_72(@O2@IHsd<5}}0iw^~x zaoG1O6LnRdW1@zWJ~a(Gf3TYbMRb$&Lz+;k7*%dp>o zb6RU~{Mm*>WPE=&hI)nbL^*c=&ACp!$2Iva&$V%*h!H24fy3tQc&1bnV;QS zjJaw<$lr1UTYA%Q&$KHzwUXmC%bv!wrnweP#jEgx@M|({=Pfqn%lvWh0%iv;OBM_+;h1N>_?a2>q3s-nAQYm#fmI`K7R)NZ|7jpy@w!jw~E_6 zM)15Y!aw437Unk01f+PO&?W}Po*s+PCAV|+vpCHT4Ttg(`Vpe zOCTv9IR`fuNRq_BOqgQ-hPUTu3M}FB$%q*4T>Rw(n%>wC23B|RocL_8%oN}^D3ufc zmx_GN-WL`=4|Vzd)Q8)dp2HuT|DI~9nej(;34WF${HW3>96!eJ)Am-NsIf6$_(dzq zzt-TB>UPYroXC$sGMSfheHQZN=*v&9!}sV+z`dO+oJsW zo(g!zQ<%Sd?^N7=^)s$^mqDpbH&JHF1YDAF3~RaBnR{j(^;1^Im10pO=so8Xc(jh= zKA*rQ&a3l&;~7kue;x9^#^4IwN_e<*8*Xkbf*}n#wBDEovufmN!;!=A=q)8wULPc! ze8A8(h@5(V1HSLsOrOaNz(|cT8V`Miy$K1pSmF(oJ*mM@=k9{xt1djIlM4as2eEDH z37Ep|bUAExgr{#xu~KX<+zR(awGn05oj*c1jY>m(L>+JGZ)K2OElOh6nnBWJdvbX1 zPDpPRB9m{YLX)B(FWJ2g8gBa0jOjx#ux^0nM{xY}J5x~Smm>T5q%s~;Qe&40k5F$L zWp;Kz2yNaV!5Ws`tFGw%2E}3jF-{vB;eN+-QtOieuWmInea$`~lGIpTVhPZxxs+
ePvje>T7BcO#oJ)@c>>Lxa(j?gJv(XF+zp2}qTd!qK}kIM3u|_$t*+445lW(V0U8GRncyJBDoQ%7v4iaU?A= z0b&C4iCfw+$mDA$$-6CKRnR{&sg_LwL;2Ew5H6VlF{fhF&L zkk;=PK*B)+d}h?bwRjac_MXCY%OPE|1e~k%p>8{uXJ!^b*sQ}4SUwZj z9#wen_>L^ue~Fm=M$+uAR(Db;l63dB&`nW_q-_sil=MB`sCfvw{}rYqt8#F~ref+) zRf%SLf++K}8r>*C;hIZm{CFp>Nh?HieIL}havJx6KNeaA(61=nrNCdJ1BFmxkJ*7`(Ywe&5{_P>`-Q-5DC2r+7AU~KD z(yMS-WC?4NriJKwm`dD~L6PKpbXM>*eECNdS1A6ZKc32?(ca(m-BJaVIU|A|bS9qr zw*Y$=jnK4-<=7aIM*kXb#P`#B*ymUGqr;bvjG&_j9^k7ck*kk!GmIqsdE|itdRDMr z)(yqdJwRuc6P5~vfz4eL49t#%WK&tZ&AHPGPu!+g*B=4GKb2NktbwCn2^p9t2mX1J z;iGmVnKZr`ynmE1VZ0=W2Y7CxpP zA2d-TfFI94oQc&B<{)qLYr5jAI{Kfep>BM}T#hoFepI!@UqMUhNhK3ZnVQMEavjjc zrk1?O3qq(cE0fuNsF4=mYhv=}uA+5Q92nK{vAQ#Vce5*7Uopx3jx<8VkxY2rrYo<9 zkt=l)xZBW|Z2zi5TKd@bzC2sfNkbdiz1my9Mg;l$&{CGGnVIr^G?#XvSB3DPlo;uD-;&6T{SWV+VGPDC5?iB0RioElzy)LG69c zm~SqJ4f775>7wJbZ|go3Egxap7i_>iVNXcSDZms}UD&fp8n3pwf@As%+V2<+o7K~( zpKTo2KUqW-1pgLRhbOkJKOJx)J|B+|=lxXAU%|!A}Dz$i#%9c7l zrz?94snb0vlzB1<7f%Nya`SP3#nI+{g8THun4D zbdLe{!wnBSJn)uTcHIGwe!D=zw{na{Ye86MkxON#>%;1AF^uHbZQ%LjA2HSn1czTo z;BI_82#|}=n~?#BUO$BI>vG}!{@>7WJr7J@Ofxv8cNTgViWvNfPX^o1c(H!B;_{eI1Fau7KCOh3o!qD+D2{m9%7fF7Wo3QqA;i zkeT;@<}S&A3EkIp@OdhT=Dwh2ixQ!K>OFdBNh}yXY@vyqt79UpiUwdbR5z8<=U-wW zxFMgq`Xqq)mt>msDv@)x?xkYq6TuWG*wbgYy-#$mz6Fhj56;|fR5ujnPI!}w4M*Xh zVmf(kypH25rxB-Ji^0RegIMi)Nk;uR{~p&@JoayM?cR_I-j*UI%BBj_e`=-F@}@IY zn>Go@*(3D1s}_b$)}q6f+c9~s8GEEC1oP)k=6uSh@nq>Ga?&#&S53@;XWeBuzGe&j zxN{lbxWz%8bq!iPEQOTLT6}k}1#&AueV`P@id#X@F9+2)zfopm zGS23>cExkT(Qt(_$ba_2L-#z%U7tPpoXNW^U|JRFMHji*J{q2k=RD3y5> zi?}{bhI0(6vF0^xx3f{THJpU+C`Tvx@5I`ZWBPtj=Jt?HSlM6#tsTv{sLK}mf7av0 zed}ON68Cqy+CwkNM~NG@FlkymTHbZw+?Xyn!FhO}cXLc5>H^i5>bU!;C$v4!uG2I- z3X?8gAfC&e;Z56O=-y)nF4k`Uqv%ZBsd~FGOqntkQVC6>gu;)r*V3dpp-GCQC`mFj zN~z2<$xtW~A}T~V`&|@C(WF^vCXzI0q^Q3A{R6J!a_s%SYu(TNVCsEUjO&TP-G-&0 z>nq#^TApy$O39ce*TNfrjmFFR2ifD;0Gz&}fqh-L2ERXPV@c0vp_j987Tz%l$F#g= zt+^V4v+*{wIX4hzpD$&T4cejhQ#iB#UJrfW6g z?~(#WYO7Ie{UL~|OTzP3@nEiW9(_Z?AadPZoO{6?^4UB5{bCZ#llX_mw<@{koV?|U zVOk>1Vd|C-QhoWJn30y2ABeYDsbi@ea*Y4JSJU!J-XgK=OJz&PC6(L?`yO=W-N4ka z4jqaZ#7&68uNNfH#9T$lhmOJien&2@M&RM*JZ1L=IN+cOt4YafBSs86Mrpp@_;z;< zz0KH!A3d6B=%^Lg^sAjrl}%BQhm-mzNlb5gO1l+O;h1ba6?PrtHdzKQ`5>(@TDkC zVK2TeR@l!~14}qU2Q-cfPR>k9Sc9-xK9fS)rMWrp4pZ(x35GjjDC=!JOJu&Zuj+FfqK0>X{xd)*#Z0ot^c zs@R}WvZVV^n(k=}j8x`ix)74djJ`S0r~$~Hm+z*v%E(K5N7Ib?54q``hv@y=NH92; zLf^t(fX&22nyfnv7ng^SRuhLuiX2GvZV6Uv4W$_}Yw^*@Xtq$o9j%=6Ioo)FOMLzc z8nfL{C1Wm5Ep^6kTO!fiXBn>DpMwr3tni`IIW&8zk3VG2;rcfNG4A*Yyff|$D4Y(( ztCj;{5HrQd_{;obYk@&AIl=52hOkqzQdGG}gBtyfDL*`j%BR@SsLEnGxIxIQY<)m= z6IW6X|B>$M%%UePf9TYekpv3{REAgFWKa4eDh~}-WQi_6NKS7IxE_B&uUQv-RUr~r zPs6y}SQ>KAAH|0Zs8--n8@kspqmWcw-nJU1Tua1*8#QpZ(3kneeJ$SL)?tTpB>H^> z+<7YrpO=k9X|oi}n5lpFqt~|ys3dIi|L-GC)Pu#U#U=cUY#mck);oWjA{OKaX z6JD)gpRJGOw_|{nOX6jC&Q+#-QZ_S1=)a8biOqy@7(MGBw3Fq^wuxsFXCETifxXV~A& zcXh3Twl53#3+lyiJA>zaPyGYEq%W^2ur&sMhCQV? z#g%9$+eiyOs-c@g6&-fZg-ycmd)KmER}wq<>;p5{ z7{j!_A7=)KXR@;UpwLP^O_X1 zF9EyNOsKE>49fhrq&VrTC{=>=YVUpQ+iFa+f89ejhY>Wvu@?VS^a+RGllac>BD;1= z;M;5h*$O3HEH##6UPbXRKyf@j)~b^K?tfGCXLJ`U-o1_6C0<4=&+g+!X&$EAcjdXz zfJ^k_`(^PP-B%Rc_ky>S`auUixv+B+{!&!&Ii|knH+_ov%^X6zNTYKM#r%6faiz1! zL0U}Z<5!a?=?I;!@gSvHel)poBN?lilgV{K3Rv}zWv-Y?4%c&;tcnI%`%hu+fsJfH z?LPjToHg?(O|tMEpDDWIUMiX=?+dpQt;8!^Uci$q;-kiD;qvYk%>KL;ZkR7-ia%X& z{8TxLZrhHo6+qJu1z|DoO(Szcu{$i0F3tmr9XRb*TF^ls3M+gul|3)3>$fFyX2SeVLYl%bWt3_0O&ND)J?F zV~RGiye@eD$QMR9&B1oPQLJ@dAgXpt5?IAz@Sl0~?`sqW2KrJ>_I4~N4t0~pl3WaW2yVAJ~#Y}TkRu&LmB!+a1-)?L zx-j!A*2FzR_VxX)IhZ+U3GN*3kA*$ffX(g(IJy#(hGTzC?T&N7SW&=I;R1 z{d-Il6g3Aoz71yj;p+JJs1%);`3e?XolTRDR3;qZeHVI@si!}) zU`t4%q@8^nYeq@ur%>S|4f zn0O|c)I;(*!7Q!dHz}m!9; zlNNztpWr7|JPSG(eJIA~1)QjxO+A(GAoBW1@~pWE30J?fuhkpjb>n6Bu~1Fi^fi;& zs~==XPDC){1A}P7pfo>W!a+e%!J!?n$ z%}1HBTR5rLMDauNvZ>>MCT#w9o}T9vz(>6r8anzd6s)>T&7A{qC^FhLdmw(5EhMGE z@1ZO{iK-WugTZ27idM3No38)SmNVBxfA4){&un#BfsZS@(|wBFReB{dHT%f!r^dq* z6-Cmr5pryY)hK7nY@B&pi7puKMJv}{R$G^X7nN$6fx=0=yeE)-)i{Hl$@loTf-m;O z8ZFMZ>j=KRHx3@{*^N0`!JsN_jBiF}!IS2*ki5ANE{`t|*R>Wv;g*Zc^nMO(ooY;3 z8}ni4pDpy7y9l*WG4z@5f}`e#DD#L0>MO-i&{;%zS#PSXaKh+IW~BVg4^!G&*p=!% z`1893lMfC+nHqPl{+%E0O$dOzW_MKCa2d*N*5HWZ4=`O(@XFW?K--t=@ZSYll<4rr zE7fx7_hLW3eJhPak|J@9{vR-tj7NooZ{Wz+cnn%~363v~#sQ}jphsX*_6?f?&Bxc^ zIl2AZn6UpaS**>!*&&TP?sW5$WedSC%7B?Cj(~^`WHlE(E~LsCvL4|avm;cB6~&Ea z5%EX(_U;kP#6?T|`o?A6bF3GaeB7~O!S5fOjr>dQ=~olTp6v+=R;wX4s1%gG?|>-+ zPdaPTK4{-1i)GukgXsWORQTfn%|}$QuSy^CmJ0nt{WrPB?kiyHo+kP=*caNkqkODk z9JkI)#O9A@{PU7StaYF}dpMz34D`l5Y0T5!L8XAM-z9ffndKha=Um6M(duWA@goPfNVLLJ-!X47cP@s z=y|AYyhE9G;h?wT88K^hP+r_h4l*}IE*@`a{+ANoWXemDP!zFU(hn$7b-(bOswJJZ z$!zP>vow8M3X|$fp-j&}W--W*b|q@F55Yz>eQ<(!k*CnZYOMi5sf+nxmyScs>r5C@ z)dusP8ljn!G-|&OLs5WmkNqmVW3N4erpJxg_j(r$(QHSn*6kL$il1@y!f5v4W*6pv zQJ~f9p5de&wp4FYjlbK1DA_6lH~$ju{F-jqRFER{y$we5gjiDcO@hEwUsB$^gHyYJ zRR8)7Kj51r^*q|j8h>W6cKv*2`)Lqc+jNeV5pyQl#t2u#VE!l$V8 zN12kFU!awgG1cz9hkhE1==5qahQ0Kl#*xW_Ya@g*%$H*eFR)d={zCYgOj6lr15-o= zG*ZKwH_AOr*%3Qg=SN{KEq#fd6Xqy=OWRrbkTSY_?;BGbe2%)mbg?(>XQ`^QksX_r zPkl2p*}}I+XzgfI_Tx-2eI4pA-lMpXHtA_X;T&O(_%jWpb;6lz!W~G}IV%o`>406k z4dK+$=aA=q7_1~p!PT}LUcOoaYY&wOjwBgQe@hb79#LhQS=O+0NjlRW(!j01*u)lh z2LIP@DnWxh&hnECm1$?Y@X&MS~n|z6|bE|i#6ienOW;-$>>ZLBpXZ- zPm9@EQ4;OasAbPDBW=^z=h{nkdKcMhgJmG3n7 zm?qU2{hv9_M11LyqfoT1le=d(8f}X6V7iM7F76nJdXs|jY_Ty8IUkA}4VR+U0WXvc z-;4@qfQ4?s7-UvJ}Z8KFY&xa**;_3BH zeTy|akI|%sXV~WNCrHXmpH3JbBPm}``nw>SqLO0-)^dsPS(7R6&0$uL!ZwaN&P&8#qv^Q*ieivrxTfue-#eZxh^(ZRf%V^gFr>~EY47r z!(_qzxo46MYCmjSKmRqw zki7C{!`3H@$>Gj(cst#bq@RyQ7xz6><~9>&UJs_qxcO+ZCz$5f2))F2chXfM8(`7o zNGBXGf?BIFor^bxs{cMQmjzm)zt0?*dUO--HFXQO@5%)BPqPRX9Ojs~a|BxOlbGJN z)wot>2%8fYi&Ba${3?$;Jl2}X->tZSTW=p0fBjg67K@#^^&UJ{3!a4yzNaw#Mihie zA4Kbw_hF0HT3q`;9SvhOG5EM-ReNpnjFr#HKyT<-L~v`W(hiae`X^;RpV`U zOLBZwkEP0cDWmKfhUcYGZb22w&pks48AaH!y@E_eB%yv_1ugL3jO(h;kiNAMswrg9 z*R(gl+wCWVk=tOG3DDrJ5nPGIE!NSxk>B&DTP*Vb&VM;n2~D56cn86O^i1A_e^q%9 zTOvxhi4QKIg-wuf-o1y(SDu3Jvajh#C&I&e8YTNHzNF+$I7P6pOMHAE>EV2pJbc)mQ1e}s2cnvjE0N>~9= z?OFJIizocBNk;9)-H;d%g~pbCpuz3K&Z33TW$l5T`btnMxD68?9OG6=>!NY868C*$ zH#Dwl5{W$1LA_-umvcoEu7uWdGt=d{gyKQaxpFn1V?PY$ba(J;@Aq?)j}KuVp9FG= zD9!%8cqE=bH-);ch>Q2H8eCFXPoQ}NO)YwR=KL+ThrI9Zn`n5=Y3}L z>!xC5^cU7+1o-ht8#`sAi}lsl+4PP-aI+|v;rb-V%JyMe-g2U)dP4CZyTR$bR2Q65uf`j6qh}z;6~4yi;`wxu;pVn1V3p8w>4@IQm=&S#xvQV zmpb_1-5>VMa1?&Em`SZ{2+Az-A=~Po5HTZ^Y^WCYHHOhrAz$NayNAN>+ksJ(GgW$N z!p=WtG_7e6RL++o+tXTbE;5^ai(Uj#Zyxivjl-b0y^ec%{5V8eC%~5YGoXL+8EkAh z4i-P;aqr>{u)kRcFLp<9w(gT~?khF+T+$4qw$(G6r6SDj)}<%YIjodkPg9Tohravc zNJ(uH*1gCkePO1Sc>OeWNz0)|LJ>)e+aWppC>36;f;h?jwDj>|Xx5obXJ@R3wi)?s zSh_0w7mM7q87sN6ne}kbbuRxT#|Ymo)MPH*?l>F+n8NjN9DFN>Jq$aDp06&kCgIz; ze#is%(K8bBYg*aeCz~+&!e^#dV~mHje=)xU4e%nSkFo7h+=F9Z+2ScdY?SL$wsf!* z1)eQsjzdjp%{MRRy+vR)!FpAJ(RoFYfK8sPS7H)Mn~W*B$<6;IrEx9x9Jj_ z{r4k$@l0o~Ss%gKcNhC_`b$_?I-40{13X|VayKxVD~9dHP_%9zn6h6y{Pcw81Vg1MQas!2vlFsJ#sFFtnL_2?p7w;s&(LA z$4A2wM`w$}V?5zA9p^{yvVu`tESXxM7EHJ#WHZ)$<;HAy#(tNd=H_owp+p-SPB+w) z>I#mFqVGGg1ENIUvFR}szi2GYgxx>%e#ovmYlAKniJ-N;2aeB(<9 z^btI`$rEtk8y9>qXAzph8oaH%5(DQh#hO1$u+|v_j(8?!H>qQGv@tIBy8*pkqp*Jq zz~Zw*@%Tz@e*3+_cx&8tcGyJ)RhzFfz~C5}?Z6xVx9<)b1tJt$yJK0-!EZXGjx{~1(wrSK;U+hG5cPHxo5kMQhW zAhE{<$Fwf^A z9^LU0M=iX9)001;aa1kNn)Dl!l$kIymatr!dJ_9RBrHRsqp(=}H|{Q4ATUH-X#DLP zxZQq)%lbIzTf$IYC56{dO2doJ5$v6cH+Ju=W6~*xxF^1a^(DN6qP$74L-;&pzhRC=;n6N)blsMyDOHKG_=F07l&zog#>nJp!|m6XA0IKsP&1?G*8 z7~c^E$CmBGg);`h(6Auf5EmqxZs3l#6SH}voyPcYx{wp803?QG0$ zHx`$Dkae5?U|a4LvGSTpbIw|**`HTD25*3_@aSQL)7_9OX2J0fsSXd++# zGZ=T@tmpsQ`Jm6rKm6hPMW|q{%UUh8aZaBb3q5}w9&68s?>aB zE3t%IrtX~s>91Yj`RilQz2GcZ z*f+zaxy?|dC68MAUC<*v4!sOtgO7|U9%~Z(uxch4Q56XvTQ$*2XEc~?eFCQ*1#{9e zLt)b%b&Dy@D_Gy@JaM7+NUC%$tQgpHfO$tXMH>UyFut6HP7|7x2fSr5af2*w{8FZs zHy-k9NpP*nu4I0(bIE3020N9pl1_CIyI8S?v_r46thNe92? zIHu+F{3`fDS87b_Kw;LSo%3|*e zLSU_CAvtVZOqdc&LIhY?5Fl>%8-ZJELR*RNnJg!jTT zt*uOEQ60M^YtQrwKCpM1670-5c^cwB+#*=uEnLecg2R0+8aucG^7p7yirHXPZ1VNk)=Wyudcx+7&!$9&L9{$8gL;c~>3wAa`6&vX!}o!d zaB&5#xweYJEWK#TL<_133ZxHXM$pB+5Rw=(kW!n2>11y^a~{5(uD}iU&P2#+N)|Eu z@di|~Hh>-4{GHto{mR>2NMXw&XK_Jt{rvbUp^IF@Ui7u07skx!;{NDOLz5RXfIRjK z`_P?mYz*W3&UJQka*HLTOIWTxqi_PkJaD8kU&Y1mw$5c9c zebxqvT>&_AGB0{M2(dm>l38effwzMa*}X_7ID7U5ThTa?H!xMBl_OKw&lEGdlqM}O zFm`l43@K60jU11-(^N@sS~DtyoNRqa+B1e;{BkF+m{@X8T|qg0;bdGjldL6ok(ae0 zEsk}hAMdnC{q0m*@kpKG)%7X$wJOcd(Wa-(s?;tsmiAp%p}cy*-!fE&@``5>@bB3? zvnAAaznU5T6gqyUB(r^aODW;sN*3X>h}2@V*~Xs>==SR`yqVxByO`U^2hkcTx4p)n z9_UAT71;pldwz zt=1Rvo)sW{S8z-F)kBnaCJev-9%h>fmu7n=6{Ja{bIl~DH z?_FaLT6bWfN&)LOh(T?g-yWcZD2QqYTm|0 z8N=|(i)xISZh-1D^HFxYG0F(L;{dbqIRC8$IvpN@+n(Hk+uJ__)+@lc05Md{#_+8V zgP=WeE}PUL>{rZovZI}j+)tm?OyScaUT3BhlabJ4Q-*Y#uUm4EX>1t}E5FyXAukKT z)a5&y{pJsNWXsT?3%ckLCrhc*=i=Jgzgd0qI*d3Xc#55N3BHpwHegQ(*8Au&o2D@A zwHhNs>YbFg7~2jr&?MxXp4=)3tiG@jDKX%Evyyt@gydZaUt zaud84Gny3lOu)a*eiYuNfoY*fDJQfahD%qFXZa;aTyd2Shxh<5)j&RvPji#}FOll2 zt-Pa65q)}T!E((KsM#f)Rm^gtHP6yneW*HN>M`aSmBS8vPh}C`%J~Vu4zjYv=ea?a z$?V*sc`zv>kNsD)4q_M9F_}RVK|1pzYsxU<42={??SupyvQC@k_+>H!FFlH#{DoaH z7*7XuhtaV55fm_3@EIJJCh^h!##?LCxRfL|^oSfSa8hE^Cp=~*t1pVu7sax) zOEbWJauKg}paeE79}WYIe}HrGL#VINz`m)bXg+=tj;-B=6YNFk>5+!Do`OL|@WnIk$1^uL@izemYnE_j>wmz&tUVPgW|&|`$#}lX zZzG0Jcq5J-9)t5ePmAno(=qQ!5w~FOajY?sh4Z%Qi1U>p;Bpkkbe`tceqM)1n#S>^ zQ4{dp26vWn;T5!nwy_K9+u`HjN_+8^uf3B(mzT*h4~wG| znsJxk>3ozL+U|=LCm*2&GUvDiOr-InTwu3DB#j+c0xea$Df-td*xI>$x?N*}6U8 z`p52N$x1`P)%6ftZ?6p>&d0JWje($UCcL-D9Or5um-BToS)w1F8C=Y|FXH=`BH-vY zcfRLM8>q=`-TnuqLUqi(ul?}aq>Vd6?uUYX6Zwp-%fQ^~Aa zRt?iWZefp0>LHOI$?m7wfe;Slk7~XZ{aaltk~-YYTc4@rX1lsGvl(ijYM01bL`HD` zVj`Q}Z4N(8HZWb}VEephyhGA-So_tQ^IX0dWDVS*Lc$A_G8#ZHJOci>4ZS+n9b%JsBv}0V#vM9{Y=lJe9G5B`99+N&5 zjt}I7bDza7EPau~c8Q#@C+Q5^H)=Y1x#uvS6Z+WrJ&KJ}9)XhU?bv@6gRy;*EZgfK zk9u2eydBzq~p?O=>I`KK2TL*##~s{wQ>XDZ;PSKCn}FIwVXshoj%Nz_4;< z&@+q$bL}6Tzxz>`x#9%a&&|H9rFTG+hQ#q_!JWTK(YvBt+j{JxJ0H0H~wC-6E zG@37`x@A*gpXOY$ohilrE*wJ-6ubGW3m-79Ka?#`8NeKUYMCr71`n&R%vek2X2&x?7C2|=4rCs^+YL#$DI!!A6^hEs1w(p7tPzUhmtkmVxQ=^H|6 zDicZOY!-QK^`bOIqTS05kz>q#TCh5wZk}kTsQz+Vv9Oy&D~OiXd=@;wL`QsDY1>LM zo#q<^cX=7@)j3JByU$YXIe&8QDiL)k<<3MAo;)H&WstwfP6-_;-qp5ye7CorRps=PhwEtip9XWHJ zR3i&WZtew|x9%iqUM;3(k8GOs@dSCZ3>vMQNa=B@^h)GUX=aDWKHru;sm7DT#tGy( zCyER>c~TGuQ*}=V)BCuU4j;JAeoS(v6H|HiX0qUD9CLwLE;S?xy*f7dwFb>8>0s{< zNRf)W3Y{+QWS0c4ZGPl!*1Kmp)fbgBjn#g%Q}-Cl*&IxA8zWhyz&d$M_F#Wh_tU=3 zz>ei?r1iN!`M^7~sme!(ziK*yCi(<&+od0~8-I-8_Lu`~&h1z*UH+KQND#w2CAW&U zm`70c&w?8>r3I$6$a7CTnjl_tFdwz<9JtKUVb;#;;qT)trjomYL-}4Ney_p0{3g=e zBr%)1eg!Sa7)%}c2WZzUNXFB{$o5Ma zc{d7~UZZ>px#LD2PDjXWiw%XWi==xFQ^=ywmt^dfNLy@A$6f1LfTPfret8-5&NrjY zsUmSisWF)w0>q6rp|~mM;m{PMZ$EpWfAa!*cYQFfZCphfZo~1Bz(9_kH54DM@+QOI z^7t>>gVy@@z=840Da-N>6e|i{V9Snz>0oIZB#WS?QplbTbKz1psIe4R7rwlQ7X>-@ z@RO6rz{^$gY&wR(mOnyH;zTCYO>pHMFXVus_N9vYlw>&Q*CzTKvI$C>r*f(hs&MR} zAGgDHG8f^T!OhQz=SvN*aIGpc81MOjs~eZb{;f>mvZq~PF@2ZCOX?mmCBH>%=b3tz zm?q3qrlhgQ7X%-|Zf!OG#%t+ z;^^rv2UzjmhyH9o!W~~ao8A}|@vfN~WFNkrEo#2Y?hUMBFZ11)&Es}a)KMXUs+ptsY5rlJDT;5VC?DTvFzgKJGke^HOY3~%w(mRUssy2d~umPQ| zeb8v(2Rxt@hbp0xmQPc1@oR^akoTxWx%L0hG5QWB9caT^?gct8slp#pt(Yzmhc)|N zVB{e)fh)a-rWVCetX7Q&&Hm%;e-~nGpE0xllZ4JAjxja;9aum8BCG11irqR_*vOoJ zFxmD3o1wP{wv?r_s;OTq{-${{{dh0-OG%yGRJ+C2ja|nl#Q$Z+ZKF6YRGRYY6yape zclQ2n0PL*0%nEigSRAyKU9<0p)$@aSy?bMDH~!-qg?-JqH^*R-sXInxbb{=Yefa4= zMST1%9A{PyMw`?K>@6RFYlXSy&ZCX6x?>ZrkBWtu`uRBTh&ue08jHg=kK{gH=z%@! zbotO_=OA?8IbKzNBOG1Ozz=-zi92>AogY%=D{`)^6%U$R!aKel$E`YstR=6GvtAm- zcCG)*&GFA?`<>r&*H)IXA1!g*D(xb+cGx(J-zACc@x23l_Wspun_d%NTsEAkEqlu= zTy5oh8PC^PeB)2ua^p2lSTc)A@5K!l(%HMZWO3uq4wez5A^yEho4SW62>W0wx}Tv1 zMWdYP*`rHPHQkMhl_%qs@s1QXJRB!CSkd|H5*#~XEM-4w#3SyKbZdk#C;xqeHC%sz zQQjxm#g+HbctHrujl7KR#tYfah!VWg_mAI^l!*oNRQX|1F@onTfGfT3i8*X2-0$M> zcIy(DRw|8AMP8uoRs?ExzMvvE8Ae|6g2B(txoJH<@K9?m-_mmc%6i)PoFR!oM>Uy| z-YJl)F<>Q&ZosnBW0-yBFPQx2FP~B}5)FPN@k@@(z?E-TiSKN6!zIK2i9Ubbga3)g zbJ4B`(5PL~V*7DV44qfRk8MJ{NH%Qb#9p}lI-f~4dc)MD7FNBXQe-A8NBy(E@>xB@ z$t1v*`FW40ht(l$b-)z*ou17Su3FO7saM&N%z1=o-?6<*Y$$3~pWr!}N0I&AEPR16 z?fhNOs&xm_CyiLP`)4v6=Q)fO=&s`pm)P)K!79LA))2iu7y>SCBRR>cSokcrotwAF z2CgVv;Xb6S<@_FvfWoUPEbRMI81<@>y}s@a5mqB9XpjgBWmb?#6wL*`45IGHWPW*J zEX`PB%*Nh{q~5|Y>`09l`ESj!u$uQDt-6~9`Ffq~)z1I$<_de}7nguKjf!0G{z|kv zkp!2tpP||EA^6g-3w7qKLvi0nY?To5qB3s=@MaOrc$`X5;E}^EWy>eg}5+|D;u8{V{jI4|-`Ch?8!8qRkigql-j4`MnIlIK?OAe8vk+ zw=|ISAO~E!RZQ}}({RYZ0`eNIhpT=qa!%NWp* zN+W&O8cx|hhZ-~ccpQJ07Mt?y;noT&A3Thn@m17oV@+ODs!4LzHtITikp?`BAemD< z?K4jx6@_yoVS11je=neUiGr_9H;Xi*_Xr(6$uzHH1r0Keq`esvXsEw0>22(0cfd~t{3rV+BNo{{}uGkcVw%VT|?i}9I;hmJ?7uk1OJG6 zb4m*cDj8DvVOV ze1~uczqFeVHrh$U^Xl2Ey5kf+VG`+CU#7>cE;K@5^e*-U(5}HhDeGYXy>pVP{6Q}C ztVF(YVW-er?4ndzBD%xOauq7|M?d7_zerWyIXDNZgTB(oXRUBf>puCc)4?+(MO5Z! zh8F_&(K7SNm=iIU#y6-p%Wf?JqC-I#S?({|11{&+q(7VHUq$>JH0K>;$jl zhP2w_1w07wAg_pG@VXvFb>D2E`au#cZ~7(rFe;IPKa3T!O+oZDSIo{wE+PeW6>9z_ zMUGN4s5xp0>(%lQy3!?~|G!|NZ>1eJ21d|$k7@WXCWOY$-ivWnUNn79GRmmUp+Xd% z<%0L|slWlQi!Nn(g)ulQwUN*3T!$a@v|vxIHhzk41eL-9!0Q4#5juslxv>IoU0=y8 z%l2V7_lQjp#be}?!8GdKVcguIPl~%Tv1RRKav7I{u2OomY4=IgJS|VLU-I$$9b&K6 zox~TbWLR+eacr0}2-M9}@m<1AXzz`{9siBN&*+WiX^YWngAM-n@Wqx}#<;d62y;=$ zPHqpwO&10rA0=cV>e^v`@IK6@>(F{<3)TtyFV&$dFsUIKA{#95+uFUbS=gf;mUag# zgJuY6^#kjlaj-^U;@^3zLRong_{}olLN;_m-lv2pvnsI`ykmoy{?CmphWz->C^exk`6&1Pz&f&?CisT-C(!T}{h;cV zOPfun9)DpKJy%!eK*twZF4|7SgzXB^($CKsK8z|qfn#RaK!e7Ugs7d(|W{X!a zhc69S`$r4Z_Lib?<^UY|HV)PGSE5&e6*`FzqWbY_*f&>jHK?o-JCCfwy0mJhQB#AX z3yi5n%%l4>FLJw_htk2(H0)ah{w+=-x9mB1?bIQ9dZrWZUyCHE^r3Lu#fRQ`E3w6i zbLqmJ8un=KNHQ9zOwUJtV1Z;nE^6hhr$9uKT?bihF-K|s!7SOyjKYjU*e#(yrBU!t zzZ)n7UuGpRwMqlp{6X+h%NvvI^c{?EFrjy=tXPwlInB(IW_Hm){iR3v%=}rDZO|!h zy0e@lJ4ahw-tA3q`(s6l<$`NzaFnQ_CW$_zJvD#5Bb}}ueJIYocbIznLwUE*7&10^ z%}<=;O=tXd*q*V|C~E8+W`0wiraW88wltn+t>c%mS5rAQt#2|rZqhB@_Pm3?vP#Si zF4o}R_2|Qtj_F*d*;IH}B>^4xheE~pIdE(EKJHk;F1Xh@i_ca~fEi(0O!Z_otQzRS z`UD5VScO2Arql*9^7gEtRv8m|-t*BLO>pkAAW=x5J<5!o07Lz@V*evyF4`7^YlNK6 zzl0!^+o^!xcX;FO!jbsQaRDlMj=_>^8aVu%Hg0-%8M1WM@U`MBaLSd!%rsZ7cF{Yq zlPcpU1fQEJwz2W z@5DlqdN5~wHku#3#FgKy-O0Y6n9lTNohZ;blg+rFLDzj7nXAPmVTac(%vv5$YpHN9 zUH^nmiKVH}r;##VNRg%-Pfct7u*T{%suidz`7xekJG_GZTdG5DCSL5&pc1y`asuyH zbc25*Zs!UI-{dL_(m>H?KNPig!~CE!IAN=eWy@|uY8xkX+1`bSzt$KgQ3W4{t-yHO zWGIbuM1O4&%p)g!QRKx9)O12|=xSaxK zFRt?f^Xd>)SgY!$}@W0KG;6AJaGVex#u>=n)Z_;66d<49Z6nqsA1kQeKBfPoO z#3}c^g571&T*I>#km?HKiYDHJX%1Jo#ZyY*{kGvyV;=#$^(rviM8RN{f#5MJ z9n!jAab7dip}0jFvPVaN)Pbq6)O#jG^#nsgZ6Rk+od?Gy{^NaXF2TEpz^?1xgp=yR zj8FeMnEv;YP5VNyd94(kcFKdOK}uA(Gz$J`%TmF)#qj##Tc#E}5a!(}VrPfzael?~ z*|~$edH%N@AGgkk9Z9X>n(N|N+^1czCy|(o^i7y^w3%5=RYB|2HnzP*a8ETpVXp%n zQK7AZ1$A#h_w}JnGh_?yij!x(at>%$_P1h>j3I`<|H$REy#u!&-oT%90_~H#vMZQRb*84Smc8Kaq0-F&o7+{<78>x`;KdfbLm2i%vf2K#hGI6`X=e2^N5 zi91iju=PRk`_w)7VLg?vYU_f73wgHr`A^tpWJFcHpJ4#*rBQd9z*y@9<*Yvovx6>? z_tC8os{Vj{n*Vb5eV>z5Rgy?*RWrrhOyMO|Z;o)T=v#oo6fQ zV2A-LO;Vwyr+@Ps4`(oUr`^0pXCWVU*-j)`a+)*vTEq1@&jz*&;i|z_2)-E$4=gso zXC{WaixVOK@ly!9Q^W}gI`}B;5uCk0gPmO-|MkRkNGE0XPL@Gyz9qAdjRHw-Et_~& z8=OW5vYjTMMFHB8tmwsE{&!m#n_=Y3v^3pV*%vW$%vEOmrLRmrFI=3Wszy?alwn-- z1ajBUhG+d8Wjpr6T&vl1<iam=Wz+#;c`pkw@yC5>eHibxa{*D(~SjPROqW^In_t_>+}W`324S z77baB72JSRoD;u|+pC}q=lfJZdf6mszq%W)E}RHn!Wk^DUmi4G4aCXIOS!wcLT}83 z$0Em&W%z!HD*r)dD|&QX;fs}maf-7xd!rqU@kuM0gws|mD~)6^y25k#rQms$5!ghX za||~O!p^_KoL1*Cyw?-6<|pDfxuE(?8esWEtR3Hp>o@ zO@26y3CXAU+tH-%TtaJRM$nsqCDgZa3*oOkO0StgJzjz@^v!VkSmsNfJ@?s_X+!DA z&UI|pNP#u>J&bR9E%1V4fb$h{O68eFTtLBid}Jr$o>i^Etx3WBjaA|JYUdJGsT+mc ze+ayc^qu(jiUt*BEI_kv2Z}pqh)p9`(d5}T!QzC#avJcLGkB0hn=e?fnHRF@z_=dP z`JsR$-U3;@KTWfzZX>rZXUMiDf!Z8SQ_=JcYIQqKW`Z`4?+=r0Q!<^77BY`pLg`$+ z7hREeqv5eeG^0hC_H6HBIgY8!R&6~S+%Ch{+eq??8)m~_R~6X(>o%w>9Ds}y0(W1U zpvqN*5ANNE%d_WTR_IGeSh5b=oLq&i;LV(5)KVP= z&(l(Hu64ZlkV_I~y!2+f0uEsJm50oh!f=d~0To*NW3A(CGRRqo&9}ExN8&`Rw~nHV z6D_gncP!oiWr%5Mu~h6n472*9C|^wnYsZFBQr1Ac7ZXfr!)390t3R~{Jp#irABr7& z5KjN`pwr3;0(aAzSoSnlpQ1`Jclz0x5m(u>SJQ>w*6B>ib3bVrpA$<4pQPzof4Dl^ zi}byE9fW(_qUWipQ1#;hX>7=YfTfS=`~BmvaYhG4o92M^*E{sFHx+hHzASV&?18*J zCn>?#4ss?%&=AofuIrmMO%IRbH#88-i1A}nLml|aoJRIM$QO1RDN&kiJ8T_qK#y-I zV^)O;eeKY}d6PzvrtKiSC?`Y93Z+rIwvt`m)C_M<8nHXEQIHtr%$yZR&djQ&hI$i29;Lb;z|{D z4D6GKnlfX2Q(pnQuUO)iL_Hk3X*_N`w-hs7jj?g$0cBO+s)v$Xg8W@=fKVYJ2ZEk0cEf2AYsoju1NWdXxe^r{)1*7%UG$!_B|Ux7fM$! zxjrAV(u-#0KZIRVR02C@l}S!Q2SMwWJhHD5_L={3C^395t2&%UfdVK0ZE!R_zPq2T zd%ltqj;FJnQ`WS(t&n-2mZ6IsWlUm2CEMzHh8>;d#{zN=v0L`K?1H2Rqd6UXKz;$Q zT~*HC?OVw02uk2Hjcnm@j2y51Q#i~tX>g}hbD=#|9ll&mheGKDxNy}6*6nNqOaEH# z)-q+(aZTjIPLIHkWA?F02?j`do$O!uK=j`;L|~gdgr=#EWFuY&zN?nd6-hhswB#*x zYDWwcZ3v}yku-T3L{QQ&2a3HONt)XJVouqPMmB1qltNR1!b zL4Vvt!j<{_kLb7KK z1=sy}ic@o;QDzh9<5sA0rq3XYvva6soda2oSx7Sy49QbvKGn>YC8wYn1c$G& z{%MZ%A!|3wJ2IAPs@nKx9fN4so^f1n+aGrGvj@Caxg&76FG1Y*5*C!Cio0D?*zP0t z`0q&sOL^vlM_=q?H&^Y(8-n*R=vxFfPmX75X5qMk7rdC`18}QlBzwp&!7ssH?D8xp zeDO_{**6$q#a;*gr>>&Vwdcpx&v^r;|BZ&sx@K5y8v*vx*WjB>33#V9L5bjzj0))n z@t=2ar%?*OY!>**f?jrbm^L;}GsO=@V=>*t9xEnH#3+6m8eLn2_bO*$&Y4Z<_HHh= zb?w6HnE4pO3rr~8`S?yU3b$>VgH8TXC>t;XSL~0(dn+cQ*5Gi2o7TAHatQX18i~{1 zZot96mGEQlT+CB>4tcS5II{2zEc&g5H;%3YgWBg%$i3k{W}JYs%2c}*<~}gTw2t5X zMi1^yL3Yhc3Z8u0$0oc~1D(oDw(+7P*qRoyeEA5lRLN)8#b+ViF`7MB=!XB+8L;WA z2H@8a9r2nh6V#Y)4y7k1;gfB`Z>R4f!4xNforhOp$~YbT(7Os#AL-)ftOYn)LJp&z zi}23r3m`LE5xa_>a5*xWAo~zlN5C)9PqRK&v^<dvWMyV6Dct#4fG^Np+hhd~WF^ozkdQkVYsWhrVp4LtM!i+lR zvB!pz?4aNwc+{{H8ufm{z9b#|XEPH&-}J@P2lfl+f_N-T&cm|zM=(V79O^Y5L2HTg zXr!EoA>WHIAvhRsEjWzwM?G-vKtD9I8;x_u>f?nY5~w@wF!&6<3ij%g`GfgM;Qovl z;zSty)PSV(syQ!-Mbz`ESe(0mr_j|noZ0qbo{>StZZBbmZ}A(ju1Q)dbUbhB3z(%R$tz zj}0}bxv)KME>mp^WF-dw_{9T%vUBqBRLI_yOcnIH6y_K!!eS1 z`-n5oDIx{c*S6xW63V!u#k5KbX@zAj`#CE^;5U3@KZ?R=;W>SZYMw*}mX75A?=y2b z;z=79ny~b#ODJXCKTdJQQrfXd&;?wVP@jV`uAIDxb`KdXFg+L0u8U@kM_Pg~J=;#SuFIr>q*x3qE zOS+f9%QJyW!3+FmToycy-jAla9WbRg9v#z_u;M^GE=n1J>XrNP)<#qGUL1}Zwk8;{ zcsrVR4#fqEOR@8gFmuaJ#9bq=gJG~CzM8)SIwBSD`q&&!aqUZZ+H#pcd#wcmt>W2( z7k6OSi8n0d#2XltWaB=;hdY=*b_4htA?pzd%hC(j1qcR+P}cF9oNC( zO(!%iPldm=ZP0t&1N4$R;LhN|FgWB5l)6a+7yTWa&9vaZV}D>^k29FQ=!c5uq2Rr) z2WC&thrNM!z+IvqX37eltl@9LCm{-^ew9ZRXKO(Z(Zh^N#yKll;V>T$QB?CZ^w_k7 z*Qr{9?%mD2`@@Y`ajKu6*RTV-$G+j^>UZIVoE$!&GX!7vG>YFm4?yiN-$fPMHVQLJ zGKVWyV9M#!+;Nlnm^^0(w>-cNUk>KlV?d1u-0LAn_E z^(8wyOCEVEdD=Cz3kLpGr?QS>NGw&Ss&8xH{t9`@)02W8mG`X2-GjUHv6h+m-?Wu^ z6vy_;=8L~4nzQp^hs2L}XYnCJLv5Fq4z2uEB*$$vapLCrr*p;!Qn_8CKF*~ohokY< z&{mPa?OwAPo=8vSmSr7*pF4Mn_BvI;Q9oH;Z(ApHMKyVzg5+-jQPJtJHKu`53vJga~vZZEZQB)3< zf^5DnBm)xqJ?Qn!BrrBvOa2lWVC%Gxyj@G7*esq_S6zh%Gty{lP%~IcAEPA!mmv31 zK1rsgLE(lIWL9blvt;v0bAGt!(9cZTGeMROZ%?GZ<99Q&wq5j1Kc6)u2>UCi5>_lb znu6CJV;jxhv+V{uS;3oB=5IZSW%4pCWPFu)RJ@vKrt}x?l=@GuSP+$^rDsD?^leBD z+6TAnW%29fC_r8d8*}}HXRRg{iH%{wb4g6L-OWuey9&D`BKS?A>!CcDrc+hIC${KiLL#d z4=D$S^IJ#Xhu4=6a>|GM;O*7Voa6;LoT+n-^Led=XBMJpRk0F2-|&I|n<0mHcSW*M zzyAQq)U!az*YIV)H+JhuqyECUXOGJeUF5J;=g@XU^exHAW9#L4-{!pYHMv z{xm1??PuS^E~PQN)5W{cx^SU*`>--_-Qg)Z_45Eszpue<_|Fpt>8;{w4i5vX329u# zMxjss7jfd-&D>p&S6s`%I_@W@4v7ozaInG}^3(gdO|KR~-=3jh{5e?2k2}K4tVqaS z?E`J5`(XFIP*B>j5H4pQ0IB!N5cV_~DE5y?E-V$chu!3l_s2nF`fhg4-47y58`w2f zeXulFq%L(A?xM#Sp%=ECztQPT69)JTS!qvtcJCsK`nHgc`21xH1Lsmv!4R?=F^L=> zSkP8yV+vIl`Y(S=(4pSxRFZw1NeG!BwHuxM!gb!UT1+X9%xqv3#T>MIp!36zPSS3=JmnaBMWds?-10uH625| zOmXFQL}LYWJRNC-b^J&yQC7xf#})AM!$vq{Q4j3GQfN%@fS3Ltx;6Y=Wz?Z*Z1NOe z_BH$x3yONccDhKBRP+#<_fV6zEwU&3`I_{y(u3S}B`L0AHd&p#$W+fcQKrolHc3;D zT(UDo#-Cc4TX+cQ-5ABR>OR1aOCPv*=S=bQOII$azl)4Vi98&(|*` zT_0td6KzP$sD)Wo-)8SS_ptBY7A*4<&x;Pt;zpWI;O0hc2C11^uytKE3~rhZf!Z&H z9@QCex#kW~HTdhMprf9gj@~h=Sx%)94ox`0K0W;d zC&pE?nKz2yZC)7*P#zC!q9WO~oxepowV!!$%W;0}G3bFDjZVb2ADL%JRJ9eKdof3Lzh$A7bT z&pmPC-2sAU-(KK)>CnKhqp!>Z@|7Zfc zovjH=3pZCDvfj^C3^Ir2`3ZKtyK`Z%v@yTr_FY&|mcTz?pMZl?yjuNND6lN#@2u#C zE5j4{G;u8~A2^AhvMT}32cHoKjxd1IP-c7X(-+a<_X;A7^Ede|o`&MVL95v|<@Nk2 zu9&%aNU&u6yDWLM2Meix!<;U~vbt-}8I8_ocNSk}?K96X&zey7SX|5$bmRDE&6&(} zq^{sk+{NbhU4#C6hU|#SaG_&%D!*Q84n7^lbLMd&c2L&fd*JH!wr-R7a{FM*Lc(+pd>+hM?y z@8I_`2{K2=g3qQ8+yL=RPV)Itepvcob~q-L-89c)Tc7-8^UIsruj3YU&GQ+P+&hN~ zg6^@@jCG{DrI=Y3Y$dt$nXKAs3vG(i=dT=JOO3+y)jzeE{PYFSYOx!2oveXjqeW!e z(gNi}1zM|g9jv(C#~cKv#r(g=*#&h6X!h*o15|@K^{`g1HF_RD+M@t|R;jZin`JOq zem?s+U@V$yM6v&15_*LlW!pU5@sYlmb^M%&?H_KltYu?yea{qUcPHO2SzbSUsu9XEc@F}6kEMXVFQ6+ewghWhc|;1*B{s#_c3 z!C?Z;F;dt%L<~Dz2B7A^Lf~g9VOCKBEFba=f~ET;+qH&4TJkNKRz+I>){ zI*q@wM_?YQo3PE>YBopV z1@BS}ty}5FIE5orWs}6@Ru+)jjz;D_@eI9vEaV;^pCPaHwzOmMNowD`k}M6*v-NXU7=n>i^S?*#Tjp{NWUnYQSeM^TF}F?3s#b~i~)sS z-$HYR_pBJZgZ^EeO{SR);~zPU?x80KM+rP zALJeznc|xI3)~UWRGfGZxTvMe@J_G=|58=p>X-~=A+0M>**KCldQ8Eef6ACr(?A@t z^B!~RNdr>pWwj^!#l^*PbYSu&CUtHQ(LkZ|b*vHD`-PCof3|et^Is$nb*CVR8tsO~k6L}A15jLu|AHCIFLrUf*r z`W+yyr$i`(;7z-!bhRzBa4sK_bbch1}eq;?&he&^(9c3uQ(<-k( zN;?)r75k4+)77bz;8aeZzRJ_41=nbU>po`m_ZFQhAH}tNHY*7lZ0C&=Gd+*1>U{R0u2 z4R&GIh+;Tnu?Ev#biq~WSr{ekltv+kT{fC%FwYRry9!Ko7=%Yc9Px0yG7hX=fiq9b z<8Q4fl&+J4*~6RFtAdgDTG0TZ78Fnz+~E8m?O~7{eQ{;$#zT9P3|=uG(7o z&gu-#*{F=h1{wIv{0GeF3&&jD>(F*%30~L{1IzCKT6_0$Iip6S%VQOONQFKg&ahzy zXpTyl#(w&`;;Z3TSo(fH%s%&+JyVQB^(P0(-*BS(N`-JTN+fb?Bc&IYl+*CYgnw3-T+=We*A*165EEhvUkTNg%yu z6WVdD(7bRCK68}AmS8(v_fija+;p&YggHj&eu6L8?9ik14D??BoM7k$+sPJ9tgdjZ z)f5k!-mW|ESW2LKX@T*fi_6?-j*CUv|)nvLT@aK=!Zlm9hCZzc| zj*Nty^H)fxKbCuGMPw!oQH`ep&otsr9Hi{zcp*2kpKfIBr4Pn_)U$dutuwc!G}T$O zRcd{)!g z{$)73WE1_|x(s!*w^GlT`S@vGps@d*gkODk(!Qf6n5ZrMFRx_Ldt3x<`+W|6oQ|eu zbronHv!A{>^ZfNAQDl2Rmj%~^(0DCrs?u9VN&RDJx0HwmcRA3aU`2Wu zYdVuVfjwQUN1vyd@+GR0B>yd*Q*dZv_gr;gz|Bk+KgCnH;g+yJiaSAbpFC4L9|uhf zxAUtHWI)!$mla~EBJg}9$KBmh1x-pO+#i`1s66vPq}ulko_=k(FeLl~e0~0(Slze> z6x#d6Hl>2k;pF|w_oq*TjPe3bcF-bNby~<1U-jYct4Bhi?Kl3*wrik2ErXf8l*Y7U zpV>FHQCRm{pG%nD_6Qew_@bVRws_wjUK+ zN1kD`^A6j6$d6;P2kvmcqZY75Vf#UxugjqBo4_fo<9}Ch_(0v5mr4)9i<38qYzmK{ z?$$`|#+S1wW(^#Tsm0B`H#y1Bt7!Lj5my&li!Da0c;;A!+E>@JF)OlhSo&M0zbg_~ z=OWF@U5p;);dJ?iHO}5%KpzfiV~BYjnM(=ULdAVLGwUbZ+1^E+7v2eexDM*8?1Z*! z4fN3TKiHCfhJJr3ftM?y$>4Q7lnWliZT2f5Z&o~;Jlhf8=?K~6E*FT@R>$4n1fF)D zKkomL3)W+gVr1VP*uS(Ao5x9_*0)PI^3_0;d035p_qDO>`)M@F8HmF>lW|kH1WxZ* zjc=CUf~QqR*!M3D&O8@5C6ioW_2O+{Bh$pq_N?NPwN*Iz&*Q{%yrsoUwq@|QYNh#J ziw^$RCE!((UhX_?WlaFzuHFTUi_r=ljjr ziQz4v9S>Q+R2U~mA2Ia30p>Lb4aP44wdYUm7Z5J;k z4>k%9#_gf(em(3O6i?xn+IYzDFuitC$Kbz5sCK0+?ukyPC3&wQXnit$*~3Gy#(p}O zx&!_l2%*%xR&HDVYKjjv5rTE|=wPdedFs28dBPDUqcM@5_FQApS`*1P_!*O0IgOgH zd}5W`W(%)>XXV!x)2|J`8NbGtB-TmOgvzxPdrFx)rmmqEPqZlX&oZi;GL%%k1lGFZ zP};iNnPLT2%$3S9babO6*$+^nNh1XBch(Jo<9CYrr1&!b%souq-GVQP2DYkD4kijc zNM}XK;G0DJjVNK}YMaMz%Kive{=Su-Ykq*$@DPsM^c_P|m~C#&ylWERPs=_wyka|Cx_E-A8*>n~t&Z7xNx&G1 z2kf3(EvIVslr5Tfg?o|xfK9EGg-^%o*siNn!T0rXwse0yjOp6P)_U_WX}mM5DSQgi z(uz!fixe6;F#f)VI!e1N;jNbrLC3a4@otylnEmHJ(Z>_R(J3>R^UBc04?}by(NP0u z#BPOJEjhd)cLo+ucn|+JzktxMH{j5BRm`8C3;zsEFzDoZs5;?<4&LgZ%cdg>G zy_e!rg{xv~2VcRbQpa!cTZuZC^jYTa#b~NHmknOvj(dLuvit+KSduMdQX_OR<#+^p z{o^MT81H1}6RW|-X(gL;DH3u`rm=5x$Aj||Q)Us~%iZ@8a_WNj@9^LU{H19lpgAOl zueFT^lgI92qvVHRBe|QqIbam}_!>aSn`IbL8xQ~8ipOK=jo{o_fcFfguyckO`?n89 z_W2@)?i+#egQ^8yfF8OPpT(C?)UdE83&S@3f-y}Icudgnm2e&|E+beu!T|ZO66jZY z4G{^ap{P9#KHe(_k5`7!ommC7q7~ePmdo&R?q#u~LOoO^9_6?7H$laWm;A)bk6>e+ zI=e9RE6j4TVYRl3Sodcgo3&mW^FL-X3tN5sY1qt8FVe?3#j>_K~%kz)j+HZ;h*jv5c#droGHYHB%h>!~%g}sQ1^Y6_1J?>3xYn!IIODDG zca1ul-Y;g0G+SW(rc~yt90Xc{i&=nGId`z(3IFx8A%EDUQZ%z(n)#+$!F4qY*8Zpj zdJ7EMPltc-^VBVVc7!2T%lFt$n&g5Lrm28N@*LcvnF{h>=c7lmfnM|Z=vYh zWed`h?l|(uT7KC-ZCt%%KievJsY+$L*=yT%AZIt2s*e_N_ZqEe_SY5SFQcbXcZVmh zRy2pE4eu34h0Y_5??br-r)JP8Uun=?FoB+I@`h>;BXWpIg#1EPnw6Rjmo|T8yJw|C zmi!|YzBCM${@2EiesY1M%U=uHK|hzVO~|a;ByoaG-RYQ zXgr@t-1!Zlv2OxRRXh!E2AGnq$s=&iP@%1#e}VGqo9s}!w7>=NXU7Nqf%FTTc}df5 zc(DFCS0+^lwUP&*P5LBE$hrd=3aMb1t$-L955<2+;>k}*;OSt4l#&h4UOQmG++v8X zaKMm%7hrUe6}E?oVc%IjlwNWMPS*Fqk26BH;_qqDDwz(0evX5_8wa?%PK!lXMmF#} z|NY_jo=;<+H*a9C$4F9VYZ~iHuq9Q)d^X|oN}AkpnBA`oqaBv3*qOFia#McA4}Y+q z442;)eec;r7xq{K`>~j$XCH@U3(P4~<{5PBeHXYH3W8rLjfM0N!ojj?tYhF1bkQ*8 zCs_`}|56@Q4xRA_${lohD!3~6C;#y#e!*~CIgE{3UdWYQXkzgnPw{3q1vd7njqJnr zv83l$%H~1KwIF8KY_XN5*(THg~3T(DoYf;mdS>SE| zi^2QOdy|-v+En!Zdw>n>u*NHSF>I@;77q7| zV4_#|Vb0ebtiUD={v>&^K`s?snfe%ZwSF6aa0>An-7f5z{Xo%<=xk0|oBp0ud5j4d};!EvRQ%yjHi z7}qgglv;cgikcl@M2$H#2pUhsFB48z<~4Zr?BNSF6*16Ank9@Igw-bovxR9oxctT& zKGjqcU;9b$_Ge@;b-+b#$ErtQ6BGh{^YUQPnA`Bxbvmr^8i@av)Nx}QY;cI21ox`P z1LLfGL`GM=aTRaD4L$CS`z}4_o{By2p_Vty&auJO;pMP*>OizwD}`+`w?VRaJhtTT zhQUWxpugr_uCz|bl++ki8mVMp`x(VC`SZz}+g5KNS-Ti~f~zLwBpgujS!z*8RMg4z&tC7I*emICGEbBc^#}1R4fN zP@ans*1XUm9cMjsw>2WyHIlexfeBStmxA8=Q51hz4lMGu$<6s5|4UwuTDwZwv{TX|qCAo>y=z9uUKUBHds|KT~O|00s!yKje81dm_>@Z@{ z5Ahj`arh{Crbyad7oSYd;btd&gS>x3An@^N=pVfpN|jt;%agq@B&vY(8nhR3>&xu? zuFVD=&v#<2x82+gy*J{P_>bZc&(KQKwM*F-_aR)o{d4woLJjvoa8WAE84W#Zd#U8p zPKf_}f|_hgVA;7FwDZv;$a8p2)t{u$>x@K|?%#nJY_3?f%wGquPZ&^jvqTGP-m6qi zS}TX1XBDcJ)OJFEmSmO0*IekH{hp!<0M6C6QjM(xH*jGkEi63FH#((}EAPy7jWMx_RaFDn_rn^z zeUcN)o14HVORBJ`$J_YJiNtSzCc|bl%;RNSRhUCny7>2cX{J5TO;nQlh>!5F6eVADw> zTzG6OT<^EV=BH``qgI4ix}SUeMbOVjPv*T&YGRnrB=)lQ1x$`DV{@Km!!ltO$?Z0U zp(>*(bHW%dy<-YJ36AAA2_D9^qYao^-fn7>@n=Dqv2<^23ak2@LNRv7SX+JuDW6MY z)Bk0YXxBD2t0kM_vej5_cm~b(ixR7TO{JMtpSjA<@j{p2E|~c&l9v0P2e;Kh#5p~H zk6|lmnDcuGT)Oj;AE`^9#`0h+rA40abD>(um5!9z2IWEr zK;SY7aCWI=4h4bYGnXP+xvdTRT5ZN6uAgHylWO@lkA*(!T_gF?i$>E-A4BnpDNbbO zd%N;t{!H@y`BmJTHk;(mp5)hCxKVY3AsbofK=(ak*k)S`(*Ie&igQ+-f!?+ z_8k{+Pz(dZYQ^`!3yO~nVg}7CxitA8=FZ*Vx71`ZpNh@Q+^UF`&OgWK%xU(lrJW56 zD`NgppP8OV5i`yB&F0-d!<>fwWj93^*s{2Owmi6kZ5#icdCn_lHAP>T?$9LWmGFf< zicrF^({J3D$xg9TYOF+OK0tEs=r z22~}obGxsyaESt@F|vt;MHMg^mxpZsl4Ld_u7}O`@M7)C5~Sqvo8K{2k$%>x@V+_f z^g3iH7ul&ra~e-_zb|RgGePjk=}@CvzqWEeKgp5bL8;2Fke{s3<0OBh>IKU(F=TN9 zQ#NYFN~XE?5nFaal;ih+}@cP zUQS>NO&eKGo(^LbSuA?hq)Cjfy(ci^zCvM2tyGiZoC0^B#kLG z{}(v9j;0$9!*J!F5p?mh3qJ7~O6lv@;kCQEbT%yt$0+EN_xu!$w=t!;Zb$HHiXEv> zNkbV47h0nhj}PLfP~pM=frTdQUxdEQK~6TbM_cgP-5XAkkK$lpzBFCiJ>Bl*xdt}- zbrj1vk-!RXNzk2Zrp)hx4TT>)%6sukXo+c}xOI5|-TCs?_JvI-*{ymie$^CAE|$nGdAg|OnHTk4HHK!TJ!IyW0&_OR(}erAP&n`qJrZ&^-rrN{)&19S?^_({|9J~J zfgz-L>jf;lFqigQb->W^V`$0U7C4{(gPF!$gYWzD*^DVwuv^8HA2vd zyRtrkPKB$X{^SfgpEwdjha4k|F~)dtN*1lo7==#8$<*UB1n+2uk*}V>tS$Bux-z=q zQkEGR6ds4$f|m4dls@dO%x6|2OP==}#eR%FzYp1+ zUxb|$_hTiMt=&vpUyLEgqCk3If0ISd@uLfGCE1G|3+TX19T@xDk}}rcg0t0<^rmM7 zc5V=uywluKRee04uDcGm#!d&G4@B2pcVUup02VZ8qt8%ZoL?rw>BlDFHGfxZ%g{!X z95<9Oz6OP}oH0yeG$brC!yLmPUf*{h%1cJGQRBN|#r{X^?VoHg?N=eg~p!j_+<@@lsQm++rc8*OtkTnKOYB_fO@tgVs{O zWn;+u5G`;A!@=`b8Y%oa2G^J8Q_bL0u+rcZNxA1i#L$y8=x;I@?h}~4n&FVKD3VT= zY=)XUt~A?nBlvCm#`4?)AY#=BHm)uVu5}2y+)_bLZm$9my3Ss8_CxE{7;x~BK>as+ zAgl5&WR&5MbxKhFaR7V0A&XlkDiyM0hwL<`%2SC$4*w(DiZYAF zvO7-~Qi*#MyDGhd=AS*!US5i##z{}ux|MMxStm`7N^!(;2h-x|ku+GrgbMcflTWLV zGgvpBic@Bh{HmcecH=7Y{?o+Dl|m>&&63G|k0G=E1THQwg+?4Z4#x4>lr69@%lc2y z_F@lo(mPEuE)kfZS4uZ_WMT9EGvxfF6pa=Z(f*`r?0KI@ug}$Cz@>D$A5({ObcH>R zYZadU8AKPPi}A#Xc{KNDB3_I$BW=NJ@%5twJuel!B-2l^8Haf8XWb~quBEZus?U`= z_6Bt5%WrP&npG4(&tKrqMN@6$Nq8-pKsHf zH8ONk!c~*YSl{^|Z#ptU4IN9SpJ-7pP)%;BkQLOCaUi_!Q4GQ50e8QJd?ypMkQl)8DVz~D%ro9C06 zlGJ*-qH>U}X|tq7FP1Pm`;lpBUgb~D31T&~L%DS??~6}*ZG~ss$3V)Eo8TLE9Qu3} zapJK@5cF##j^_J8VZeB-GnGWUy+W^z-4Afhu*GSApFmQDHSQi%2Y+^2;fIk0(57IG zS?w_pxWN`Xj?M?&n;ibu9|9M>Ct!BLd9K353IDs(E>a)wjN1Pmh=2DvpzP-`e$7Wa z%t_7V50seTfC(vl`Q|~mXzpY_L+LBD7sZQbj64hDU5!OuIxt)iMKX%*S4>P2y1 z-Prl91$GmP8d;h_uXyI)L1a%E{JYmqRJU1**$(!h1q*T^$X*M^*9r;lax?dNg@p4dkA zZs~URpSY4qWk|8iu%~RzNBPR2zR#@kb1!#$sK5`(^noqijjSZ^2^ux1BZs>C-2|J&9Vr#`2^h=t9&e086w$>e6^t$oDA$vUL@dZs=N8y~S zKXB4sIV^4XfSD_9!QKh&Xw{SsKSL_e%GDcUzwO60^5!sOy&0wi7=U_uGV=I3z*t=glRj^zzhkg4L$H{8HIJvO5J$#pnzz+|p>840@aUy;AgIh-!jBEDX5 z64!it&Zm3kVD+dqY^rW1{x_SL+`GfLVviiXQcK3n+m_VwH5LzrFQP@ZdxgBwHd@TB zLXDhY(lMTb!=9`q@vqV7U*%J8vQ(^+X#Va?1(6p9Q|~k}UZDoXBm-t>>oSG=>W)Rh)nQ zVQ4Ap;noJ;2j@Aa@a~`@x~2v|zoY>Un^y?o=d7{Mu^lANIpC2EGU&M539ppvVon{0 z!|g2aPMZlf3ry(u#e%MXpH^bzLJGF16|7G8wgCzcFtj|A%&)E9iGihwmCFU*QK)Y$mwjzD#w94g z?tsPEczhy+&YOvo_iTkaSx2;4Z~#6On`7|1!*Hf>I7a4VfzfGA49Lm??)Ly}e|Q+a zpHe|9)dS#6D#+_^1*<(ucz5$ufoUy`U89CVaphY$lJ}lV3cm`M)2g}pujv9GHlI5< zYd+j}Oy?ZSrNEd^P-pH}dW zcV70E&!6GRAj*)PE)p_i`QB{ly9UAkdVpz$_p-Ya^H`muEQOCf!?;vAis&k4Hxqua zj|CYlqoaY976h?BUh&LE-JBJL$g?@aukzZOULt|j#}6yift=0KmC55`V2aXwTe-XC zFfZh{cv*ZSlnLkByoOsKIdUeu6njai%Q?+-EApVw^Dn#daSJ$?jHT&Iw7@reA+`Nm zz*%_jrCrmt_!QM7dbP5bpV6B|#T%!viShZ=22o7S;yA6^c7k~dU4(1KTw;fWSy;8c zjg@~2rRAM3n29hOoJ)DjzHKt0t<}%i^Vu@Af6z@<8*-nmtuA8WH?Ff)76B~a=p*)Q zh!pcql&59cxs?ymobG)1%5_*R7Wg=Uu;F7QO{pyxeowQ>d)0GTns|=BgFGH?yhO#; zIv6mykq+N6#MgDrbi~LU^_DkKkHC*fX{@1cZ!2`)SwxAi$79CbMDiYNfy#<2C~mDO zhHn}{wr@t`;xz&vQcWLI$C@y?6*|~uRBJb=O%>~w|K-dqWiYSP8P*4Vfyhu#kcfK< z;r5OYzU?kVjMs(?p@UCoXyZQh-2iv}Snh-I4QSOj;>;i2fHPLFL`B#LbXAITTy-0s z@9^UICy!y_gp1sUU*AEmc?g_L9e`bzeIY?+G#(daL#Dnn`j2V=zQG%>?&t?2t({o! zHyEECiAC9k<8krvLwK%#y3kdVjmr-Dpu*x@EUpQ_?=m^KvQyxS8y~@j-Uw{!i^E>m zNK6jifg3F&P}SH2FU$?cw*qS_^ieqKetib2ic$FR+&<8HAA@g}?c}Dl#Nx0KpZFlj zSgc9g&!l+4OFO=XE%M)m!_4n6^XZ%L(5|bjPRKF65vQ?)sXpjFY$TJ96TDHGkL|R$ z2wXkg78V5@!t3Kp;M}i5j1KJurB8%6tOlX$@dn&|c?@3ta2Jm$TM1s1c68h<^n0Y= z#gOSku_W_9EMM{wmTczn>d^zR@K8Q_M=Nsie`0aoI$svN)(0JwzOaegEpa{AQlpbR zW_7M3@%9EdEs7O*0U0pI`3MEd?1X3Y@+dQ4ElfEjWFOb;g39OlRK74B`USo2dtNo{ zn3PKIJYU1q&(SnCLnaLl{nNe5S%;Zzq(l00dNyu&~;b`X5FwJ%wNk2V^8 z6?h8`J#ZvCiv2ux7$ncTuo#Udt|&#CjhtA;51*RGtFmymrmR@}oYk<74Lu?q^LAEQ zl*%uxnj-m44~M&-lmr}7XU@fB`Y zO9Pqd;pMk~xGBxnsPwOw3s!f+H}~Fh3gaAbzWWDm<1-5!kt7Q$++ge(W(?i4df@J$ z6;ND%0y2e}JihS#Z_ zj`8^l{PBx3@jYA0nO4leWhX`mI|Nq@!f;UDI}w|Ui(zKI{r?y`4@a!pFpSH}$VjM! z>=hcyd+x_9D-EHkQV|WJ9cdwCRaS*cT3Sko_uO~$OB79tWE2f4C8@Mj-}x6f?=$Y_ zx_&?A5mEt*L^f=`ehrjonzE0#ufeSxO;-8%7*q;fvrzN3(5!d^%>T;5%iXJ?YR*>C z{8@z@``y47goN=aa!WCL@OWI|dm8Ib#^Q~br#R(Z2JZdaj{#muXr(iV=1F;@T($;v z={@2fY3Wc~T$!jq&X}b1bOgVXH3ir2f%`d(o?W{wxIa8dH2ga}Su&HHQim(k+q=1gl?D9u_tp7nVNGnPmP_C+s{RP9|^$vo28u1WFa?*A>>>WThBjTvkHi~?QCeq)=7#gxMm3}q~tZ1za znkw)?(tl?Q{`%RpFg&03`wQ_bA)~(DU?_!`o}=JF9q4|$kVd)Zpy9qVWOh;mEuS8x z#sp2<7ytGVWh#K(qXZJKjRdJZA+-2ZK9m-@(tq_AKz@)e4HWK)KX!h`ndjmm-{=Aw zUL6GnfvZr)CyXmB9FCJ@efZZeAMlsF)ljnMEN?#08|&`g;7x`s#S`*USi8y{Yf44v zmGF~)ek@90n+1zM%Adsjhd*;!Qy=4x1qtBME=7-JYoReqm}hz`vKBcuBvZU_Ub)e+o9dsu1M9Ng0t0*-q+L#;i+$5YgQa6> z+|*#a`#6kt^|YhTVILaZIFkO&9z&lNyU>Z(3UsQ(kCuB@;-l>u2T?>$&ikMln5-#}v;}5%T0{5F8T-y2RAkkj{;{G>Wp44B6&`c1Y zR}}c~WutMIv^g96xe#wlny^SM2^zm!ogI=kq1|eqpuEJLnr#ZevL%4p;>W`136Z3} zR++=a@pMEbgTMPHl|qGX;>4&7%2^_hp6jyc*x^Ec)Wb9yS~pH48y8Oj69>V-CxK*k zcQ+hwGbbajC(vAW2c>i6nbh7Y{)E682zcfOqD~t&M$`$RB0ILa*n)K&771>knXLG! z8B_bVib?ybvZDgQRo|%{CaG>_(>LdW!KpAd;HEM3I?iMB>!i3xS&VH+$miXK%<#wC zCYWmU64uRJjCoTIz~bvsIQ^6uf?ZtuW}wgQ?dDj2OOVtPWYQ2f*P$loKybqL4hJ(-OdHIvo|zVlY)02(t|=*tdTMckE0R*|-WmQ9IaM}niM^xaOj zGi)nmi+2i)hDdrlBAR_N52u&^tzj4UFCgjKxs2l`QO&;bEar(34PQ2pX{HRMvMtA9 z$JJJ}eOJQ0thkCfD!OR2`V#WvtFdii1&*@QC8Z95r)=a)A?nI>Zq9aEU};Go?b2xM zqA8@-n@f9rgK4*P9*q`7QFTc+{dU?(LP3WlhSu2g0D&3sLt*8c56wN0~td@YgLD z?+qvgor|>?pvuFlXa)K`?GotaTG6wOr=U5&19G^&E3&mN^n1eE3k5>1&;mPy7~Il zJbD}i8Fr#apdb8jh(Zm|P&n_WEWXqc1TiP0;MHSK*l9U{wJbG+LW4=HvgZ%CWA=9D zpHjzF+T^e+cJSF#e+>q@6XP zILqr?8gr+60oTiCCC((DYfpLZ<#aODn}(M{Cs5;vbX5AQNLkm)@L$SVOwoUgtKv%e z1u2~v(_{fRg1=$t@mg?K`i1J#M>5G}KXAtTDeU9XFIatKCG%<83tJ7HDNHN|!Gm7nbk%2oxWtqK@9C>7O69y#L@sa+~ zkSAMIe)5zq3|2kQx$E5L6daAc0N)*kKxNi87#K8^+jH0%QmyXtuky}vkLzMlVZ>(Me{=(q`)ce7R3lDc z0v{Y;L+emW=wW)&tQ;4zwe_VTg-b}MVmdwixQe7dI#B$AV46DEl+N>>v@J%NtoCTr zydR%&_2^3Mep-hbg#+<-`3;=B^((iFss9PbJtyRw44qIS(Xazb(Gzk6UMmx2;QiXcOHqv+2Mn9d=pteM2m@n&v`w$5I-#QHgClE26n`C$X&IGGujh zIooJ>9M7MLVr84;uqQf-ow~Ww#64yT0=qlt=N)$OTpB&`E@h2hg!!AoKDJ4ip^tsG zlzGm-Ob+9;nPl%(dJrM_Jf)Gw&sGFYne(*O?UUF>@ED!8Q^pdF1gaV6is$w&BKHA~ zxJ~HxSM2}AtC|j^-l0|H&zIanD^=lqACrU*szo3Z<$@kx6qx;O9UOkZftftf!OCd@ z2PlQZ=(uF|#(FWDI2~l>#<4iN?G)?C*n_Fxi`bwKX;^Jg%2xRa?|UZ2Y-E`?+8do^ zj(N?zQcfN-*!EA<5xkdOA3qzgCyM>`eGC`(&Sa-_^w`i57R>gP4|{GW!IUC4F_(Eo zfIoM#-iL5^Un;;q(LF;qmuf*yc2prM}sVPi)PZn_(;__>U31H+Hxt z!ir^ir}Edn3Ujt0=QydA>g@Q}1X%G&hOHEJL8W;gY+5O>QNMM;j@Wr@f&NE`S`Z`n z)%(ClHiLaM8NkXk4m0*omd&m|%B~1r)yMAntbW^I=3tb=a(4}7iL{#?eXqmrxb9#} zLXif!G}UtX`~E~!Ge27^LinMM5yp#L0jVs*-;lHVMQAVotEq z1JlWXOUeXu&v!%5kjpSLMVn7KW`Hok@H6UyCz#6G6!H-MdYOJ*johqGJJtC?4@J_{T& zkuBEHWP6oV*gNGOIHhzA{J&sOH!xxXV83Dh%@fDK+teKJoiud4&t_nu5lS~`G+CYubvEN+!7$+XAAeH z`Uo7J^G6hCnFsSubcw5F5@2Ud5^rzr3~DZ?`Ljoxxxc$J_!l<~xv8Owy!NA&B`~{R zbZhUe@(TV3S8RPw)Ii~&XSSaUE-r_|7OG&Z{!Q>x&xd87)LFSyCTOh{?#$UdERVBf z*YO2x8Dz>_uS&C>6NfRGaxJ!@NQwJ-EzT33j^$Okdm+C1KBSP&a6vc;35g4wmsz1Wc?a1fksU?W>5u&~~s z+l>JB_~}pd`Z9<8T=on34X$jn##>a-wP5#BZsPhLIo5e84fl9d!Io#E@YvLF=pJju zyInoQ4Qm#2Mtbx4cR?#)5L#n<cmuS`W1y#cHudp>X7eg#PR zJoidqXvvmLg-c_`!ZOGZGLlj-fiH#7kKeg6%Ua-H4Ta5Td%$v^H=GjQij)7_1NJrA zjHVDordu+n_iwJW$`U~?DiD})_hG%$l<<) z7YhclRXSzxWbX%iHqkmVERa7i_w(hbyXA zV~5c;JfFT4b$%Si&5_!8Rr?~URIBloii9^+o^ylcZ=&_37+7m~AB|J4fx*=l99jJm zZf@$v8M2+wy8aKo@VpOywn@^ECc)JJY2i|iaTK_%hJB(qm(LG7S}Y+>bTtWLPZj3^Y-JgS(CoF;m0e#rLKUglp-e8{2>Ay2OJ9smYQ zP##IJxT+Tzaz&FV%qz$H_D1Z)(Iml9ZNd(;a%eeHmkE(E{?<)Jwz1^Ig!$WE!K)qB zoL#^P7~?e+bZzZm$*yd0%u(Sip5KO}M|=1Zsn2jloP^rHQ*~3 z+OP&Y3V?ZktKf0(C>D25k{h9_!3=s-;O~HsFmUk-@U1usm$&YNbx$?n=%EWRXvh%0 zQ0*4jtY410@0(z)dp%yx?*lz4ff<#j$eQ=MldGFHi}ebpxa;O@=E7Yh<2;7Rg=dhS zq!l|Vdw`am*Jb{kFq`s`VaqNi(Q2#!$CB0LeQqw$Stoj~6(;KFm!&w($*8TCg&mt7 z;pD@!_});~w_vg1@}Y#M`a zf}e>{?yR_O)>s@|Aq^(lRj3@D3?Y+;)Ao7QpwKpj%7y-0_S5zBTV93Ta7+}k!^4=* z?>&@wU5lxm+f4 zit~mSfLH4yoV73qTzboJ)w*;Tee4LvK1v0v$|M}-lnjRpm*RlJM0nXg8b`iMfQrdK zdF|H%=XyaNU$=1s)L5AEH%`t1*<&K{r=f-rH9S~!!T1W-byS7>bN91t@n28wQFl3i z;N=YNOa4T3TQ9?D8>ivk;~wJ7%5ogPr;LwQtV7i!Q*r3Zc8n68$JaOCV1eNu6k1Ve zImeiK9Uo%QWLJtTEJba}*%VNlioc9!(i}w*zFX`-$<9gqtu76UU+v4ai7U{()&%4O z^f1dW8u<8FPIg>26lKRk$hIs?D{) z?xd5#dbhJKiH?-|!H(~HNPVFe=wC>u>W4SDUvJXr{9DG2mq{g6!xr07iURXW2gRos zhtc&r*1Z2_Z~B$7gm)?&N6zN!`TXaa)ZG`vt6KlXo`++2dioS^d^jgo(@G=I~iqwyoVc9-6K0xiK;0HHFgV>|IWkent z-PYmVhjinb2Mt_nA zsnxrn%1sjg!`-k=y`EFu9RsTpPQm6A4scO&AX{0R#r@VC$0}`(@C|u0S-nIIepnI0 zI%8W=u6+ah@oP8@@>|Pjx+5(sSj1}U=FzPW_AL3^a&qcYVt?gBNlWll^NR!Ncws4b zUS|=w+XaseK;rOrAN<}6mUb<%TX?C;!3>R@zm2nP&1_*18k5?;cgttgXCf#E?v43PV#3&j&}EVj%Ghdqf&qJw-e{D zisd2Jv}O4ceE(ADIBZ{zzwVmRmUD4?7+y-PX1h3(h*RXSX`%SE;sM$cew&Xri=&c96L48)04)d>n2*OCX~WPQd_F>- zn)C$E;!Xu>m{N=#HQ(@3Wf7*=zQO>5(|B6u1wQLMjPlN%c=kpXK2nh&rN4WSolv9A zy(xGI%}Fd|{-#S!q9^j3aKWp&biv9Qy9`#4TG@TR$$1T}u}l{&-V#o4{d8cLRv=x^ z&4i`Gw`4c)0mPiOCW)tga5GAoX12(%W?|h+`8<&M`WIsSMj4i1l7PW4C0RneA7({K zF+Y8Kd~#2z!^AsPv9pCXB58_ zn7zoJw^|_qORDeMHfG%tzle_DvNMd(Quh^CtG*k*y&VBEa2dTniQs%rE8cc%r(8=YaZfpnJmqGm1 zvz459*#ohUOCc{OktJ$dl#KqfvbiIf?YR7r8eow+HFpKVueGDeWMwY22tLc%4OcCAdjdzV&!oa(&!FwvY|7hK4VSEEl8xkPIFdej*Pp{~+ z=};OqeJ}6f+mCj`^ihBdq2#s@)cBZ!Uro}{aIzs5G#%jdmJB^(7 zKh8g5A3AU5AS!Si0Wb>9dJi8YW`j#Sm&e z9n1AqOrfKHc7vPoP=T-Y9Oh*f;Np)1S%mf(al7kaCi7w+JXoT{O0+cC_KH8y@9oQ^ zem??zzwNAffWT|%PhnC4>`S-`+p$ldfwL@o6Rylw7=49~TWw&trvWZI9RSbPOYo*;Fi5ti zLznI8@*~Dep>d`Ho{<;}9dR4ctwjwIh9AQ*3*;eGU?$r2DMQSIySOHP1hfr$g1HY& zAoBiG+%eV?b_{F8t}Y8$=l4YDe;LCZtj4})dT>^w44o&BgyPScxX)1^EQd|UzgG?5 z_0a45P!(;su&q>7c10Shj>^HXqea}weIc-P>rIi8em2~`EaE=}o`R2?AMpd~^WcY& zx5;+e40YmHeB>w@P&r}Gx4Gts7oFeCT^{OyMXes-5?hQia2~WfzT^A`VeX@+L23ya zY*U5-wVbhF_q&a#+lpiLPP$~<=g1t|RLLOBnWZi7M`trf)@OGQM;!%rV!&Sf`^Sde z`YMfsORd;C2N#Z3n6Mvtk+6M=4*Syk99+u>vrX@YvrCfFY;KZ>`Aq17+Gnn;bW1IS zU!2HR&b|)ztH-k7MLeu7AI?_JxCWalCD@+lk6_@{r@*;=gl#vkfV+@s3fxf&jz2Zo z*(I0Z$3_G8F`^bmYnrm5;vU#F&yX!hkY`@anrx@wjW3m!WZwdf*w&+WVMet%6K&oF zyB7+%f>9s28~G#Iuk!}{_HJc1%G3=Tgq}}P!x=OjbW(68y~gip!@#IWhEDHW$~#sJ zqKN@}aPlS@s!sTa(f9&~SB#~!+Jl&+F_-?+P{z1_A!I6L&YkiLrF*{@LYBNAO`m!N zvW5F_;jHiA#Ve3mni6}VT!b~})tGCW4C*mOb|&^Xckp}J0bRZ!D7(&EdP|II<-_4e>yrBP%vthGA>QGJ~&cvDs=E+h^f{?s1(k*t(Tp zQJDrO^5jM9wQh2UJd~m8>{b4vLo&?Di^nDB@4#r2Y789w55B5>!HTmQY}c!Q_}J2f z!Pp)w88nv78g>UC-?U}9yLY3y9>>C}m9WmzmX$S66!of)W6>=pkYZ-VmKz=f(OENQ zwYLE}_ZbU$sDJQcxxgsvkYjN=#_XTqK2cg^%B0FWp&-J7=|3!jh4Tal8hOH!8P<#? z{uPZE`q=x{D`N6212*0|6Lp8Hu~kAIV1@BFDC_%&J<|x*OQ=w<$~y2jA4YP$?cB;w zI`p|TbV9Aa0kvK^%KsGD39E&3XG@4V{kS&(n=&k@@Yj7_zru{pY?#MeoHeAT-g?`q z4@S_0HG4UAZ8h4xW+2!L%;F7Y6Tx6!ti2QR z4opFd;+_4?}>!3-Z^2SoW?XeQy@$Mh*cAENev`lxqHiX`B87iM$#(*4PGpvk!xkL_fs5*Z@PE<=E$P zSCDsBV#7sduzrUEGo7IWH}C(3{6=F~RecXK+ufmjV-k4G-U$(pnmMn}rNUa5%D4Ub z0?rqs(ERjB);zfm-%Cywyss)WJAE~~Ic*#rnVZDyrg{_CvR~jCtRS1)dBWbbnarf~ znY4Ng-E_)jPesvmsb@DU)7e08iXzz=Z-3f)(Tkl8v8T>`2JGT=HM+337pA?tjvrMn zfVA`or0^)H)W6D&vUdfU8O8A6uLxxC4rBj3eBj-Inao8$9(*UpG8y9w&{~zr#7kbl zL8-&++%tKmKm9P1EHYq6Ze=m$Ln2nRB91LR?JhVV7P2j0y_mx^3s%p2GqUf6yfM?+ z@=tkive%8(|MLWG7kgIoOC8Fx#xQnWAN2DDKj6_2sQNybY3?kBGNnIo)A zFH`2c{V1%o^kHoDLWuE>VBND@xrouJtl>^Z`3e6VrcnKb@2xq;mKm+W=RT)d@1nD~ z#P%%fd)9zo3r;iN)ju%q+;QeNUY6|Za#@0-98EvAo5^(!pjdGPTb=M0$97B=W}Mdq zR)`kUHr|V)^zMQ|FGGdU$si}p7SDG0iWF9E5PM4~)!9- zS~5@K9fdwovuqYxotw(b_bx(Bbqmz{{*xaVau^?Y?-f_-zQcqI1zf3(CV5;FzF8S- znz(QQ8XUq`;r9Pnyb9M#WY3h{C#$ozNIKCqVS0?`{KW!6*ax=C-uHpjWowyf1ciN-O z2jLAYQy(J)KJ~mK@_5D1pLw=-@f)=kGS%e|`0lr!%;?V*zAj5(5xx=g{^O)rXvsBR zR<;-}4135A?-fCdYX?7fZHZ{T#6Mo)$Upvtx17MVjmK5LWwFz!3O#3c@RA<}P)9-% zUyw19@|O-5jeTNAcaD7GhIY>;$JXs|ZBQ7+G~I#sTr_1!$g!)}c2U@E6SgZSm6lI( zWGiii?qtezcHvJ7)xVg<{=APTy>YYIgVsp;Rx^Wbd$)wNo!r@}0ynxDz}OfkGiv-{ z#d5yO(Y-hW))4&=nXs>(Fiyhhp=zwkOafiJRG3Oss_5EuRTjKzILuhD!Aym$;IJP$ zEK$f(#Os<}8VApIJHtEC|ew(Ta zORk^Cy?U$0Dgt}CT|#%t&_x}}&HlpiW(An@>OO1@e8@@1q{0300IoA`1oSuFu$7wA zDpEN%h8Oqe^Xr9-XS&x&OiLJniFc-9&4T&(YQ}u5Sf7mL`CjCPeV8O^dIZW`tn#hj$3rhi}XxaA|9+@Xg)93yW3g>>A-6a-|9B z__>hk>oF8DWRvjLYE2jRWzZ^5Lz2=eps*G-ipeXbtK%g}z}`?^bti`Fiph8B6a1`F zNPi3}(a<1=YSP8nH*yDUO+14+%@gV9qJx+}{5STu3SBwmwUg0{PxJfqPaZPv|7PdzkE{t;RIim1?Js$2e@isNj=)5fV+1ZmvyT`-tuTs zh3pqDQn3hf`&u|1JAJk#p@(A`{w!^aHr!H(XJ1qo!PSZkmOUsB+!7D4#)pkCXLu$v zn61R>yyIDCfi>g)Eo63G(^%v7kt}m;FkAMd5GEIFWPy@W+*)36O3Up+t*C8Gy+iPn zc5e{Y>CDN&U;X1rUYJ`iiMFNc_&|K{ z)0zx2ZE>8gE@|m1;rIY)YFXXH#~%|qK&9ldyT&#bCI9r)5`1VMQ}?eN+3LO zfYv!Os9?7Tk`vp6IOAzypI*YBzf%Yk4=Hg5bA>+Mkm2yTDj4?bq{8HTuQ`S5RdA^L zjkx;e7uX@g@Yr!#7Bu55j?j=37!n`x%zwY&c%?GAI^TmQ14qy@xp>G`(4ui2$GMU| zMGD>cmzVzZ21^H@#)mB@v2now8XD`0;x2u+@2{pE_2{iR5Nu$ge<13qOc2Iu669 z6Zg=yqa0S({X{`^2c9pKsiffyc-$FI0~aR3Dj99s5znBIIoDXYt@_Z{J@bq2Fv62xzO{~cC8z0BX3R{`#$ z^Z4ykl0jpH3qNwU5$xOAQa;%%k~3f?Tv*yI@dOv*Bx1#U#32n}y#vwifgkvE4ae>4 za^P5%GOqhw2P-UV`1Tu$O!--dxT$P3+qo#6TUb1UZ3R#GR~O9m!Y)E|M;LP$E-5&^ zmN9j(VhNAD+4{G$S!m`M*5VY&_;8_f7o5mOoTvi(;yp~-YzIuZvWMM#uLR@tl33BI z1a3Rq&N9Zyac?dLu_Dvqoary2&n`;hw1l@Pqs%65(odm7Tdx9#j!3fX&3dra={-36 zkARlX&CvWq2HICXgSU$sxIcC;U}Q!i*Y@`ZO^5u`vKVka6zo#MFeA?nc$xFK%~Qw`4t#;1d)m4B zMUu3B`*H5daz(+}HJR(1Cr68}uMv$u+bcNQ?uw^M-o%gNcJoSBiKrd@mQTB_hn~_} z_`4#DPkTHTSD3bo)7OfyXH$zfwP6%mElK28zR*DNNqPKp;17RH+aJ3hxA8t)4rZQz z$zM{tDRl0oan7oD*coh!smX#_Rx?Lhhn&?44&tzsx((tXGYsa)k_Z=?8p&trQ0w zF2O}#lhGr76NYF{z#T_4Q0-4PAGIcj5A1&+S{kjz4>;Dr`8kc{Yc`8OM*b#WT^|TX zBc1TC{w7$Te+U=;w*iI^YQ<5Wfw09!QOF-p0v|iUYqfAV1pADl?(y~9ppljo8yUbU zUN9s*dt=+&yF&KQy-}xoyYS1ds6${>G;)(?c_~YROys@zWqlyywnlD$e zciKqqt#LKZ2$F|U`zulI_Ch$4Qi{)y?1dvC`*E$yX;88V!R{~~wq}gRoNfPs%WFlv zu)Y!^_sin`tlOaGKN44cu7SwsUKsJC76uA;)c(X)$bNhR8GVHFr8h8g+yJ&|WCKdx zR$^&qUZZHPHruqk8%;Y#vEL`Z4Lv|m;sfT zIt z%K9xR(hj0)lQ(0kf*bt`+>N(Bji5t1g;?J94DDN^9h2?+B<<|}##-_yzhmQ&kc5Lo%oMJA|BJ@mXj^H^I?RFMAMLhhd z^`u1UL`a|SObv?mkb2IDPE_@9)9&};_IELyxm*IK8O#@5ffn(w{f2yP$831C_8uQ3 zWTVQLm}Bl-9oAmF3SU2TVM8br{k|<>qn@5ZiG)pT*Zd+h3g5}TwF%wHw@J*TA{RG) z+QVK6`*x>l20Ozo!8H>lB44w?<{@r99{`cx?_%Z z@a9Jn?(*`4^zdQWxp*g>9q_K~xJEJ5n45uKe<#$wxd6_q)mZ#b88+yYHIojvVb*SL zY_XC*`+mfi?X%gzv?6CQeVG*28a{>H=k_udV$0$Wr!b3cBiOtL(ahQH7qs15!U|Nc zfOaFtBBw>eFb^eG|9&v+uet%J!#K`l`7~%T8_Nq=A5mPg1j=P<;f2RDF@J16o@>s+ zcV%zzSEt}B@lhbBkv;f0QQ-U5E7QMRd6K?kNZPB~(emeb`k8zH<-R!4U(*4&)ol_< zzI5kgXE7>BnGb6;&FIx}gj+sJR8{jAmOg!kw*^nBoPQR6+u_Lms_3Df&I0yifC@kA z?mFf&C6TKti)M8aYA`M;hTUA{3TBNPSbo-GIIS_4E&dq_`&2C1edP_HrrraRuXli! zc!$8JOoH9(6*pc~W5 zffcILhSv#jURHrPRZX}s_#?*cyC!XVZd@)l}7>$33jVJxB7n0XDKzz%qhWHNW% z*zOU6JHW-0S!h3n2bY}KTk$SPXt!Xmx-N6sSxW3$&n145X9L`nOvDElcEjWAE$AT3 z5=R&eAuq|rqVaP_(~JJ=ysn`$S?}YpZH5bZT1DZQK^%o|5tuo{M$%%_Y@FEm4GUxT zV!-%3)blo1czF?J%Q2L?$Fw|e3?rlf}&xda?Vd`q|dCucxiz(p$ zcrWh1uMOR`e%N#VGB@Ls9yS}Q+vcaf=HfIW z(B$wa(ZKyFv}EUR-q$jOY%ZmvwmhTHt2$A&Q;s_S)26~{7qL*mk(`V4QM-8-y}Nfs zH1ytL(r@yBvY5r>=~D`CZRSw+j$T+d+=D{86`9rS3A9;BiM?E8NWJ-AU~Q-x4SR3` zY|luNlFSn>S>~<4W7NU6%saUMUjz34IE{Cnn$!ECi8w=TA({V}hB6Y{$;(Fp<2w^5 z{!=Eu^G7^=Gw~MBJsw3aGsbZFr~FAqT0-TU_889GX$f1k3(LpESlb~hUU2~yx+r5FuM0RFXbwDJ>IP2HKaB-PN3`u5->F#m`yF?$ISA$3ec<|`P?UVW7s4YJ;otkE;CyW& z`ZPa-!;RW_LRyMhCUx`hM4L(MKgXA)0lU!^$j_fLml@bLi?eU8XMC=i=)>{^)*Tqf znRuizi@$?ma{7K2DY*p}t<7e0r(FT(`TN-RH4^ON!rd%PV4r`080H~%VSh4$n74cY zvr~6v!8uWEh}e+1Zb)S1OJtZ^UG5lC!nw480+4+3F>~FVk!qM;UWm6 zgyoO9@sm%opO?pR+VKZjTubeghum`=B-U9@d68fldJ70_EFa)0Kz!`>#WJaRmO$zYQzb zS>UDo7a;9_m0x>7ihZtnDz@*^VWU336O{$qvGH~3T<6cZZ29JgT&>Y+=BWRLo8-2Q znQi&SX^n|yQ|To)FCvmPdYt0YM9bL&RR!+5{R~!kS&{#|)`orR`^GnhYqH50fa^lO zg8b0axV!bbkm-Alrv|3M5*0bR^u-g_JB=XzXg^m!&xE2fW4WcHO=)(;1JQ_7Z5q5a zR&@BWEKOfw#$8_V2#t*&a=zCS@kiA}*!`rRpIosI9=8q>wP{wv=cvz|_u3xN_}~d& z`Xrdi&Inkww+}}3Yy&HyAJ`hS06v|GgS4%K!L9x<7qD~~mpfh-zbGNUL%Rh1W`>|i zfig|CxQx;p9qHemUugP0h_d8_oX_kX6!F1~3?vfhsxU`s*c(rllgH5cZQJQglMyW& zxRQ#!Rj5VqOC1~8hGl0)6TM5rKhsr7GO~$pdee?IW;q-coWS~B5pd}AY;;Py0sX&Q z_>6{+(D=An{KQCtwPdx4+*N*nl6VI9zNQgU18um??q}eUc%sO)Bp5{ABl+_o5};>T z&)-j5$dz5R!@a8YqE!DqsJLr3H~w}NPV`lTnbRbxcugvNUZhXX&)z{~h64rWTQJwD zv#94%0L!onqFYT#?7m_cy%}15VF7p0i>sr$D|y*>C}p37U5+} z^{a%;{DC1PZEnEY-qhjpodV;aH4K&N%>=GsC|?y*B)0y|bH&0u_e+Kw=thR%+20#r znC=F&5Z1gyRSvih%wQEe#Jf~(<<8$d#LX*@;}!a1A=i2uewok?A0tko_4*O)!v5#@ zJkWv7Dwm|Bqcd4owjw!u`!ic6N0+S^u-Jeetg7*1vF~`i(*!Jk{~}y;Q->W`Gnc<% z{T&Wm|Hw7|cN+2|QlKx#1nS%$0Bh0}e;56O+2#{4?Yk1wJaQTbT_4Oc2X>*tUj=r% zLxpN&zryTO2GnuyI+U3H&(L{CWBG=091*gT70Jj*NTR&=b(2VTX{xkTv{6P=!!AS- zl8_NeG8*3Jx>cggM6{&RlBB8iOG>}zua0waj>G#t?|om__xt%wW*Q&&LiAiSw(wjl zS+>A{)%%)p+2UhZb%+^q``_aNzc}nmE<~kk#VG!S;*{RY7=PAto@+Lk?yo7JcEAaixCwTRA6sDAkv6X2OxJF%t zDX$O;*4^S~sk^KpeYXL7ez62P%(U2rxnJQpKkK=?T$#qa>%!(A`gHq10uD$UQG>9D zoO%2>s+*fhwD%6f`kpWl*<1`ktM9@uc`119AW0|d=WufSHK?|DJZ`trreVJxqDQ|H zP4E$6?@tdv?>jE$1TqT}`Rk{$BMsKA1`B~sq4_hh>RUtG?iZ%^jCA-6qLi)%u@-OG; zl?Wjb7(PtJ+Wn%q|G^kGazZXXA6Uqqu99Mnn<81)6FU}ujn7Y=31T-JPBZn?cve@L z%Z^P*WnBw1nX+FhD?fFNl`l$Q+f@%TP38Sey>$_b8OxuMophOhz$A9R?;f7;_<`&Y z&%!XsK!2wdf;JNceCg!?DsF|9mU3r7$Fq)%eSZ%soAiNA=?CffJl z_7@%S*8B)x_D6zVyBH0Nt$}%=GIWN@2>MEy=eN8vplO$+=q@QI>NNH{XdYcdoxN&7 z;cXE0{}lqFD?+K^IB%k|dJoOiFvtE2sM0S!#X4H}x{JMWY_Sdm8jR@K0{RWdNU&6w^@T?;w(8)>p=9^8|UrPnj=LH?W+ zdfZTiE^bYsoepE@ux>oPIZK8|GN@GsW zg1wt3(*xy+WZdv%y00Y7YD33ldQ73Ra@`UWS}FTWpftgNPU~(a_fKe0ZrMy2BO^`oH!)M^3pgkD;QjL_Vf=R9lNWKHSpWGC|CF|IR;$0Di_r;G{qh>k zO5fwLyiPPADs0M_dq`X+vKe0<;Ll<{Pag6TyS`~LEtBs!^jVyR-jZNHdak0C-55S+ zPEm``$t)gxE|Bw^$m~RS!>YfN*{tLq$Zwp=?xkzf_m?c0_X~S^M>vg@S$R^smDAbo z#3j^Z-*h(Cem2d&HI1FG(xR7*E!nOK?Qm=HRCfHcWD;vWCSXZdVwiNAEIa>aJDVh3gLWMYn6LX{lz3pt zTEE(G**DY~+uKUcspSkHGu{z)Rv4H<$g>9ct8fH;-QO~Z}j zM5x}uXf#{f4GT-x;>o~#@D4CTXMIC((Cg!FR8$KC+d{agJ!|pswQAwZv+cNDGf_Bu zgc1u;ci^Dfl10$B+-Vx1>kY^S5sZ zuLNq+!3&<8cD5d!?EQ$_2>NuHwgKcAdgE zt%~&K=A*cE?O6Kd$Q~TSbNoFHxuAykFSs#L5$Eu8cX5K;Kkd1Y?=^>88n9KcQNBs2 zc*qW?xjPCknl|Hv|IStVB&xAN-xpQ_{@z{ZF^Vko+`y)OKTDc7?q{tT8sH}%#S~%# zpxrf+%`eUY^`Sj1z`6z=?ek@OChFKUB_z}I{O!#(|Gq|z7c()dJn#AUPRBBU53ue zeY7AT23}n|Mz^dV2RSoN)9nG0WZ~2z8gem{lUY?vwPqV&fl2{=XR{QgQD&_9;bj=_?7&=BXMoP^xoqmO)ezg}&fLrHlHX=_?4_PAH`aAB zTRz4WTh^#C^Vlo++hqjH|NIwg3;J<_ng$cLy}%8>C$i1j@A>nCA#0QuXH!2bvs10= z?4S7ujDKdyR&C9|q8<X2mu8XfcYB#mZ5(u@N3!WkePH%EnjNjzq@lcz z_TNn#I&dY7chD@L`F}&0?hG&5zGOX%^;<||#TKzi$8G3}wYF^IrLlB$+C*lv?jF>9 zmuJgy0TfN@$B-BKl@_X%c(TA5w>L%Mj8zxWT40GC<$c(?y_>6kCCZjwkKl|piL&`) z%sI2dUfl4*mMdo!xF9i|8+7-;`y2jp3**lUkD1!zHcdO;(HM5F_ zgTVSq3j28e1TQs>WBO4RxNuwuJD!<{MtqK=AnOL2NGP(jfPN&B=dpWe1lzzGxs|Fi zZ1Br3awJWfU0IX~K6{4oarblh_qG#I}$Em|bhCu>adIQ%Wf1FkiH4^d?E1HfflxU962Mx?fm%wie!<(#2w*kHm}Y8k3kU z|h7w+Z#Hu9+{dqQXX!=2%ob(b3CoM&r*DBOnFbjX=PvtY50$d*DK#x8#!yE^9 z`goikp4{z9i*v@HXw6J|HuVoDU1v^RPu$~X25ZxjvlZO14zF9Aen8i8FpS8nz3xQ0i^~sCX{Ng|ZdUV(5o9MxQ|>ZZS@p zs6zMMR>iR1$#iAiD$c`YCN1G&N&PQpnyJ1VnzlPrHP>3W+CGB@b}P^=`%P&0RXdtx zrbruOx6`?8&mntP0`(9{h8MwEG<*LSa_2_@HEjsw1RD$J3%@}8wDuI;q}+<%g@>u{ zKN)8Fel?x;cOr9Z)2I1c3FBeQa6{LIIm)^~(^*Sa=Hwvwcw2|{2Z`gYb_o{Ry8&;; zHQ}U?L{z`9A1!p!u13Pd3g#7Vt@auC2tPE2{L_VowD&eujYMo(J~wiXG3}SjEQc z*t3tWyV*!7V0onx?AQ58Ozvze>@ppk4@#=Y6S#ystE34(QZ90;w~eq_M9F$Yf7$xP-xj#tyE#`~sxiY2nz7 zLTHX~;~s7*f)|c@DcD@g3Pu}wT@*a??)}#vuzCl=`1HC#V zLO)#ep?xPLsr&O?^vG3Ns(db#ax3|ro`XO2(;Y=?W_i%#y?-FtOOGZLJ^nNJm~(3lch@eAlliVHT(-Jc5Wa3PvBDPe$wCBvZk`0C7d=4g zjTdzCtn3!8y|6bW4;H*Q1i0-y6hAu(Vb%Ox$u1Rk`^JIQ-&D{(!T=6y7Zh zfs%b&NVkLuNIk!9wLdF}b{MfOC!;e54_cQ684`IICDHfMf z2M4BT7UZB={NFWSzmI{V4Q_qQ1@ZY1V!ud{`F`YT%p&oP|~ znw;s01SS%r$!&P$$@-*hDz!DG*n*-%#PsJ%yew-7QWcdXj`!e(DD!&hutsp%u0kWu zh|s0iY$?Y(*&8n|rQ^<;(C7neX-9y7PI$hW8c5jCWzLJ}r*NPqhO_AC9p?1UR5LoV zLzfO&sMB9A3Uop12zt@{C(pBe0;hf2VA-zo;1hiT#GY({yMKB$Ns5 z4o`!KGA-2k^@t4LPDEXm6@tB=YH=#hqgyWe7Tx!($6XVCq0@?YN2xiwDtn&Jmn5_!v*c7-RivKG&GFg8R5(F1E4&veT`A;|BPgMrE0xb#e?G zzIdA~HY*3OD_YQJ+6Fz&PGEcJ1zcR{1G{ow!)1}ZAZ67BQA?v?&Dcf|WF3ZtmidK7}_LQlr#g(#wJ@$h@?QL zjUnHT5b%Hdf=Ihfhib=lVE4rg_P(fu#2@w1RD+}ehb~GYf62vMz zY05M?@G)OUow{}4mgPpeE7}hBp5H*@EY|Zr-*xoNk_h-zy@GmfiG$!33u(~hL$GVC zBTal73=5#kV%H+ zgVCt@Kav^F;g42ZQ2F)@oi9hjb(ubN6+H*C&YirEvIdriUBojj4Pf273pGw5gh;;U z2J}zB>XjveEiEn}6Fna8_M9fF>yNpD7}#4}2zbE(GAafjCr||L zju}gz^dys?7E@^J7HOhqJA?X{%oI2^+fzfgwN|G2Hgud*nw8)4$@IjHse zGF)Bu0*&nSV1d+IzJsO*E*>v2ZJ9ho7vD$gwGCv>wR&uvr9$d{Rw3&e&$U?yQP$uW z=hwht(yIkHFtQpi7AN7+ef7xkUGq^hZet&NfHo_eaCqZqeEH-W?lU-tiC5!+Hn9@h#+p(F^!JPYoJoH-qIebD(V{@OS+b@EwkaGC5_i9a;toHP?yG z6GM1ue@;-hLI&nH$KC! z1E1mP>VCZOc@({_@EPY9XizVg_b4}dA{Fv||EdmidZ?avavK9Z(42{TP3>v@@`Y$! z?@GC}3!JAHe~)JdY%I*U-+V%XCqu8g`b*oiJdb?g4@g&t|bVe?vn!8h^5&Pdx8)&HUE| z2eyz|YmI5Yo;S?iqfKwQGg#a?n(F`f4)gyFL-7JxT5J3m_GgWzW7IFf;{%e^SLzt( zSib>t*a%v_=OARcJ%8Sv1tZ5;z;s77(!U;Ho!|qvd6Or&IfP^7(r}37_ZjE@W<%i8 z#~Ash2Kp0UVz5LXENyAW6N@G3B9k&4oUcxkE5lK0jS)Sau7?aPsiS>5SN4X``<5P+ zuSy7QI_*uQTBcIVd5_4mN6o(P)0{oIzM2YkOTjNAR&i)2c_6W*AvEEqAEDD3#cQ~rN`5jJ&g zzh=S9H4R{pn+Ja^A490(8xVQc0by4Zsc`fa@UAzZJFZ5<5~~@!6KOnn*UX~B zU%W`NBc-*&$A$M3_2~1x)48HGB6OW@mM~Vn2t2l}A8l(~W^^`yiftUth8ovXi+%s0 z@924SlgUjy&gX5fXUC&s(O;e!I28{(NrNldHC&!)8QJn4xGPHUIE6)Dgb!vVqhc!I zhAZx2)}eAEW08L5k2WV zZ=nXf3)0cLUz19$OheIq3+bDvWTff`Xky(F{2GzSKV746MM4_YzPAmtm!(nrzw_|N zp#<8NYKndLcGFMAvRD}6LN7e|%sm|~Pm>bfayL7(V9r)ie3cnNju~t5zDWa=vU5a- z^_94qpA~405og(Pi5PiPk3C(UhoP$|TV2m*ib9>)z`ANYt?tHZo;2bt5qoAFco#P@ z6ZZP?BRslShBe-JfzQ9!<7xbW!;$N7W5yqR>lew*G?HSq`r+iHu@WolQ3Z8lE!O?W znrB8%WVS&T;LV@uZ`>RK;r#C2M{GNB|7*%rLmGumbM)A><{s|ew=v9ljT`1}`h}M) zkK%crV;0#^iR)a#(9q&39+~--oALc0Y76HHvOE>pzQt1DsxX0>{MrsXc1>jps(d%l zz?S7kTmvmHCnk27|J)05VfoGX!OY)*`N`geURwd%u%;TIPoE_O(9ibsBf%Vk-W8LA&(d2OLUYt#!^{78(x1ikK35U)O!d|bBxq8?x2`uM$Pe#>e!(5-@@CFk&;TNgwedx#Ci z{V*ARpj~o5e3Ko)DjlCf$KsKEcc2dZN=GsiVKJo49?2f@?C$BxBbn%hy^wc9f~AId zL0~%Xw=1!Q?WRMxrOXJ5l6tTqcP#9;yNQ-^W8jNn2JTDJfYF;);=d3p*tSC&%ZxX| zuA|XhTWkuLkSRikGYkX|MMzcFOL(#}intk#pangQ6ci}Ytz%x3=Lr+&=f*)&9%D|I zZTd@ebZqI0#sN~a(49^-?EY4|cvG`!it zd#)Cu-<{)-;VeMtngESF`}m{fYk_&zF>bk33nzHyQ28y$8@KsJ5n)*Y`bLSt?T8Ls zt!@p|2fm@E)>im4Rh&sIh=mK{Qf$y69n_bNWSS##A-h?Gh0V={NseF9YS{@$GJl1p zxe?$jcORA4yTX;ICTzFnC-|AQ_^Ws!aZb2~Z)cnlo?a_Nt@0vn7)#K6og^CH&A{Ix zW~kYG0G|?fd>3GWj_p3^vo41#whhGx8L}kRGZr5kj0bVP=jw$qp!De!ZZW6;J>Apz zLc1RJkIuxJl{FBuJ_%FS=Rw8fP`*Fs1z+#XzNIo&La=IhuRX zDVA&bb+ZdKKemLuoXay0E;_O)|GtCA<0-5lHWH3hsM9;>F5{G+g^`$M&aAhUVT5s(qkK$I)|7^n{%yT|X3~qox8#}6cU6f`m zolI9hSEbS&>eQ%Ghpvc}q;{EF^qk3OF#R=}R;b^HZT??jb$At23|GKSvs@T{<_bDD z!r-&@FTvn$GjL59gMo9C$-jskym(rN8}aQ6{yC(M=bvh@`Kh6(Jb60%>TnwGA9G}; zsl}+A@5TluWuoCRK9{&?6RNwKvkbQvVC={E7j7bF-V@wbz1ZMtjs7*-NTDHSsvw9 z`mbimnxR~5+j4g6m<_jW<~$}fUYcvXZNnD-5aA}D(r0suEIIQwo;`Uzp7Szo!$={& zL*s8Q=4*$!qLngOTg7uX<|+wC&XC6fj}{V^H^j-lm=1sVj8gKm@aHq)(;xustx54@t7hvPWoinpXZ=+;Rc_0NJZ@abe>k0pF8t1cET=S`76}h!8^x?Q#g%Kz6U&G6!y>gf&&%HuvWd6@0X?ETXup!p9oPS zdJ|5X+`@C#Eb-RtJLpq6248D&c>lNin$>BDqxak_% z&>hd+&6xuU4~m5q=0_lVNS~Cy$%IhrSEN=w9cDV)fUAEPlq`<`?WNN}-J5q8Wt0(x zqN~u@6DZVJ(+(fXzjE1IUO{W^TD*II0L;X5F=eR;om$q2L{*Y*Eq{d@+-0fb?taXb zRiGCSJi~(@ zPy(*iqI~Wm0cO=!lTpi8z|xKq!JF@6LGUw|^ZZss?!-FbM|W?*)KI>+@3@J3Ez^lR ze~Mw!PH}c3%MB0hRb#b@F*xhK9y@NGhZo|F*uWf~efUnFHGI0pd#}ebVbE1vG$hWd z4KLxk;)j_2?F>Ft%tA6M1wT%7!nL~L*w=c66Wy>3TYGO$-zH*$QKL=~I5f!hzmx`% zFZrC-7y!X^%5@H`1pS&b!gbeofSSveN)a2LN!)kY>bFcdczqoySlPG(ZZ242weG() zps{|D@YNp|Sh|UF->+Ff)}kiv^TY{o_?H=;$y0}e<0J8My9SI(E5+S|2JnovV_7c1 zIr0XTJr=^_89mthb}MXNbq51V!=Z3q9xl8c4}ml1VbPuxo*{XZQxMC99FuTToRJ4< zF9-xC6+zOX!yqawh0hbS;rfJ1U_}|QH-q;sa-lH(aWnimtOOfZKZMMNWGkBs&*A+^ zBka2H8jSB>#`bsJAncZ9RS)ifo4PIAb?5?=Ms8sR+#dKb?-2VK@{@?YKF*^0Dugmq zGZ=|7LD`{`?8m@KbdEgEYK!jT-o1y|aNrM2u?}DXz9U$Qv2G`5--0VwrV4ZBkbv_+UgZLax z?++^)a%&!LQdmHDI9$Y{yDMq!BuOSvT23!L1~xO*jh5wYWmyhW>CUzBZ1j3Xx<%_0 z6KFgISC@RY@#1k<#(U9%{u>7|H78l#{&#|*t%q5qX%=^8?i#lB6Mw(oZ@>Ixb|ExhjhAVR|tsYcnoIBa$9!g(6lLW)m zqcmvo0{D`fNqxE^;nvbK^iow4q+KhdA=O7gZ^;>2n6?|TrL!r@o5RD36zV!Vg{Zwb zO!vpn=45Mj&_n$Kbh_e6qeh%YgK!Hv&iM)cdnQMlZ1~xZ!+m)3QHj;RI}RTz$FiSc zw%|KSnFToa5<7P(R^oG%oT&YbcOy3w*$20=eN`N}^y3^huBjm?k%&L|&djoDAz1gt z2sr;$Xdvebp1n)Z<@;K&UaFNNGRNsNXIiy`=O`p1~$&y1vRe+@!;Q$ zu=JJ=`&rEI5N5kF%d->UOLh=@{k)A>uR6lUUg{IHj?82hwVSyYMrWCuzZza}y}+Di z2jZ2aQr4Pv8m)JqX9w6dtVlh>iWavcEYD#1>$~u)W&)dX|1o~@+{^afY{w#vC2YKT z9k$Pz!ivjXHSxgd^f zdt~uvlQ^DRERNUP`?$n^BlygF3Fk6F7GK9rzl4A91~F2%9zJ$Uv4_fM!0qQ4ws6G(IOs8!b@O?eSw^aC+_65=d}9<-{~khQ zSAM{l6DI_Ir!J#(&Uj%M+l22fH3>7$HgJ#S-U$8XbqdnLuL|?(W#HM}XrXQJMp)w> zBjoCj!}+)WggWW@kXjbOIjiM?+NbB-)c&Ke_0M>GRJICKClQ=;RSZn)jWKd&kznWJ zHg1Gw1NZYzz99DEN^JWu3r6S_VAP972v2Q8TMG@U9Q77mj=EFp)7x>=xJl;jH?*+c}mS+!E-o;(f-|+Uxd`#Bh zyWNij7_u-PlYEsbB|7<8h`$RAdEDS^9h+cbl^GYiNs(?i)FJ%&(2~l|wBn4!U8&2b zT29a~kJewEjJnn?v;ZR!Of2cMyA^n)llM+EKgE}_Eg*kOgk>hW!1-wk?A+xC!rk`j zY}t`;JSwTp&l0}iP?run=xfB@?a^kE8FN`w_&D})nJ>#dpu*;aZeh~Na_rzUZx+!! zf`!^Tv7)#yxR&U$qst!Qx14@-xON?*niKJOTQPPWf5u%9ie;F~6w z@o{t*{K9)^ZI%tacmHDMyAt@8pvrnZO2MmYGSgXh27YX{XRgPSV3uGW>uw8#-egaf zcag&T&x=@nl^A6ByD=lDQzRx1Sm)vQf)Aa#Y{4HVVXL7yyR~)(7w5$1AnQ{&o3QP; z&>y*zg{9o`#3rt^*^dmk)o{yIY~g-PCZ|-F0`*c;xhmtU@M792D@CdMV2IJA^TSiP z9V-o${+%!`e=+FCH^Pjzqu?@J3Q2b_!TP2I*!J%}JRUnA#A?2RiJJseNRFhNZYPj; z?-b}C_d!9;Cl%^-FhkJXrAmv$CCSA#id3*7npk}mrwcCMBbOh%hO@tTf}Xan~t9AJ2>NkP%MnN$=wr8 z!8spexgTC9(ee04VNO^A)^~^toQ`h5`Tep)rdk&@wpb7gLyl7|mLPIWiW}v)a{3GR z9;>-3i@08~(PXdwb$@~US zKbWj@<$NcyA0>~HmZfneKymMeZjSYPYI=4nph-Y7Y-6iajN-k<>s^r;ZiN8)Vt zgGhnQw+1Y}A4x>)W058dkc@O4RPr&0@dv}Wi7M;hb(y4K?3@UgDOf;qx5U6Top7=s zI|%+PA*AWJC6I4YR*j)W6+^K zXu10bXg&JE6yQ#D<@FAaSMkEmC-2uIlkb}veRvT;@sC9it|i@ zysaI0;IJ2QG60yNKfKkOtc31eT-X_KNAdZ{pIeb*g{dZA=<9D zg%TcKr>H**ZVNZ!fk|#~?r#VxNO(d~LJ(eEvKC5H*J2I}fUk5m_MSMvKg%^x^&#(( z(QDu)u1@DOHqF9d)AMj6J&CyG+yEEi2ydi$^HNO-EE2v3ZR3B?=hp{e(#Eu7_yw2; zFQivwTY)9-pgFpipxyH@{qQvvT>6jEpzV8M->Lcz)^ zobT|QfaI(#v^%^KBBn2-t$aqnKHZus#`nX2qm8JZ>krUhtwzT#{RZJmQgk@27c6Fc z0U4`%P{emgaMN`#E6s&3o+U6_aWnk9kquoDW8m(b6u8}#M$UxC!UvZ(g6-iU;4)QR z(74-~-(Lg?TBpds~6 zKBV_{2_4RDfRJwjGGW7Zuqc&=(u|GJ((Df*o1Nh&oCEneauC$j2|1#h$lkG{RC6aE z8DBS=)=x9QP5acS;F1L@w|*jX(OoZ-T&}eSqmKbJ&MW8?*u`G0yACbMuL7z zu_txoaO~VqXg{MA*EZ(XRvPE=gf~8HPA4@wChYr%h0wLwko6m6 z!KPA8mYQD$QEj8y%a$8ZnlH}2UoM7Q!C!IF`e3jf-HqQh>v>Oi3vPIr!HrU`#>InC zDE)!Mh10uH>BDtAYpTp#M?b{924>9kfCwuKvu4{TYqPJpwhlw#?VW4z1l2o~~;wT=W2 zo|nItwT%D4?YU*cZWz53?%JfvT&+)$B_+?$DA*n{_8h_BuUTNx)z1yfJ%O3u^hn2d zX?pP|fqjp4sruX#FeGV7``=y%*D7mjUC;_P#?~}-ZyhLSO{FD#7G=Oghl-yFhQ3Eq zbiR{3TwnGWf}G4r^0*AxIo^!hz)gmgA)mOGGA;5*i{j?_1>D1+UHA&8^3tr>qc&;%o*;NTLrgxexy~*?kD{FIGc3L(8Wn23gFcqgs)X*L;uDLn9;EvKDfTY zek;DG%kz_7jn4odFD+K0lMi-$Mz2{cACv<0S>)?f_}!?+mM;wg>1SdrW4=1%$=$`J z1>?z1+v9jiwv=m3H^kh)1?YWJnazfsR~EMtHZA})E(yGxg+ z<0bj4P?@y=f9|XYjjBe@Hntw_7+VX%eqDu!JX5R2>^vM7-vG;-kHZ}PwKSn11d=`8 zz+E#(@HJGV5!G5iS4^SfcaDH3((d$@*Gp2?vX=fCtmbX%fz<86F;ZBuhnf&caxHET zbsBX`xbJ%){kx`#n`7rod8Hx_SuUgx>tZmZb_VVFdloZBPNHg2RoL@Ig?hwZM>o@v zG^Vy3e~kSB-HTIr7jQ3>@zd1}=b!Sk{2^{x44?bl`9r9&sRep6{7J{JYfw}y4S)5E z_ ztLU4)q_n6^FfLb>TYJ@pOc^%{ZT21`GJGe~SK|`7o}Yz>S6(H{#So{xI#1e9+{6*r z4WDJM4(JUmVVWq2KondXsyp?m~C!O{XQmwhX|!yP63!F&!9%rE<>ZA zH7!l&zxUcSn%qzqj6r#rh+j)H2`^PF9{r4ZG#oUV8_+;*Sw) zsj#G{&hmT$o(<^v*pB%{jHa?Nl-+e722s9Op*Zg;oP8k2#!h08CCNWO2GanKXW>)J z^`Oi-hslv)Kdq( zOrA?32PQ#Fs4|R*84nwu9)@K7&*by1RuC&+Nq#+)rVG=(-)AQ(m+(hi!=tGC{W^+4N_*1dR$4SK906OFG40!%= zGwo403Im;MXd71sGj%*^bi-9xa>JRvUV0g(@(MW7b7|1~&x97d<#X;2b?E)6Ckbb& zK~-~Nxw#qYG)&G5{VTNT7MXH1I%PtaSH3}c-UC;gEzVM}xKfrQ%j}{S(cuR&On%j3 z>c?k#AIiDW!lfVh?9?=BUfzhlnQF8!KO24LzlWIJ-WX+30FyiiIfGNPAy2PMnE(C+ zIcTt*2voX+6Egpi!`xG@`}{;$eov0gyN9A8W1;WPHFUk8 z2bMucQR(Seh?<~;CfG61z~R|((|QhR(RHn>Z!zB zS@J!cYD7g}sT`F|x1&+zF}qB9`jv$+e0&adGJGo(JCH?9e=g$wM5R!_CmGy8VKntT zdzGvA_o1TowcKu@C7rb89CxJjFTC9w%z3{}gst^T+=d?qNViXyu&P}JufR0!#l;f* zHmin`l*L%a~xQ7VsFFmDkd3Uuz-tg)>c#I|V)-lW23bI~c!}q`l=Q z$V&r$CO8zr{Yg!N{TlW-6zB{pR_Q4JND-1YRO3c>36RsihidP}!D@s1=po_^&qI0d zO?wDHLK%AAjf3>>DLCEY7&xo$#F=@q@bi%?GOZx!!+-xL1~yg2D_T=aM|DQehyGlc{SG_Qj6lS~ab?vrps&@$2KbkTVHn zdN;>??ivM$UiNao&bh$8x03kHCkRf4s$z27e#ly&fo=2F!>o}C==jwHG7r7xoaR@O z&agw=W&ib7Zbwyw5fQQ6TVpShThhv%JljX2yb8E`PmIC#*WGCaN0-1xcR6@)VFzrj z%L9QR3bNHC=vmpru?V z*@$&|+qv38Iex5L$1N!`V#WtWF;ROOo5?BT{HIfxQ@%Q$8#$ht-jqYt#edLC`Z;Gl zrW8{j?BRa!`|+Mr)2)=cZG`D{S>#c}Fe&ZVgwg8WV43Fw!CFypWpo1gIPQi#%`6C1 zumaa_r}^F1Y0|Ek3MaqoadE%*KxU*49xk^4Q~u(bd98v>jy!{9Lo0=$2P)8@^E-Dx zrwAjL`(kSce?|<;L64Enn0C1qeOg+%)%N%C+4N79Io~>Pi$fNX;By!^eN^DWxlDYb z>JA}E-k9$d2>yzHIM>sV|3bW9!gWYzaCbL%(SGV~l<+2X6o9vn>L9gsc9JLJG5>M-&t zeh{9l;(qU61K;Jgk*P|%fH#Um_PQ`waeFfaB<%;~tvew4u|KH5V%W+pgn*|C;OA=w zbA#s*;S>pw`p<(q^R5Lx@WC`gL#wRP$;It zzVMlXgAyZIWpp)YEbPYU&oFBlvLWHe5Jj2_{`lpuS=Th)GxScPl4YuayGR7R`s}GkM4I zz;f6#<1b0}*a(J}^GLvE{`a?HOXcIjFz9ww;_`dLAxC*8cd|YR`h&)DIhsyzTTM~u z6!VQ3*Qk=#DUkwu(+2Y2t0&ypQWKv2u>&9c+zH-qs*vo?<~bKXFeI1pXJSRR(WeEX zN+&Rf740C+cUqLzHGCEbt zN{<;%CODaA&ug{h;lpq>Hqo^YJxkQs)hvkG zve%*8ndk_2R?v8W2~ICz8JQr^z90L$LavqBDP}>FdIHbJ8fKNhMS&N#osX3n7&z$*iPgj*vNu(j=9X zG87s#N}1}OwNVKfLJ>{UH$w>crRm=}dh|q+EREqE5xV2W>7#YLM|;wL@M78+nmIZbY@hak$HLj5m3I!V z?x1AWb8)EYui_McuI27}t;X|Kn{aVj4%*GRjmPzCP`vvOTAH?_wNQmQ*1f~tb9yW- z|O)aYGHlN=5rbbOK zIMcQfO1!VYj+UBBQgcfSI+gEe|K@lmb^SB=$DiYLua&@k(UJ7txmb9mB0*)IoQNAcA*_UurB6Ca*T3t_c%4m2#lpcg*JQOmm>x_14_O z)$^&jg%lShy@(;}pMq4!9lLfk_-e_d;681fg zMp7g}zo->qo4gJUF>A)qPgay%m1NF+4s=(M4(qI2K%X^RF$=v#RPyaymj2F-hRx-l z(*t(&o5Vu4yvdZV%X4F2AF1&@=b20|?jJZ@GGh8`pTe9?vaB!iJUq&+;or@HFd=9I z_8hSQsgw!aztN*1VeDAw9XT4zM2le8&Z&Sq{=oD=fACGwrY#$ffr#Q%`t)l7yfv|= z4M8`ci1(Gu;`4_86vxt5qY4Q6%RkSPg`jk~9&{I90%9r^U2z`1ay$na7Abf!zYr>_ zgeWe19po3>$IGt}f*Y#P^C*Lc?M1kSpD#aq9)nY6XT$cZfS=yRfP5|QhRAk>Wv$|Z zfOmh$$7Ron=|SL`{Sra*x4vp*Q(bN|N{`!WaSB!_f_!CE*%z&QWPna~N3l8em zU~`^2_4=EIl{YP^Z{7w>I5d|A&zHdbMXq$SU|4uL)sdRM+D^`%6wsV5agd4DrWe^A_Z|3b*oH|3=!JD5D89UUQ3ArQn7M1pV5cqE+O2 z^nO2xV^-`z#rGpw*z)zby>%4JKRg|UYNMH-h&X=wqR9UIiQ*P`$*_hP1z`^FUDaQ& zLX3+#(YigFRPp=%`#J?=;L{CsDHM{u6N>O$a|KBf=3uIBEjgxFh)pp)MDYZNKj(~w z*)2~n_bwla)agLgjt%f|${@bok^u3N;;f@7ABeIf>pOp&_mqgUHmyeZmGu|hXMY0e z=mBib`oTXp-*82i2$h^WfET7nQ{#zZEd7BZ&k*GW;UoF?X8t&Km-m#iN7ihnuYeYe zc3~5v9O%JxZ`MC?F|Ds%$E3HdrZ3m6XUhV&P|Key*+|J<)b6zl+oQXeHilR-m%qE{ zv*T)PscRt3ZT^n^GySOZ>l>JVYd)Rb8-?uHH2OHz94l8E(jHdFT^Ed@^@mq;j~|Sr zr);&kdpS~6V(D@&qfdrDq*a{niP1DeTN{TD>Cv!DJh$K4obED=#LN#fsmvwb@BG`D zP7{g6vEClk$z=m>m7h=f_6*O*bEL#Ph3h^7RCdx?K}3il4Or1i6r_}CdD=8+`mZ0- z&31v7V{+m&XH#!|a`*$;5nKKK% zbqrzkJl+M>D92(>RgfS94ffJuw@vE#@vKJj4L8@phy_RN#&Oc7>`rMF`kpssTH2D# z^O!MP{mp>Q-!*~F(wWOHSgN!8r7KyostkK~B9PtM*@YOfi|uv4i>)o&*!1YrxG{ef zTR+ziUkvc(m$BR|i<9JYvKY5x>PdLtB*(>@ z{D1{lHMqfjT6BB(KjGMGCiHPPE34xj7dw^B$r%|98s+(cybI`uI$e8Eyp{-?Y|!u&pOK%dgvJ{?AU^B@ z_vr=Sb=l=>v*pGI&>h=M(lUEsL9#Cdz5N4Dc7>1XwE^9sNS$wpQ%!qSsuwbf zF1(;dRfE*&yPvAG{;dYB+oVMM-PNdHqcnZ@dKB$FFvRClWvEE^M{wZp{_Q)Ppv3(R zl&-3U>QsKOq4@+pZcc^zZFO)-Y%#2GY=mI_??ln09V)w|NWi2o@VdvETPOP)?uNB+ zbvvc$wRUxMo~BA$7EQr%pwF}Vr{KQVRJiM=n_17I11PWJJ5^c8AU<5q`4~;PW8Ot_T0;W zVVfW<`d0-b9$&|sO7Gy%xc6vr|1W5c6J=koj-)rbB$@mD(X>Wag#G28k2c-6xZ)D; z*|91^gAOAaR1uCxil)*jMq|-1$C?I?+sQp`w4r~p{RKkaYfW=P$i-WesFHOdS@A)G zrk~0nhm1zhu=6hDN6r^$xh_&xzWX7J&_2U0_rJ(9=uI%^cp@yh$M58~1c2C@dw4Ws zGTeFn7so_%WFpTjd^CBCFfP)ZJ!lfeqQ2QIXlgi`q_{Glk}CWy<;EmEhOsSg4x9Z? zg-Jb}%GTbVz=o%(vVG!4?D^LBI7wt8>q}2Uw~4AuFsg%d>l{MM|6<4i<0^D>-U;|S z90U9xf}+<5oS-8`{rq!;zQ1*;Pe&R#Yiv&U`D#L12%+C^yF&UGE4oqCAC}1*&`((_ z;Z=zoHL|pWH!~Wbf}d?|>*75~x37`!ADkT(SjYNk2#VBWVPR*$d%X=y2ssDVuUy%U!DKiv=+C4&_rsubFw5F78y?@>*J-EWRP1K#a%5-1@85LO+jfAtZmy% z{1T%0IsJXIJ$N-7()mHC+eDbQUkv7J6cE!t-$@GlUFNak9+|9M$H@=vA*0sM#-<5p z1T7b%u>5z1keFrS@5lVgqoEkB*LZT7!6m3_$NT1$FQDR?No6mdCt#+e7CBhA7H9jN zAcH$5q4jVXN$`Hf)piz=!h~&{7=LHC-Edpjty?GXyWv;Xe`8wNyh)t31xpsbG*=Z4 zoX-|6m^F&ibq^3m#%FL(6IFzA`{i-;GbLfz1TQ=gy-wH>lZMLjxx$S-PjNsxN4U6E zjA<{=D$D8AVG-F9WWqDb{;Rr8>cy6@{a>u%k=8bLqdgWT+eWY~dxS~6-`6kwKak=X zNjppi;hjV}o1P&`*NUXGAov4`n^Kt$?|)k}9LuQeLkKqC$~L!jlD_y*JW_aCQ(5+e{Nl?xsO}z87*{f>Ez-zcnQomD4|Qe zK6%nAk4JY#k-p3AoIx!|{J$OI^Qv7$1hj-js0`Bf<4Eay3%Jeic<<@1fH-!Y7lcPa z-uQfyk(0yE*n-II;74#~utVVbz7LWX1zKI5E=QL-E#nnG+B9*^@v^yglj)mlor1zf z0o{8rkK8|OM{|~qfnygO=&^zoaQKoljbuk*vzQyr<+8!=x*L@iD}|`#uJpA3ZRoLd zqW+dO&>Ct-eN*cp_Lmi1`nm~@4C&K2{{}GLr^5RW@4?*wQT|?-0q(zBU_jalx|6Pe zE6*dB@Q#8R9eTKEo+Z2&N2C)<$?9kF%y*BjV8T%Wv){CkOB60)^In&5anm-jDpt$| zuMJ}39!=w1d$zKxsec988U8Hcj2xU;h6qTK4Td*JnQ5jp%siJn;BNgVU7sab^<9GL7z-3LwJ_buK-m1+du zXI<#*H=4jcTTp{y31jLx0 z7Je=G$NTi8O34#TI&aXBxP`2sw`V;g0k+%e1O6;m@_je8vJQvKcAKgH?>v~jWFbu* zb00{u89n;z71&xyQscDu(6{IcpX+Of)pG$JRXm6HW5<%O<8H$E)5p1Zz4MT?UJ;iW z1cPXS5o#}+!oLI5Q7H+D!`6FTtyibbv5)(OO5)kvyxu~R@Od&m)tdv~vLeu7$tl?5 zb_Ms8)IjdjX529E7i`=*gu0dTG`mxVP08T1b2F7#bE+=y$5v!LO}cb9lVlT~Ytn^w zAF%wO5{?r0`T2 ztf)y42EPx1dKSrbU7iQ$f-AVm#xKZ!zn^kX9q$Wevdg%#UMmcK9?Au^7h}VRcf!Dl zqHMwY44b{93|Q5X4nc9tEOtjunb4^VSmKJOg4x-gZ1I17WiQnn*_cl=I0>FX_bcrI z=eJ3fWkjmu^OhcL$hF6|>kL2C`{U^TBt~)a46G%Dvep+;@N}K5;*qz zDMluVqG`uD<{>r28CRZTp~r@}rrwjRI$Q=ZEtV~5nS?t9TiF4<)#xy57JHk_yM?YP zvf^#evEgtzZhpW&SMS{MP$JJ7*|du*H*jJJ9~TihXFv9PtSmHc3S$2bJHlP*V0PVP z3(Vp6u<>OFcxXugYZ=-Ffrpl|hSH_5TilkJ$LoRXdM!4psF3_#(TlMs?(>xYLVWx5 zA@^ziLdoPXj*6uWX%Xx_0MF-V166rG2Dm$neIY3B`QUsyRN?7Oj4_YT~#p<;aX1?<3|F+qY;2lDX3AA*ZSjUzTD&BU2Q}$Hk9qmSz? z?0$X_kL-GhZR_puy6rnWH}HnDgigG6^@%V{;R_zH+d&H5zM_`INRaC4!C#XcVD|N& zSgRNS4@AY-ij%t_;js*>T(FkU)+@7B*K9#GO@rsL{Uz-)by>}>c|@Fd+q`k*d9r-A z({HCFw#RF+`)TX(uBj3eN?gFjyLpb-zB+ulw-$Sgf8avt)2R1anoUxlh6irRGv^~= zT;wHL)?ML4By`2t#*@ZyPo)Eg9>l^1T8=7$8{pEPj2C!j%S`QscJ>v(d*bISeLVr9aVB-v9v`jxfL;RRexI*Eq8uU!9!SB^Z9SyK ze+hQ+XWcJ8B50Ty0eXp(IF*HQ@WI!Noc_F%-?fQAySX-0d|LoATOJGaG>^fo~F$!*+<*a^<_O)iBX>4pXhj zfD=zAv&S+CL)>F9v$htRs{0=hyA@R>pqe=64aad&me{&5qK!pRYle=}}spD?yhCBj~aa z1FDm_p;;K%nL*m%sB;M&c z+`?IF9b%sMreU`678a`zh9mbbVWS<-B6r@F=XhR0C-ZSEFZTwtFOeLlPNCTs7ZR0e&dvRk zE%+oO;I8Lu3C&V(3D;>%=5j~B5X4+K%N=rhOx)hR=N4?31*66&W69%VAYNjObmI-U zYDqD6@f)bhsQ>L%Rl zm&nob!}oO$*;N^FZk$<4;h=j&bEG=B+Gto?=Uhk_Y$qgd_8 zST@+B#{!NgGKH$iOnqS@GnTht_kO0bvp+D>L$T0EId-#GSUx<0e-S7g1( zAMlP=KfeDMj$(Q@ap+qn*Ilz4SKmEC7Vo~pU7*%rs}M&DMjry@)dyf5pY^@6y%kdN zG_VdWdi!P)47A(Rm50J0bM!hY@OFocwgWW8O`2!D9;Qi)%}IHA82z>{l9SEdPP5!* z;fQEYda*hSBlyhmYGFH?#&<%0q71W~y9GKLHCUNeZJCdaE?d6o0H&?dVDhXVAODhJ zS*xco5ARMaIJBHO-M)!lU-q()>{F;&6Um-wN8+n{F>GW}6xKe8WM;e5@%p!5mb~aT zO8@g^Rvuq*jsHw`C{u?08LQ5_gvKy+$yeB!rp`ovM&L{(Mb<2==LQ@5@z0cc!NUn< zIO)enqQ81E4o_BxS6}S7n<)|?HLHu{Z8}Jd>W@J09UV?8?fkHcp?=iA`lQLKEW zN>?te#QTA|)N}bK^qHm0dx=GuQ@AR1+r;nduZz*p1ClIAp%#i?|G~X_vEZomfzQ@| zBB}{@uw>dw?(~{ee0FLzcKO(0)u~E6{w0xn-6P6E-Z_vg4K4Qb?*vfb`FVT2!$FOA zvwHaCz%Q-wtldWlPZrCu5qYKXpRgInCY*;^#_^~jxfy!mKX6|id&sbZJDI#+D11@n z3JG~O80?%2&3B9OOTkM}8zI7c9)APdvWYB3?Js0LnawI}2SG4*8H@h?0nR=3XJknY zEJ|C$e&$_-E|(Ro&Ys`J*V!{Ke)bUmXd-(v(+kqh{KR>OmqV51X>`_G3sc1!Ik_1- z;m3kPGJ^|+(@zh==;!<=><-xPNIoCdwBRzgLb{_0oJET>%G6g z3ZDOaY(^7=JgEYseFz?Bq9Cd~2}I0Q!7|<*oNUIDwB!zQ+}e-(8=5V6dsrG<^iFcc zuN+WU))X&p+Jj4uM&mLThd23q)9d#s{Jy;d^&(R+QeTRxygh<8^(yS_*tNJ=Qk#AF zG6DA}>M(`TrQFalo_*baML2hw0-G}Fi{R*dQC4znJqfM*h|(m4OqyGZ@1DDmV_z9c zS9J<90x#mSr7vyFf1SsqJ`G`4YAWW5?GrjT#o@z#-sDEYu%qLZP1fK#TvsSUY?sc% za-&c(y3QEOq^n8IVp-fRIsyWRpK%M4Od#1Hn!EkU3AzS83X9WMfQac08o8}y=3`7MVtKer1sKW1}N@FcAH9M2u`xB^r1ojKQmd%!KdBq)OkYQrb+Ue0H3Nx#&FTSRdyl54=5B#_b<7 z6569x@Iveo*=})CSb6M*Z?L$^ImJdO4v>(Ag%S zsfl^QN-;xf<{QT)ZcwHYb3brDwFe+pT^%*f+=YD)&GGk%WEj?&i9eM1{|!SsbV%kq zR?*h@&E+!jYSzJPIY&v2+Aps2=SgDhpU!Pjt0ZG4J`xUJ{6LmY`6yTt+)bpb(n#Rv zD)RJRCoz6QNJEDLe4X%Hc-dSN5;qQW-_=z?Y}abc-pD(KKAuOlABCj2pc-pBz6vY{ z-eL7e1ujW{5cjw}<t987{7fi1?N(;?gRyu(d=&ecm54eI zMlzGNNqFVzKb&zb38x)-i;B~e(b4)go{czxN}=bG>r27de~0kJ!&H1Vv;h6eQn8p> z;F0So_`^aU2R)Oqf2twAvP!@tp*4nNM&MW@cl_xVfIb~tF))$8XL0fPE?yIB#_-*z zRi8M8fJazbSHzX(_TiFwk=!KS19{)niyN9^z>W^sa@7lXZJm=G`64A>5G5y&uZt0}payf5KT|$YTz+MzF38nmBBKm?iiwMyuu!)|efQAHHp2 zGP0Q%ox6mkA1lSEV#0j0?&7HPs%*gb3I5#p9|k>pf+nw$Fl6x^yjr4y#@8?6rG=-3 zA2p*evh_L{@-oE4m6l*+GoADA-UqrK*(6NmG_>w>hqWCgu;@cNymqOAtPOWzoMauW z>S}>(r6!0pYv(!c&9LU)OMVCV63*f+5VqGqasO#JdbbkB&Rzx&cMD<4%w}@0{u&(r zt18^1j-YHOhDX=~&=cQ<1@&*h@9jnOo3I z{GG#!t}?!g;-@Gz{(cy}CeNTnDg6F!ogF=KTZx;zc@~|bl1JW_+0nHZ?ZM!=EnTrH z8J4PA(bp{;P$hlpeYzGduT!L#hF^mD+mFyT{V`NuEC7vZ*CAxtB6y*79IBVzCKcsw zAiwm6&Dxut#NvZJH`zyql+E48#cuo|EO(UR{I4G6+#7!hYQxWQ*G#_=S;sxxqeNfm z_p1?Z`F8=zYElHNM>l|L#Ws@U`w#X-l@i?x3Y12_AOR|4XzS<~WPFJV)mzS2|GQ=A z?AjzE1zm8ap5KFeB4lqcA=jez!#f`as@cWv!nW!>NlWyM~gp;xbG;YQbJl?yM zf^!l^EZj>~`%>}q>R9SC?=+gYoSA|{laBy$?$(f*q_PC6NZAxdX)VC`C5)$|Ex zMVX>Q@hJ8w@HUrisn49Y=2+Ta=CcGE9b~zUF|&{fg2C^aZ0p?{;I&tj>BSDim##{* z{-a5m4Da7fH>Y(EGPsmmb~NO7JV{h{qNy?q;Pz1`I>Is=gjsXw?6q|;Z{{@mMzR~+ zCz;d9@Ei7}8_@Z&{SYlamNu+y0*U|c1QPP$O`SNs_1GD9Cwv4SS2dFUsscjUXr4!u z2%@$ZQA?SCBR_A9|9pnrxns$0_rwUp?|QL<=>=TcpI|oZ*v`G&8O^K;Z*pPMN10lj z9H;0K!|v63kgV#1tnjTWbX-}>+Vr-<#OwBKL;NW?yGxgCuqy!Pz&;%8&4-fa95h^X z2DF-HVDZCn=&jz%J+t(H@7*iOH)n0Im_HF7YP}(Wb0gq~T{00He+8nvwaA~Z4G^CH z)n>-se(>6OPN+6goVL~TA%RsGxbrUKU zc3`1XE8MZ+*(R(10G?E3VmN3wRn$|0v z+8D}e7q8&dzink*lg@IF2A8v8R?WG6pTXK?KXW}!ddzmQBraSh&SriYgC)IB@zGCX z9J%@&8qT*v8WxB{b3L)A#R?r4@#cc5d{^M#0`!d=;5IwkVEExLT#=XzMn4+hw3V{B zkTw~-s8}vEsvU=#|J4YBHqOG5+1tsJ<6E$$Ae~HaO~PA2S!8L>HI$G}CI?Gi;`ZR3 zWPC9ez#%%oP>fw!k_#Q1iUgnipMgbMy|L^t26+ppuUi2w%JZOucpGmn zT}wx}Jj7(99W-`I1&$8hOZ67y;Kq$R>AXpySo(1tHS5yD&a)o$o#+8hbl8H96&E9W zIuz-?Ngv7E&Gqndv?YjCN5WsvBJ$JFY{0a;$e2uLlaiAI0 zgTu@1U|#+Ye0A|L$+*sQY@1R9H!ExL+k00o^>h}#>3YZ+l+MRHp9i=Fg~z$%rZ=4C zj95ZFqqyvBPZ&V0TPWSF#3re zY>1i(UYfel)n^Y6{>cIp0Z1)>MjjPtL3Ks|`SGfa+&H5zcoybIPMC;riR-tOtz5f< zvz-;piT*yu8OXik>~s!uqN?i1`mMRFS~J|2eoWXj0#Nmlnc(6!YYd1~BDvv{Fn!)q z68Lru28rw-z6nyii`<(?9vb9EJy9mc@xQp13vvPvX9?W%niKx08ilbd+_{FN@u*@G z&rK^5VCvjc+<^FEtbP&AJ#z`gwL`PGzshGY@L;KMsR?5K-$a`wdzw%zuuD++{Trqa zyAzG;qRiv%G4eM^jGeR=lFxzt7@hW-cyvDI`G9{(5bspJTss0DpOwLzJ7r*Ohaow8 zP86II17O5E-bE|l2$kCPBJ&!w* zpTewqQMU8X9XR!R5^J1N1nS1KnDXWraBy&97JW9*Ts)l>$z>9K?+Gkb{<|=#;WvJ4 zQNgLgEL8asgIBL9WBG%J*t+AeV6&bilM7G>sdW=rh2S7OY@E(+%*li+Rts4~@?~g# zznV>&dIEt{jjZt6)er)W7= z5ZHpFHcGK`DYd zYlF$7w&}S2%VI&t4>=V3cbq%0U&!TGQLL_+zzQyE(#$N`fBmcBqp|_BFPI878A@#2^{?cYLnmHxT2C^R3z7Y4F5Td^7#%FPa#l`v zx%_uuIq&^uWtSSPaMQ7)a|(;;^=gyd~P)k*iT?> zHv(|$DG_#|VimIB%a~N}fECs@c>Jz0ZpvOOyxKGxe;CU{rh*jqY90kmJyBd7dlw!} z7R9#GJ}`_E!L?d4w7ssMBhow%QvM}ZF0DqZALMb@FRRi63paEBMk&$VBel2|K4;1A zfrPeGeuISZ7h&s)caUIa!d(x22xSMOxZ?Z*Xjgv3Db*Z;l?UZ<_@ox>#demp^=a5?Nf{|p!3bmlH@cz}I$ z74ckGhW(d};Ny#P=-3bkdpr-L{f_?D?u=K!Cjcw$Ds@fpZm6(ef%ZU$AJFqYQ6@}!bfhK|fxNvC$b zh5V>hbgcI!nBu;i7DNWXjD8oo`TQRuGmp^4C+`W?SnAU0F|nLFiqc~THPJS#3L?_h zVZ(w@c+j1U#xs5riP}pzc5k)K`^V*YdHprcV((r29iW59-`v2&?Q`)|R2H7gaYv7+ zEhzhO8nTY}T*o#gyd|Sfw(ZL1+_!mvb6;Codq4&Fe26F4xDm8SQxV=9Po{;M^FT@2 zi5BnYJvBU=b5z8B2*0t8o-Eo12j*>}D_(oTk%4t|vxG5(_IcBleZ%CioGZ2Xd6D!t zTGFs0H*)TX3bhLr3NB1*1BH3dt)%Et7`Z)K=(ObpY5UYEbb7vn%Q&XONv>RkBT{s@ zXI=#uu~v>-(aH1t=I03;wSQsoHXEDhoxJz&k{J2^P@0v#+d(XHMzH-_=Sjs@8TP_B zhg>U^WtDS}5ILsE#D?|A%0d-(=ADbp`;F?%XZdLEuaP<%{p~oHIAIj~xa%&*B1PGg za}8Wl|1)${yTcV#AIG@Fcy3X?0>*v$CrrA#NlGf-X z&#H=W{&+=^U)IS@N?LGQQ)mUg3eMn3*uk9L0_U2r2H#D@PyCz{)z-Q zxesvNToJmb4ME(`V*-!al2mPcHK*=5f^IUIhYHIjsdh#@w#p2^;hI9cR`LukhcWd3 zaSnRTZeU=yJsc0ah=uk?Nke-qHuN}g84Ik?IadSMhWK#h7q_5Q{bizKcM5lp4uV6M zuc98k2OmFG<3Nlg{WtOjj@U4sKAzHq&-t#=n6GtMU1~=i9d2T!q8**~_Y|rhoXZb6`q#ymX!?DCm2aKlyzdoI>%0W6PYyue{BKZvTo2NhsZ;;$mx!ye z6^#y(Ag^}2QapLsW|^xWHSGOpy(J}xs(pJVxIFR@JsNp}*u+Kf-GPzt*gJ~eG4TKi z$w<1~I~we~4$-d?=YSi%ovsQmfJ8@c+9*~C!7X#BgJ~8N78}ty(^7f1tRkJ^d=!dD z^?`P16ii$D7lov?P$jDFqZ2ITn| zI&&R?yvPqgbZj8sn4edfJHW1zS7g!T^-%L+8y9jh7FrVLVR35?NQI?hta=p`UF3V? ze7?@3vIGladZ54k6z(ng1&306@X>_tuACKf`5YPLQFk*CxP{ctQSL!!$V1AoBu)z$wCYK9iBm6Mh zB$OP{jKHv9EhsZh;n}`HU}Kht+a8|-Klz*dx$y>s9D9M4C!WB@jvoA%`U2wWCE17X zbwI9;Vu$A41+{#2=AU~R0e|z@qj?K+9Jbc2MdO@1fer%nW6ynnEaZooYg}iVm|5Uq@PB z9?nKJt)M>)_OVX6HB_z5pKTc7PffBMS<<6rRGN2qDN8ugd76?eGtG>a?|6va*(!9* zSpL3d*$dB)IODu@A-@Av!e`~-Fj(Hr?UXQr%;SSx%CZWgkunzj#!#X{=VQme#{%J> zNOV__A(aL>`2N2HaxdmK{+TWb?*|&uVe%4aTHk>&Zl_`I%@3$p{Qy2YH{<#F-$7%? z4P3BVmLAfL$GxqpbkQAMTqUngpO5eodd(a~C!SS??A@YN>i!uR)%zT@`QP-)wJC7I zM1@Y-rwv16OzAEIIl*%e-bM3R8Wr#J-;q@$TF$elX9jPe@l9Jgy{`i=k1^vp3?l4G zuNE!!m13)h#Hq+(ab`cZ4#dy*@{HnSkXL++EBGGz>MLjQn#>yVsd*8WZPep_oNVFB zx4+}U4b6pd9^+6y;4~?>wno(#s!&yJh4p`3z`|S~^_@1uv>rLkDc=d7gWqxoUv1 z`|h3LuEi*_{Hy`)%tA93M$9nJ%!Ot4_+iHlU#7S_3b)S;WQ$k|o_E{9(tn>t%-Y6I zyPU_D4eOc9{4=Osvx3R<8AF{M7Zws5f)#uY<|se&`A>N&yJM<@FL-X&>pPFQ1&aFY z*TE@VXt*IO5E%0g!zpZ$<$5C5W5bke%Sqf=JGSb_ce1pV_dZ0*gYQ3ACZRAE`qk#M zJb5GNigafy`HX(oGFSG_-ww7s=6l=5_8{Bk$Rf0C;fk^&o9U?!7sVZ!nT-hi8ggLA z=VuWE69-oH=$AmRY7Uc{=_B-0p2?(3r*Yvs1Pt#U4`0kd zg_p5xSf!u4_9KQ}%>PfgE+m{y&%8ip&fUu9`nrO`B2N~SbOCv@^`b6k6043~s{m_@?sILz61<}4 z&Z(A)u|K6E!b@|F+3t}dMAF%rB_59>gL79g73pSjDttYw`Kb)&s#h~&Ou%HJCmXqV zDFo{grZam3q*sh#7w-DPofmIVLx#Z0_9T?eZ6G}>WN~VaL1{>%r;X3Lf7}9(e`NEX zFm(Fn56)?~@Sb`KZh&cEX(UR9WdsU^qpURoh8tX_mFIp1*4X$^k%q{&u3{=xa?5f-pzn2XU`z>XZ7 zfCtT2v)KV_@xq~vEI%Y2ueGgVWg{No6y1d^wX_Q@m=(W~5@)e(vP@$Qe}CT3Vbkwn z)SPOBZ80ygCA~o4(~*kt4ix(KjKFs)XQAo$I+D2gJ`CDLK=ZCw5c%*Eyxhby>@Sa_ zodMN6r(zE6^3MXXf#q~xgFier_NOjSI*8S4AKDJ#WqGY`RAAP_{meI~KBIjx)?AKC z9!y6Sjz0&>Rbr&~4Cr0h!tW^Nmj!?Sj4gjGvEo=C&hf}ZohMzmZ|yU@d;dR-&HBjm z)gEBpqz+6On~z8IpP=aDFzocr#%Q~#IA-$_96$CZ7kTD9*Hlp;ToMvT^0&*8xnKNw zk46G{Ev$t1VkIQvh9rG){1Op2G^86tlZp3^*)-mE326vkOz*z>C3qa*Lzka06C7IO zO_yZ5mcfF z43T@$cS+}#{{-Ks|0RZgYq)tynh<3miAyA{KttXcmj${)+M>f)ynPMq|DA>n=k~+6 z!InrIjqC&aZSaUdGWs}`0Yh3mY&^vE{~d*%6+G9zKmw2N>f<8R{&8U_i?_yz z;#Z*-cK+a9+N+GQ(NPxXM*(_DD5Cs!SFFh&g(KWH;9hf8J{NQZ4V|=kZ%;1IX)#5| zX^+vGbHv~@1?Wz{6$yZ=aKC--MsVt7Xq0Mtv_~GmPQQWsQ5%VHO^4-U>aKJfD-cgx{e>eO> zjl<{hs1M@V1BY;R_B>pawHV`_$Fl)~fBr>KKN?~&_oyV{_d<6bX&%uFGjm-658D4MIVU2?4zTEe{NVBI1C+=?`3a)4IH@ASl zAL4Lu{Z^Q|ZXU)dr@`4l3fLWt0&{Z_Q)sS-wY*SdH?tA`Ot?Unm0Sksd`nKIrGxaA zUSi46miw!gO+7sU|9Lp0zCs3;OgN5)(T}mn=nBf($nZz^ zAK|-)n!MRk@Ze3?=i@!^d3ooSfCmT431?wC=5RyI`*{{CGRI@6 zkb7F+W{aZ}Lh!%krdZxM3?m9O@p6>~+qdu=D}Q;GbpF1=rU)#bBF$vh_E^Z<8-=l@ zs+~f&W+=1SDn~mn#Io(DhS2byRQBztK25VY%l>X0PIHS>SoC{!dfp|3t#6Z{{=;xuMfAewJl6Bek^b6f zfJT>{=+e-QXy`VX#vV(@SZ9IZ=TU?C-AeRZK^yj5ZiG`r9uT+n;AHuyBQ=bHc`}AoIO4&;SoYD)O32%UlLMg6N9M@2zThw;J zoa@T;!dwXu$Nz+jV^7%qNWKa7FX~v*t9@Yk#T=!*{*bPH?)XDSnQdP)2eVJkK#A9S z=)bf8<$tFz(+i(*W6?j+hiDDnK2i_#RgHPWhXhEFwc-osHo}(A*4#;3inh6$^8stL zXs_RBPOL`K$cH+-X|W-lF=a4cdPA3LB`fkMp))TcTaHKTzk)I2<$1kVJ{V^y@@MB3 z!@$eR{DyWFv2R!6XBXFtJ$qyXZ|*;q6!96S`p-s|?bFn-fc>dtW0x(TkwoL>Y?ft_lo+kF5ZhX+r$ z;_WK~xUUxBE&|{G@L6lV+}eoyJQ>No_6q#*-AcS|&`o?g;VIT<9>a3wb2y@LE!wYH zgyKpkocdQ9T~|!QhPwyZVrws)y-{G&D2L<26N{M5Ibp`PZ(wU}u44KJOT3ufhY~Mh z@WL1suHsaVHLFJPP5*>WW}Wf;hMh9^5>Mp*zCqVjJ`SrN9&UG`7q| zhNn*cRFW^`Ob%%266f_Yd_;dDS+1(cXAHPYZeLL4nTZMzb$1B=wcQL>st)HhE9Qd6 zfRUUOtb=O`ekKxwTW4{R4S{)%M^n&!d1w1He=`cMcF ze3iS}Qb|+hH!ND0T6#?HF+O>k$lS9^vD#Y#qwdGx^=f@|JZp@PDh%-MwpFb9r4+_~ zoK2#>N3oDVZ8$3UDaQ=l3@M>nuwPT~&V5S&lQQ9dQuR>aZ9RsopiFl=yn-U3KXZV^ zTNtPbH27B+l=e-bXD&8_^T$cF>Q@nrem$Q0r5=FGlSWftUkA81QH>sYa-00#`3r{0 zWQc}*zYEg`+Olmed4fkHo1GCK0q1SVe%;;+9TWDk#GDw&TM{cCz56&^>2oK`qY%mu zNPy|hZg`nH10>s&=)K)L;m8jo`Y9{{x+gl&7QxSb{*M>+e|HcDx2>kLp6rCdpEl5> z%=z$B$irA{wg9u6tEftjDx{iv&|yMHv;U>>bix7&xUyJ)|SxsWlkQ zj|v%xN<|c@nBkhD4pw|m$bg*K%D$HEL*=Y!JJIG#LRZE)^3(Dzp4mDY#wC2hnClxM zt#<%_6rTd)?Gy!ObuK6@lIPO#MKHeWFZKzHU{^mOPa}Ac{_+aEX1^Xb*&IVuGX_PU zAXL)JC-beQq3woNyLTt7aO$H2taCBJ(GL`Hg1S3y)|ia?w>D$CwJ&CSCt&p^FEm@4 zft|N4(61v8%TCp?*4w4nKDNY8`%?*;6b^v!>p6I;e=kg_OGUP#7A|E(;`Z3z@Lb9r zKP??h-$v@9^Cuk|cjhrWaY=`^KS^P78wS%i|3X=GzXWXxi(!TaE#TH#!BFx7tf-d9 zDZe+tAQg&AgGa%F5v%a`y6Z&!+8(sTdBpMl9=sF&Tofbiha(@{5Ty$2#MLKk$#Io* zvBB|D^82kU_y+1j#(`9jxDg6_@DmK67s2C!0iAWS1+Gq3&nJpcC)C<)51?d@+7Gcy)^Adg9m^{J z&4+ysciExdNJ&#FnTEIc|Y*vBVadf1NIKcAf>VtIgTnp6^dP&3+z2QoAs?@aQtk}_)1EzyE^&qnCw1^} z*jAYJIs}Iq#lnAK=h47B7Mjl9MkjG7#CpBK^F9+nW7aRcRe6WJZ2pN=qlT3=Jnh9p zGT+!_fw5Y&YzrpkB;$dYQjFR=5xtFjkcB0&%K-!USGhjX`(w&H$EKTDswwi>X5+wo zgwW%|ok6O-9*Y8eAhsnQbzjT}37;XDn>q*lhi?%mlGC90_!HuD$^q7E`+`p03`h~? z)hi=hAfiCXW;A=i(utSAwbL1juBE^LxrtDiz7PVG^dZcnf;de2K** zs`$zf(@h=NeC$ivP(K~sxY3HSdV4U(IPsly&PKE@omV{B&CBg{OnfK!4SQFg}yY^Y(lcP^b0?&x5Alu{&Zk~S*6z}arzmRa4Wgmc>f9u26uo+m9 zG={JkGu$3f##fWWOQg2G+K&C+n)%iT{e%L{4xf}oLwYW zYXfO5I8Ht-2x6IMDoI)fp!uLrWck>WIOeZDoGTFal>PI;I9!g`k4b=?Z}oW4DM9X> zX3kAl_QF50h|Bsb)2*W^m)A0+AFS>8av=iC29D!nHJs^ML3;=Z@uTkjsyxSJ4duQP zJhdX2K2m&w2U-H@j|8Fn@6$5co1Tm*&F-|7u0ZSk_H^P+d9_mnK(&)mc-#;GF|AY=`0I$|F#V-#ZMNrIX0>+m@i%l}6SjIYOLH4cQYoAA)yD zLIzs`S{u#b@PbvaBXbGFS*(UtSN6fJrOV;Oe`(;i+85-?a-czK4%|Ia07|j8Fz0J7 zys94pFOFuw>y{V9BPanvl?672ZV+60l_eVMVg>6P|A^1I-6hXfXRy1gu87k9zGjOQ zHZcutIo!Hj1#kV9M4P3ac=>!ItD%u-wknV<_7E5VISFO<>kndf;d~NOz6+K93jUKO zcVsUIgHystoIJ}2G$TK-{GCQn6O`oF-v%Qf{a%&#wu+ks1>sMHz&^pqn_g^s~-c;&s{~& z*t0Mc-=l3XgN(L;{AgeeOsX5nmEKpu=liz2{e3QcbDP04Zykh`X(2?cYrXlG3?iIGi+hc%d6Pn$Bz$PuL!m$$r%6>j9!_jZMiFHVsz)=YTwMU4y zi%KAOXC+?LehYu~s&Mp^fi&O9x?101lh=Q*nssay0yo-%8wz)9W6V;%LW)yo}Rwp@=s2@c~16V&NK zi?zJwhy*>@?ZQWz*mh{-+oFNXJ8KxD5Ww zx(Yk;310M2p?;5@(I~-!+DpwsS)t?0zkeM5d@!5#tdT%A--)(tPh^?`Z{OE&jrcJ) zrq-tVWNfht9jjJA9&~oWt{Q1D{+$WwMwSp=F&$=&ZpA!!XV=iDe!Vs^dJJ z@XF^N*wUSfD&2~7u178AHt17k-;DCy5ZO}EL=LAhVUxf zF;Is7{1cDWaataGp&z+OY=lhFee7aTJ)0f@8`pCxoIGER0bqPaS&0jL`1QLpgc659oqWK}Q4y4Sh7Edl7LUG)dzw7EF|((vPkRI>8s{w!Db( zIUV3LJQk~-U5EKMr=rE<0`S#*#dg)52I=+V*+Qqokh1uqj)ti_98mI=Gc#?%(-V)TCEziKF1GDe^$L8#o=5}U2Y-`#Op6cVk zQbSDmIGusa?4gKnTc06zYIfl9cFN-K7iRDdnTKVGJ01C(>j%Zr6DRTju_+tYJeD)t zG&c9VIv@I~pG7V0M*Co6d_MXpx`n!;g~5BaDJ>YIu7nT|ydDM*l^LqolxW`a2{hu>6{a%9jUF#|#?#Lh(ejKGoVV7W z)^%ORqTSx~x?Ts~Z=XenmA}TEhjw)CkX}qdeR`(gKJJ+yM~^Ko#D_QAp;I~>m1gHa zM!qcOJr04i`DS+4dNknc8V#rnTu5T+5f~b-#uDON!T-Q-#&#)D@fJ_qB4`CDbA*&LDzem1;jhkA~-RV1M6)5uyzWs2% z+>pD5K7kjh)?Bbk!iOSTZumYHf^^OKLdnt4SftArB`hGb|4Q-a=Vr3MlC^m1krEPl zVYmL+9cxcNWc#N_py|#Q(YoM6xZ%AVxa1$j)l1zWtR?|(hi`?MP7#<}7!Jpecw^1h zZJ>D802jUwf|Q+C*`ihJK(1Yim2KP#C7Yj$+ULc=&z%`W#UdS6>i;BxS{0yseFQ{Q zKZfd~6JW~2Ul4F$4s;0ojW|CK&@3E6RY$skcKC1_sOFTPrtjf-hm$~L}WdH~JrTFY1LT~2>(@!-Km?(|o=6*pWso}S7S z`o0zlXB?Dbzts(JeQAPnn-@a!s{^9f$s(eA13xRqugj z_ilV2_5z}+|6=@uM)+PK!{a+LVMe4Z|CKTyLVrl{;z=jTjnMBnDlL{hKHP({&pa_? z=v|!cmy6${DzL`B3(wV`$C%SHJZ*m>>h!4cL)~FmFQd+{T6&>&yfXjlD4d_ge{fUH zXj}y?!aOW=?CEA>o~b6TF%87kfkW}i2^loGW{A(u$g=eUU#NTM3Nn6%FIvUQ!A!+H zLKbfZs0iMT1^ydh_quGH=D8R2ZgC9JjDh~{I?Nxs8-B&yL;XWbq3TT=9x$B@l9Qj| z?f@P5I{XC=jq4++Uti-S#Y;r1Wy7j`+{v6El@4K*GaioGts z#w`WeVwVl~FskpK_>@8+Hl;O*Rc)iNcjSI?$a6i6ndE7Ad%{STb-;*}9Ze^DWp0zb zM}@h$)gCO*q(G}mGN}09fKPW@AanIQ@Jbv+Z#@#2?*-P>uYDjb_Hv_Yrv;8{)+%~% zf+{sVvymPfrbzE!Ur#SMNl;U#rF78uUP!y`L_dDM17`n>=*g$mkftO-&m1U)%k_C+ zVpt4s=Q==Ne<>UpR`D@_7t++4d6`LxImbco(>so`+@UtHCm|0LCf*0HasM zP%7w&`=9_WnHbPZ$ys1D*@!yoo&vuUBk8a1BXGHF2$lSK5XMEz(af<2pnJzl@ZJ*- ziCG-ZW*vno+WX+q_%xwY*bru!T!caQY{{J5GH4N>V|`tMFWT1&gQ~8Bk#{aiN7q23 zUk~P-E``Ds0t;zM8vOa8&Ar;U!v5U`Tt&eER{SyG`9BtsiUh&)60nP17i;l9NfR-& zau6RBc?yk!6nXHRR!kGPReCnEJjF?#E8HH&e|9MHCaJOfN8do+*J;aR!v^s^m4vT< zJCFy&jpyDu@;pY@l;?E)Lp8Z!y!~%4YEBX~{a?2Q5BocepIv}NwgG=RCt`$1g{To($&obzQKbH`)x zUYD}QC7;=ZQSst{0fbpKII;vKLt^W4g=xi0LT}$NoUzUo7HKTPG~H-uesU0l3{#-| z+IbwgDGge#mLTS*g05vLiY~{)_ca&r@r5lgqIlY=I+qvEOW zl0-+}Y!QtutrU9W2NTQS88~m9B{6~ooSHj~Y(7$mb=sFiv&wIxPW0O{m-H6Av}po6 z_FKqutS=Y933u^pi3)CVuf#)9_9!>)1fIIHRPbc^;r9`{@!Og&%rH0x=lw1dPmYa2 z$EEwon~)uNFiQ>WM$N}b-7fG|`0QPSB^UbTl=KwhOO5?)#E)ZcmE81mpY*8ha&Cz zbVoRo)hVuNfK(ZEs^ne=4Nv81N^32YG`)q~E!W|gD~AZXtKeO^4GI?s&wXh-5oIFu zog2YC3tdwftPiNONk<+cL_lE z(kbHQ8iU1xtbq!b`ou*AWw>Sa47MR(p0{TnViR+0c;SINEZy3NH=5|+H|H>(Fn0-l z8N81_pr`Sm@*zHL!$X`MmB>&0k>`ev2f6()BYrD6l52-e=ASdya2q*y{-|UouQT)I ze{L9Xd1G&GnDiZg`OoGnYKqY)#9Ck)tjD@hs{DA`KujLih{yGJFlHQpt?H3wO)uuK z@@EQU*xYaAm*X5VUNIh?pB+bbzq$vPEr*J(+Q`xyR&!abwhpz;7Btw=hV;(4U>syO zib`$BL+@5CD(lvXGf(~neOnpcaH1S^rPX)FB#3Z6c^yyesiwkwHIHGwcwK;jKjQIV?Jq88q;gi z;U=xNqJ}6%UiPJkcq@Oxi&^Rdk+d0$7mkN#`9*lqj>68i6R0xR7_==9qH>W0Y(5-~ z(qPa6gP`Wal(sE>8AMR=>q9gl9fj)(PjU{Yo) zmgfn~*KfTTvTr|*==y}Q#sa%2`!j|IPDhO+LVoD&D`ua3A1w!ziTz)dB7QkW+H?=$ z%HbvuKWz@ai{1(sZoFX+oP`}mqzr3P&x47JCXm#d3_6qh$<%ih@bb0;?DVgIxk6S+ zEk_I;56;5OOPAp9^((MXc&C`BwZYC!d*SYgH{j9h0&a^xz>*m%uslN0>GD&_#m;;1 zW6}kYdrJu%4L&U1wm$(HdlXoYyc@W@suh1pk^>p%Han-hcoLZ7O!$rjk>$fHFy zOODw6$E*BXiyJZN;!^&5@MVnFpU0E-<>Jr)C!Tdp=trAm&)K(4n4Mw4*Wagj zX{7>q4XmuBf-9%6ZScA3-+FgWhPrWrV@1}j9JUtkJyuU#J1|WDo@TfCG!T1 z=5_Z@5VPYp{F7TFnf!hN$Dh4q@xO^Y^5k36?L@h@@?-Mxg3xbNBPIzBqj}ESXi^oS z#UHrpk=M#{e4FZQQP0$mC@SnPOWN}YhrLS{TivO{zbR>ADZgsGC1)!hJ--~6OV``& zd&#i4a{zHxD#j5h2Z>cqCQ7~iKy)4AP&-xxudX_xe#;(k-&Dgc3i@3{R*Yy8eFRdq zvM_&z1pS4Z!F8SrbsmrltugAfDC!P`9TIXI@x2g_|6rH#dl*xB7rqRB0cHg!V8Ac| z99}*JJ_+wqixJ0&;=fSv*Oy|ah2Qx!|HH1Faw8g-=ip#hZT7}F3PUAdvkNo@4R>1O z)b4bw{OOJ1{U=dz%ql!zEO7QDz3^YR55j#D93v@@de%4D{;^uDswqyqeb`=7dv7l> zj4*^9^@?z?Jp}d!On~T!BOs74Z$Ch`Tdsq~ygc!x zWmaIn@-utu_Kuu->W!iIV~96P!j9aJqICiTt|GO|?odw^p7CfeeR+qWzpk-eOL2#7Vi#r(wSB<9CNva|jr37O*taT)3m{ZI^%0cMao@(+A81&|jD`!)`7C9Omzl@{~ajNj2v>M%B`I)qaeTA?2btKg1D)jbbkcC$hz~lIK zB0GIDDA|lB_oLg$qqqm64!dbYun-k zaGLolS%8p}W}XAWLFdsArsbb4=n={obgdcGq&2bd#%GXvtcmU8r!d1Z z2=<3?v^zE&W^cTQZZ#`OYUwN7|8F^~E&Yujj#vsE<1)NjArbGV%5m0u1+SY7;DNzC zcs%_xTIm16+f(o0#r=O!U`wI#wYT`ndkHF<)#Lc;AI$Ju3VQz@$qHrcvDR+AXl=kI z#&ZS}Nu@|~M|4%>RA>j!kGhJd794~kpFQmBw-P9O{+6Bp*$9(njYhkLZLoImOjJ4j z5VSJ9@pJq&xHD)G_Qjuv4 PYMOL4-3Ws`)#?8Lvc1SS literal 0 HcmV?d00001 diff --git a/src/renderer/audio/audio.js b/src/renderer/audio/audio.js index f2b801b0..025edc5e 100644 --- a/src/renderer/audio/audio.js +++ b/src/renderer/audio/audio.js @@ -84,7 +84,7 @@ var CiderAudio = { if (app.cfg.audio.maikiwiAudio.spatial === true) { CiderAudio.audioNodes.spatialNode = CiderAudio.context.createConvolver(); - fetch('./audio/CiderSpatial_Conv.wav').then(async (impulseData) => { + fetch('./audio/CiderSpatial_Conv_v2.wav').then(async (impulseData) => { let bufferedImpulse = await impulseData.arrayBuffer(); CiderAudio.audioNodes.spatialNode.buffer = await CiderAudio.context.decodeAudioData(bufferedImpulse); From d0a90f565d09d311637cc5561e96ec7dc2255605 Mon Sep 17 00:00:00 2001 From: Maikiwi Date: Fri, 18 Feb 2022 16:44:11 -0800 Subject: [PATCH 326/573] update desc --- src/renderer/views/pages/settings.ejs | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/renderer/views/pages/settings.ejs b/src/renderer/views/pages/settings.ejs index 89ce36d9..9dcb7837 100644 --- a/src/renderer/views/pages/settings.ejs +++ b/src/renderer/views/pages/settings.ejs @@ -154,9 +154,9 @@

$xB2E>^PgVXrvZU^s`SQP$_ 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�tnI)p{er|z^F)!nw8`MUtg4} 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¨&I5>}= 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

- Cider Tuned Spatialization + Maikiwi Spatialization
- Pre-tuned Spatializing Effect by the Cider Dev Team, disables the customizable settings of Audio Spatialization. + Pre-tuned Spatializing Effect by Maikiwi, disables the customizable settings of Audio Spatialization. Spatialization must be enabled as a prerequisite.
From e2a8b803e57b9581b4beef7e5f6c032ff2807d96 Mon Sep 17 00:00:00 2001 From: booploops <49113086+booploops@users.noreply.github.com> Date: Fri, 18 Feb 2022 16:46:40 -0800 Subject: [PATCH 327/573] Added loadJSFrontend --- src/main/base/utils.ts | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/src/main/base/utils.ts b/src/main/base/utils.ts index 96b937d0..68919815 100644 --- a/src/main/base/utils.ts +++ b/src/main/base/utils.ts @@ -83,6 +83,10 @@ export class utils { return bw.win } + static loadJSFrontend(path: string): void { + bw.win.webContents.executeJavaScript(fs.readFileSync(path, "utf8")); + } + /** * Playback Functions */ From d51d732e05beef143047287a7157e5e4dc83a212 Mon Sep 17 00:00:00 2001 From: Maikiwi Date: Fri, 18 Feb 2022 17:05:09 -0800 Subject: [PATCH 328/573] idk --- src/renderer/audio/audio.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/renderer/audio/audio.js b/src/renderer/audio/audio.js index 025edc5e..0b5281b9 100644 --- a/src/renderer/audio/audio.js +++ b/src/renderer/audio/audio.js @@ -89,7 +89,7 @@ var CiderAudio = { CiderAudio.audioNodes.spatialNode.buffer = await CiderAudio.context.decodeAudioData(bufferedImpulse); }); - CiderAudio.audioNodes.spatialNode.normalize = true; + CiderAudio.audioNodes.spatialNode.normalize = true; CiderAudio.audioNodes.spatialNode.connect(CiderAudio.context.destination); } else { From 451e25f071a20133ab0d187cba41f5259f5c67d4 Mon Sep 17 00:00:00 2001 From: booploops <49113086+booploops@users.noreply.github.com> Date: Fri, 18 Feb 2022 17:09:29 -0800 Subject: [PATCH 329/573] added onRendererReady --- src/main/base/plugins.ts | 1 + src/main/index.ts | 4 ++++ src/renderer/index.js | 2 +- 3 files changed, 6 insertions(+), 1 deletion(-) diff --git a/src/main/base/plugins.ts b/src/main/base/plugins.ts index ccb7f2e4..e9a6971d 100644 --- a/src/main/base/plugins.ts +++ b/src/main/base/plugins.ts @@ -64,6 +64,7 @@ export class Plugins { app: electron.app, store: utils.getStore(), utils: utils, + win: utils.getWindow(), dir: pluginPath } plugins[plugin.name] = new plugin(pluginEnv); diff --git a/src/main/index.ts b/src/main/index.ts index daeb3eeb..a046cd8a 100644 --- a/src/main/index.ts +++ b/src/main/index.ts @@ -61,6 +61,10 @@ app.on('ready', () => { * Renderer Event Handlers * ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~*/ +ipcMain.handle("renderer-ready", (event) => { + CiderPlug.callPlugins("onRendererReady", event); +}) + ipcMain.on('playbackStateDidChange', (_event, attributes) => { CiderPlug.callPlugins('onPlaybackStateDidChange', attributes); }); diff --git a/src/renderer/index.js b/src/renderer/index.js index fa9cc246..a3551d58 100644 --- a/src/renderer/index.js +++ b/src/renderer/index.js @@ -821,7 +821,7 @@ const app = new Vue({ this.getBrowsePage(); this.$forceUpdate() }, 500) - + ipcRenderer.invoke("renderer-ready", true) }, setTheme(theme = "") { console.log(theme) From 7f9f842eb581c5ad7001140fe69ac97fd3808672 Mon Sep 17 00:00:00 2001 From: Maikiwi Date: Fri, 18 Feb 2022 17:13:35 -0800 Subject: [PATCH 330/573] wasm pain --- src/renderer/audio/audio.js | 22 +++++++++++++++++++++- src/renderer/views/pages/settings.ejs | 8 ++++---- 2 files changed, 25 insertions(+), 5 deletions(-) diff --git a/src/renderer/audio/audio.js b/src/renderer/audio/audio.js index 0b5281b9..c47f2f4e 100644 --- a/src/renderer/audio/audio.js +++ b/src/renderer/audio/audio.js @@ -261,6 +261,26 @@ var CiderAudio = { console.log('[Cider][Audio] Vibrant Bass, CAP, Analog Warmth, Spatial') } } + // CAP, Analog Warmth, Spatial + else if (app.cfg.audio.maikiwiAudio.vibrantBass.multiplier === 0 && + app.cfg.audio.maikiwiAudio.ciderPPE === true && + app.cfg.audio.spatial === true && + app.cfg.audio.maikiwiAudio.analogWarmth === true) { + + CiderAudio.llpw_h2_2(true, 1); + CiderAudio.analogWarmth_h2_3(true, 3); + + if (app.cfg.audio.maikiwiAudio.spatial === true) { + CiderAudio.audioNodes.gainNode.connect(CiderAudio.audioNodes.spatialNode); + CiderAudio.audioNodes.spatialNode.connect(CiderAudio.audioNodes.analogWarmth[0]); + console.log('[Cider][Audio] CAP, Analog Warmth, Maikiwi Spatial') + } + else { + CiderAudio.audioNodes.gainNode.connect(CiderAudio.audioNodes.spatialInput.input); + CiderAudio.audioNodes.spatialNode.output.connect(CiderAudio.audioNodes.analogWarmth[0]); + console.log('[Cider][Audio] CAP, Analog Warmth, Spatial') + } + } // Vibrant Bass, CAP, Spatial else if (app.cfg.audio.maikiwiAudio.vibrantBass.multiplier !== 0 && app.cfg.audio.maikiwiAudio.ciderPPE === true && @@ -303,7 +323,7 @@ var CiderAudio = { if (app.cfg.audio.maikiwiAudio.spatial === true) { CiderAudio.audioNodes.gainNode.connect(CiderAudio.audioNodes.spatialNode); CiderAudio.audioNodes.spatialNode.connect(CiderAudio.audioNodes.llpw[0]); - console.log('[Cider][Audio] Maikiwi Spatial') + console.log('[Cider][Audio] CAP, Maikiwi Spatial') } else { CiderAudio.audioNodes.gainNode.connect(CiderAudio.audioNodes.spatialInput.input); diff --git a/src/renderer/views/pages/settings.ejs b/src/renderer/views/pages/settings.ejs index 9dcb7837..051e229c 100644 --- a/src/renderer/views/pages/settings.ejs +++ b/src/renderer/views/pages/settings.ejs @@ -88,10 +88,10 @@ {{$root.getLz('settings.option.audio.enableAdvancedFunctionality.ciderPPEStrength.description')}}
- -
@@ -113,10 +113,10 @@ Changes the intensity of the Analog Warmth Module processing.
- -
From c9f17a71bd746ff23f3cb42df44c5b42af7213e3 Mon Sep 17 00:00:00 2001 From: booploops <49113086+booploops@users.noreply.github.com> Date: Fri, 18 Feb 2022 19:03:30 -0800 Subject: [PATCH 331/573] adds audiolabs --- src/main/base/browserwindow.ts | 1 + src/renderer/views/app/app-content.ejs | 7 +++- .../views/components/audio-settings.ejs | 5 +++ src/renderer/views/pages/audiolabs.ejs | 36 +++++++++++++++++++ 4 files changed, 48 insertions(+), 1 deletion(-) create mode 100644 src/renderer/views/pages/audiolabs.ejs diff --git a/src/main/base/browserwindow.ts b/src/main/base/browserwindow.ts index d15a92d1..6a0a69e6 100644 --- a/src/main/base/browserwindow.ts +++ b/src/main/base/browserwindow.ts @@ -48,6 +48,7 @@ export class BrowserWindow { "pages/remote-pair", "pages/themes-github", "pages/replay", + "pages/audiolabs", "components/mediaitem-artwork", "components/artwork-material", "components/menu-panel", diff --git a/src/renderer/views/app/app-content.ejs b/src/renderer/views/app/app-content.ejs index b64e3f7d..10250ca4 100644 --- a/src/renderer/views/app/app-content.ejs +++ b/src/renderer/views/app/app-content.ejs @@ -171,7 +171,12 @@ - + + + +