diff --git a/build/vite/alias.ts b/build/vite/alias.ts deleted file mode 100644 index 25b5e637..00000000 --- a/build/vite/alias.ts +++ /dev/null @@ -1,16 +0,0 @@ -import { resolve } from 'path'; -import type { Alias } from 'vite'; - -function pathResolve(dir: string) { - return resolve(process.cwd(), '.', dir); -} - -export function createAlias(alias: [string, string][]): Alias[] { - return alias.map((item) => { - const [alia, src] = item; - return { - find: new RegExp(alia), - replacement: pathResolve(src) + '/', - }; - }); -} diff --git a/package.json b/package.json index 6f459b37..42687a22 100644 --- a/package.json +++ b/package.json @@ -49,7 +49,7 @@ "sortablejs": "^1.13.0", "tinymce": "^5.7.1", "vditor": "^3.8.4", - "vue": "3.0.10", + "vue": "3.0.11", "vue-i18n": "^9.0.0", "vue-router": "^4.0.5", "vue-types": "^3.0.2", @@ -58,8 +58,8 @@ "xlsx": "^0.16.9" }, "devDependencies": { - "@commitlint/cli": "^12.0.1", - "@commitlint/config-conventional": "^12.0.1", + "@commitlint/cli": "^12.1.1", + "@commitlint/config-conventional": "^12.1.1", "@iconify/json": "^1.1.323", "@purge-icons/generated": "^0.7.0", "@types/crypto-js": "^4.0.1", @@ -76,7 +76,7 @@ "@vitejs/plugin-legacy": "^1.3.2", "@vitejs/plugin-vue": "^1.2.1", "@vitejs/plugin-vue-jsx": "^1.1.3", - "@vue/compiler-sfc": "3.0.10", + "@vue/compiler-sfc": "3.0.11", "autoprefixer": "^10.2.5", "commitizen": "^4.2.3", "conventional-changelog-cli": "^2.1.1", @@ -84,7 +84,7 @@ "dotenv": "^8.2.0", "eslint": "^7.23.0", "eslint-config-prettier": "^8.1.0", - "eslint-define-config": "^1.0.6", + "eslint-define-config": "^1.0.7", "eslint-plugin-prettier": "^3.3.1", "eslint-plugin-vue": "^7.8.0", "esno": "^0.5.0", @@ -99,7 +99,7 @@ "prettier": "^2.2.1", "pretty-quick": "^3.1.0", "rimraf": "^3.0.2", - "rollup-plugin-visualizer": "5.0.4", + "rollup-plugin-visualizer": "5.2.1", "stylelint": "^13.12.0", "stylelint-config-prettier": "^8.0.2", "stylelint-config-standard": "^21.0.0", @@ -116,7 +116,7 @@ "vite-plugin-style-import": "^0.9.1", "vite-plugin-svg-icons": "^0.4.0", "vite-plugin-theme": "^0.5.0", - "vite-plugin-windicss": "0.11.4", + "vite-plugin-windicss": "0.12.1", "vue-eslint-parser": "^7.6.0" }, "resolutions": { diff --git a/src/components/Button/src/PopConfirmButton.vue b/src/components/Button/src/PopConfirmButton.vue index 5cf46372..7691cf60 100644 --- a/src/components/Button/src/PopConfirmButton.vue +++ b/src/components/Button/src/PopConfirmButton.vue @@ -36,9 +36,11 @@ ); return popValues; }); + return () => { const values = omit(unref(getBindValues), 'icon'); const Button = h(BasicButton, values, extendSlots(slots)); + if (!props.enable) { return Button; } diff --git a/src/components/Container/src/LazyContainer.vue b/src/components/Container/src/LazyContainer.vue index b70f4935..7f7cf0c6 100644 --- a/src/components/Container/src/LazyContainer.vue +++ b/src/components/Container/src/LazyContainer.vue @@ -64,7 +64,7 @@ }, emits: ['init'], setup(props, { emit }) { - const elRef = ref(null); + const elRef = ref(); const state = reactive({ isInit: false, loading: false, diff --git a/src/components/Cropper/src/index.vue b/src/components/Cropper/src/index.vue index 59bfb136..9f7f60ad 100644 --- a/src/components/Cropper/src/index.vue +++ b/src/components/Cropper/src/index.vue @@ -1,6 +1,13 @@ diff --git a/src/components/Scrollbar/src/bar.ts b/src/components/Scrollbar/src/bar.ts index 28f804c5..dd1f9b11 100644 --- a/src/components/Scrollbar/src/bar.ts +++ b/src/components/Scrollbar/src/bar.ts @@ -23,13 +23,13 @@ export default defineComponent({ setup(props) { const instance = getCurrentInstance(); - const thumb = ref(null); + const thumb = ref(); const wrap = inject('scroll-bar-wrap', {} as Ref>) as any; const bar = computed(() => { return BAR_MAP[props.vertical ? 'vertical' : 'horizontal']; }); const barStore = ref({}); - const cursorDown = ref(null); + const cursorDown = ref(); const clickThumbHandler = (e: any) => { // prevent click event of right button if (e.ctrlKey || e.button === 2) { diff --git a/src/components/Scrollbar/src/index.vue b/src/components/Scrollbar/src/index.vue index 8fd3920a..ec567805 100644 --- a/src/components/Scrollbar/src/index.vue +++ b/src/components/Scrollbar/src/index.vue @@ -69,8 +69,8 @@ const sizeHeight = ref('0'); const moveX = ref(0); const moveY = ref(0); - const wrap = ref(null); - const resize = ref(null); + const wrap = ref(); + const resize = ref(); provide('scroll-bar-wrap', wrap); diff --git a/src/components/Table/src/components/editable/EditableCell.vue b/src/components/Table/src/components/editable/EditableCell.vue index 54361716..e21a198d 100644 --- a/src/components/Table/src/components/editable/EditableCell.vue +++ b/src/components/Table/src/components/editable/EditableCell.vue @@ -67,7 +67,7 @@ setup(props) { const table = useTableContext(); const isEdit = ref(false); - const elRef = ref(null); + const elRef = ref(); const ruleVisible = ref(false); const ruleMessage = ref(''); const optionsRef = ref([]); diff --git a/src/components/Tinymce/src/Editor.vue b/src/components/Tinymce/src/Editor.vue index c9e7c69b..9d4efc82 100644 --- a/src/components/Tinymce/src/Editor.vue +++ b/src/components/Tinymce/src/Editor.vue @@ -23,56 +23,16 @@ onDeactivated, } from 'vue'; - import tinymce from 'tinymce/tinymce'; - import 'tinymce/skins/ui/oxide/skin.min.css'; - import 'tinymce/themes/silver'; + import ImgUpload from './ImgUpload.vue'; - import toolbar from './toolbar'; - import plugins from './plugins'; + import { tinymce, toolbar, plugins } from './tinymce'; import { buildShortUUID } from '/@/utils/uuid'; import { bindHandlers } from './helper'; import { onMountedOrActivated } from '/@/hooks/core/onMountedOrActivated'; - import ImgUpload from './ImgUpload.vue'; import { useDesign } from '/@/hooks/web/useDesign'; import { isNumber } from '/@/utils/is'; - import 'tinymce/icons/default/icons'; - import 'tinymce/themes/mobile'; - import 'tinymce/plugins/emoticons'; - import 'tinymce/plugins/emoticons/js/emojis'; - import 'tinymce/plugins/advlist'; - import 'tinymce/plugins/anchor'; - import 'tinymce/plugins/autolink'; - import 'tinymce/plugins/autosave'; - import 'tinymce/plugins/code'; - import 'tinymce/plugins/codesample'; - import 'tinymce/plugins/directionality'; - import 'tinymce/plugins/fullscreen'; - import 'tinymce/plugins/hr'; - import 'tinymce/plugins/image'; - import 'tinymce/plugins/imagetools'; - import 'tinymce/plugins/insertdatetime'; - import 'tinymce/plugins/link'; - import 'tinymce/plugins/lists'; - import 'tinymce/plugins/media'; - import 'tinymce/plugins/nonbreaking'; - import 'tinymce/plugins/noneditable'; - import 'tinymce/plugins/pagebreak'; - import 'tinymce/plugins/paste'; - import 'tinymce/plugins/preview'; - import 'tinymce/plugins/print'; - import 'tinymce/plugins/save'; - import 'tinymce/plugins/searchreplace'; - import 'tinymce/plugins/spellchecker'; - import 'tinymce/plugins/tabfocus'; - import 'tinymce/plugins/table'; - import 'tinymce/plugins/template'; - import 'tinymce/plugins/textpattern'; - import 'tinymce/plugins/visualblocks'; - import 'tinymce/plugins/visualchars'; - import 'tinymce/plugins/wordcount'; - const tinymceProps = { options: { type: Object as PropType, @@ -117,16 +77,14 @@ props: tinymceProps, emits: ['change', 'update:modelValue'], setup(props, { emit, attrs }) { - const editorRef = ref(null); + const editorRef = ref(); const fullscreen = ref(false); const tinymceId = ref(buildShortUUID('tiny-vue')); const elRef = ref>(null); const { prefixCls } = useDesign('tinymce-container'); - const tinymceContent = computed(() => { - return props.modelValue; - }); + const tinymceContent = computed(() => props.modelValue); const containerWidth = computed(() => { const width = props.width; @@ -167,7 +125,9 @@ () => attrs.disabled, () => { const editor = unref(editorRef); - if (!editor) return; + if (!editor) { + return; + } editor.setMode(attrs.disabled ? 'readonly' : 'design'); } ); @@ -205,7 +165,9 @@ function initSetup(e: Event) { const editor = unref(editorRef); - if (!editor) return; + if (!editor) { + return; + } const value = props.modelValue || ''; editor.setContent(value); @@ -258,21 +220,24 @@ function handleImageUploading(name: string) { const editor = unref(editorRef); - if (!editor) return; + if (!editor) { + return; + } const content = editor?.getContent() ?? ''; - setValue(editor, `${content}\n${getImgName(name)}`); + setValue(editor, `${content}\n${getUploadingImgName(name)}`); } function handleDone(name: string, url: string) { const editor = unref(editorRef); - if (!editor) return; - + if (!editor) { + return; + } const content = editor?.getContent() ?? ''; - const val = content?.replace(getImgName(name), ``) ?? ''; + const val = content?.replace(getUploadingImgName(name), ``) ?? ''; setValue(editor, val); } - function getImgName(name: string) { + function getUploadingImgName(name: string) { return `[uploading:${name}]`; } diff --git a/src/components/Tinymce/src/ImgUpload.vue b/src/components/Tinymce/src/ImgUpload.vue index b73a78bd..41c8ce6d 100644 --- a/src/components/Tinymce/src/ImgUpload.vue +++ b/src/components/Tinymce/src/ImgUpload.vue @@ -37,6 +37,7 @@ const { uploadUrl } = useGlobSetting(); const { t } = useI18n(); const { prefixCls } = useDesign('tinymce-img-upload'); + function handleChange(info: Recordable) { const file = info.file; const status = file?.status; diff --git a/src/components/Tinymce/src/plugins.ts b/src/components/Tinymce/src/plugins.ts deleted file mode 100644 index 8054df62..00000000 --- a/src/components/Tinymce/src/plugins.ts +++ /dev/null @@ -1,10 +0,0 @@ -// Any plugins you want to setting has to be imported -// Detail plugins list see https://www.tinymce.com/docs/plugins/ -// Custom builds see https://www.tinymce.com/download/custom-builds/ -// colorpicker/contextmenu/textcolor plugin is now built in to the core editor, please remove it from your editor configuration - -const plugins = [ - 'advlist anchor autolink autosave code codesample directionality emoticons fullscreen hr image imagetools insertdatetime link lists media nonbreaking noneditable pagebreak paste preview print save searchreplace spellchecker tabfocus table template textpattern visualblocks visualchars wordcount', -]; - -export default plugins; diff --git a/src/components/Tinymce/src/tinymce.ts b/src/components/Tinymce/src/tinymce.ts new file mode 100644 index 00000000..b4d82e5e --- /dev/null +++ b/src/components/Tinymce/src/tinymce.ts @@ -0,0 +1,55 @@ +import tinymce from 'tinymce/tinymce'; +import 'tinymce/skins/ui/oxide/skin.min.css'; +import 'tinymce/themes/silver'; + +import 'tinymce/icons/default/icons'; +import 'tinymce/themes/mobile'; +import 'tinymce/plugins/emoticons'; +import 'tinymce/plugins/emoticons/js/emojis'; +import 'tinymce/plugins/advlist'; +import 'tinymce/plugins/anchor'; +import 'tinymce/plugins/autolink'; +import 'tinymce/plugins/autosave'; +import 'tinymce/plugins/code'; +import 'tinymce/plugins/codesample'; +import 'tinymce/plugins/directionality'; +import 'tinymce/plugins/fullscreen'; +import 'tinymce/plugins/hr'; +import 'tinymce/plugins/image'; +import 'tinymce/plugins/imagetools'; +import 'tinymce/plugins/insertdatetime'; +import 'tinymce/plugins/link'; +import 'tinymce/plugins/lists'; +import 'tinymce/plugins/media'; +import 'tinymce/plugins/nonbreaking'; +import 'tinymce/plugins/noneditable'; +import 'tinymce/plugins/pagebreak'; +import 'tinymce/plugins/paste'; +import 'tinymce/plugins/preview'; +import 'tinymce/plugins/print'; +import 'tinymce/plugins/save'; +import 'tinymce/plugins/searchreplace'; +import 'tinymce/plugins/spellchecker'; +import 'tinymce/plugins/tabfocus'; +import 'tinymce/plugins/table'; +import 'tinymce/plugins/template'; +import 'tinymce/plugins/textpattern'; +import 'tinymce/plugins/visualblocks'; +import 'tinymce/plugins/visualchars'; +import 'tinymce/plugins/wordcount'; + +// Any plugins you want to setting has to be imported +// Detail plugins list see https://www.tinymce.com/docs/plugins/ +// Custom builds see https://www.tinymce.com/download/custom-builds/ +// colorpicker/contextmenu/textcolor plugin is now built in to the core editor, please remove it from your editor configuration + +export const plugins = [ + 'advlist anchor autolink autosave code codesample directionality emoticons fullscreen hr image imagetools insertdatetime link lists media nonbreaking noneditable pagebreak paste preview print save searchreplace spellchecker tabfocus table template textpattern visualblocks visualchars wordcount', +]; + +export const toolbar = [ + 'fontsizeselect lineheight searchreplace bold italic underline strikethrough alignleft aligncenter alignright outdent indent blockquote undo redo removeformat subscript superscript code codesample', + 'hr bullist numlist link image charmap preview anchor pagebreak insertdatetime media table emoticons forecolor backcolor fullscreen', +]; + +export { tinymce }; diff --git a/src/components/Tinymce/src/toolbar.ts b/src/components/Tinymce/src/toolbar.ts deleted file mode 100644 index 96eb98fd..00000000 --- a/src/components/Tinymce/src/toolbar.ts +++ /dev/null @@ -1,9 +0,0 @@ -// Here is a list of the toolbar -// Detail list see https://www.tinymce.com/docs/advanced/editor-control-identifiers/#toolbarcontrols - -const toolbar = [ - 'fontsizeselect lineheight searchreplace bold italic underline strikethrough alignleft aligncenter alignright outdent indent blockquote undo redo removeformat subscript superscript code codesample', - 'hr bullist numlist link image charmap preview anchor pagebreak insertdatetime media table emoticons forecolor backcolor fullscreen', -]; - -export default toolbar; diff --git a/src/views/sys/login/ForgetPasswordForm.vue b/src/views/sys/login/ForgetPasswordForm.vue index 047c6306..7e8332e3 100644 --- a/src/views/sys/login/ForgetPasswordForm.vue +++ b/src/views/sys/login/ForgetPasswordForm.vue @@ -57,7 +57,7 @@ const { handleBackLogin, getLoginState } = useLoginState(); const { getFormRules } = useFormRules(); - const formRef = ref(null); + const formRef = ref(); const loading = ref(false); const formData = reactive({ diff --git a/src/views/sys/login/LoginForm.vue b/src/views/sys/login/LoginForm.vue index e61fe89d..1cd4b379 100644 --- a/src/views/sys/login/LoginForm.vue +++ b/src/views/sys/login/LoginForm.vue @@ -118,7 +118,7 @@ const { setLoginState, getLoginState } = useLoginState(); const { getFormRules } = useFormRules(); - const formRef = ref(null); + const formRef = ref(); const loading = ref(false); const rememberMe = ref(false); diff --git a/src/views/sys/login/MobileForm.vue b/src/views/sys/login/MobileForm.vue index 211b50c9..e3b218a2 100644 --- a/src/views/sys/login/MobileForm.vue +++ b/src/views/sys/login/MobileForm.vue @@ -49,7 +49,7 @@ const { handleBackLogin, getLoginState } = useLoginState(); const { getFormRules } = useFormRules(); - const formRef = ref(null); + const formRef = ref(); const loading = ref(false); const formData = reactive({ diff --git a/src/views/sys/login/RegisterForm.vue b/src/views/sys/login/RegisterForm.vue index 7a63f650..b80c17b5 100644 --- a/src/views/sys/login/RegisterForm.vue +++ b/src/views/sys/login/RegisterForm.vue @@ -86,7 +86,7 @@ const { t } = useI18n(); const { handleBackLogin, getLoginState } = useLoginState(); - const formRef = ref(null); + const formRef = ref(); const loading = ref(false); const formData = reactive({ diff --git a/tsconfig.json b/tsconfig.json index c3ae39d7..3c43e01f 100644 --- a/tsconfig.json +++ b/tsconfig.json @@ -36,7 +36,8 @@ "types/**/*.ts", "build/**/*.ts", "build/**/*.d.ts", - "mock/**/*.ts" + "mock/**/*.ts", + "vite.config.ts" ], "exclude": ["node_modules", "dist", "**/*.js"] } diff --git a/vite.config.ts b/vite.config.ts index 77ec6dd6..d7200be4 100644 --- a/vite.config.ts +++ b/vite.config.ts @@ -5,13 +5,16 @@ import { resolve } from 'path'; import { generateModifyVars } from './build/config/themeConfig'; import { createProxy } from './build/vite/proxy'; -import { createAlias } from './build/vite/alias'; import { wrapperEnv } from './build/utils'; import { createVitePlugins } from './build/vite/plugin'; import { OUTPUT_DIR } from './build/constant'; import pkg from './package.json'; import moment from 'moment'; +function pathResolve(dir: string) { + return resolve(process.cwd(), '.', dir); +} + const { dependencies, devDependencies, name, version } = pkg; const __APP_INFO__ = { pkg: { dependencies, devDependencies, name, version }, @@ -34,12 +37,19 @@ export default ({ command, mode }: ConfigEnv): UserConfig => { base: VITE_PUBLIC_PATH, root, resolve: { - alias: createAlias([ + alias: [ // /@/xxxx => src/xxxx - ['/@/', 'src'], + { + find: /\/@\//, + replacement: pathResolve('src') + '/', + }, // /#/xxxx => types/xxxx - ['/#/', 'types'], - ]), + { + find: /\/#\//, + replacement: pathResolve('types') + '/', + }, + // ['@vue/compiler-sfc', '@vue/compiler-sfc/dist/compiler-sfc.esm-browser.js'], + ], }, server: { port: VITE_PORT, diff --git a/yarn.lock b/yarn.lock index 1099bd0e..c5c20ed8 100644 --- a/yarn.lock +++ b/yarn.lock @@ -934,6 +934,22 @@ resolve-global "1.0.0" yargs "^16.2.0" +"@commitlint/cli@^12.1.1": + version "12.1.1" + resolved "https://registry.npmjs.org/@commitlint/cli/-/cli-12.1.1.tgz#740370e557a8a17f415052821cdd5276ecb0ab98" + integrity sha512-SB67/s6VJ50seoPx/Sr2gj1fMzKrx+udgarecGdr8h43ah+M2e22gjQJ7xHv5KwyPQ+6ug1YOMCL34ubT4zupQ== + dependencies: + "@commitlint/format" "^12.1.1" + "@commitlint/lint" "^12.1.1" + "@commitlint/load" "^12.1.1" + "@commitlint/read" "^12.1.1" + "@commitlint/types" "^12.1.1" + get-stdin "8.0.0" + lodash "^4.17.19" + resolve-from "5.0.0" + resolve-global "1.0.0" + yargs "^16.2.0" + "@commitlint/config-conventional@^12.0.1": version "12.0.1" resolved "https://registry.npmjs.org/@commitlint/config-conventional/-/config-conventional-12.0.1.tgz#7bf3bbf68bda967c5165135ebe8f2055decf1a83" @@ -941,6 +957,13 @@ dependencies: conventional-changelog-conventionalcommits "^4.3.1" +"@commitlint/config-conventional@^12.1.1": + version "12.1.1" + resolved "https://registry.npmjs.org/@commitlint/config-conventional/-/config-conventional-12.1.1.tgz#73dd3b1a7912138420d248f334f15c94c250bc9e" + integrity sha512-15CqbXMsQiEb0qbzjEHe2OkzaXPYSp7RxaS6KoSVk/4W0QiigquavQ+M0huBZze92h0lMS6Pxoq4AJ5CQ3D+iQ== + dependencies: + conventional-changelog-conventionalcommits "^4.3.1" + "@commitlint/ensure@^12.0.1": version "12.0.1" resolved "https://registry.npmjs.org/@commitlint/ensure/-/ensure-12.0.1.tgz#0ed5e997026db25eb080559b6e67f55a21eea080" @@ -949,11 +972,24 @@ "@commitlint/types" "^12.0.1" lodash "^4.17.19" +"@commitlint/ensure@^12.1.1": + version "12.1.1" + resolved "https://registry.npmjs.org/@commitlint/ensure/-/ensure-12.1.1.tgz#bcefc85f7f8a41bb31f67d7a8966e322b47a6e43" + integrity sha512-XEUQvUjzBVQM7Uv8vYz+c7PDukFvx0AvQEyX/V+PaTkCK/xPvexu7FLbFwvypjSt9BPMf+T/rhB1hVmldkd6lw== + dependencies: + "@commitlint/types" "^12.1.1" + lodash "^4.17.19" + "@commitlint/execute-rule@^12.0.1": version "12.0.1" resolved "https://registry.npmjs.org/@commitlint/execute-rule/-/execute-rule-12.0.1.tgz#5bb2eba929270cafb2bd8191799d8b451de7fb7e" integrity sha512-JzyweYfZlFLtXpgP+btzSY3YAkGPg61TqUSYQqBr4+5IaVf1FruMm5v4D5eLu9dAJuNKUfHbM3AEfuEPiZ79pg== +"@commitlint/execute-rule@^12.1.1": + version "12.1.1" + resolved "https://registry.npmjs.org/@commitlint/execute-rule/-/execute-rule-12.1.1.tgz#8aad1d46fb78b3199e4ae36debdc93570bf765ea" + integrity sha512-6mplMGvLCKF5LieL7BRhydpg32tm6LICnWQADrWU4S5g9PKi2utNvhiaiuNPoHUXr29RdbNaGNcyyPv8DSjJsQ== + "@commitlint/format@^12.0.1": version "12.0.1" resolved "https://registry.npmjs.org/@commitlint/format/-/format-12.0.1.tgz#5164e5a9e8592c1983482cbd71e7ea86a645ff1b" @@ -962,6 +998,14 @@ "@commitlint/types" "^12.0.1" chalk "^4.0.0" +"@commitlint/format@^12.1.1": + version "12.1.1" + resolved "https://registry.npmjs.org/@commitlint/format/-/format-12.1.1.tgz#a6b14f8605171374eecc2c463098d63c127ab7df" + integrity sha512-bTAoOryTFLqls17JTaRwk2WDVOP0NwuG4F/JPK8RaF6DMZNVQTfajkgTxFENNZRnESfau1BvivvEXfUAW2ZsvA== + dependencies: + "@commitlint/types" "^12.1.1" + chalk "^4.0.0" + "@commitlint/is-ignored@^12.0.1": version "12.0.1" resolved "https://registry.npmjs.org/@commitlint/is-ignored/-/is-ignored-12.0.1.tgz#0e59b0524e16300b1d9d62f8c138f083f22ebf9a" @@ -970,6 +1014,14 @@ "@commitlint/types" "^12.0.1" semver "7.3.4" +"@commitlint/is-ignored@^12.1.1": + version "12.1.1" + resolved "https://registry.npmjs.org/@commitlint/is-ignored/-/is-ignored-12.1.1.tgz#6075a5cd2dcda7b6ec93322f5dbe2142cfbb3248" + integrity sha512-Sn4fsnWX+wLAJOD/UZeoVruB98te1TyPYRiDEq0MhRJAQIrP+7jE/O3/ass68AAMq00HvH3OK9kt4UBXggcGjA== + dependencies: + "@commitlint/types" "^12.1.1" + semver "7.3.5" + "@commitlint/lint@^12.0.1": version "12.0.1" resolved "https://registry.npmjs.org/@commitlint/lint/-/lint-12.0.1.tgz#a88b01c81cb6ca1867bd3d8fd288ba30017c2b7d" @@ -980,6 +1032,16 @@ "@commitlint/rules" "^12.0.1" "@commitlint/types" "^12.0.1" +"@commitlint/lint@^12.1.1": + version "12.1.1" + resolved "https://registry.npmjs.org/@commitlint/lint/-/lint-12.1.1.tgz#cdd898af6eadba8f9e71d7f1255b5a479a757078" + integrity sha512-FFFPpku/E0svL1jaUVqosuZJDDWiNWYBlUw5ZEljh3MwWRcoaWtMIX5bseX+IvHpFZsCTAiBs1kCgNulCi0UvA== + dependencies: + "@commitlint/is-ignored" "^12.1.1" + "@commitlint/parse" "^12.1.1" + "@commitlint/rules" "^12.1.1" + "@commitlint/types" "^12.1.1" + "@commitlint/load@>6.1.1", "@commitlint/load@^12.0.1": version "12.0.1" resolved "https://registry.npmjs.org/@commitlint/load/-/load-12.0.1.tgz#4d180fc88e5b4cfcb476a245d899f85154137502" @@ -993,11 +1055,29 @@ lodash "^4.17.19" resolve-from "^5.0.0" +"@commitlint/load@^12.1.1": + version "12.1.1" + resolved "https://registry.npmjs.org/@commitlint/load/-/load-12.1.1.tgz#5a7fb8be11e520931d1237c5e8dc401b7cc9c6c1" + integrity sha512-qOQtgNdJRULUQWP9jkpTwhj7aEtnqUtqeUpbQ9rjS+GIUST65HZbteNUX4S0mAEGPWqy2aK5xGd73cUfFSvuuw== + dependencies: + "@commitlint/execute-rule" "^12.1.1" + "@commitlint/resolve-extends" "^12.1.1" + "@commitlint/types" "^12.1.1" + chalk "^4.0.0" + cosmiconfig "^7.0.0" + lodash "^4.17.19" + resolve-from "^5.0.0" + "@commitlint/message@^12.0.1": version "12.0.1" resolved "https://registry.npmjs.org/@commitlint/message/-/message-12.0.1.tgz#caff6743db78c30a063809501cf4b835c3ce7fa6" integrity sha512-fXuoxRC+NT1wEQi6p8oHfT7wvWIRgTk+udlRJnWTjmMpiYzVnMmmZfasdShirWr4TtxQtMyL+5DVgh7Y98kURw== +"@commitlint/message@^12.1.1": + version "12.1.1" + resolved "https://registry.npmjs.org/@commitlint/message/-/message-12.1.1.tgz#56eb1dbb561e85e9295380a46ff3b09bc93cac65" + integrity sha512-RakDSLAiOligXjhbLahV8HowF4K75pZIcs0+Ii9Q8Gz5H3DWf1Ngit7alFTWfcbf/+DTjSzVPov5HiwQZPIBUg== + "@commitlint/parse@^12.0.1": version "12.0.1" resolved "https://registry.npmjs.org/@commitlint/parse/-/parse-12.0.1.tgz#ba8641f53e15b523808ba2eaa48c1bf0129c91c4" @@ -1007,6 +1087,15 @@ conventional-changelog-angular "^5.0.11" conventional-commits-parser "^3.0.0" +"@commitlint/parse@^12.1.1": + version "12.1.1" + resolved "https://registry.npmjs.org/@commitlint/parse/-/parse-12.1.1.tgz#3e49d6dc113d59cf266af0db99e320e933108c56" + integrity sha512-nuljIvAbBDr93DgL0wCArftEIhjSghawAwhvrKNV9FFcqAJqfVqitwMxJrNDCQ5pgUMCSKULLOEv+dA0bLlTEQ== + dependencies: + "@commitlint/types" "^12.1.1" + conventional-changelog-angular "^5.0.11" + conventional-commits-parser "^3.0.0" + "@commitlint/read@^12.0.1": version "12.0.1" resolved "https://registry.npmjs.org/@commitlint/read/-/read-12.0.1.tgz#41f3295ed9f451d4c65223cd37ddd59ef714bddb" @@ -1017,6 +1106,16 @@ fs-extra "^9.0.0" git-raw-commits "^2.0.0" +"@commitlint/read@^12.1.1": + version "12.1.1" + resolved "https://registry.npmjs.org/@commitlint/read/-/read-12.1.1.tgz#22a2d7fd1eab5e38b9b262311af28ac42f9a5097" + integrity sha512-1k0CQEoZIdixvmqZRKEcWdj2XiKS7SlizEOJ1SE99Qui5d5FlBey8eaooTGgmpR6zObpIHJehtEPzM3VzUT3qA== + dependencies: + "@commitlint/top-level" "^12.1.1" + "@commitlint/types" "^12.1.1" + fs-extra "^9.0.0" + git-raw-commits "^2.0.0" + "@commitlint/resolve-extends@^12.0.1": version "12.0.1" resolved "https://registry.npmjs.org/@commitlint/resolve-extends/-/resolve-extends-12.0.1.tgz#77509f386e08bd30262ec9a75c783d8f4f028fd2" @@ -1027,6 +1126,16 @@ resolve-from "^5.0.0" resolve-global "^1.0.0" +"@commitlint/resolve-extends@^12.1.1": + version "12.1.1" + resolved "https://registry.npmjs.org/@commitlint/resolve-extends/-/resolve-extends-12.1.1.tgz#80a78b0940775d17888dd2985b52f93d93e0a885" + integrity sha512-/DXRt0S0U3o9lq5cc8OL1Lkx0IjW0HcDWjUkUXshAajBIKBYSJB8x/loNCi1krNEJ8SwLXUEFt5OLxNO6wE9yQ== + dependencies: + import-fresh "^3.0.0" + lodash "^4.17.19" + resolve-from "^5.0.0" + resolve-global "^1.0.0" + "@commitlint/rules@^12.0.1": version "12.0.1" resolved "https://registry.npmjs.org/@commitlint/rules/-/rules-12.0.1.tgz#1c81345f468597656141338a493d5e426e44dab9" @@ -1037,11 +1146,26 @@ "@commitlint/to-lines" "^12.0.1" "@commitlint/types" "^12.0.1" +"@commitlint/rules@^12.1.1": + version "12.1.1" + resolved "https://registry.npmjs.org/@commitlint/rules/-/rules-12.1.1.tgz#d59182a837d2addf301a3a4ef83316ae7e70248f" + integrity sha512-oCcLF/ykcJfhM2DeeaDyrgdaiuKsqIPNocugdPj2WEyhSYqmx1/u18CV96LAtW+WyyiOLCCeiZwiQutx3T5nXg== + dependencies: + "@commitlint/ensure" "^12.1.1" + "@commitlint/message" "^12.1.1" + "@commitlint/to-lines" "^12.1.1" + "@commitlint/types" "^12.1.1" + "@commitlint/to-lines@^12.0.1": version "12.0.1" resolved "https://registry.npmjs.org/@commitlint/to-lines/-/to-lines-12.0.1.tgz#586d89b9f9ff99ef93b3c8aa3d77faffbe3ffedc" integrity sha512-XwcJ1jY7x2fhudzbGMpNQkTSMVrxWrI8bRMbVe3Abuu7RfYpFf7VXAlhtnLfxBoagaK7RxjC2+eRidp/3txQBg== +"@commitlint/to-lines@^12.1.1": + version "12.1.1" + resolved "https://registry.npmjs.org/@commitlint/to-lines/-/to-lines-12.1.1.tgz#40fbed1767d637249ce49b311a51909d8361ecf8" + integrity sha512-W23AH2XF5rI27MOAPSSr0TUDoRe7ZbFoRtYhFnPu2MBmcuDA9Tmfd9N5sM2tBXtdE26uq3SazwKqGt1OoGAilQ== + "@commitlint/top-level@^12.0.1": version "12.0.1" resolved "https://registry.npmjs.org/@commitlint/top-level/-/top-level-12.0.1.tgz#9c7efd319a4f8d29001f011ba8b0e21fad6044f6" @@ -1049,6 +1173,13 @@ dependencies: find-up "^5.0.0" +"@commitlint/top-level@^12.1.1": + version "12.1.1" + resolved "https://registry.npmjs.org/@commitlint/top-level/-/top-level-12.1.1.tgz#228df8fc36b6d7ea7ad149badfb6ef53dbc7001d" + integrity sha512-g7uRbr81QEIg+pbii0OkE17Zh/2C/f6dSmiMDVRn1S0+hNHR1bENCh18hVUKcV/qKTUsKkFlhhWXM9mQBfxQJw== + dependencies: + find-up "^5.0.0" + "@commitlint/types@^12.0.1": version "12.0.1" resolved "https://registry.npmjs.org/@commitlint/types/-/types-12.0.1.tgz#04a0cbb8aa56b7c004f8939c2d1ef8892ec68327" @@ -1056,6 +1187,13 @@ dependencies: chalk "^4.0.0" +"@commitlint/types@^12.1.1": + version "12.1.1" + resolved "https://registry.npmjs.org/@commitlint/types/-/types-12.1.1.tgz#8e651f6af0171cd4f8d464c6c37a7cf63ee071bd" + integrity sha512-+qGH+s2Lo6qwacV2X3/ZypZwaAI84ift+1HBjXdXtI/q0F5NtmXucV3lcQOTviMTNiJhq4qWON2fjci2NItASw== + dependencies: + chalk "^4.0.0" + "@ctrl/tinycolor@^3.3.1": version "3.4.0" resolved "https://registry.npmjs.org/@ctrl/tinycolor/-/tinycolor-3.4.0.tgz#c3c5ae543c897caa9c2a68630bed355be5f9990f" @@ -1912,6 +2050,17 @@ estree-walker "^2.0.1" source-map "^0.6.1" +"@vue/compiler-core@3.0.11": + version "3.0.11" + resolved "https://registry.npmjs.org/@vue/compiler-core/-/compiler-core-3.0.11.tgz#5ef579e46d7b336b8735228758d1c2c505aae69a" + integrity sha512-6sFj6TBac1y2cWCvYCA8YzHJEbsVkX7zdRs/3yK/n1ilvRqcn983XvpBbnN3v4mZ1UiQycTvOiajJmOgN9EVgw== + dependencies: + "@babel/parser" "^7.12.0" + "@babel/types" "^7.12.0" + "@vue/shared" "3.0.11" + estree-walker "^2.0.1" + source-map "^0.6.1" + "@vue/compiler-dom@3.0.10": version "3.0.10" resolved "https://registry.npmjs.org/@vue/compiler-dom/-/compiler-dom-3.0.10.tgz#59d3597498e7d4b0b92f3886a823f99d5b08f1fe" @@ -1920,17 +2069,25 @@ "@vue/compiler-core" "3.0.10" "@vue/shared" "3.0.10" -"@vue/compiler-sfc@3.0.10": - version "3.0.10" - resolved "https://registry.npmjs.org/@vue/compiler-sfc/-/compiler-sfc-3.0.10.tgz#de6bc9be7f5ab1d944048a9be04c72c3571d4321" - integrity sha512-LLbXHwKMM72aomKsj9AySkLP1xIHREh/3w0nueenKhsWuaKTL1/XUhIPml23+Z+tX55qeJiUIHDeJuFSxfgQfg== +"@vue/compiler-dom@3.0.11": + version "3.0.11" + resolved "https://registry.npmjs.org/@vue/compiler-dom/-/compiler-dom-3.0.11.tgz#b15fc1c909371fd671746020ba55b5dab4a730ee" + integrity sha512-+3xB50uGeY5Fv9eMKVJs2WSRULfgwaTJsy23OIltKgMrynnIj8hTYY2UL97HCoz78aDw1VDXdrBQ4qepWjnQcw== + dependencies: + "@vue/compiler-core" "3.0.11" + "@vue/shared" "3.0.11" + +"@vue/compiler-sfc@3.0.11": + version "3.0.11" + resolved "https://registry.npmjs.org/@vue/compiler-sfc/-/compiler-sfc-3.0.11.tgz#cd8ca2154b88967b521f5ad3b10f5f8b6b665679" + integrity sha512-7fNiZuCecRleiyVGUWNa6pn8fB2fnuJU+3AGjbjl7r1P5wBivfl02H4pG+2aJP5gh2u+0wXov1W38tfWOphsXw== dependencies: "@babel/parser" "^7.13.9" "@babel/types" "^7.13.0" - "@vue/compiler-core" "3.0.10" - "@vue/compiler-dom" "3.0.10" - "@vue/compiler-ssr" "3.0.10" - "@vue/shared" "3.0.10" + "@vue/compiler-core" "3.0.11" + "@vue/compiler-dom" "3.0.11" + "@vue/compiler-ssr" "3.0.11" + "@vue/shared" "3.0.11" consolidate "^0.16.0" estree-walker "^2.0.1" hash-sum "^2.0.0" @@ -1942,13 +2099,13 @@ postcss-selector-parser "^6.0.4" source-map "^0.6.1" -"@vue/compiler-ssr@3.0.10": - version "3.0.10" - resolved "https://registry.npmjs.org/@vue/compiler-ssr/-/compiler-ssr-3.0.10.tgz#6ccc647bda49c0fc1ca100219e9c71268e048120" - integrity sha512-skrPSp9pjZG3unqHpUaEaRRpO1yYxbCXRfJ1kZW8PTGAg5g3Y/hrUet5+Q6zCIZwr5j1mSMBSLXMDCjFuyyZLg== +"@vue/compiler-ssr@3.0.11": + version "3.0.11" + resolved "https://registry.npmjs.org/@vue/compiler-ssr/-/compiler-ssr-3.0.11.tgz#ac5a05fd1257412fa66079c823d8203b6a889a13" + integrity sha512-66yUGI8SGOpNvOcrQybRIhl2M03PJ+OrDPm78i7tvVln86MHTKhM3ERbALK26F7tXl0RkjX4sZpucCpiKs3MnA== dependencies: - "@vue/compiler-dom" "3.0.10" - "@vue/shared" "3.0.10" + "@vue/compiler-dom" "3.0.11" + "@vue/shared" "3.0.11" "@vue/devtools-api@^6.0.0-beta.5": version "6.0.0-beta.7" @@ -1962,6 +2119,13 @@ dependencies: "@vue/shared" "3.0.10" +"@vue/reactivity@3.0.11": + version "3.0.11" + resolved "https://registry.npmjs.org/@vue/reactivity/-/reactivity-3.0.11.tgz#07b588349fd05626b17f3500cbef7d4bdb4dbd0b" + integrity sha512-SKM3YKxtXHBPMf7yufXeBhCZ4XZDKP9/iXeQSC8bBO3ivBuzAi4aZi0bNoeE2IF2iGfP/AHEt1OU4ARj4ao/Xw== + dependencies: + "@vue/shared" "3.0.11" + "@vue/runtime-core@3.0.10": version "3.0.10" resolved "https://registry.npmjs.org/@vue/runtime-core/-/runtime-core-3.0.10.tgz#cb8730c0ec86ea5c1cfa701facc0a97bf59b15a2" @@ -1970,6 +2134,14 @@ "@vue/reactivity" "3.0.10" "@vue/shared" "3.0.10" +"@vue/runtime-core@3.0.11": + version "3.0.11" + resolved "https://registry.npmjs.org/@vue/runtime-core/-/runtime-core-3.0.11.tgz#c52dfc6acf3215493623552c1c2919080c562e44" + integrity sha512-87XPNwHfz9JkmOlayBeCCfMh9PT2NBnv795DSbi//C/RaAnc/bGZgECjmkD7oXJ526BZbgk9QZBPdFT8KMxkAg== + dependencies: + "@vue/reactivity" "3.0.11" + "@vue/shared" "3.0.11" + "@vue/runtime-dom@3.0.10": version "3.0.10" resolved "https://registry.npmjs.org/@vue/runtime-dom/-/runtime-dom-3.0.10.tgz#80c6ee28caeabf74f31357d2c64d177945bd8a5f" @@ -1979,11 +2151,25 @@ "@vue/shared" "3.0.10" csstype "^2.6.8" +"@vue/runtime-dom@3.0.11": + version "3.0.11" + resolved "https://registry.npmjs.org/@vue/runtime-dom/-/runtime-dom-3.0.11.tgz#7a552df21907942721feb6961c418e222a699337" + integrity sha512-jm3FVQESY3y2hKZ2wlkcmFDDyqaPyU3p1IdAX92zTNeCH7I8zZ37PtlE1b9NlCtzV53WjB4TZAYh9yDCMIEumA== + dependencies: + "@vue/runtime-core" "3.0.11" + "@vue/shared" "3.0.11" + csstype "^2.6.8" + "@vue/shared@3.0.10": version "3.0.10" resolved "https://registry.npmjs.org/@vue/shared/-/shared-3.0.10.tgz#5476d5615d01bf339c65c2e804f5909bbc27844a" integrity sha512-p8GJ+bGpEGiEHICwcCH/EtJnkZQllrOfm1J2J+Ep0ydMte25bPnArgrY/h2Tn1LKqqR3LXyQlOSYY6gJgiW2LQ== +"@vue/shared@3.0.11": + version "3.0.11" + resolved "https://registry.npmjs.org/@vue/shared/-/shared-3.0.11.tgz#20d22dd0da7d358bb21c17f9bde8628152642c77" + integrity sha512-b+zB8A2so8eCE0JsxjL24J7vdGl8rzPQ09hZNhystm+KqSbKcAej1A+Hbva1rCMmTTqA+hFnUSDc5kouEo0JzA== + "@vueuse/core@^4.6.3": version "4.6.3" resolved "https://registry.npmjs.org/@vueuse/core/-/core-4.6.3.tgz#9684b602cb0d08583ee9151c52760c4db1707da2" @@ -1999,10 +2185,10 @@ dependencies: vue-demi latest -"@windicss/plugin-utils@0.11.4": - version "0.11.4" - resolved "https://registry.npmjs.org/@windicss/plugin-utils/-/plugin-utils-0.11.4.tgz#0c60515fccec2149cd0286e9b433ec3a6feb425b" - integrity sha512-WYdz/0hdX5rgdKR+72dWOyPX1IevVGH0qPZvRi5MBgEgB1MDSy2K2lah053KzyXCYgprGpmtrPjnt0ENejsOPg== +"@windicss/plugin-utils@0.12.1": + version "0.12.1" + resolved "https://registry.npmjs.org/@windicss/plugin-utils/-/plugin-utils-0.12.1.tgz#3db1069dd6dd580ac97a6c3f9fd2693e7a58c45e" + integrity sha512-fNAKGG9+qno0ZnzHiYnG7L6F3Rx1uRA8EjuMKq/KxHlbCMP+vRl8HQc0xnAmjYEnCWxEf1X7lMNbfijPCRvjfQ== dependencies: debug "^4.3.2" fast-glob "^3.2.5" @@ -4217,10 +4403,10 @@ eslint-config-prettier@^8.1.0: resolved "https://registry.npmjs.org/eslint-config-prettier/-/eslint-config-prettier-8.1.0.tgz#4ef1eaf97afe5176e6a75ddfb57c335121abc5a6" integrity sha512-oKMhGv3ihGbCIimCAjqkdzx2Q+jthoqnXSP+d86M9tptwugycmTFdVR4IpLgq2c4SHifbwO90z2fQ8/Aio73yw== -eslint-define-config@^1.0.6: - version "1.0.6" - resolved "https://registry.npmjs.org/eslint-define-config/-/eslint-define-config-1.0.6.tgz#b2e47832dcefab62bb853ffb78cb4963524efc44" - integrity sha512-Kq/XwRSYm5N3KTdK1IKT6I8IZFjtTxxgBjOb47iPvKfzjqfAu3xcaEJYqN1QtnsJoJf8lPCKBDMmKXu2f9ayZw== +eslint-define-config@^1.0.7: + version "1.0.7" + resolved "https://registry.npmjs.org/eslint-define-config/-/eslint-define-config-1.0.7.tgz#784ae5cc450492b0a8f37753d54f38fd5ac158fb" + integrity sha512-aPsytB55H0gNBJb5ZHCGdJgTS0g7vaOVjyvaZYlhDI3yYB1Y4F5k6VV5M7+0FOuD61NOm0ZT72lXOWoah5rCHw== eslint-plugin-jest@^24.1.5: version "24.3.2" @@ -9005,10 +9191,10 @@ rollup-plugin-terser@^7.0.0: serialize-javascript "^4.0.0" terser "^5.0.0" -rollup-plugin-visualizer@5.0.4: - version "5.0.4" - resolved "https://registry.npmjs.org/rollup-plugin-visualizer/-/rollup-plugin-visualizer-5.0.4.tgz#fd4c104e310033412aa8d99c811e73a7710a2c11" - integrity sha512-K/pFyP70k5ZcSIMH8kSWQOgT2kY3QaoMSPOG4onE8p2FBcUM/klCb7uIZMiocrl8DchCpq+mvDHOlLCx/R+Edg== +rollup-plugin-visualizer@5.2.1: + version "5.2.1" + resolved "https://registry.npmjs.org/rollup-plugin-visualizer/-/rollup-plugin-visualizer-5.2.1.tgz#1526fd35ff47ff5e190e03331caab3bb42e7ebab" + integrity sha512-1y6XThim1mKi7v1k2DvFbeD42vGT9mc8Xvhyzn+M9ffa7bzkow/Rye2khcoozN/W/8Oi36grhAbL0i+m+I5qtA== dependencies: nanoid "^3.1.22" open "^7.4.2" @@ -9148,6 +9334,13 @@ semver@7.3.4, semver@7.x, semver@^7.2.1, semver@^7.3.2, semver@^7.3.4: dependencies: lru-cache "^6.0.0" +semver@7.3.5: + version "7.3.5" + resolved "https://registry.npmjs.org/semver/-/semver-7.3.5.tgz#0b621c879348d8998e4b0e4be94b3f12e6018ef7" + integrity sha512-PoeGJYh8HK4BTO/a9Tf6ZG3veo/A7ZVsYrSA6J8ny9nb3B1VrpkuN+z9OE5wfE5p6H4LchYZsegiQgbJD94ZFQ== + dependencies: + lru-cache "^6.0.0" + semver@^6.0.0, semver@^6.1.1, semver@^6.1.2, semver@^6.3.0: version "6.3.0" resolved "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz#ee0a64c8af5e8ceea67687b133761e1becbd1d3d" @@ -10766,12 +10959,12 @@ vite-plugin-theme@^0.5.0: tinycolor2 "^1.4.2" ts-jest "^26.5.3" -vite-plugin-windicss@0.11.4: - version "0.11.4" - resolved "https://registry.npmjs.org/vite-plugin-windicss/-/vite-plugin-windicss-0.11.4.tgz#cde87eba7be66ef1e29f14f2896a995d9430995e" - integrity sha512-xGRaeXN6bR6QQceGcoIxfJCPvy+wCWR0ymHdjrYQr19LInEkL0lzvJwQkj51t5T8+56Xc7XsvSMb6HbJ1RERqA== +vite-plugin-windicss@0.12.1: + version "0.12.1" + resolved "https://registry.npmjs.org/vite-plugin-windicss/-/vite-plugin-windicss-0.12.1.tgz#b084c34898b3dc532767218c008e92a1897673ec" + integrity sha512-W/9Lg/yhzfcpxQ4nXJRIFq2YKpG3vyqCrQ/7lvlB5y4BD76mfq4HrMDgVizU4q3eygVWeCx23GGM2NDf7LI1Tg== dependencies: - "@windicss/plugin-utils" "0.11.4" + "@windicss/plugin-utils" "0.12.1" chalk "^4.1.0" debug "^4.3.2" windicss "^2.5.9" @@ -10826,7 +11019,16 @@ vue-types@^3.0.0, vue-types@^3.0.2: dependencies: is-plain-object "3.0.1" -vue@3.0.10, vue@^3.0.0: +vue@3.0.11: + version "3.0.11" + resolved "https://registry.npmjs.org/vue/-/vue-3.0.11.tgz#c82f9594cbf4dcc869241d4c8dd3e08d9a8f4b5f" + integrity sha512-3/eUi4InQz8MPzruHYSTQPxtM3LdZ1/S/BvaU021zBnZi0laRUyH6pfuE4wtUeLvI8wmUNwj5wrZFvbHUXL9dw== + dependencies: + "@vue/compiler-dom" "3.0.11" + "@vue/runtime-dom" "3.0.11" + "@vue/shared" "3.0.11" + +vue@^3.0.0: version "3.0.10" resolved "https://registry.npmjs.org/vue/-/vue-3.0.10.tgz#b5d2801c6ac0e756c850ad7a8f9a78cbccbad02a" integrity sha512-6arZ722uqIArSNUU94aqx0Pq0IMHFqYZuJ+U+q9HGdZZu11VFpyFP/L/hakijGFKp56Jr0yxJdWbDiJGWPxwww==