├── .editorconfig ├── .eslintignore ├── .eslintrc ├── .github └── workflows │ └── release.yml ├── .gitignore ├── .npmrc ├── LICENSE ├── README.md ├── assets ├── motorcycles-db.png └── self-source.png ├── database.css ├── esbuild.config.mjs ├── manifest.json ├── package.json ├── src ├── App.vue ├── additional.css ├── components │ ├── MarkdownLink.vue │ └── Table.vue ├── field.ts ├── main.ts ├── source.ts └── vuetify.ts ├── tsconfig.json ├── version-bump.mjs ├── versions.json ├── vue-shim.d.ts ├── vue.config.js └── yarn.lock /.editorconfig: -------------------------------------------------------------------------------- 1 | # top-most EditorConfig file 2 | root = true 3 | 4 | [*] 5 | charset = utf-8 6 | insert_final_newline = true 7 | indent_style = tab 8 | indent_size = 4 9 | tab_width = 4 10 | -------------------------------------------------------------------------------- /.eslintignore: -------------------------------------------------------------------------------- 1 | npm node_modules 2 | build -------------------------------------------------------------------------------- /.eslintrc: -------------------------------------------------------------------------------- 1 | { 2 | "root": true, 3 | "parser": "@typescript-eslint/parser", 4 | "env": { "node": true }, 5 | "plugins": [ 6 | "@typescript-eslint" 7 | ], 8 | "extends": [ 9 | "eslint:recommended", 10 | "plugin:@typescript-eslint/eslint-recommended", 11 | "plugin:@typescript-eslint/recommended" 12 | ], 13 | "parserOptions": { 14 | "sourceType": "module" 15 | }, 16 | "rules": { 17 | "no-unused-vars": "off", 18 | "@typescript-eslint/no-unused-vars": ["error", { "args": "none" }], 19 | "@typescript-eslint/ban-ts-comment": "off", 20 | "no-prototype-builtins": "off", 21 | "@typescript-eslint/no-empty-function": "off" 22 | } 23 | } -------------------------------------------------------------------------------- /.github/workflows/release.yml: -------------------------------------------------------------------------------- 1 | name: Release Obsidian plugin 2 | 3 | on: 4 | push: 5 | tags: 6 | - "*" 7 | 8 | env: 9 | PLUGIN_NAME: obsidian-database-plugin 10 | 11 | jobs: 12 | build: 13 | runs-on: ubuntu-latest 14 | 15 | steps: 16 | - uses: actions/checkout@v2 17 | - name: Use Node.js 18 | uses: actions/setup-node@v1 19 | with: 20 | node-version: "16.14.2" 21 | 22 | - name: Build 23 | id: build 24 | run: | 25 | yarn install 26 | yarn run build production 27 | mkdir ${{ env.PLUGIN_NAME }} 28 | cp dist/main.js manifest.json dist/styles.css ${{ env.PLUGIN_NAME }} 29 | zip -r ${{ env.PLUGIN_NAME }}.zip ${{ env.PLUGIN_NAME }} 30 | ls 31 | echo "::set-output name=tag_name::$(git tag --sort version:refname | tail -n 1)" 32 | 33 | - name: Create Release 34 | id: create_release 35 | uses: actions/create-release@v1 36 | env: 37 | GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} 38 | VERSION: ${{ github.ref }} 39 | with: 40 | tag_name: ${{ github.ref }} 41 | release_name: ${{ github.ref }} 42 | draft: false 43 | prerelease: false 44 | 45 | - name: Upload zip file 46 | id: upload-zip 47 | uses: actions/upload-release-asset@v1 48 | env: 49 | GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} 50 | with: 51 | upload_url: ${{ steps.create_release.outputs.upload_url }} 52 | asset_path: ./${{ env.PLUGIN_NAME }}.zip 53 | asset_name: ${{ env.PLUGIN_NAME }}-${{ steps.build.outputs.tag_name }}.zip 54 | asset_content_type: application/zip 55 | 56 | - name: Upload main.js 57 | id: upload-main 58 | uses: actions/upload-release-asset@v1 59 | env: 60 | GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} 61 | with: 62 | upload_url: ${{ steps.create_release.outputs.upload_url }} 63 | asset_path: ./dist/main.js 64 | asset_name: main.js 65 | asset_content_type: text/javascript 66 | 67 | - name: Upload manifest.json 68 | id: upload-manifest 69 | uses: actions/upload-release-asset@v1 70 | env: 71 | GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} 72 | with: 73 | upload_url: ${{ steps.create_release.outputs.upload_url }} 74 | asset_path: ./manifest.json 75 | asset_name: manifest.json 76 | asset_content_type: application/json 77 | 78 | - name: Upload styles.css 79 | id: upload-css 80 | uses: actions/upload-release-asset@v1 81 | env: 82 | GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} 83 | with: 84 | upload_url: ${{ steps.create_release.outputs.upload_url }} 85 | asset_path: ./dist/styles.css 86 | asset_name: styles.css 87 | asset_content_type: text/css -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- 1 | yarn-error.log 2 | 3 | dist 4 | 5 | # vscode 6 | .vscode 7 | 8 | # Intellij 9 | *.iml 10 | .idea 11 | 12 | # npm 13 | node_modules 14 | 15 | # Don't include the compiled main.js file in the repo. 16 | # They should be uploaded to GitHub releases instead. 17 | main.js 18 | 19 | # Exclude sourcemaps 20 | *.map 21 | 22 | # obsidian 23 | data.json 24 | 25 | # Exclude macOS Finder (System Explorer) View States 26 | .DS_Store 27 | -------------------------------------------------------------------------------- /.npmrc: -------------------------------------------------------------------------------- 1 | tag-version-prefix="" -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- 1 | MIT License 2 | 3 | Copyright (c) 2022 Łukasz Tomaszkiewicz 4 | 5 | Permission is hereby granted, free of charge, to any person obtaining a copy 6 | of this software and associated documentation files (the "Software"), to deal 7 | in the Software without restriction, including without limitation the rights 8 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 9 | copies of the Software, and to permit persons to whom the Software is 10 | furnished to do so, subject to the following conditions: 11 | 12 | The above copyright notice and this permission notice shall be included in all 13 | copies or substantial portions of the Software. 14 | 15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 17 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 18 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 19 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 20 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 21 | SOFTWARE. 22 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | ## Obsidian Database Plugin 2 | 3 | Do you like Dataview plugin for Obsidian? This one is taking Dataview to next level, but not only allowing you to view the data, but also... edit it in place! 4 | 5 | ## Features 6 | 7 | - allows you to generate a table based on files in a directory 8 | - the table is editable, if you edit a cell the changes will be written to original file! 9 | - supports multiple types of data, including rating with stars and progress bars 10 | - supports sorting by multiple columns (including dynamic sorting by clicking on column header) 11 | - supports creating links between documents (the real ones, shown on graph) 12 | - you can create templates with a subset of fields and include them in multiple files 13 | 14 | ## Example 15 | 16 | Let's create a database of motorcycles offers you consider buying. 17 | 18 | 1. create directory called `motorcycles` 19 | 2. create a file with a table: 20 | 21 | ````` 22 | ```databaseTable 23 | sources: 24 | - type: directory 25 | path: motorcycles 26 | fields: 27 | - name: file 28 | type: fileName 29 | label: File 30 | width: 20% 31 | - name: brand 32 | label: Brand 33 | type: link 34 | sources: 35 | - type: directory 36 | path: brands 37 | - name: model # field name in frontmatter 38 | label: Model # display label 39 | - name: year 40 | label: Year 41 | - name: mileage 42 | label: Mileage 43 | - name: accessories 44 | label: Accessories 45 | type: dropdown 46 | multiple: true 47 | options: 48 | - label: Crash bars 49 | value: crash-bars 50 | - label: Bags 51 | value: bags 52 | - label: Cruise control 53 | value: cruise-control 54 | - name: rate 55 | label: Rate 56 | type: rating 57 | width: 10% 58 | - name: owned 59 | label: Owned 60 | type: checkbox 61 | ``` 62 | ````` 63 | 64 | 3. now, create some files inside directory `motorcycles` (and if you want autosuggest for `Brand` field then create some files in `brands` folder), they can be blank or you can put some sample frontmatter matching `name` in the list above 65 | 4. after you go back to a file with a table, you should see entries for newly created files 66 | 5. you can put data in the table now and they will be filled inside the files! 67 | 68 |  69 | 70 | ## Sources 71 | 72 | There are the following sources available: 73 | ### directory 74 | 75 | Reads all files from specified directory. 76 | 77 | Example usage: 78 | 79 | ``` 80 | sources: 81 | - type: directory 82 | path: motorcycles 83 | ``` 84 | 85 | This source supports adding files. After you set your source, in the last line there will be a new input and button displayed so you can add new file directly from the table. 86 | 87 | ### tags 88 | 89 | Reads all files with one of the tags specified. 90 | 91 | Example usage: 92 | 93 | ``` 94 | sources: 95 | - type: tags 96 | tags: 97 | - motorcycles 98 | ``` 99 | 100 | This source supports adding files. After you set your source, in the last line there will be a new input and button displayed so you can add new file directly from the table. 101 | 102 | > **⚠ WARNING:** 103 | > If you use some plugins for templating (like Templater) the plugins may override files created by Database Plugin and remove default tagging it sets, so the file may not show properly in the table! 104 | 105 | ### related 106 | 107 | Reads all files that refer to current file, optionally with one of the tags specified. 108 | 109 | Example usage: 110 | 111 | ``` 112 | sources: 113 | - type: related 114 | tags: 115 | - motorcycles 116 | ``` 117 | 118 | ### self 119 | 120 | Self source provides a convenient way to refer to the file the table is embedded into. 121 | 122 | This source is especially useful in your daily notes, as you can make a nice machanism for tracking habits: 123 | 124 |  125 | 126 | Sample code for above view (btw, I suggest adding that to template and then use `include` feature so you can easily update that table in the future): 127 | 128 | ``` 129 | sources: 130 | - type: self 131 | fields: 132 | - name: meditation 133 | label: Meditation 134 | type: checkbox 135 | - name: excercise 136 | label: Excercise 137 | type: checkbox 138 | - name: eating 139 | label: Eat healthy 140 | type: checkbox 141 | - name: walk 142 | label: Go for a walk 143 | type: checkbox 144 | - name: sleep 145 | label: Sleep >7h 146 | type: checkbox 147 | ``` 148 | 149 | ## Field types 150 | 151 | The plugin, at the moment, supports the following field types: 152 | 153 | ### fileName 154 | 155 | Generates clickable link with filename. 156 | ### filePath 157 | 158 | Generates clickable link with full file path (relative to vault root). 159 | 160 | ### link 161 | 162 | This type generates a block with links in the target documents, you can add `multiple: true` to link to multiple documents. 163 | 164 | To enable autocomplete you need to add `source` parameter: 165 | 166 | ``` 167 | - name: brand 168 | label: Brand 169 | type: link 170 | sources: 171 | - type: directory 172 | path: brands 173 | ``` 174 | 175 | This way the plugin searches `brands` directory and suggest linking to any file within that directory. 176 | 177 | ### rating 178 | 179 | Shows 5 stars control for providing a rating. 180 | 181 | ### progress 182 | 183 | Shows a slider that you can use to set the progress (0-100%). 184 | 185 | ### checkbox 186 | 187 | Simple checkbox with true/false values 188 | 189 | ### image 190 | 191 | This field allows you to display image in table cell. 192 | The image is **read-only** and cannot be modified from the table in the current version. 193 | 194 | The path to the image should be relative to vault root, e.g. `motorcycles/images/f750gs.jpg` 195 | 196 | Sample file with the data: 197 | ``` 198 | --- 199 | image: motorcycles/images/f750.jpg 200 | --- 201 | ``` 202 | 203 | You can configure field with optional `maxWidth` and `maxHeigh` and the image will be scaled to fit that sizes: 204 | 205 | ``` 206 | - name: image 207 | type: image 208 | label: Image 209 | maxWidth: 100px 210 | maxHeigh: 100px 211 | ``` 212 | 213 | ### dropdown 214 | 215 | Generates a dropdown with selectable values. You can use it to select predefined value or values from list: 216 | 217 | Multiple values example: 218 | 219 | ``` 220 | - name: accessories 221 | label: Accessories 222 | type: dropdown 223 | multiple: true 224 | options: 225 | - label: Crash bars 226 | value: crash-bars 227 | - label: Bags 228 | value: bags 229 | - label: Cruise control 230 | value: cruise-control 231 | ``` 232 | 233 | Single value example (with colors): 234 | 235 | ``` 236 | - name: status 237 | label: Status 238 | type: dropdown 239 | width: 10% 240 | options: 241 | - label: In progress 242 | value: inProgress 243 | color: green 244 | - label: Next up 245 | value: nextUp 246 | color: gray 247 | dark: true 248 | ``` 249 | 250 | By default, the font color will be determined automatically, but if you want to adjust it to be white, then mark the item with `dark: true` to indicate that a provided color is dark. 251 | 252 | ### delete 253 | 254 | By adding a special column with type `delete` you can enable delete feature for your database: 255 | 256 | ``` 257 | - type: delete 258 | width: 1% 259 | ``` 260 | 261 | > **⚠ WARNING:** 262 | > Current version of plugin instantly deletes the file, without any confirmation! 263 | 264 | ### Other types 265 | 266 | `number`, `text`, `date` and other supported by HTML input field (when field type is not any of above, it fallbacks to standard input field with type specified) 267 | 268 | ## Templates and including other files 269 | 270 | If you need to use some of the settings in multiple files you can move that common settings to separate file (in frontmatter section) and then use `include` to read that file: 271 | 272 | ``` 273 | include: "database-templates/motorcycles.md" 274 | ``` 275 | 276 | You can also include multiple files: 277 | 278 | ``` 279 | include: 280 | - "database-templates/a.md" 281 | - "database-templates/b.md" 282 | ``` 283 | 284 | If you have both `include` statement as well as inline parameters, the merging process happens first by evaluating list of `include` and then inline parameters, so they take precedence over `include` - this way you can override some settings, if needed. 285 | 286 | ## Settings 287 | 288 | ### Global ignore filter 289 | 290 | This setting allow you to set a list of regexpes that will be applied to all your tables. 291 | 292 | It's especially useful e.g. if you're using Folder Note plugin which generates `index.md` file in the folder. 293 | 294 | ## Known issues 295 | 296 | - `tags` source sometimes doesn't refresh correctly after adding new file 297 | - plugin doesn't show errors inline (only in developer console) 298 | - doesn't support dark mode 299 | - uses ugly CSS to show context menus 300 | 301 | ## Future plan 302 | - add filtering 303 | - add grouping 304 | - add sorting in both directions in the code 305 | - add ability to use Dataview queries as a source 306 | 307 | ## Use plugins and other projects 308 | 309 | This plugin is powered by [Vue](https://github.com/vuejs/vue) and [Vuetify](https://github.com/vuetifyjs/vuetify)! 310 | -------------------------------------------------------------------------------- /assets/motorcycles-db.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tomaszkiewicz/obsidian-database-plugin/ab3d7970701b14ed1fb94cab8d931b124ea5b9ad/assets/motorcycles-db.png -------------------------------------------------------------------------------- /assets/self-source.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tomaszkiewicz/obsidian-database-plugin/ab3d7970701b14ed1fb94cab8d931b124ea5b9ad/assets/self-source.png -------------------------------------------------------------------------------- /database.css: -------------------------------------------------------------------------------- 1 | /* Sets all the text color to red! */ 2 | 3 | table.database td { 4 | padding: 0 5px; 5 | margin: 0 0; 6 | } 7 | 8 | table.database a { 9 | text-decoration: none; 10 | } 11 | 12 | table.database input, 13 | table.database input:hover, 14 | table.database select { 15 | padding: 0 0; 16 | margin: 0 0; 17 | border: 0; 18 | width: 100%; 19 | background: none; 20 | font-size: 14px; 21 | } 22 | 23 | table.database th { 24 | font-size: 14px; 25 | text-align: left; 26 | white-space: nowrap; 27 | padding: 0 5px; 28 | margin: 0 0; 29 | border: none; 30 | border-bottom: 1px solid black; 31 | } 32 | 33 | table.database tr:nth-child(even) { 34 | background: #f4f4f4; 35 | } 36 | 37 | table.database tr:nth-child(odd) { 38 | background: #FFF; 39 | } -------------------------------------------------------------------------------- /esbuild.config.mjs: -------------------------------------------------------------------------------- 1 | import esbuild from "esbuild"; 2 | import process from "process"; 3 | import builtins from 'builtin-modules' 4 | import vuePlugin from 'esbuild-vue'; 5 | import { sassPlugin } from 'esbuild-sass-plugin' 6 | import fs from 'fs'; 7 | 8 | const banner = 9 | `/* 10 | THIS IS A GENERATED/BUNDLED FILE BY ESBUILD 11 | if you want to view the source, please visit the github repository of this plugin 12 | */ 13 | `; 14 | 15 | const prod = (process.argv[2] === 'production'); 16 | 17 | const outDir = prod ? 'dist' : '/mnt/d/OneDrive/Obsidian/PluginsDev/.obsidian/plugins/obsidian-database-plugin' 18 | 19 | // Obsidian requires that the style file is called styles.css 20 | const renameCSSFile = () => fs.rename(outDir + '/main.css', outDir + '/styles.css', () => { }) 21 | const copyManifest = () => fs.copyFile('manifest.json', outDir, () => { }) 22 | 23 | const afterBuild = () => { 24 | renameCSSFile() 25 | copyManifest() 26 | } 27 | 28 | esbuild.build({ 29 | banner: { 30 | js: banner, 31 | }, 32 | entryPoints: ['src/main.ts'], 33 | bundle: true, 34 | plugins: [ 35 | vuePlugin({ 36 | extractCss: true, 37 | }), 38 | sassPlugin(), 39 | ], 40 | loader: { 41 | ".woff": "dataurl", 42 | ".woff2": "dataurl", 43 | ".eot": "dataurl", 44 | ".ttf": "dataurl", 45 | // ".woff": "file", 46 | // ".woff2": "file", 47 | // ".eot": "file", 48 | // ".ttf": "file", 49 | }, 50 | external: [ 51 | 'obsidian', 52 | 'electron', 53 | '@codemirror/autocomplete', 54 | '@codemirror/closebrackets', 55 | '@codemirror/collab', 56 | '@codemirror/commands', 57 | '@codemirror/comment', 58 | '@codemirror/fold', 59 | '@codemirror/gutter', 60 | '@codemirror/highlight', 61 | '@codemirror/history', 62 | '@codemirror/language', 63 | '@codemirror/lint', 64 | '@codemirror/matchbrackets', 65 | '@codemirror/panel', 66 | '@codemirror/rangeset', 67 | '@codemirror/rectangular-selection', 68 | '@codemirror/search', 69 | '@codemirror/state', 70 | '@codemirror/stream-parser', 71 | '@codemirror/text', 72 | '@codemirror/tooltip', 73 | '@codemirror/view', 74 | ...builtins], 75 | format: 'cjs', 76 | target: 'es2016', 77 | logLevel: "info", 78 | sourcemap: prod ? false : 'inline', 79 | treeShaking: true, 80 | outfile: outDir + '/main.js', 81 | watch: prod ? false : { 82 | onRebuild: afterBuild 83 | }, 84 | }).then(afterBuild).catch(() => process.exit(1)); 85 | -------------------------------------------------------------------------------- /manifest.json: -------------------------------------------------------------------------------- 1 | { 2 | "id": "obsidian-database-plugin", 3 | "name": "Database Plugin", 4 | "version": "1.8.0", 5 | "minAppVersion": "0.12.0", 6 | "description": "This plugin allows you to manage databases based on markdown files", 7 | "author": "Łukasz Tomaszkiewicz", 8 | "authorUrl": "https://luktom.net", 9 | "isDesktopOnly": false 10 | } -------------------------------------------------------------------------------- /package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "obsidian-database-plugin", 3 | "version": "1.0.2", 4 | "description": "This is a sample plugin for Obsidian (https://obsidian.md)", 5 | "main": "main.js", 6 | "scripts": { 7 | "dev": "node esbuild.config.mjs", 8 | "build": "tsc -noEmit -skipLibCheck && node esbuild.config.mjs production", 9 | "version": "node version-bump.mjs && git add manifest.json versions.json" 10 | }, 11 | "keywords": [], 12 | "author": "", 13 | "license": "MIT", 14 | "devDependencies": { 15 | "@mdi/font": "^6.6.96", 16 | "@types/node": "^16.11.6", 17 | "@typescript-eslint/eslint-plugin": "^5.2.0", 18 | "@typescript-eslint/parser": "^5.2.0", 19 | "builtin-modules": "^3.2.0", 20 | "deepmerge": "^4.2.2", 21 | "esbuild": "0.13.12", 22 | "obsidian": "latest", 23 | "sass": "~1.32.6", 24 | "sass-loader": "^12.6.0", 25 | "tslib": "2.3.1", 26 | "typescript": "4.4.4" 27 | }, 28 | "dependencies": { 29 | "@ctrl/tinycolor": "^3.4.1", 30 | "@vue/compiler-sfc": "^3.2.33", 31 | "esbuild-sass-plugin": "^2.2.6", 32 | "esbuild-vue": "^1.2.1", 33 | "vue": "^2.6.4", 34 | "vue-template-compiler": "^2.6.14", 35 | "vuetify": "^2.6.4" 36 | } 37 | } 38 | -------------------------------------------------------------------------------- /src/App.vue: -------------------------------------------------------------------------------- 1 | 2 | 3 | 13 | 14 | 15 | -------------------------------------------------------------------------------- /src/additional.css: -------------------------------------------------------------------------------- 1 | .v-application--wrap { 2 | min-height: 0vh !important; 3 | } 4 | 5 | .markdown-source-view.mod-cm6 .cm-content > [contenteditable=false].markdown-rendered { 6 | contain: none; 7 | } 8 | 9 | html, body { 10 | overflow-y: hidden; 11 | } -------------------------------------------------------------------------------- /src/components/MarkdownLink.vue: -------------------------------------------------------------------------------- 1 | 27 | 28 | -------------------------------------------------------------------------------- /src/components/Table.vue: -------------------------------------------------------------------------------- 1 | 153 | 154 | 166 | 167 | 168 | 174 | 178 | 179 | 183 | 184 | 190 | mdi-delete-outline 191 | 192 | 193 | 199 | 200 | 209 | 210 | 213 | 218 | 219 | 220 | 221 | 232 | 233 | 240 | 241 | 259 | 260 | 267 | 268 | 282 | 283 | 284 | 285 | 286 | 290 | 291 | 292 | {{ isOpen ? "mdi-minus" : "mdi-plus" }} 293 | 294 | {{ getFieldByName(groupBy[0]).label }} : 296 | {{ getFieldSelectedOption(groupBy[0], group).label }} 298 | 299 | 300 | 301 | 302 | 303 | 304 | 308 | 309 | 310 | 311 | 323 | 324 | 325 | 326 | 327 | 328 | 329 | 330 | 331 | 398 | -------------------------------------------------------------------------------- /src/field.ts: -------------------------------------------------------------------------------- 1 | import { Source } from "./source" 2 | 3 | export interface Field { 4 | name : string 5 | type : string 6 | options: any 7 | sources: Source[] 8 | } -------------------------------------------------------------------------------- /src/main.ts: -------------------------------------------------------------------------------- 1 | import { Plugin, PluginSettingTab, Setting, App } from 'obsidian'; 2 | import { parseYaml } from 'obsidian'; 3 | import { MarkdownRenderChild } from "obsidian"; 4 | import VueApp from "./App.vue"; 5 | import Vue from 'vue'; 6 | import vuetify from './vuetify' 7 | import 'vuetify/dist/vuetify.min.css' 8 | 9 | interface DatabasePluginSettings { 10 | globalIgnoreFilters: string[] 11 | } 12 | 13 | const DEFAULT_SETTINGS: DatabasePluginSettings = { 14 | globalIgnoreFilters: [] 15 | } 16 | 17 | export default class DatabasePlugin extends Plugin { 18 | settings: DatabasePluginSettings; 19 | instances: any[] 20 | 21 | async onload() { 22 | await this.loadSettings(); 23 | this.instances = []; 24 | 25 | this.addSettingTab(new DatabasePluginSettingTab(this.app, this)) 26 | 27 | this.registerMarkdownCodeBlockProcessor( 28 | `databaseTable`, 29 | async (src, el, context) => { 30 | let parameters = parseYaml(src) 31 | 32 | const div = document.createElement("div"); 33 | const child = new MarkdownRenderChild(div); 34 | 35 | while (!this.app.workspace.getActiveFile()) { 36 | await new Promise(resolve => setTimeout(resolve, 50)); 37 | } 38 | 39 | const app = new Vue({ 40 | vuetify, 41 | render: h => h(VueApp, { 42 | props: { 43 | parameters, 44 | app: this.app, 45 | settings: this.settings, 46 | urlBase: (this.app.vault.adapter as any).basePath.replaceAll("\\", "/"), 47 | } 48 | }), 49 | }) 50 | 51 | this.instances.push(app) 52 | 53 | context.addChild(child) 54 | el.append(div) 55 | app.$mount(div); 56 | 57 | child.onunload = () => { 58 | // this.instances = this.removeItemOnce(this.instances, app) 59 | // app.$destroy(); 60 | // console.log("onunload child") 61 | } 62 | } 63 | ); 64 | } 65 | 66 | removeItemOnce(arr: Array, value: any) { 67 | var index = arr.indexOf(value); 68 | if (index > -1) { 69 | arr.splice(index, 1); 70 | } 71 | return arr; 72 | } 73 | 74 | onunload() { 75 | this.instances.forEach(i => i.$destroy()) 76 | } 77 | 78 | async loadSettings() { 79 | this.settings = Object.assign({}, DEFAULT_SETTINGS, await this.loadData()); 80 | } 81 | 82 | async saveSettings() { 83 | await this.saveData(this.settings); 84 | } 85 | } 86 | 87 | class DatabasePluginSettingTab extends PluginSettingTab { 88 | constructor(app: App, private plugin: DatabasePlugin) { 89 | super(app, plugin); 90 | } 91 | 92 | display(): void { 93 | const { containerEl } = this; 94 | 95 | containerEl.empty(); 96 | 97 | containerEl.createEl('h2', { text: 'Database settings' }); 98 | 99 | new Setting(containerEl) 100 | .setName('Global ignore list') 101 | .setDesc('Put a list of regexes, one per line, to ignore some of the files') 102 | .addTextArea(ta => 103 | ta.setPlaceholder('Put regex to ignore fiels, one per line') 104 | .setValue(this.plugin.settings.globalIgnoreFilters.join('\n')) 105 | .onChange(async (value) => { 106 | this.plugin.settings.globalIgnoreFilters = value.split('\n'); 107 | await this.plugin.saveSettings(); 108 | })); 109 | } 110 | } 111 | -------------------------------------------------------------------------------- /src/source.ts: -------------------------------------------------------------------------------- 1 | import { App, stringifyYaml, } from 'obsidian'; 2 | import { parseYaml } from 'obsidian'; 3 | import { Vault, MetadataCache, TFile } from 'obsidian'; 4 | 5 | export class Row { 6 | _file: TFile 7 | _source: Source 8 | [key: string]: any 9 | } 10 | 11 | export interface Source { 12 | loadData(): Promise 13 | readLinks(file: TFile): Promise 14 | setLink(file: TFile, field: string, value: string): Promise 15 | setData(file: TFile, field: string, value: string): Promise 16 | deleteRow(file: TFile): Promise 17 | } 18 | 19 | export interface AddSource extends Source { 20 | addRow(name: string): Promise 21 | } 22 | 23 | export const mapSources = (sources: any, app: App, ignoreFilters: string[]): Source[] => { 24 | return sources.map((s: any) => { 25 | switch (s.type) { 26 | case "directory": 27 | return new DirectorySource(s.path, app.vault, app.metadataCache, ignoreFilters) 28 | 29 | case "tags": 30 | return new TagsSource(s.tags, app.vault, app.metadataCache, ignoreFilters) 31 | 32 | case "related": 33 | return new RelatedSource(app.workspace.getActiveFile().path, s.tags, app.vault, app.metadataCache, ignoreFilters) 34 | 35 | case "self": 36 | return new SelfSource(app.workspace.getActiveFile(), app.vault, app.metadataCache, ignoreFilters) 37 | } 38 | }) 39 | } 40 | 41 | export abstract class FileSystemSource implements Source { 42 | constructor(protected vault: Vault, protected metadataCache: MetadataCache, private ignoreFilters: string[]) { 43 | } 44 | 45 | abstract getFiles(): TFile[] 46 | 47 | private matchIgnoreFilters(path: string) { 48 | for (let filter of this.ignoreFilters) { 49 | if (filter && path.match(filter)) { 50 | return true 51 | } 52 | } 53 | return false 54 | } 55 | 56 | async loadData(): Promise { 57 | const files = this.getFiles() 58 | const rows = [] as Row[] 59 | 60 | for (let f of files) { 61 | if (this.matchIgnoreFilters(f.path)) { 62 | continue 63 | } 64 | 65 | const links = await this.readLinks(f) 66 | rows.push({ 67 | ...this.metadataCache.getFileCache(f).frontmatter, 68 | ...links, 69 | _file: f, 70 | _source: this, 71 | }) 72 | } 73 | 74 | return Promise.resolve(rows) 75 | } 76 | 77 | async readLinks(file: TFile): Promise { 78 | let content = await this.vault.read(file) 79 | const startIndex = content.indexOf("%%%") 80 | const endIndex = content.indexOf("%%%", startIndex + 3) 81 | if (startIndex == -1) { 82 | return Promise.resolve({}) 83 | } 84 | const linksContent = content.substring(startIndex + 3, endIndex) 85 | const linksObj = parseYaml(linksContent) || {} 86 | 87 | for (let k in linksObj) { 88 | if (!Array.isArray(linksObj[k])) { 89 | linksObj[k] = linksObj[k].split(",") 90 | } 91 | for (let i in linksObj[k]) { 92 | linksObj[k][i] = linksObj[k][i].replaceAll("[[", "").replaceAll("]]", "") 93 | } 94 | } 95 | 96 | return Promise.resolve(linksObj) 97 | } 98 | 99 | async setLink(file: TFile, field: string, value: any): Promise { 100 | let content = await this.vault.cachedRead(file) 101 | const startIndex = content.indexOf("%%%") 102 | const endIndex = content.indexOf("%%%", startIndex + 3) 103 | 104 | let beforeLinksContent = "" 105 | let linksContent = "" 106 | let afterLinksContent = "" 107 | 108 | if (startIndex == -1) { 109 | // no links section, create one and make sure it doesn't kill frontmatter 110 | const frontmatter = this.metadataCache.getFileCache(file).frontmatter 111 | if (frontmatter) { 112 | beforeLinksContent = content.substring(0, frontmatter.position.end.offset + 1) 113 | afterLinksContent = content.substring(frontmatter.position.end.offset) 114 | } else { 115 | afterLinksContent = content 116 | } 117 | } else { 118 | beforeLinksContent = content.substring(0, startIndex) 119 | linksContent = content.substring(startIndex + 3, endIndex) 120 | afterLinksContent = content.substring(endIndex + 3) 121 | } 122 | 123 | const linksObj = parseYaml(linksContent) || {} 124 | 125 | if (!Array.isArray(value) && value != null) { 126 | value = [value] 127 | } 128 | 129 | if (value == null) { 130 | value = [] 131 | } 132 | 133 | linksObj[field] = value.filter((x: string) => x != null).map((x: string) => `[[${x.trim()}]]`) 134 | 135 | if (linksObj[field].length == 1) { 136 | linksObj[field] = linksObj[field][0] 137 | } 138 | 139 | let outFileContents = "" 140 | outFileContents += beforeLinksContent 141 | outFileContents += "%%%\n" 142 | outFileContents += stringifyYaml(linksObj) 143 | outFileContents += "%%%" 144 | outFileContents += afterLinksContent 145 | 146 | await this.vault.modify(file, outFileContents) 147 | 148 | return Promise.resolve() 149 | } 150 | 151 | async setData(file: TFile, field: string, value: string): Promise { 152 | let contentWithoutFrontmatter = await this.vault.cachedRead(file) 153 | let frontmatterContent = "" 154 | const frontmatter = this.metadataCache.getFileCache(file).frontmatter 155 | 156 | if (frontmatter) { 157 | frontmatterContent = contentWithoutFrontmatter.substring(frontmatter.position.start.offset + 3, frontmatter.position.end.offset - 3) 158 | contentWithoutFrontmatter = contentWithoutFrontmatter.substring(frontmatter.position.end.offset) 159 | } 160 | 161 | const frontmatterObj = parseYaml(frontmatterContent) || {} 162 | frontmatterObj[field] = value 163 | 164 | let outFileContents = "---\n" 165 | outFileContents += stringifyYaml(frontmatterObj) 166 | outFileContents += "---" 167 | if (!frontmatter) { 168 | outFileContents += "\n" 169 | } 170 | outFileContents += contentWithoutFrontmatter 171 | 172 | await this.vault.modify(file, outFileContents) 173 | 174 | return Promise.resolve() 175 | } 176 | 177 | async deleteRow(file: TFile): Promise { 178 | return this.vault.delete(file) 179 | } 180 | } 181 | 182 | export class DirectorySource extends FileSystemSource implements AddSource { 183 | constructor(private path: string, vault: Vault, metadataCache: MetadataCache, ignoreFilters: string[]) { 184 | super(vault, metadataCache, ignoreFilters) 185 | } 186 | 187 | addRow(name: string): Promise { 188 | return this.vault.create(this.path + "/" + name + ".md", "") 189 | } 190 | 191 | getFiles(): TFile[] { 192 | return this.vault.getMarkdownFiles().filter(f => f.path.startsWith(this.path)) 193 | } 194 | } 195 | 196 | export class SelfSource extends FileSystemSource { 197 | constructor(private file: TFile, vault: Vault, metadataCache: MetadataCache, ignoreFilters: string[]) { 198 | super(vault, metadataCache, ignoreFilters) 199 | } 200 | 201 | getFiles(): TFile[] { 202 | return [this.file] 203 | } 204 | } 205 | 206 | export class TagsSource extends FileSystemSource implements AddSource { 207 | constructor(private tags: string[], vault: Vault, metadataCache: MetadataCache, ignoreFilters: string[]) { 208 | super(vault, metadataCache, ignoreFilters) 209 | } 210 | 211 | getFiles(): TFile[] { 212 | return filterByTags(this.vault.getMarkdownFiles(), this.tags, this.metadataCache) 213 | } 214 | 215 | addRow(name: string): Promise { 216 | return this.vault.create(name + ".md", `---\ntags: ${this.tags.join(", ")}\n---\n`) 217 | } 218 | } 219 | 220 | export class RelatedSource extends FileSystemSource { 221 | constructor(private currentFile: string, private tags: string[], vault: Vault, metadataCache: MetadataCache, ignoreFilters: string[]) { 222 | super(vault, metadataCache, ignoreFilters) 223 | } 224 | 225 | getFiles(): TFile[] { 226 | const files: string[] = [] 227 | 228 | for (const k in this.metadataCache.resolvedLinks) { 229 | if (this.metadataCache.resolvedLinks[k][this.currentFile]) { 230 | files.push(k) 231 | } 232 | } 233 | 234 | return filterByTags(this.vault.getMarkdownFiles().filter(x => files.contains(x.path)), this.tags, this.metadataCache) 235 | } 236 | } 237 | 238 | function filterByTags(files: TFile[], tags: string[], metadataCache: MetadataCache): TFile[] { 239 | if (tags == null || tags.length == 0) { 240 | return files 241 | } 242 | 243 | return files.map(f => { 244 | let fmTags = metadataCache.getFileCache(f)?.frontmatter?.tags || "" 245 | 246 | if (!Array.isArray(fmTags)) { 247 | fmTags = fmTags.split(",").map((x: string) => x.trim()) 248 | } 249 | 250 | return { 251 | tags: fmTags, 252 | file: f, 253 | } 254 | }) 255 | .filter(x => x.tags.some((r: string) => tags.contains(r))) 256 | .map(x => x.file) 257 | } -------------------------------------------------------------------------------- /src/vuetify.ts: -------------------------------------------------------------------------------- 1 | import Vue from 'vue'; 2 | import Vuetify from 'vuetify/lib' 3 | import 'vuetify/dist/vuetify.min.css' 4 | import '@mdi/font/css/materialdesignicons.css' 5 | import 'src/additional.css' 6 | 7 | Vue.use(Vuetify) 8 | 9 | export default new Vuetify({ 10 | icons: { 11 | iconfont: 'mdi', // 'mdi' || 'mdiSvg' || 'md' || 'fa' || 'fa4' 12 | }, 13 | theme: { 14 | dark: false, 15 | }, 16 | themes: { 17 | light: { 18 | primary: "#4682b4", 19 | secondary: "#b0bec5", 20 | accent: "#8c9eff", 21 | error: "#b71c1c", 22 | }, 23 | }, 24 | }) -------------------------------------------------------------------------------- /tsconfig.json: -------------------------------------------------------------------------------- 1 | { 2 | "compilerOptions": { 3 | "baseUrl": ".", 4 | "inlineSourceMap": true, 5 | "inlineSources": true, 6 | "module": "ESNext", 7 | "target": "ES6", 8 | "allowJs": true, 9 | "noImplicitAny": true, 10 | "moduleResolution": "node", 11 | "importHelpers": true, 12 | "isolatedModules": true, 13 | "lib": [ 14 | "DOM", 15 | "ES5", 16 | "ES6", 17 | "ES7", 18 | "es2019", 19 | ], 20 | "types": [ 21 | "vuetify", 22 | ], 23 | "paths": { 24 | "@/*": [ 25 | "./src/*" 26 | ] 27 | } 28 | }, 29 | "include": [ 30 | "**/*.ts" 31 | ] 32 | } -------------------------------------------------------------------------------- /version-bump.mjs: -------------------------------------------------------------------------------- 1 | import { readFileSync, writeFileSync } from "fs"; 2 | 3 | const targetVersion = process.env.npm_package_version; 4 | 5 | // read minAppVersion from manifest.json and bump version to target version 6 | let manifest = JSON.parse(readFileSync("manifest.json", "utf8")); 7 | const { minAppVersion } = manifest; 8 | manifest.version = targetVersion; 9 | writeFileSync("manifest.json", JSON.stringify(manifest, null, "\t")); 10 | 11 | // update versions.json with target version and minAppVersion from manifest.json 12 | let versions = JSON.parse(readFileSync("versions.json", "utf8")); 13 | versions[targetVersion] = minAppVersion; 14 | writeFileSync("versions.json", JSON.stringify(versions, null, "\t")); 15 | -------------------------------------------------------------------------------- /versions.json: -------------------------------------------------------------------------------- 1 | { 2 | "1.0.1": "0.12.0", 3 | "1.0.2": "0.12.0", 4 | "1.0.3": "0.12.0", 5 | "1.1.0": "0.12.0", 6 | "1.2.0": "0.12.0", 7 | "1.3.0": "0.12.0", 8 | "1.4.0": "0.12.0", 9 | "1.5.0": "0.12.0", 10 | "1.6.0": "0.12.0", 11 | "1.7.0": "0.12.0", 12 | "1.8.0": "0.12.0" 13 | } -------------------------------------------------------------------------------- /vue-shim.d.ts: -------------------------------------------------------------------------------- 1 | 2 | declare module "*.vue" { 3 | import Vue from "vue"; 4 | export default Vue; 5 | } -------------------------------------------------------------------------------- /vue.config.js: -------------------------------------------------------------------------------- 1 | module.exports = { 2 | runtimerCompiler: true 3 | } -------------------------------------------------------------------------------- /yarn.lock: -------------------------------------------------------------------------------- 1 | # THIS IS AN AUTOGENERATED FILE. DO NOT EDIT THIS FILE DIRECTLY. 2 | # yarn lockfile v1 3 | 4 | 5 | "@assemblyscript/loader@^0.10.1": 6 | version "0.10.1" 7 | resolved "https://registry.yarnpkg.com/@assemblyscript/loader/-/loader-0.10.1.tgz#70e45678f06c72fa2e350e8553ec4a4d72b92e06" 8 | integrity sha512-H71nDOOL8Y7kWRLqf6Sums+01Q5msqBW2KhDUTemh1tvY04eSkSXrK0uj/4mmY0Xr16/3zyZmsrxN7CKuRbNRg== 9 | 10 | "@babel/helper-validator-identifier@^7.16.7": 11 | version "7.16.7" 12 | resolved "https://registry.yarnpkg.com/@babel/helper-validator-identifier/-/helper-validator-identifier-7.16.7.tgz#e8c602438c4a8195751243da9031d1607d247cad" 13 | integrity sha512-hsEnFemeiW4D08A5gUAZxLBTXpZ39P+a+DGDsHw1yxqyQ/jzFEnxf5uTEGp+3bzAbNOxU1paTgYS4ECU/IgfDw== 14 | 15 | "@babel/parser@^7.16.4", "@babel/parser@^7.6.0", "@babel/parser@^7.9.6": 16 | version "7.17.9" 17 | resolved "https://registry.yarnpkg.com/@babel/parser/-/parser-7.17.9.tgz#9c94189a6062f0291418ca021077983058e171ef" 18 | integrity sha512-vqUSBLP8dQHFPdPi9bc5GK9vRkYHJ49fsZdtoJ8EQ8ibpwk5rPKfvNIwChB0KVXcIjcepEBBd2VHC5r9Gy8ueg== 19 | 20 | "@babel/types@^7.6.1", "@babel/types@^7.9.6": 21 | version "7.17.0" 22 | resolved "https://registry.yarnpkg.com/@babel/types/-/types-7.17.0.tgz#a826e368bccb6b3d84acd76acad5c0d87342390b" 23 | integrity sha512-TmKSNO4D5rzhL5bjWFcVHHLETzfQ/AmbKpKPOSjlP0WoHZ6L911fgoOKY4Alp/emzG4cHJdyN49zpgkbXFEHHw== 24 | dependencies: 25 | "@babel/helper-validator-identifier" "^7.16.7" 26 | to-fast-properties "^2.0.0" 27 | 28 | "@codemirror/rangeset@^0.19.5": 29 | version "0.19.9" 30 | resolved "https://registry.yarnpkg.com/@codemirror/rangeset/-/rangeset-0.19.9.tgz#e80895de93c39dc7899f5be31d368c9d88aa4efc" 31 | integrity sha512-V8YUuOvK+ew87Xem+71nKcqu1SXd5QROMRLMS/ljT5/3MCxtgrRie1Cvild0G/Z2f1fpWxzX78V0U4jjXBorBQ== 32 | dependencies: 33 | "@codemirror/state" "^0.19.0" 34 | 35 | "@codemirror/state@^0.19.0", "@codemirror/state@^0.19.3", "@codemirror/state@^0.19.6": 36 | version "0.19.9" 37 | resolved "https://registry.yarnpkg.com/@codemirror/state/-/state-0.19.9.tgz#b797f9fbc204d6dc7975485e231693c09001b0dd" 38 | integrity sha512-psOzDolKTZkx4CgUqhBQ8T8gBc0xN5z4gzed109aF6x7D7umpDRoimacI/O6d9UGuyl4eYuDCZmDFr2Rq7aGOw== 39 | dependencies: 40 | "@codemirror/text" "^0.19.0" 41 | 42 | "@codemirror/text@^0.19.0": 43 | version "0.19.6" 44 | resolved "https://registry.yarnpkg.com/@codemirror/text/-/text-0.19.6.tgz#9adcbd8137f69b75518eacd30ddb16fd67bbac45" 45 | integrity sha512-T9jnREMIygx+TPC1bOuepz18maGq/92q2a+n4qTqObKwvNMg+8cMTslb8yxeEDEq7S3kpgGWxgO1UWbQRij0dA== 46 | 47 | "@codemirror/view@^0.19.31": 48 | version "0.19.48" 49 | resolved "https://registry.yarnpkg.com/@codemirror/view/-/view-0.19.48.tgz#1c657e2b0f8ed896ac6448d6e2215ab115e2a0fc" 50 | integrity sha512-0eg7D2Nz4S8/caetCTz61rK0tkHI17V/d15Jy0kLOT8dTLGGNJUponDnW28h2B6bERmPlVHKh8MJIr5OCp1nGw== 51 | dependencies: 52 | "@codemirror/rangeset" "^0.19.5" 53 | "@codemirror/state" "^0.19.3" 54 | "@codemirror/text" "^0.19.0" 55 | style-mod "^4.0.0" 56 | w3c-keyname "^2.2.4" 57 | 58 | "@ctrl/tinycolor@^3.4.1": 59 | version "3.4.1" 60 | resolved "https://registry.yarnpkg.com/@ctrl/tinycolor/-/tinycolor-3.4.1.tgz#75b4c27948c81e88ccd3a8902047bcd797f38d32" 61 | integrity sha512-ej5oVy6lykXsvieQtqZxCOaLT+xD4+QNarq78cIYISHmZXshCvROLudpQN3lfL8G0NL7plMSSK+zlyvCaIJ4Iw== 62 | 63 | "@mdi/font@^6.6.96": 64 | version "6.6.96" 65 | resolved "https://registry.yarnpkg.com/@mdi/font/-/font-6.6.96.tgz#4eee6faee5f44d3ec401d354fb95775cd6699575" 66 | integrity sha512-FbcvG9z17hwZ7IwX5XeOR1UYGoLq+gTKq6XNPvJFuCpn599GdiPCJbAmmDBJb+jMYXjKYr0lCxfouWGxDA82sA== 67 | 68 | "@nodelib/fs.scandir@2.1.5": 69 | version "2.1.5" 70 | resolved "https://registry.yarnpkg.com/@nodelib/fs.scandir/-/fs.scandir-2.1.5.tgz#7619c2eb21b25483f6d167548b4cfd5a7488c3d5" 71 | integrity sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g== 72 | dependencies: 73 | "@nodelib/fs.stat" "2.0.5" 74 | run-parallel "^1.1.9" 75 | 76 | "@nodelib/fs.stat@2.0.5", "@nodelib/fs.stat@^2.0.2": 77 | version "2.0.5" 78 | resolved "https://registry.yarnpkg.com/@nodelib/fs.stat/-/fs.stat-2.0.5.tgz#5bd262af94e9d25bd1e71b05deed44876a222e8b" 79 | integrity sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A== 80 | 81 | "@nodelib/fs.walk@^1.2.3": 82 | version "1.2.8" 83 | resolved "https://registry.yarnpkg.com/@nodelib/fs.walk/-/fs.walk-1.2.8.tgz#e95737e8bb6746ddedf69c556953494f196fe69a" 84 | integrity sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg== 85 | dependencies: 86 | "@nodelib/fs.scandir" "2.1.5" 87 | fastq "^1.6.0" 88 | 89 | "@types/codemirror@0.0.108": 90 | version "0.0.108" 91 | resolved "https://registry.yarnpkg.com/@types/codemirror/-/codemirror-0.0.108.tgz#e640422b666bf49251b384c390cdeb2362585bde" 92 | integrity sha512-3FGFcus0P7C2UOGCNUVENqObEb4SFk+S8Dnxq7K6aIsLVs/vDtlangl3PEO0ykaKXyK56swVF6Nho7VsA44uhw== 93 | dependencies: 94 | "@types/tern" "*" 95 | 96 | "@types/estree@*": 97 | version "0.0.51" 98 | resolved "https://registry.yarnpkg.com/@types/estree/-/estree-0.0.51.tgz#cfd70924a25a3fd32b218e5e420e6897e1ac4f40" 99 | integrity sha512-CuPgU6f3eT/XgKKPqKd/gLZV1Xmvf1a2R5POBOGQa6uv82xpls89HU5zKeVoyR8XzHd1RGNOlQlvUe3CFkjWNQ== 100 | 101 | "@types/json-schema@^7.0.9": 102 | version "7.0.11" 103 | resolved "https://registry.yarnpkg.com/@types/json-schema/-/json-schema-7.0.11.tgz#d421b6c527a3037f7c84433fd2c4229e016863d3" 104 | integrity sha512-wOuvG1SN4Us4rez+tylwwwCV1psiNVOkJeM3AUWUNWg/jDQY2+HE/444y5gc+jBmRqASOm2Oeh5c1axHobwRKQ== 105 | 106 | "@types/node@^16.11.6": 107 | version "16.11.27" 108 | resolved "https://registry.yarnpkg.com/@types/node/-/node-16.11.27.tgz#5da19383bdbeda99bc0d09cfbb88cab7297ebc51" 109 | integrity sha512-C1pD3kgLoZ56Uuy5lhfOxie4aZlA3UMGLX9rXteq4WitEZH6Rl80mwactt9QG0w0gLFlN/kLBTFnGXtDVWvWQw== 110 | 111 | "@types/tern@*": 112 | version "0.23.4" 113 | resolved "https://registry.yarnpkg.com/@types/tern/-/tern-0.23.4.tgz#03926eb13dbeaf3ae0d390caf706b2643a0127fb" 114 | integrity sha512-JAUw1iXGO1qaWwEOzxTKJZ/5JxVeON9kvGZ/osgZaJImBnyjyn0cjovPsf6FNLmyGY8Vw9DoXZCMlfMkMwHRWg== 115 | dependencies: 116 | "@types/estree" "*" 117 | 118 | "@typescript-eslint/eslint-plugin@^5.2.0": 119 | version "5.20.0" 120 | resolved "https://registry.yarnpkg.com/@typescript-eslint/eslint-plugin/-/eslint-plugin-5.20.0.tgz#022531a639640ff3faafaf251d1ce00a2ef000a1" 121 | integrity sha512-fapGzoxilCn3sBtC6NtXZX6+P/Hef7VDbyfGqTTpzYydwhlkevB+0vE0EnmHPVTVSy68GUncyJ/2PcrFBeCo5Q== 122 | dependencies: 123 | "@typescript-eslint/scope-manager" "5.20.0" 124 | "@typescript-eslint/type-utils" "5.20.0" 125 | "@typescript-eslint/utils" "5.20.0" 126 | debug "^4.3.2" 127 | functional-red-black-tree "^1.0.1" 128 | ignore "^5.1.8" 129 | regexpp "^3.2.0" 130 | semver "^7.3.5" 131 | tsutils "^3.21.0" 132 | 133 | "@typescript-eslint/parser@^5.2.0": 134 | version "5.20.0" 135 | resolved "https://registry.yarnpkg.com/@typescript-eslint/parser/-/parser-5.20.0.tgz#4991c4ee0344315c2afc2a62f156565f689c8d0b" 136 | integrity sha512-UWKibrCZQCYvobmu3/N8TWbEeo/EPQbS41Ux1F9XqPzGuV7pfg6n50ZrFo6hryynD8qOTTfLHtHjjdQtxJ0h/w== 137 | dependencies: 138 | "@typescript-eslint/scope-manager" "5.20.0" 139 | "@typescript-eslint/types" "5.20.0" 140 | "@typescript-eslint/typescript-estree" "5.20.0" 141 | debug "^4.3.2" 142 | 143 | "@typescript-eslint/scope-manager@5.20.0": 144 | version "5.20.0" 145 | resolved "https://registry.yarnpkg.com/@typescript-eslint/scope-manager/-/scope-manager-5.20.0.tgz#79c7fb8598d2942e45b3c881ced95319818c7980" 146 | integrity sha512-h9KtuPZ4D/JuX7rpp1iKg3zOH0WNEa+ZIXwpW/KWmEFDxlA/HSfCMhiyF1HS/drTICjIbpA6OqkAhrP/zkCStg== 147 | dependencies: 148 | "@typescript-eslint/types" "5.20.0" 149 | "@typescript-eslint/visitor-keys" "5.20.0" 150 | 151 | "@typescript-eslint/type-utils@5.20.0": 152 | version "5.20.0" 153 | resolved "https://registry.yarnpkg.com/@typescript-eslint/type-utils/-/type-utils-5.20.0.tgz#151c21cbe9a378a34685735036e5ddfc00223be3" 154 | integrity sha512-WxNrCwYB3N/m8ceyoGCgbLmuZwupvzN0rE8NBuwnl7APgjv24ZJIjkNzoFBXPRCGzLNkoU/WfanW0exvp/+3Iw== 155 | dependencies: 156 | "@typescript-eslint/utils" "5.20.0" 157 | debug "^4.3.2" 158 | tsutils "^3.21.0" 159 | 160 | "@typescript-eslint/types@5.20.0": 161 | version "5.20.0" 162 | resolved "https://registry.yarnpkg.com/@typescript-eslint/types/-/types-5.20.0.tgz#fa39c3c2aa786568302318f1cb51fcf64258c20c" 163 | integrity sha512-+d8wprF9GyvPwtoB4CxBAR/s0rpP25XKgnOvMf/gMXYDvlUC3rPFHupdTQ/ow9vn7UDe5rX02ovGYQbv/IUCbg== 164 | 165 | "@typescript-eslint/typescript-estree@5.20.0": 166 | version "5.20.0" 167 | resolved "https://registry.yarnpkg.com/@typescript-eslint/typescript-estree/-/typescript-estree-5.20.0.tgz#ab73686ab18c8781bbf249c9459a55dc9417d6b0" 168 | integrity sha512-36xLjP/+bXusLMrT9fMMYy1KJAGgHhlER2TqpUVDYUQg4w0q/NW/sg4UGAgVwAqb8V4zYg43KMUpM8vV2lve6w== 169 | dependencies: 170 | "@typescript-eslint/types" "5.20.0" 171 | "@typescript-eslint/visitor-keys" "5.20.0" 172 | debug "^4.3.2" 173 | globby "^11.0.4" 174 | is-glob "^4.0.3" 175 | semver "^7.3.5" 176 | tsutils "^3.21.0" 177 | 178 | "@typescript-eslint/utils@5.20.0": 179 | version "5.20.0" 180 | resolved "https://registry.yarnpkg.com/@typescript-eslint/utils/-/utils-5.20.0.tgz#b8e959ed11eca1b2d5414e12417fd94cae3517a5" 181 | integrity sha512-lHONGJL1LIO12Ujyx8L8xKbwWSkoUKFSO+0wDAqGXiudWB2EO7WEUT+YZLtVbmOmSllAjLb9tpoIPwpRe5Tn6w== 182 | dependencies: 183 | "@types/json-schema" "^7.0.9" 184 | "@typescript-eslint/scope-manager" "5.20.0" 185 | "@typescript-eslint/types" "5.20.0" 186 | "@typescript-eslint/typescript-estree" "5.20.0" 187 | eslint-scope "^5.1.1" 188 | eslint-utils "^3.0.0" 189 | 190 | "@typescript-eslint/visitor-keys@5.20.0": 191 | version "5.20.0" 192 | resolved "https://registry.yarnpkg.com/@typescript-eslint/visitor-keys/-/visitor-keys-5.20.0.tgz#70236b5c6b67fbaf8b2f58bf3414b76c1e826c2a" 193 | integrity sha512-1flRpNF+0CAQkMNlTJ6L/Z5jiODG/e5+7mk6XwtPOUS3UrTz3UOiAg9jG2VtKsWI6rZQfy4C6a232QNRZTRGlg== 194 | dependencies: 195 | "@typescript-eslint/types" "5.20.0" 196 | eslint-visitor-keys "^3.0.0" 197 | 198 | "@vue/compiler-core@3.2.33": 199 | version "3.2.33" 200 | resolved "https://registry.yarnpkg.com/@vue/compiler-core/-/compiler-core-3.2.33.tgz#e915d59cce85898f5c5cfebe4c09e539278c3d59" 201 | integrity sha512-AAmr52ji3Zhk7IKIuigX2osWWsb2nQE5xsdFYjdnmtQ4gymmqXbjLvkSE174+fF3A3kstYrTgGkqgOEbsdLDpw== 202 | dependencies: 203 | "@babel/parser" "^7.16.4" 204 | "@vue/shared" "3.2.33" 205 | estree-walker "^2.0.2" 206 | source-map "^0.6.1" 207 | 208 | "@vue/compiler-dom@3.2.33": 209 | version "3.2.33" 210 | resolved "https://registry.yarnpkg.com/@vue/compiler-dom/-/compiler-dom-3.2.33.tgz#6db84296f949f18e5d3e7fd5e80f943dbed7d5ec" 211 | integrity sha512-GhiG1C8X98Xz9QUX/RlA6/kgPBWJkjq0Rq6//5XTAGSYrTMBgcLpP9+CnlUg1TFxnnCVughAG+KZl28XJqw8uQ== 212 | dependencies: 213 | "@vue/compiler-core" "3.2.33" 214 | "@vue/shared" "3.2.33" 215 | 216 | "@vue/compiler-sfc@^3.2.33": 217 | version "3.2.33" 218 | resolved "https://registry.yarnpkg.com/@vue/compiler-sfc/-/compiler-sfc-3.2.33.tgz#7ce01dc947a8b76c099811dc6ca58494d4dc773d" 219 | integrity sha512-H8D0WqagCr295pQjUYyO8P3IejM3vEzeCO1apzByAEaAR/WimhMYczHfZVvlCE/9yBaEu/eu9RdiWr0kF8b71Q== 220 | dependencies: 221 | "@babel/parser" "^7.16.4" 222 | "@vue/compiler-core" "3.2.33" 223 | "@vue/compiler-dom" "3.2.33" 224 | "@vue/compiler-ssr" "3.2.33" 225 | "@vue/reactivity-transform" "3.2.33" 226 | "@vue/shared" "3.2.33" 227 | estree-walker "^2.0.2" 228 | magic-string "^0.25.7" 229 | postcss "^8.1.10" 230 | source-map "^0.6.1" 231 | 232 | "@vue/compiler-ssr@3.2.33": 233 | version "3.2.33" 234 | resolved "https://registry.yarnpkg.com/@vue/compiler-ssr/-/compiler-ssr-3.2.33.tgz#3e820267e4eea48fde9519f006dedca3f5e42e71" 235 | integrity sha512-XQh1Xdk3VquDpXsnoCd7JnMoWec9CfAzQDQsaMcSU79OrrO2PNR0ErlIjm/mGq3GmBfkQjzZACV+7GhfRB8xMQ== 236 | dependencies: 237 | "@vue/compiler-dom" "3.2.33" 238 | "@vue/shared" "3.2.33" 239 | 240 | "@vue/component-compiler-utils@^3.0.0": 241 | version "3.3.0" 242 | resolved "https://registry.yarnpkg.com/@vue/component-compiler-utils/-/component-compiler-utils-3.3.0.tgz#f9f5fb53464b0c37b2c8d2f3fbfe44df60f61dc9" 243 | integrity sha512-97sfH2mYNU+2PzGrmK2haqffDpVASuib9/w2/noxiFi31Z54hW+q3izKQXXQZSNhtiUpAI36uSuYepeBe4wpHQ== 244 | dependencies: 245 | consolidate "^0.15.1" 246 | hash-sum "^1.0.2" 247 | lru-cache "^4.1.2" 248 | merge-source-map "^1.1.0" 249 | postcss "^7.0.36" 250 | postcss-selector-parser "^6.0.2" 251 | source-map "~0.6.1" 252 | vue-template-es2015-compiler "^1.9.0" 253 | optionalDependencies: 254 | prettier "^1.18.2 || ^2.0.0" 255 | 256 | "@vue/component-compiler@^4.2.4": 257 | version "4.2.4" 258 | resolved "https://registry.yarnpkg.com/@vue/component-compiler/-/component-compiler-4.2.4.tgz#db8c485c33b74c7d0e54c19a945f1a4cb65c9dc4" 259 | integrity sha512-tFGw3h3+nxiqnyborwWQ+rUgKAwSFl0Sdg+BCZkWTyFfkEF5fqunTNoklEUDdtRQMmVqsajn1pOZdm0zh4Uicw== 260 | dependencies: 261 | "@vue/component-compiler-utils" "^3.0.0" 262 | clean-css "^4.1.11" 263 | hash-sum "^1.0.2" 264 | postcss-modules-sync "^1.0.0" 265 | source-map "0.6.*" 266 | optionalDependencies: 267 | less "^3.9.0" 268 | pug "^3.0.1" 269 | sass "^1.18.0" 270 | stylus "^0.54.5" 271 | 272 | "@vue/reactivity-transform@3.2.33": 273 | version "3.2.33" 274 | resolved "https://registry.yarnpkg.com/@vue/reactivity-transform/-/reactivity-transform-3.2.33.tgz#286063f44ca56150ae9b52f8346a26e5913fa699" 275 | integrity sha512-4UL5KOIvSQb254aqenW4q34qMXbfZcmEsV/yVidLUgvwYQQ/D21bGX3DlgPUGI3c4C+iOnNmDCkIxkILoX/Pyw== 276 | dependencies: 277 | "@babel/parser" "^7.16.4" 278 | "@vue/compiler-core" "3.2.33" 279 | "@vue/shared" "3.2.33" 280 | estree-walker "^2.0.2" 281 | magic-string "^0.25.7" 282 | 283 | "@vue/shared@3.2.33": 284 | version "3.2.33" 285 | resolved "https://registry.yarnpkg.com/@vue/shared/-/shared-3.2.33.tgz#69a8c99ceb37c1b031d5cc4aec2ff1dc77e1161e" 286 | integrity sha512-UBc1Pg1T3yZ97vsA2ueER0F6GbJebLHYlEi4ou1H5YL4KWvMOOWwpYo9/QpWq93wxKG6Wo13IY74Hcn/f7c7Bg== 287 | 288 | acorn@^7.1.1: 289 | version "7.4.1" 290 | resolved "https://registry.yarnpkg.com/acorn/-/acorn-7.4.1.tgz#feaed255973d2e77555b83dbc08851a6c63520fa" 291 | integrity sha512-nQyp0o1/mNdbTO1PO6kHkwSrmgZ0MT/jCCpNiwbUjGoRN4dlBhqJtoQuCnEOKzgTVwg0ZWiCoQy6SxMebQVh8A== 292 | 293 | ansi-regex@^2.0.0: 294 | version "2.1.1" 295 | resolved "https://registry.yarnpkg.com/ansi-regex/-/ansi-regex-2.1.1.tgz#c3b33ab5ee360d86e0e628f0468ae7ef27d654df" 296 | integrity sha1-w7M6te42DYbg5ijwRorn7yfWVN8= 297 | 298 | ansi-styles@^2.2.1: 299 | version "2.2.1" 300 | resolved "https://registry.yarnpkg.com/ansi-styles/-/ansi-styles-2.2.1.tgz#b432dd3358b634cf75e1e4664368240533c1ddbe" 301 | integrity sha1-tDLdM1i2NM914eRmQ2gkBTPB3b4= 302 | 303 | ansi-styles@^3.2.1: 304 | version "3.2.1" 305 | resolved "https://registry.yarnpkg.com/ansi-styles/-/ansi-styles-3.2.1.tgz#41fbb20243e50b12be0f04b8dedbf07520ce841d" 306 | integrity sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA== 307 | dependencies: 308 | color-convert "^1.9.0" 309 | 310 | anymatch@~3.1.2: 311 | version "3.1.2" 312 | resolved "https://registry.yarnpkg.com/anymatch/-/anymatch-3.1.2.tgz#c0557c096af32f106198f4f4e2a383537e378716" 313 | integrity sha512-P43ePfOAIupkguHUycrc4qJ9kz8ZiuOUijaETwX7THt0Y/GNK7v0aa8rY816xWjZ7rJdA5XdMcpVFTKMq+RvWg== 314 | dependencies: 315 | normalize-path "^3.0.0" 316 | picomatch "^2.0.4" 317 | 318 | array-union@^2.1.0: 319 | version "2.1.0" 320 | resolved "https://registry.yarnpkg.com/array-union/-/array-union-2.1.0.tgz#b798420adbeb1de828d84acd8a2e23d3efe85e8d" 321 | integrity sha512-HGyxoOTYUyCM6stUe6EJgnd4EoewAI7zMdfqO+kGjnlZmBDz/cR5pf8r/cR4Wq60sL/p0IkcjUEEPwS3GFrIyw== 322 | 323 | asap@~2.0.3: 324 | version "2.0.6" 325 | resolved "https://registry.yarnpkg.com/asap/-/asap-2.0.6.tgz#e50347611d7e690943208bbdafebcbc2fb866d46" 326 | integrity sha1-5QNHYR1+aQlDIIu9r+vLwvuGbUY= 327 | 328 | assert-never@^1.2.1: 329 | version "1.2.1" 330 | resolved "https://registry.yarnpkg.com/assert-never/-/assert-never-1.2.1.tgz#11f0e363bf146205fb08193b5c7b90f4d1cf44fe" 331 | integrity sha512-TaTivMB6pYI1kXwrFlEhLeGfOqoDNdTxjCdwRfFFkEA30Eu+k48W34nlok2EYWJfFFzqaEmichdNM7th6M5HNw== 332 | 333 | atob@^2.1.2: 334 | version "2.1.2" 335 | resolved "https://registry.yarnpkg.com/atob/-/atob-2.1.2.tgz#6d9517eb9e030d2436666651e86bd9f6f13533c9" 336 | integrity sha512-Wm6ukoaOGJi/73p/cl2GvLjTI5JM1k/O14isD73YML8StrH/7/lRFgmg8nICZgD3bZZvjwCGxtMOD3wWNAu8cg== 337 | 338 | babel-walk@3.0.0-canary-5: 339 | version "3.0.0-canary-5" 340 | resolved "https://registry.yarnpkg.com/babel-walk/-/babel-walk-3.0.0-canary-5.tgz#f66ecd7298357aee44955f235a6ef54219104b11" 341 | integrity sha512-GAwkz0AihzY5bkwIY5QDR+LvsRQgB/B+1foMPvi0FZPMl5fjD7ICiznUiBdLYMH1QYe6vqu4gWYytZOccLouFw== 342 | dependencies: 343 | "@babel/types" "^7.9.6" 344 | 345 | balanced-match@^1.0.0: 346 | version "1.0.2" 347 | resolved "https://registry.yarnpkg.com/balanced-match/-/balanced-match-1.0.2.tgz#e83e3a7e3f300b34cb9d87f615fa0cbf357690ee" 348 | integrity sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw== 349 | 350 | base64-js@^1.2.0: 351 | version "1.5.1" 352 | resolved "https://registry.yarnpkg.com/base64-js/-/base64-js-1.5.1.tgz#1b1b440160a5bf7ad40b650f095963481903930a" 353 | integrity sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA== 354 | 355 | big.js@^3.1.3: 356 | version "3.2.0" 357 | resolved "https://registry.yarnpkg.com/big.js/-/big.js-3.2.0.tgz#a5fc298b81b9e0dca2e458824784b65c52ba588e" 358 | integrity sha512-+hN/Zh2D08Mx65pZ/4g5bsmNiZUuChDiQfTUQ7qJr4/kuopCr88xZsAXv6mBoZEsUI4OuGHlX59qE94K2mMW8Q== 359 | 360 | binary-extensions@^2.0.0: 361 | version "2.2.0" 362 | resolved "https://registry.yarnpkg.com/binary-extensions/-/binary-extensions-2.2.0.tgz#75f502eeaf9ffde42fc98829645be4ea76bd9e2d" 363 | integrity sha512-jDctJ/IVQbZoJykoeHbhXpOlNBqGNcwXJKJog42E5HDPUwQTSdjCHdihjj0DlnheQ7blbT6dHOafNAiS8ooQKA== 364 | 365 | bluebird@^3.1.1: 366 | version "3.7.2" 367 | resolved "https://registry.yarnpkg.com/bluebird/-/bluebird-3.7.2.tgz#9f229c15be272454ffa973ace0dbee79a1b0c36f" 368 | integrity sha512-XpNj6GDQzdfW+r2Wnn7xiSAd7TM3jzkxGXBGTtWKuSXv1xUV+azxAm8jdWZN06QTQk+2N2XB9jRDkvbmQmcRtg== 369 | 370 | brace-expansion@^1.1.7: 371 | version "1.1.11" 372 | resolved "https://registry.yarnpkg.com/brace-expansion/-/brace-expansion-1.1.11.tgz#3c7fcbf529d87226f3d2f52b966ff5271eb441dd" 373 | integrity sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA== 374 | dependencies: 375 | balanced-match "^1.0.0" 376 | concat-map "0.0.1" 377 | 378 | braces@^3.0.2, braces@~3.0.2: 379 | version "3.0.2" 380 | resolved "https://registry.yarnpkg.com/braces/-/braces-3.0.2.tgz#3454e1a462ee8d599e236df336cd9ea4f8afe107" 381 | integrity sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A== 382 | dependencies: 383 | fill-range "^7.0.1" 384 | 385 | builtin-modules@^3.2.0: 386 | version "3.2.0" 387 | resolved "https://registry.yarnpkg.com/builtin-modules/-/builtin-modules-3.2.0.tgz#45d5db99e7ee5e6bc4f362e008bf917ab5049887" 388 | integrity sha512-lGzLKcioL90C7wMczpkY0n/oART3MbBa8R9OFGE1rJxoVI86u4WAGfEk8Wjv10eKSyTHVGkSo3bvBylCEtk7LA== 389 | 390 | call-bind@^1.0.2: 391 | version "1.0.2" 392 | resolved "https://registry.yarnpkg.com/call-bind/-/call-bind-1.0.2.tgz#b1d4e89e688119c3c9a903ad30abb2f6a919be3c" 393 | integrity sha512-7O+FbCihrB5WGbFYesctwmTKae6rOiIzmz1icreWJ+0aA7LJfuqhEso2T9ncpcFtzMQtzXf2QGGueWJGTYsqrA== 394 | dependencies: 395 | function-bind "^1.1.1" 396 | get-intrinsic "^1.0.2" 397 | 398 | chalk@^1.1.3: 399 | version "1.1.3" 400 | resolved "https://registry.yarnpkg.com/chalk/-/chalk-1.1.3.tgz#a8115c55e4a702fe4d150abd3872822a7e09fc98" 401 | integrity sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg= 402 | dependencies: 403 | ansi-styles "^2.2.1" 404 | escape-string-regexp "^1.0.2" 405 | has-ansi "^2.0.0" 406 | strip-ansi "^3.0.0" 407 | supports-color "^2.0.0" 408 | 409 | chalk@^2.4.1: 410 | version "2.4.2" 411 | resolved "https://registry.yarnpkg.com/chalk/-/chalk-2.4.2.tgz#cd42541677a54333cf541a49108c1432b44c9424" 412 | integrity sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ== 413 | dependencies: 414 | ansi-styles "^3.2.1" 415 | escape-string-regexp "^1.0.5" 416 | supports-color "^5.3.0" 417 | 418 | character-parser@^2.2.0: 419 | version "2.2.0" 420 | resolved "https://registry.yarnpkg.com/character-parser/-/character-parser-2.2.0.tgz#c7ce28f36d4bcd9744e5ffc2c5fcde1c73261fc0" 421 | integrity sha1-x84o821LzZdE5f/CxfzeHHMmH8A= 422 | dependencies: 423 | is-regex "^1.0.3" 424 | 425 | "chokidar@>=3.0.0 <4.0.0": 426 | version "3.5.3" 427 | resolved "https://registry.yarnpkg.com/chokidar/-/chokidar-3.5.3.tgz#1cf37c8707b932bd1af1ae22c0432e2acd1903bd" 428 | integrity sha512-Dr3sfKRP6oTcjf2JmUmFJfeVMvXBdegxB0iVQ5eb2V10uFJUCAS8OByZdVAyVb8xXNz3GjjTgj9kLWsZTqE6kw== 429 | dependencies: 430 | anymatch "~3.1.2" 431 | braces "~3.0.2" 432 | glob-parent "~5.1.2" 433 | is-binary-path "~2.1.0" 434 | is-glob "~4.0.1" 435 | normalize-path "~3.0.0" 436 | readdirp "~3.6.0" 437 | optionalDependencies: 438 | fsevents "~2.3.2" 439 | 440 | clean-css@^4.1.11: 441 | version "4.2.4" 442 | resolved "https://registry.yarnpkg.com/clean-css/-/clean-css-4.2.4.tgz#733bf46eba4e607c6891ea57c24a989356831178" 443 | integrity sha512-EJUDT7nDVFDvaQgAo2G/PJvxmp1o/c6iXLbswsBbUFXi1Nr+AjA2cKmfbKDMjMvzEe75g3P6JkaDDAKk96A85A== 444 | dependencies: 445 | source-map "~0.6.0" 446 | 447 | color-convert@^1.9.0: 448 | version "1.9.3" 449 | resolved "https://registry.yarnpkg.com/color-convert/-/color-convert-1.9.3.tgz#bb71850690e1f136567de629d2d5471deda4c1e8" 450 | integrity sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg== 451 | dependencies: 452 | color-name "1.1.3" 453 | 454 | color-name@1.1.3: 455 | version "1.1.3" 456 | resolved "https://registry.yarnpkg.com/color-name/-/color-name-1.1.3.tgz#a7d0558bd89c42f795dd42328f740831ca53bc25" 457 | integrity sha1-p9BVi9icQveV3UIyj3QIMcpTvCU= 458 | 459 | concat-map@0.0.1: 460 | version "0.0.1" 461 | resolved "https://registry.yarnpkg.com/concat-map/-/concat-map-0.0.1.tgz#d8a96bd77fd68df7793a73036a3ba0d5405d477b" 462 | integrity sha1-2Klr13/Wjfd5OnMDajug1UBdR3s= 463 | 464 | consolidate@^0.15.1: 465 | version "0.15.1" 466 | resolved "https://registry.yarnpkg.com/consolidate/-/consolidate-0.15.1.tgz#21ab043235c71a07d45d9aad98593b0dba56bab7" 467 | integrity sha512-DW46nrsMJgy9kqAbPt5rKaCr7uFtpo4mSUvLHIUbJEjm0vo+aY5QLwBUq3FK4tRnJr/X0Psc0C4jf/h+HtXSMw== 468 | dependencies: 469 | bluebird "^3.1.1" 470 | 471 | constantinople@^4.0.1: 472 | version "4.0.1" 473 | resolved "https://registry.yarnpkg.com/constantinople/-/constantinople-4.0.1.tgz#0def113fa0e4dc8de83331a5cf79c8b325213151" 474 | integrity sha512-vCrqcSIq4//Gx74TXXCGnHpulY1dskqLTFGDmhrGxzeXL8lF8kvXv6mpNWlJj1uD4DW23D4ljAqbY4RRaaUZIw== 475 | dependencies: 476 | "@babel/parser" "^7.6.0" 477 | "@babel/types" "^7.6.1" 478 | 479 | copy-anything@^2.0.1: 480 | version "2.0.6" 481 | resolved "https://registry.yarnpkg.com/copy-anything/-/copy-anything-2.0.6.tgz#092454ea9584a7b7ad5573062b2a87f5900fc480" 482 | integrity sha512-1j20GZTsvKNkc4BY3NpMOM8tt///wY3FpIzozTOFO2ffuZcV61nojHXVKIy3WM+7ADCy5FVhdZYHYDdgTU0yJw== 483 | dependencies: 484 | is-what "^3.14.1" 485 | 486 | css-parse@~2.0.0: 487 | version "2.0.0" 488 | resolved "https://registry.yarnpkg.com/css-parse/-/css-parse-2.0.0.tgz#a468ee667c16d81ccf05c58c38d2a97c780dbfd4" 489 | integrity sha1-pGjuZnwW2BzPBcWMONKpfHgNv9Q= 490 | dependencies: 491 | css "^2.0.0" 492 | 493 | css-selector-tokenizer@^0.7.0: 494 | version "0.7.3" 495 | resolved "https://registry.yarnpkg.com/css-selector-tokenizer/-/css-selector-tokenizer-0.7.3.tgz#735f26186e67c749aaf275783405cf0661fae8f1" 496 | integrity sha512-jWQv3oCEL5kMErj4wRnK/OPoBi0D+P1FR2cDCKYPaMeD2eW3/mttav8HT4hT1CKopiJI/psEULjkClhvJo4Lvg== 497 | dependencies: 498 | cssesc "^3.0.0" 499 | fastparse "^1.1.2" 500 | 501 | css@^2.0.0: 502 | version "2.2.4" 503 | resolved "https://registry.yarnpkg.com/css/-/css-2.2.4.tgz#c646755c73971f2bba6a601e2cf2fd71b1298929" 504 | integrity sha512-oUnjmWpy0niI3x/mPL8dVEI1l7MnG3+HHyRPHf+YFSbK+svOhXpmSOcDURUh2aOCgl2grzrOPt1nHLuCVFULLw== 505 | dependencies: 506 | inherits "^2.0.3" 507 | source-map "^0.6.1" 508 | source-map-resolve "^0.5.2" 509 | urix "^0.1.0" 510 | 511 | cssesc@^3.0.0: 512 | version "3.0.0" 513 | resolved "https://registry.yarnpkg.com/cssesc/-/cssesc-3.0.0.tgz#37741919903b868565e1c09ea747445cd18983ee" 514 | integrity sha512-/Tb/JcjK111nNScGob5MNtsntNM1aCNUDipB/TkwZFhyDrrE47SOx/18wF2bbjgc3ZzCSKW1T5nt5EbFoAz/Vg== 515 | 516 | de-indent@^1.0.2: 517 | version "1.0.2" 518 | resolved "https://registry.yarnpkg.com/de-indent/-/de-indent-1.0.2.tgz#b2038e846dc33baa5796128d0804b455b8c1e21d" 519 | integrity sha1-sgOOhG3DO6pXlhKNCAS0VbjB4h0= 520 | 521 | debug@^4.3.2: 522 | version "4.3.4" 523 | resolved "https://registry.yarnpkg.com/debug/-/debug-4.3.4.tgz#1319f6579357f2338d3337d2cdd4914bb5dcc865" 524 | integrity sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ== 525 | dependencies: 526 | ms "2.1.2" 527 | 528 | debug@~3.1.0: 529 | version "3.1.0" 530 | resolved "https://registry.yarnpkg.com/debug/-/debug-3.1.0.tgz#5bb5a0672628b64149566ba16819e61518c67261" 531 | integrity sha512-OX8XqP7/1a9cqkxYw2yXss15f26NKWBpDXQd0/uK/KPqdQhxbPa994hnzjcE2VqQpDslf55723cKPUOGSmMY3g== 532 | dependencies: 533 | ms "2.0.0" 534 | 535 | decode-uri-component@^0.2.0: 536 | version "0.2.0" 537 | resolved "https://registry.yarnpkg.com/decode-uri-component/-/decode-uri-component-0.2.0.tgz#eb3913333458775cb84cd1a1fae062106bb87545" 538 | integrity sha1-6zkTMzRYd1y4TNGh+uBiEGu4dUU= 539 | 540 | deepmerge@^4.2.2: 541 | version "4.2.2" 542 | resolved "https://registry.yarnpkg.com/deepmerge/-/deepmerge-4.2.2.tgz#44d2ea3679b8f4d4ffba33f03d865fc1e7bf4955" 543 | integrity sha512-FJ3UgI4gIl+PHZm53knsuSFpE+nESMr7M4v9QcgB7S63Kj/6WqMiFQJpBBYz1Pt+66bZpP3Q7Lye0Oo9MPKEdg== 544 | 545 | dir-glob@^3.0.1: 546 | version "3.0.1" 547 | resolved "https://registry.yarnpkg.com/dir-glob/-/dir-glob-3.0.1.tgz#56dbf73d992a4a93ba1584f4534063fd2e41717f" 548 | integrity sha512-WkrWp9GR4KXfKGYzOLmTuGVi1UWFfws377n9cc55/tb6DuqyF6pcQ5AbiHEshaDpY9v6oaSr2XCDidGmMwdzIA== 549 | dependencies: 550 | path-type "^4.0.0" 551 | 552 | doctypes@^1.1.0: 553 | version "1.1.0" 554 | resolved "https://registry.yarnpkg.com/doctypes/-/doctypes-1.1.0.tgz#ea80b106a87538774e8a3a4a5afe293de489e0a9" 555 | integrity sha1-6oCxBqh1OHdOijpKWv4pPeSJ4Kk= 556 | 557 | emojis-list@^2.0.0: 558 | version "2.1.0" 559 | resolved "https://registry.yarnpkg.com/emojis-list/-/emojis-list-2.1.0.tgz#4daa4d9db00f9819880c79fa457ae5b09a1fd389" 560 | integrity sha1-TapNnbAPmBmIDHn6RXrlsJof04k= 561 | 562 | errno@^0.1.1: 563 | version "0.1.8" 564 | resolved "https://registry.yarnpkg.com/errno/-/errno-0.1.8.tgz#8bb3e9c7d463be4976ff888f76b4809ebc2e811f" 565 | integrity sha512-dJ6oBr5SQ1VSd9qkk7ByRgb/1SH4JZjCHSW/mr63/QcXO9zLVxvJ6Oy13nio03rxpSnVDDjFor75SjVeZWPW/A== 566 | dependencies: 567 | prr "~1.0.1" 568 | 569 | esbuild-android-64@0.14.36: 570 | version "0.14.36" 571 | resolved "https://registry.yarnpkg.com/esbuild-android-64/-/esbuild-android-64-0.14.36.tgz#fc5f95ce78c8c3d790fa16bc71bd904f2bb42aa1" 572 | integrity sha512-jwpBhF1jmo0tVCYC/ORzVN+hyVcNZUWuozGcLHfod0RJCedTDTvR4nwlTXdx1gtncDqjk33itjO+27OZHbiavw== 573 | 574 | esbuild-android-arm64@0.13.12: 575 | version "0.13.12" 576 | resolved "https://registry.yarnpkg.com/esbuild-android-arm64/-/esbuild-android-arm64-0.13.12.tgz#e1f199dc05405cdc6670c00fb6c793822bf8ae4c" 577 | integrity sha512-TSVZVrb4EIXz6KaYjXfTzPyyRpXV5zgYIADXtQsIenjZ78myvDGaPi11o4ZSaHIwFHsuwkB6ne5SZRBwAQ7maw== 578 | 579 | esbuild-android-arm64@0.14.36: 580 | version "0.14.36" 581 | resolved "https://registry.yarnpkg.com/esbuild-android-arm64/-/esbuild-android-arm64-0.14.36.tgz#44356fbb9f8de82a5cdf11849e011dfb3ad0a8a8" 582 | integrity sha512-/hYkyFe7x7Yapmfv4X/tBmyKnggUmdQmlvZ8ZlBnV4+PjisrEhAvC3yWpURuD9XoB8Wa1d5dGkTsF53pIvpjsg== 583 | 584 | esbuild-darwin-64@0.13.12: 585 | version "0.13.12" 586 | resolved "https://registry.yarnpkg.com/esbuild-darwin-64/-/esbuild-darwin-64-0.13.12.tgz#f5c59e622955c01f050e5a7ac9c1d41db714b94d" 587 | integrity sha512-c51C+N+UHySoV2lgfWSwwmlnLnL0JWj/LzuZt9Ltk9ub1s2Y8cr6SQV5W3mqVH1egUceew6KZ8GyI4nwu+fhsw== 588 | 589 | esbuild-darwin-64@0.14.36: 590 | version "0.14.36" 591 | resolved "https://registry.yarnpkg.com/esbuild-darwin-64/-/esbuild-darwin-64-0.14.36.tgz#3d9324b21489c70141665c2e740d6e84f16f725d" 592 | integrity sha512-kkl6qmV0dTpyIMKagluzYqlc1vO0ecgpviK/7jwPbRDEv5fejRTaBBEE2KxEQbTHcLhiiDbhG7d5UybZWo/1zQ== 593 | 594 | esbuild-darwin-arm64@0.13.12: 595 | version "0.13.12" 596 | resolved "https://registry.yarnpkg.com/esbuild-darwin-arm64/-/esbuild-darwin-arm64-0.13.12.tgz#8abae74c2956a8aa568fc52c78829338c4a4b988" 597 | integrity sha512-JvAMtshP45Hd8A8wOzjkY1xAnTKTYuP/QUaKp5eUQGX+76GIie3fCdUUr2ZEKdvpSImNqxiZSIMziEiGB5oUmQ== 598 | 599 | esbuild-darwin-arm64@0.14.36: 600 | version "0.14.36" 601 | resolved "https://registry.yarnpkg.com/esbuild-darwin-arm64/-/esbuild-darwin-arm64-0.14.36.tgz#2a8040c2e465131e5281034f3c72405e643cb7b2" 602 | integrity sha512-q8fY4r2Sx6P0Pr3VUm//eFYKVk07C5MHcEinU1BjyFnuYz4IxR/03uBbDwluR6ILIHnZTE7AkTUWIdidRi1Jjw== 603 | 604 | esbuild-freebsd-64@0.13.12: 605 | version "0.13.12" 606 | resolved "https://registry.yarnpkg.com/esbuild-freebsd-64/-/esbuild-freebsd-64-0.13.12.tgz#6ad2ab8c0364ee7dd2d6e324d876a8e60ae75d12" 607 | integrity sha512-r6On/Skv9f0ZjTu6PW5o7pdXr8aOgtFOEURJZYf1XAJs0IQ+gW+o1DzXjVkIoT+n1cm3N/t1KRJfX71MPg/ZUA== 608 | 609 | esbuild-freebsd-64@0.14.36: 610 | version "0.14.36" 611 | resolved "https://registry.yarnpkg.com/esbuild-freebsd-64/-/esbuild-freebsd-64-0.14.36.tgz#d82c387b4d01fe9e8631f97d41eb54f2dbeb68a3" 612 | integrity sha512-Hn8AYuxXXRptybPqoMkga4HRFE7/XmhtlQjXFHoAIhKUPPMeJH35GYEUWGbjteai9FLFvBAjEAlwEtSGxnqWww== 613 | 614 | esbuild-freebsd-arm64@0.13.12: 615 | version "0.13.12" 616 | resolved "https://registry.yarnpkg.com/esbuild-freebsd-arm64/-/esbuild-freebsd-arm64-0.13.12.tgz#6f38155f4c300ac4c8adde1fde3cc6a4440a8294" 617 | integrity sha512-F6LmI2Q1gii073kmBE3NOTt/6zLL5zvZsxNLF8PMAwdHc+iBhD1vzfI8uQZMJA1IgXa3ocr3L3DJH9fLGXy6Yw== 618 | 619 | esbuild-freebsd-arm64@0.14.36: 620 | version "0.14.36" 621 | resolved "https://registry.yarnpkg.com/esbuild-freebsd-arm64/-/esbuild-freebsd-arm64-0.14.36.tgz#e8ce2e6c697da6c7ecd0cc0ac821d47c5ab68529" 622 | integrity sha512-S3C0attylLLRiCcHiJd036eDEMOY32+h8P+jJ3kTcfhJANNjP0TNBNL30TZmEdOSx/820HJFgRrqpNAvTbjnDA== 623 | 624 | esbuild-linux-32@0.13.12: 625 | version "0.13.12" 626 | resolved "https://registry.yarnpkg.com/esbuild-linux-32/-/esbuild-linux-32-0.13.12.tgz#b1d15e330188a8c21de75c3f0058628a3eefade7" 627 | integrity sha512-U1UZwG3UIwF7/V4tCVAo/nkBV9ag5KJiJTt+gaCmLVWH3bPLX7y+fNlhIWZy8raTMnXhMKfaTvWZ9TtmXzvkuQ== 628 | 629 | esbuild-linux-32@0.14.36: 630 | version "0.14.36" 631 | resolved "https://registry.yarnpkg.com/esbuild-linux-32/-/esbuild-linux-32-0.14.36.tgz#a4a261e2af91986ea62451f2db712a556cb38a15" 632 | integrity sha512-Eh9OkyTrEZn9WGO4xkI3OPPpUX7p/3QYvdG0lL4rfr73Ap2HAr6D9lP59VMF64Ex01LhHSXwIsFG/8AQjh6eNw== 633 | 634 | esbuild-linux-64@0.13.12: 635 | version "0.13.12" 636 | resolved "https://registry.yarnpkg.com/esbuild-linux-64/-/esbuild-linux-64-0.13.12.tgz#25bd64b66162b02348e32d8f12e4c9ee61f1d070" 637 | integrity sha512-YpXSwtu2NxN3N4ifJxEdsgd6Q5d8LYqskrAwjmoCT6yQnEHJSF5uWcxv783HWN7lnGpJi9KUtDvYsnMdyGw71Q== 638 | 639 | esbuild-linux-64@0.14.36: 640 | version "0.14.36" 641 | resolved "https://registry.yarnpkg.com/esbuild-linux-64/-/esbuild-linux-64-0.14.36.tgz#4a9500f9197e2c8fcb884a511d2c9d4c2debde72" 642 | integrity sha512-vFVFS5ve7PuwlfgoWNyRccGDi2QTNkQo/2k5U5ttVD0jRFaMlc8UQee708fOZA6zTCDy5RWsT5MJw3sl2X6KDg== 643 | 644 | esbuild-linux-arm64@0.13.12: 645 | version "0.13.12" 646 | resolved "https://registry.yarnpkg.com/esbuild-linux-arm64/-/esbuild-linux-arm64-0.13.12.tgz#ba582298457cc5c9ac823a275de117620c06537f" 647 | integrity sha512-sgDNb8kb3BVodtAlcFGgwk+43KFCYjnFOaOfJibXnnIojNWuJHpL6aQJ4mumzNWw8Rt1xEtDQyuGK9f+Y24jGA== 648 | 649 | esbuild-linux-arm64@0.14.36: 650 | version "0.14.36" 651 | resolved "https://registry.yarnpkg.com/esbuild-linux-arm64/-/esbuild-linux-arm64-0.14.36.tgz#c91c21e25b315464bd7da867365dd1dae14ca176" 652 | integrity sha512-24Vq1M7FdpSmaTYuu1w0Hdhiqkbto1I5Pjyi+4Cdw5fJKGlwQuw+hWynTcRI/cOZxBcBpP21gND7W27gHAiftw== 653 | 654 | esbuild-linux-arm@0.13.12: 655 | version "0.13.12" 656 | resolved "https://registry.yarnpkg.com/esbuild-linux-arm/-/esbuild-linux-arm-0.13.12.tgz#6bc81c957bff22725688cc6359c29a25765be09b" 657 | integrity sha512-SyiT/JKxU6J+DY2qUiSLZJqCAftIt3uoGejZ0HDnUM2MGJqEGSGh7p1ecVL2gna3PxS4P+j6WAehCwgkBPXNIw== 658 | 659 | esbuild-linux-arm@0.14.36: 660 | version "0.14.36" 661 | resolved "https://registry.yarnpkg.com/esbuild-linux-arm/-/esbuild-linux-arm-0.14.36.tgz#90e23bca2e6e549affbbe994f80ba3bb6c4d934a" 662 | integrity sha512-NhgU4n+NCsYgt7Hy61PCquEz5aevI6VjQvxwBxtxrooXsxt5b2xtOUXYZe04JxqQo+XZk3d1gcr7pbV9MAQ/Lg== 663 | 664 | esbuild-linux-mips64le@0.13.12: 665 | version "0.13.12" 666 | resolved "https://registry.yarnpkg.com/esbuild-linux-mips64le/-/esbuild-linux-mips64le-0.13.12.tgz#ef3c4aba3e585d847cbade5945a8b4a5c62c7ce2" 667 | integrity sha512-qQJHlZBG+QwVIA8AbTEtbvF084QgDi4DaUsUnA+EolY1bxrG+UyOuGflM2ZritGhfS/k7THFjJbjH2wIeoKA2g== 668 | 669 | esbuild-linux-mips64le@0.14.36: 670 | version "0.14.36" 671 | resolved "https://registry.yarnpkg.com/esbuild-linux-mips64le/-/esbuild-linux-mips64le-0.14.36.tgz#40e11afb08353ff24709fc89e4db0f866bc131d2" 672 | integrity sha512-hZUeTXvppJN+5rEz2EjsOFM9F1bZt7/d2FUM1lmQo//rXh1RTFYzhC0txn7WV0/jCC7SvrGRaRz0NMsRPf8SIA== 673 | 674 | esbuild-linux-ppc64le@0.13.12: 675 | version "0.13.12" 676 | resolved "https://registry.yarnpkg.com/esbuild-linux-ppc64le/-/esbuild-linux-ppc64le-0.13.12.tgz#a21fb64e80c38bef06122e48283990fc6db578e1" 677 | integrity sha512-2dSnm1ldL7Lppwlo04CGQUpwNn5hGqXI38OzaoPOkRsBRWFBozyGxTFSee/zHFS+Pdh3b28JJbRK3owrrRgWNw== 678 | 679 | esbuild-linux-ppc64le@0.14.36: 680 | version "0.14.36" 681 | resolved "https://registry.yarnpkg.com/esbuild-linux-ppc64le/-/esbuild-linux-ppc64le-0.14.36.tgz#9e8a588c513d06cc3859f9dcc52e5fdfce8a1a5e" 682 | integrity sha512-1Bg3QgzZjO+QtPhP9VeIBhAduHEc2kzU43MzBnMwpLSZ890azr4/A9Dganun8nsqD/1TBcqhId0z4mFDO8FAvg== 683 | 684 | esbuild-linux-riscv64@0.14.36: 685 | version "0.14.36" 686 | resolved "https://registry.yarnpkg.com/esbuild-linux-riscv64/-/esbuild-linux-riscv64-0.14.36.tgz#e578c09b23b3b97652e60e3692bfda628b541f06" 687 | integrity sha512-dOE5pt3cOdqEhaufDRzNCHf5BSwxgygVak9UR7PH7KPVHwSTDAZHDoEjblxLqjJYpc5XaU9+gKJ9F8mp9r5I4A== 688 | 689 | esbuild-linux-s390x@0.14.36: 690 | version "0.14.36" 691 | resolved "https://registry.yarnpkg.com/esbuild-linux-s390x/-/esbuild-linux-s390x-0.14.36.tgz#3c9dab40d0d69932ffded0fd7317bb403626c9bc" 692 | integrity sha512-g4FMdh//BBGTfVHjF6MO7Cz8gqRoDPzXWxRvWkJoGroKA18G9m0wddvPbEqcQf5Tbt2vSc1CIgag7cXwTmoTXg== 693 | 694 | esbuild-netbsd-64@0.13.12: 695 | version "0.13.12" 696 | resolved "https://registry.yarnpkg.com/esbuild-netbsd-64/-/esbuild-netbsd-64-0.13.12.tgz#1ea7fc8cfce88a20a4047b867ef184049a6641ae" 697 | integrity sha512-D4raxr02dcRiQNbxOLzpqBzcJNFAdsDNxjUbKkDMZBkL54Z0vZh4LRndycdZAMcIdizC/l/Yp/ZsBdAFxc5nbA== 698 | 699 | esbuild-netbsd-64@0.14.36: 700 | version "0.14.36" 701 | resolved "https://registry.yarnpkg.com/esbuild-netbsd-64/-/esbuild-netbsd-64-0.14.36.tgz#e27847f6d506218291619b8c1e121ecd97628494" 702 | integrity sha512-UB2bVImxkWk4vjnP62ehFNZ73lQY1xcnL5ZNYF3x0AG+j8HgdkNF05v67YJdCIuUJpBuTyCK8LORCYo9onSW+A== 703 | 704 | esbuild-openbsd-64@0.13.12: 705 | version "0.13.12" 706 | resolved "https://registry.yarnpkg.com/esbuild-openbsd-64/-/esbuild-openbsd-64-0.13.12.tgz#adde32f2f1b05dc4bd4fc544d6ea5a4379f9ca4d" 707 | integrity sha512-KuLCmYMb2kh05QuPJ+va60bKIH5wHL8ypDkmpy47lzwmdxNsuySeCMHuTv5o2Af1RUn5KLO5ZxaZeq4GEY7DaQ== 708 | 709 | esbuild-openbsd-64@0.14.36: 710 | version "0.14.36" 711 | resolved "https://registry.yarnpkg.com/esbuild-openbsd-64/-/esbuild-openbsd-64-0.14.36.tgz#c94c04c557fae516872a586eae67423da6d2fabb" 712 | integrity sha512-NvGB2Chf8GxuleXRGk8e9zD3aSdRO5kLt9coTQbCg7WMGXeX471sBgh4kSg8pjx0yTXRt0MlrUDnjVYnetyivg== 713 | 714 | esbuild-sass-plugin@^2.2.6: 715 | version "2.2.6" 716 | resolved "https://registry.yarnpkg.com/esbuild-sass-plugin/-/esbuild-sass-plugin-2.2.6.tgz#9010efbd1ee4b899a335e80cbacf3cfee4a6b75a" 717 | integrity sha512-WVREJhOS6UlZNoS2FhkOA5980VVKjS6ocUK7YFghJt/94rWDNXxPI+XfkOKlSMbJF/n5wAotr37P8/9KhgkgPQ== 718 | dependencies: 719 | esbuild "^0.14.13" 720 | sass "^1.49.0" 721 | 722 | esbuild-sunos-64@0.13.12: 723 | version "0.13.12" 724 | resolved "https://registry.yarnpkg.com/esbuild-sunos-64/-/esbuild-sunos-64-0.13.12.tgz#a7ecaf52b7364fbee76dc8aa707fa3e1cff3342c" 725 | integrity sha512-jBsF+e0woK3miKI8ufGWKG3o3rY9DpHvCVRn5eburMIIE+2c+y3IZ1srsthKyKI6kkXLvV4Cf/E7w56kLipMXw== 726 | 727 | esbuild-sunos-64@0.14.36: 728 | version "0.14.36" 729 | resolved "https://registry.yarnpkg.com/esbuild-sunos-64/-/esbuild-sunos-64-0.14.36.tgz#9b79febc0df65a30f1c9bd63047d1675511bf99d" 730 | integrity sha512-VkUZS5ftTSjhRjuRLp+v78auMO3PZBXu6xl4ajomGenEm2/rGuWlhFSjB7YbBNErOchj51Jb2OK8lKAo8qdmsQ== 731 | 732 | esbuild-vue@^1.2.1: 733 | version "1.2.1" 734 | resolved "https://registry.yarnpkg.com/esbuild-vue/-/esbuild-vue-1.2.1.tgz#8ce445bdd8a62cef13a34e7c4932a64779998ad4" 735 | integrity sha512-Dp9aGsi9WabwFOUg6vyRAD3U8Lqw7fd8hbJs+htvk1ywYjNSUfTWhLw3LRBvzP++uR0u/Uhb7BB/Zkv2KA7quw== 736 | dependencies: 737 | "@vue/component-compiler" "^4.2.4" 738 | lodash.escaperegexp "^4.1.2" 739 | piscina "^2.2.0" 740 | postcss ">=6.0.0" 741 | 742 | esbuild-windows-32@0.13.12: 743 | version "0.13.12" 744 | resolved "https://registry.yarnpkg.com/esbuild-windows-32/-/esbuild-windows-32-0.13.12.tgz#a8756033dc905c4b7bea19be69f7ee68809f8770" 745 | integrity sha512-L9m4lLFQrFeR7F+eLZXG82SbXZfUhyfu6CexZEil6vm+lc7GDCE0Q8DiNutkpzjv1+RAbIGVva9muItQ7HVTkQ== 746 | 747 | esbuild-windows-32@0.14.36: 748 | version "0.14.36" 749 | resolved "https://registry.yarnpkg.com/esbuild-windows-32/-/esbuild-windows-32-0.14.36.tgz#910d11936c8d2122ffdd3275e5b28d8a4e1240ec" 750 | integrity sha512-bIar+A6hdytJjZrDxfMBUSEHHLfx3ynoEZXx/39nxy86pX/w249WZm8Bm0dtOAByAf4Z6qV0LsnTIJHiIqbw0w== 751 | 752 | esbuild-windows-64@0.13.12: 753 | version "0.13.12" 754 | resolved "https://registry.yarnpkg.com/esbuild-windows-64/-/esbuild-windows-64-0.13.12.tgz#ae694aa66ca078acb8509b2da31197ed1f40f798" 755 | integrity sha512-k4tX4uJlSbSkfs78W5d9+I9gpd+7N95W7H2bgOMFPsYREVJs31+Q2gLLHlsnlY95zBoPQMIzHooUIsixQIBjaQ== 756 | 757 | esbuild-windows-64@0.14.36: 758 | version "0.14.36" 759 | resolved "https://registry.yarnpkg.com/esbuild-windows-64/-/esbuild-windows-64-0.14.36.tgz#21b4ce8b42a4efc63f4b58ec617f1302448aad26" 760 | integrity sha512-+p4MuRZekVChAeueT1Y9LGkxrT5x7YYJxYE8ZOTcEfeUUN43vktSn6hUNsvxzzATrSgq5QqRdllkVBxWZg7KqQ== 761 | 762 | esbuild-windows-arm64@0.13.12: 763 | version "0.13.12" 764 | resolved "https://registry.yarnpkg.com/esbuild-windows-arm64/-/esbuild-windows-arm64-0.13.12.tgz#782c5a8bd6d717ea55aaafe648f9926ca36a4a88" 765 | integrity sha512-2tTv/BpYRIvuwHpp2M960nG7uvL+d78LFW/ikPItO+2GfK51CswIKSetSpDii+cjz8e9iSPgs+BU4o8nWICBwQ== 766 | 767 | esbuild-windows-arm64@0.14.36: 768 | version "0.14.36" 769 | resolved "https://registry.yarnpkg.com/esbuild-windows-arm64/-/esbuild-windows-arm64-0.14.36.tgz#ba21546fecb7297667d0052d00150de22c044b24" 770 | integrity sha512-fBB4WlDqV1m18EF/aheGYQkQZHfPHiHJSBYzXIo8yKehek+0BtBwo/4PNwKGJ5T0YK0oc8pBKjgwPbzSrPLb+Q== 771 | 772 | esbuild@0.13.12: 773 | version "0.13.12" 774 | resolved "https://registry.yarnpkg.com/esbuild/-/esbuild-0.13.12.tgz#9cac641594bf03cf34145258c093d743ebbde7ca" 775 | integrity sha512-vTKKUt+yoz61U/BbrnmlG9XIjwpdIxmHB8DlPR0AAW6OdS+nBQBci6LUHU2q9WbBobMEIQxxDpKbkmOGYvxsow== 776 | optionalDependencies: 777 | esbuild-android-arm64 "0.13.12" 778 | esbuild-darwin-64 "0.13.12" 779 | esbuild-darwin-arm64 "0.13.12" 780 | esbuild-freebsd-64 "0.13.12" 781 | esbuild-freebsd-arm64 "0.13.12" 782 | esbuild-linux-32 "0.13.12" 783 | esbuild-linux-64 "0.13.12" 784 | esbuild-linux-arm "0.13.12" 785 | esbuild-linux-arm64 "0.13.12" 786 | esbuild-linux-mips64le "0.13.12" 787 | esbuild-linux-ppc64le "0.13.12" 788 | esbuild-netbsd-64 "0.13.12" 789 | esbuild-openbsd-64 "0.13.12" 790 | esbuild-sunos-64 "0.13.12" 791 | esbuild-windows-32 "0.13.12" 792 | esbuild-windows-64 "0.13.12" 793 | esbuild-windows-arm64 "0.13.12" 794 | 795 | esbuild@^0.14.13: 796 | version "0.14.36" 797 | resolved "https://registry.yarnpkg.com/esbuild/-/esbuild-0.14.36.tgz#0023a73eab57886ac5605df16ee421e471a971b3" 798 | integrity sha512-HhFHPiRXGYOCRlrhpiVDYKcFJRdO0sBElZ668M4lh2ER0YgnkLxECuFe7uWCf23FrcLc59Pqr7dHkTqmRPDHmw== 799 | optionalDependencies: 800 | esbuild-android-64 "0.14.36" 801 | esbuild-android-arm64 "0.14.36" 802 | esbuild-darwin-64 "0.14.36" 803 | esbuild-darwin-arm64 "0.14.36" 804 | esbuild-freebsd-64 "0.14.36" 805 | esbuild-freebsd-arm64 "0.14.36" 806 | esbuild-linux-32 "0.14.36" 807 | esbuild-linux-64 "0.14.36" 808 | esbuild-linux-arm "0.14.36" 809 | esbuild-linux-arm64 "0.14.36" 810 | esbuild-linux-mips64le "0.14.36" 811 | esbuild-linux-ppc64le "0.14.36" 812 | esbuild-linux-riscv64 "0.14.36" 813 | esbuild-linux-s390x "0.14.36" 814 | esbuild-netbsd-64 "0.14.36" 815 | esbuild-openbsd-64 "0.14.36" 816 | esbuild-sunos-64 "0.14.36" 817 | esbuild-windows-32 "0.14.36" 818 | esbuild-windows-64 "0.14.36" 819 | esbuild-windows-arm64 "0.14.36" 820 | 821 | escape-string-regexp@^1.0.2, escape-string-regexp@^1.0.5: 822 | version "1.0.5" 823 | resolved "https://registry.yarnpkg.com/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz#1b61c0562190a8dff6ae3bb2cf0200ca130b86d4" 824 | integrity sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ= 825 | 826 | eslint-scope@^5.1.1: 827 | version "5.1.1" 828 | resolved "https://registry.yarnpkg.com/eslint-scope/-/eslint-scope-5.1.1.tgz#e786e59a66cb92b3f6c1fb0d508aab174848f48c" 829 | integrity sha512-2NxwbF/hZ0KpepYN0cNbo+FN6XoK7GaHlQhgx/hIZl6Va0bF45RQOOwhLIy8lQDbuCiadSLCBnH2CFYquit5bw== 830 | dependencies: 831 | esrecurse "^4.3.0" 832 | estraverse "^4.1.1" 833 | 834 | eslint-utils@^3.0.0: 835 | version "3.0.0" 836 | resolved "https://registry.yarnpkg.com/eslint-utils/-/eslint-utils-3.0.0.tgz#8aebaface7345bb33559db0a1f13a1d2d48c3672" 837 | integrity sha512-uuQC43IGctw68pJA1RgbQS8/NP7rch6Cwd4j3ZBtgo4/8Flj4eGE7ZYSZRN3iq5pVUv6GPdW5Z1RFleo84uLDA== 838 | dependencies: 839 | eslint-visitor-keys "^2.0.0" 840 | 841 | eslint-visitor-keys@^2.0.0: 842 | version "2.1.0" 843 | resolved "https://registry.yarnpkg.com/eslint-visitor-keys/-/eslint-visitor-keys-2.1.0.tgz#f65328259305927392c938ed44eb0a5c9b2bd303" 844 | integrity sha512-0rSmRBzXgDzIsD6mGdJgevzgezI534Cer5L/vyMX0kHzT/jiB43jRhd9YUlMGYLQy2zprNmoT8qasCGtY+QaKw== 845 | 846 | eslint-visitor-keys@^3.0.0: 847 | version "3.3.0" 848 | resolved "https://registry.yarnpkg.com/eslint-visitor-keys/-/eslint-visitor-keys-3.3.0.tgz#f6480fa6b1f30efe2d1968aa8ac745b862469826" 849 | integrity sha512-mQ+suqKJVyeuwGYHAdjMFqjCyfl8+Ldnxuyp3ldiMBFKkvytrXUZWaiPCEav8qDHKty44bD+qV1IP4T+w+xXRA== 850 | 851 | esrecurse@^4.3.0: 852 | version "4.3.0" 853 | resolved "https://registry.yarnpkg.com/esrecurse/-/esrecurse-4.3.0.tgz#7ad7964d679abb28bee72cec63758b1c5d2c9921" 854 | integrity sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag== 855 | dependencies: 856 | estraverse "^5.2.0" 857 | 858 | estraverse@^4.1.1: 859 | version "4.3.0" 860 | resolved "https://registry.yarnpkg.com/estraverse/-/estraverse-4.3.0.tgz#398ad3f3c5a24948be7725e83d11a7de28cdbd1d" 861 | integrity sha512-39nnKffWz8xN1BU/2c79n9nB9HDzo0niYUqx6xyqUnyoAnQyyWpOTdZEeiCch8BBu515t4wp9ZmgVfVhn9EBpw== 862 | 863 | estraverse@^5.2.0: 864 | version "5.3.0" 865 | resolved "https://registry.yarnpkg.com/estraverse/-/estraverse-5.3.0.tgz#2eea5290702f26ab8fe5370370ff86c965d21123" 866 | integrity sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA== 867 | 868 | estree-walker@^2.0.2: 869 | version "2.0.2" 870 | resolved "https://registry.yarnpkg.com/estree-walker/-/estree-walker-2.0.2.tgz#52f010178c2a4c117a7757cfe942adb7d2da4cac" 871 | integrity sha512-Rfkk/Mp/DL7JVje3u18FxFujQlTNR2q6QfMSMB7AvCBx91NGj/ba3kCfza0f6dVDbw7YlRf/nDrn7pQrCCyQ/w== 872 | 873 | eventemitter-asyncresource@^1.0.0: 874 | version "1.0.0" 875 | resolved "https://registry.yarnpkg.com/eventemitter-asyncresource/-/eventemitter-asyncresource-1.0.0.tgz#734ff2e44bf448e627f7748f905d6bdd57bdb65b" 876 | integrity sha512-39F7TBIV0G7gTelxwbEqnwhp90eqCPON1k0NwNfwhgKn4Co4ybUbj2pECcXT0B3ztRKZ7Pw1JujUUgmQJHcVAQ== 877 | 878 | fast-glob@^3.2.9: 879 | version "3.2.11" 880 | resolved "https://registry.yarnpkg.com/fast-glob/-/fast-glob-3.2.11.tgz#a1172ad95ceb8a16e20caa5c5e56480e5129c1d9" 881 | integrity sha512-xrO3+1bxSo3ZVHAnqzyuewYT6aMFHRAd4Kcs92MAonjwQZLsK9d0SF1IyQ3k5PoirxTW0Oe/RqFgMQ6TcNE5Ew== 882 | dependencies: 883 | "@nodelib/fs.stat" "^2.0.2" 884 | "@nodelib/fs.walk" "^1.2.3" 885 | glob-parent "^5.1.2" 886 | merge2 "^1.3.0" 887 | micromatch "^4.0.4" 888 | 889 | fastparse@^1.1.2: 890 | version "1.1.2" 891 | resolved "https://registry.yarnpkg.com/fastparse/-/fastparse-1.1.2.tgz#91728c5a5942eced8531283c79441ee4122c35a9" 892 | integrity sha512-483XLLxTVIwWK3QTrMGRqUfUpoOs/0hbQrl2oz4J0pAcm3A3bu84wxTFqGqkJzewCLdME38xJLJAxBABfQT8sQ== 893 | 894 | fastq@^1.6.0: 895 | version "1.13.0" 896 | resolved "https://registry.yarnpkg.com/fastq/-/fastq-1.13.0.tgz#616760f88a7526bdfc596b7cab8c18938c36b98c" 897 | integrity sha512-YpkpUnK8od0o1hmeSc7UUs/eB/vIPWJYjKck2QKIzAf71Vm1AAQ3EbuZB3g2JIy+pg+ERD0vqI79KyZiB2e2Nw== 898 | dependencies: 899 | reusify "^1.0.4" 900 | 901 | fill-range@^7.0.1: 902 | version "7.0.1" 903 | resolved "https://registry.yarnpkg.com/fill-range/-/fill-range-7.0.1.tgz#1919a6a7c75fe38b2c7c77e5198535da9acdda40" 904 | integrity sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ== 905 | dependencies: 906 | to-regex-range "^5.0.1" 907 | 908 | fs.realpath@^1.0.0: 909 | version "1.0.0" 910 | resolved "https://registry.yarnpkg.com/fs.realpath/-/fs.realpath-1.0.0.tgz#1504ad2523158caa40db4a2787cb01411994ea4f" 911 | integrity sha1-FQStJSMVjKpA20onh8sBQRmU6k8= 912 | 913 | fsevents@~2.3.2: 914 | version "2.3.2" 915 | resolved "https://registry.yarnpkg.com/fsevents/-/fsevents-2.3.2.tgz#8a526f78b8fdf4623b709e0b975c52c24c02fd1a" 916 | integrity sha512-xiqMQR4xAeHTuB9uWm+fFRcIOgKBMiOBP+eXiyT7jsgVCq1bkVygt00oASowB7EdtpOHaaPgKt812P9ab+DDKA== 917 | 918 | function-bind@^1.1.1: 919 | version "1.1.1" 920 | resolved "https://registry.yarnpkg.com/function-bind/-/function-bind-1.1.1.tgz#a56899d3ea3c9bab874bb9773b7c5ede92f4895d" 921 | integrity sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A== 922 | 923 | functional-red-black-tree@^1.0.1: 924 | version "1.0.1" 925 | resolved "https://registry.yarnpkg.com/functional-red-black-tree/-/functional-red-black-tree-1.0.1.tgz#1b0ab3bd553b2a0d6399d29c0e3ea0b252078327" 926 | integrity sha1-GwqzvVU7Kg1jmdKcDj6gslIHgyc= 927 | 928 | generic-names@^1.0.2: 929 | version "1.0.3" 930 | resolved "https://registry.yarnpkg.com/generic-names/-/generic-names-1.0.3.tgz#2d786a121aee508876796939e8e3bff836c20917" 931 | integrity sha1-LXhqEhruUIh2eWk56OO/+DbCCRc= 932 | dependencies: 933 | loader-utils "^0.2.16" 934 | 935 | get-intrinsic@^1.0.2: 936 | version "1.1.1" 937 | resolved "https://registry.yarnpkg.com/get-intrinsic/-/get-intrinsic-1.1.1.tgz#15f59f376f855c446963948f0d24cd3637b4abc6" 938 | integrity sha512-kWZrnVM42QCiEA2Ig1bG8zjoIMOgxWwYCEeNdwY6Tv/cOSeGpcoX4pXHfKUxNKVoArnrEr2e9srnAxxGIraS9Q== 939 | dependencies: 940 | function-bind "^1.1.1" 941 | has "^1.0.3" 942 | has-symbols "^1.0.1" 943 | 944 | glob-parent@^5.1.2, glob-parent@~5.1.2: 945 | version "5.1.2" 946 | resolved "https://registry.yarnpkg.com/glob-parent/-/glob-parent-5.1.2.tgz#869832c58034fe68a4093c17dc15e8340d8401c4" 947 | integrity sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow== 948 | dependencies: 949 | is-glob "^4.0.1" 950 | 951 | glob@^7.1.6: 952 | version "7.2.0" 953 | resolved "https://registry.yarnpkg.com/glob/-/glob-7.2.0.tgz#d15535af7732e02e948f4c41628bd910293f6023" 954 | integrity sha512-lmLf6gtyrPq8tTjSmrO94wBeQbFR3HbLHbuyD69wuyQkImp2hWqMGB47OX65FBkPffO641IP9jWa1z4ivqG26Q== 955 | dependencies: 956 | fs.realpath "^1.0.0" 957 | inflight "^1.0.4" 958 | inherits "2" 959 | minimatch "^3.0.4" 960 | once "^1.3.0" 961 | path-is-absolute "^1.0.0" 962 | 963 | globby@^11.0.4: 964 | version "11.1.0" 965 | resolved "https://registry.yarnpkg.com/globby/-/globby-11.1.0.tgz#bd4be98bb042f83d796f7e3811991fbe82a0d34b" 966 | integrity sha512-jhIXaOzy1sb8IyocaruWSn1TjmnBVs8Ayhcy83rmxNJ8q2uWKCAj3CnJY+KpGSXCueAPc0i05kVvVKtP1t9S3g== 967 | dependencies: 968 | array-union "^2.1.0" 969 | dir-glob "^3.0.1" 970 | fast-glob "^3.2.9" 971 | ignore "^5.2.0" 972 | merge2 "^1.4.1" 973 | slash "^3.0.0" 974 | 975 | graceful-fs@^4.1.2: 976 | version "4.2.10" 977 | resolved "https://registry.yarnpkg.com/graceful-fs/-/graceful-fs-4.2.10.tgz#147d3a006da4ca3ce14728c7aefc287c367d7a6c" 978 | integrity sha512-9ByhssR2fPVsNZj478qUUbKfmL0+t5BDVyjShtyZZLiK7ZDAArFFfopyOTj0M05wE2tJPisA4iTnnXl2YoPvOA== 979 | 980 | has-ansi@^2.0.0: 981 | version "2.0.0" 982 | resolved "https://registry.yarnpkg.com/has-ansi/-/has-ansi-2.0.0.tgz#34f5049ce1ecdf2b0649af3ef24e45ed35416d91" 983 | integrity sha1-NPUEnOHs3ysGSa8+8k5F7TVBbZE= 984 | dependencies: 985 | ansi-regex "^2.0.0" 986 | 987 | has-flag@^1.0.0: 988 | version "1.0.0" 989 | resolved "https://registry.yarnpkg.com/has-flag/-/has-flag-1.0.0.tgz#9d9e793165ce017a00f00418c43f942a7b1d11fa" 990 | integrity sha1-nZ55MWXOAXoA8AQYxD+UKnsdEfo= 991 | 992 | has-flag@^3.0.0: 993 | version "3.0.0" 994 | resolved "https://registry.yarnpkg.com/has-flag/-/has-flag-3.0.0.tgz#b5d454dc2199ae225699f3467e5a07f3b955bafd" 995 | integrity sha1-tdRU3CGZriJWmfNGfloH87lVuv0= 996 | 997 | has-symbols@^1.0.1, has-symbols@^1.0.2: 998 | version "1.0.3" 999 | resolved "https://registry.yarnpkg.com/has-symbols/-/has-symbols-1.0.3.tgz#bb7b2c4349251dce87b125f7bdf874aa7c8b39f8" 1000 | integrity sha512-l3LCuF6MgDNwTDKkdYGEihYjt5pRPbEg46rtlmnSPlUbgmB8LOIrKJbYYFBSbnPaJexMKtiPO8hmeRjRz2Td+A== 1001 | 1002 | has-tostringtag@^1.0.0: 1003 | version "1.0.0" 1004 | resolved "https://registry.yarnpkg.com/has-tostringtag/-/has-tostringtag-1.0.0.tgz#7e133818a7d394734f941e73c3d3f9291e658b25" 1005 | integrity sha512-kFjcSNhnlGV1kyoGk7OXKSawH5JOb/LzUc5w9B02hOTO0dfFRjbHQKvg1d6cf3HbeUmtU9VbbV3qzZ2Teh97WQ== 1006 | dependencies: 1007 | has-symbols "^1.0.2" 1008 | 1009 | has@^1.0.3: 1010 | version "1.0.3" 1011 | resolved "https://registry.yarnpkg.com/has/-/has-1.0.3.tgz#722d7cbfc1f6aa8241f16dd814e011e1f41e8796" 1012 | integrity sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw== 1013 | dependencies: 1014 | function-bind "^1.1.1" 1015 | 1016 | hash-sum@^1.0.2: 1017 | version "1.0.2" 1018 | resolved "https://registry.yarnpkg.com/hash-sum/-/hash-sum-1.0.2.tgz#33b40777754c6432573c120cc3808bbd10d47f04" 1019 | integrity sha1-M7QHd3VMZDJXPBIMw4CLvRDUfwQ= 1020 | 1021 | hdr-histogram-js@^2.0.1: 1022 | version "2.0.3" 1023 | resolved "https://registry.yarnpkg.com/hdr-histogram-js/-/hdr-histogram-js-2.0.3.tgz#0b860534655722b6e3f3e7dca7b78867cf43dcb5" 1024 | integrity sha512-Hkn78wwzWHNCp2uarhzQ2SGFLU3JY8SBDDd3TAABK4fc30wm+MuPOrg5QVFVfkKOQd6Bfz3ukJEI+q9sXEkK1g== 1025 | dependencies: 1026 | "@assemblyscript/loader" "^0.10.1" 1027 | base64-js "^1.2.0" 1028 | pako "^1.0.3" 1029 | 1030 | hdr-histogram-percentiles-obj@^3.0.0: 1031 | version "3.0.0" 1032 | resolved "https://registry.yarnpkg.com/hdr-histogram-percentiles-obj/-/hdr-histogram-percentiles-obj-3.0.0.tgz#9409f4de0c2dda78e61de2d9d78b1e9f3cba283c" 1033 | integrity sha512-7kIufnBqdsBGcSZLPJwqHT3yhk1QTsSlFsVD3kx5ixH/AlgBs9yM1q6DPhXZ8f8gtdqgh7N7/5btRLpQsS2gHw== 1034 | 1035 | he@^1.1.0: 1036 | version "1.2.0" 1037 | resolved "https://registry.yarnpkg.com/he/-/he-1.2.0.tgz#84ae65fa7eafb165fddb61566ae14baf05664f0f" 1038 | integrity sha512-F/1DnUGPopORZi0ni+CvrCgHQ5FyEAHRLSApuYWMmrbSwoN2Mn/7k+Gl38gJnR7yyDZk6WLXwiGod1JOWNDKGw== 1039 | 1040 | icss-replace-symbols@^1.0.2: 1041 | version "1.1.0" 1042 | resolved "https://registry.yarnpkg.com/icss-replace-symbols/-/icss-replace-symbols-1.1.0.tgz#06ea6f83679a7749e386cfe1fe812ae5db223ded" 1043 | integrity sha1-Bupvg2ead0njhs/h/oEq5dsiPe0= 1044 | 1045 | ignore@^5.1.8, ignore@^5.2.0: 1046 | version "5.2.0" 1047 | resolved "https://registry.yarnpkg.com/ignore/-/ignore-5.2.0.tgz#6d3bac8fa7fe0d45d9f9be7bac2fc279577e345a" 1048 | integrity sha512-CmxgYGiEPCLhfLnpPp1MoRmifwEIOgjcHXxOBjv7mY96c+eWScsOP9c112ZyLdWHi0FxHjI+4uVhKYp/gcdRmQ== 1049 | 1050 | image-size@~0.5.0: 1051 | version "0.5.5" 1052 | resolved "https://registry.yarnpkg.com/image-size/-/image-size-0.5.5.tgz#09dfd4ab9d20e29eb1c3e80b8990378df9e3cb9c" 1053 | integrity sha1-Cd/Uq50g4p6xw+gLiZA3jfnjy5w= 1054 | 1055 | immutable@^4.0.0: 1056 | version "4.0.0" 1057 | resolved "https://registry.yarnpkg.com/immutable/-/immutable-4.0.0.tgz#b86f78de6adef3608395efb269a91462797e2c23" 1058 | integrity sha512-zIE9hX70qew5qTUjSS7wi1iwj/l7+m54KWU247nhM3v806UdGj1yDndXj+IOYxxtW9zyLI+xqFNZjTuDaLUqFw== 1059 | 1060 | inflight@^1.0.4: 1061 | version "1.0.6" 1062 | resolved "https://registry.yarnpkg.com/inflight/-/inflight-1.0.6.tgz#49bd6331d7d02d0c09bc910a1075ba8165b56df9" 1063 | integrity sha1-Sb1jMdfQLQwJvJEKEHW6gWW1bfk= 1064 | dependencies: 1065 | once "^1.3.0" 1066 | wrappy "1" 1067 | 1068 | inherits@2, inherits@^2.0.3: 1069 | version "2.0.4" 1070 | resolved "https://registry.yarnpkg.com/inherits/-/inherits-2.0.4.tgz#0fa2c64f932917c3433a0ded55363aae37416b7c" 1071 | integrity sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ== 1072 | 1073 | is-binary-path@~2.1.0: 1074 | version "2.1.0" 1075 | resolved "https://registry.yarnpkg.com/is-binary-path/-/is-binary-path-2.1.0.tgz#ea1f7f3b80f064236e83470f86c09c254fb45b09" 1076 | integrity sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw== 1077 | dependencies: 1078 | binary-extensions "^2.0.0" 1079 | 1080 | is-core-module@^2.8.1: 1081 | version "2.9.0" 1082 | resolved "https://registry.yarnpkg.com/is-core-module/-/is-core-module-2.9.0.tgz#e1c34429cd51c6dd9e09e0799e396e27b19a9c69" 1083 | integrity sha512-+5FPy5PnwmO3lvfMb0AsoPaBG+5KHUI0wYFXOtYPnVVVspTFUuMZNfNaNVRt3FZadstu2c8x23vykRW/NBoU6A== 1084 | dependencies: 1085 | has "^1.0.3" 1086 | 1087 | is-expression@^4.0.0: 1088 | version "4.0.0" 1089 | resolved "https://registry.yarnpkg.com/is-expression/-/is-expression-4.0.0.tgz#c33155962abf21d0afd2552514d67d2ec16fd2ab" 1090 | integrity sha512-zMIXX63sxzG3XrkHkrAPvm/OVZVSCPNkwMHU8oTX7/U3AL78I0QXCEICXUM13BIa8TYGZ68PiTKfQz3yaTNr4A== 1091 | dependencies: 1092 | acorn "^7.1.1" 1093 | object-assign "^4.1.1" 1094 | 1095 | is-extglob@^2.1.1: 1096 | version "2.1.1" 1097 | resolved "https://registry.yarnpkg.com/is-extglob/-/is-extglob-2.1.1.tgz#a88c02535791f02ed37c76a1b9ea9773c833f8c2" 1098 | integrity sha1-qIwCU1eR8C7TfHahueqXc8gz+MI= 1099 | 1100 | is-glob@^4.0.1, is-glob@^4.0.3, is-glob@~4.0.1: 1101 | version "4.0.3" 1102 | resolved "https://registry.yarnpkg.com/is-glob/-/is-glob-4.0.3.tgz#64f61e42cbbb2eec2071a9dac0b28ba1e65d5084" 1103 | integrity sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg== 1104 | dependencies: 1105 | is-extglob "^2.1.1" 1106 | 1107 | is-number@^7.0.0: 1108 | version "7.0.0" 1109 | resolved "https://registry.yarnpkg.com/is-number/-/is-number-7.0.0.tgz#7535345b896734d5f80c4d06c50955527a14f12b" 1110 | integrity sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng== 1111 | 1112 | is-promise@^2.0.0: 1113 | version "2.2.2" 1114 | resolved "https://registry.yarnpkg.com/is-promise/-/is-promise-2.2.2.tgz#39ab959ccbf9a774cf079f7b40c7a26f763135f1" 1115 | integrity sha512-+lP4/6lKUBfQjZ2pdxThZvLUAafmZb8OAxFb8XXtiQmS35INgr85hdOGoEs124ez1FCnZJt6jau/T+alh58QFQ== 1116 | 1117 | is-regex@^1.0.3: 1118 | version "1.1.4" 1119 | resolved "https://registry.yarnpkg.com/is-regex/-/is-regex-1.1.4.tgz#eef5663cd59fa4c0ae339505323df6854bb15958" 1120 | integrity sha512-kvRdxDsxZjhzUX07ZnLydzS1TU/TJlTUHHY4YLL87e37oUA49DfkLqgy+VjFocowy29cKvcSiu+kIv728jTTVg== 1121 | dependencies: 1122 | call-bind "^1.0.2" 1123 | has-tostringtag "^1.0.0" 1124 | 1125 | is-what@^3.14.1: 1126 | version "3.14.1" 1127 | resolved "https://registry.yarnpkg.com/is-what/-/is-what-3.14.1.tgz#e1222f46ddda85dead0fd1c9df131760e77755c1" 1128 | integrity sha512-sNxgpk9793nzSs7bA6JQJGeIuRBQhAaNGG77kzYQgMkrID+lS6SlK07K5LaptscDlSaIgH+GPFzf+d75FVxozA== 1129 | 1130 | js-base64@^2.1.9: 1131 | version "2.6.4" 1132 | resolved "https://registry.yarnpkg.com/js-base64/-/js-base64-2.6.4.tgz#f4e686c5de1ea1f867dbcad3d46d969428df98c4" 1133 | integrity sha512-pZe//GGmwJndub7ZghVHz7vjb2LgC1m8B07Au3eYqeqv9emhESByMXxaEgkUkEqJe87oBbSniGYoQNIBklc7IQ== 1134 | 1135 | js-stringify@^1.0.2: 1136 | version "1.0.2" 1137 | resolved "https://registry.yarnpkg.com/js-stringify/-/js-stringify-1.0.2.tgz#1736fddfd9724f28a3682adc6230ae7e4e9679db" 1138 | integrity sha1-Fzb939lyTyijaCrcYjCufk6Weds= 1139 | 1140 | json5@^0.5.0: 1141 | version "0.5.1" 1142 | resolved "https://registry.yarnpkg.com/json5/-/json5-0.5.1.tgz#1eade7acc012034ad84e2396767ead9fa5495821" 1143 | integrity sha1-Hq3nrMASA0rYTiOWdn6tn6VJWCE= 1144 | 1145 | jstransformer@1.0.0: 1146 | version "1.0.0" 1147 | resolved "https://registry.yarnpkg.com/jstransformer/-/jstransformer-1.0.0.tgz#ed8bf0921e2f3f1ed4d5c1a44f68709ed24722c3" 1148 | integrity sha1-7Yvwkh4vPx7U1cGkT2hwntJHIsM= 1149 | dependencies: 1150 | is-promise "^2.0.0" 1151 | promise "^7.0.1" 1152 | 1153 | klona@^2.0.4: 1154 | version "2.0.5" 1155 | resolved "https://registry.yarnpkg.com/klona/-/klona-2.0.5.tgz#d166574d90076395d9963aa7a928fabb8d76afbc" 1156 | integrity sha512-pJiBpiXMbt7dkzXe8Ghj/u4FfXOOa98fPW+bihOJ4SjnoijweJrNThJfd3ifXpXhREjpoF2mZVH1GfS9LV3kHQ== 1157 | 1158 | less@^3.9.0: 1159 | version "3.13.1" 1160 | resolved "https://registry.yarnpkg.com/less/-/less-3.13.1.tgz#0ebc91d2a0e9c0c6735b83d496b0ab0583077909" 1161 | integrity sha512-SwA1aQXGUvp+P5XdZslUOhhLnClSLIjWvJhmd+Vgib5BFIr9lMNlQwmwUNOjXThF/A0x+MCYYPeWEfeWiLRnTw== 1162 | dependencies: 1163 | copy-anything "^2.0.1" 1164 | tslib "^1.10.0" 1165 | optionalDependencies: 1166 | errno "^0.1.1" 1167 | graceful-fs "^4.1.2" 1168 | image-size "~0.5.0" 1169 | make-dir "^2.1.0" 1170 | mime "^1.4.1" 1171 | native-request "^1.0.5" 1172 | source-map "~0.6.0" 1173 | 1174 | loader-utils@^0.2.16: 1175 | version "0.2.17" 1176 | resolved "https://registry.yarnpkg.com/loader-utils/-/loader-utils-0.2.17.tgz#f86e6374d43205a6e6c60e9196f17c0299bfb348" 1177 | integrity sha1-+G5jdNQyBabmxg6RlvF8Apm/s0g= 1178 | dependencies: 1179 | big.js "^3.1.3" 1180 | emojis-list "^2.0.0" 1181 | json5 "^0.5.0" 1182 | object-assign "^4.0.1" 1183 | 1184 | lodash.escaperegexp@^4.1.2: 1185 | version "4.1.2" 1186 | resolved "https://registry.yarnpkg.com/lodash.escaperegexp/-/lodash.escaperegexp-4.1.2.tgz#64762c48618082518ac3df4ccf5d5886dae20347" 1187 | integrity sha1-ZHYsSGGAglGKw99Mz11YhtriA0c= 1188 | 1189 | lru-cache@^4.1.2: 1190 | version "4.1.5" 1191 | resolved "https://registry.yarnpkg.com/lru-cache/-/lru-cache-4.1.5.tgz#8bbe50ea85bed59bc9e33dcab8235ee9bcf443cd" 1192 | integrity sha512-sWZlbEP2OsHNkXrMl5GYk/jKk70MBng6UU4YI/qGDYbgf6YbP4EvmqISbXCoJiRKs+1bSpFHVgQxvJ17F2li5g== 1193 | dependencies: 1194 | pseudomap "^1.0.2" 1195 | yallist "^2.1.2" 1196 | 1197 | lru-cache@^6.0.0: 1198 | version "6.0.0" 1199 | resolved "https://registry.yarnpkg.com/lru-cache/-/lru-cache-6.0.0.tgz#6d6fe6570ebd96aaf90fcad1dafa3b2566db3a94" 1200 | integrity sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA== 1201 | dependencies: 1202 | yallist "^4.0.0" 1203 | 1204 | magic-string@^0.25.7: 1205 | version "0.25.9" 1206 | resolved "https://registry.yarnpkg.com/magic-string/-/magic-string-0.25.9.tgz#de7f9faf91ef8a1c91d02c2e5314c8277dbcdd1c" 1207 | integrity sha512-RmF0AsMzgt25qzqqLc1+MbHmhdx0ojF2Fvs4XnOqz2ZOBXzzkEwc/dJQZCYHAn7v1jbVOjAZfK8msRn4BxO4VQ== 1208 | dependencies: 1209 | sourcemap-codec "^1.4.8" 1210 | 1211 | make-dir@^2.1.0: 1212 | version "2.1.0" 1213 | resolved "https://registry.yarnpkg.com/make-dir/-/make-dir-2.1.0.tgz#5f0310e18b8be898cc07009295a30ae41e91e6f5" 1214 | integrity sha512-LS9X+dc8KLxXCb8dni79fLIIUA5VyZoyjSMCwTluaXA0o27cCK0bhXkpgw+sTXVpPy/lSO57ilRixqk0vDmtRA== 1215 | dependencies: 1216 | pify "^4.0.1" 1217 | semver "^5.6.0" 1218 | 1219 | merge-source-map@^1.1.0: 1220 | version "1.1.0" 1221 | resolved "https://registry.yarnpkg.com/merge-source-map/-/merge-source-map-1.1.0.tgz#2fdde7e6020939f70906a68f2d7ae685e4c8c646" 1222 | integrity sha512-Qkcp7P2ygktpMPh2mCQZaf3jhN6D3Z/qVZHSdWvQ+2Ef5HgRAPBO57A77+ENm0CPx2+1Ce/MYKi3ymqdfuqibw== 1223 | dependencies: 1224 | source-map "^0.6.1" 1225 | 1226 | merge2@^1.3.0, merge2@^1.4.1: 1227 | version "1.4.1" 1228 | resolved "https://registry.yarnpkg.com/merge2/-/merge2-1.4.1.tgz#4368892f885e907455a6fd7dc55c0c9d404990ae" 1229 | integrity sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg== 1230 | 1231 | micromatch@^4.0.4: 1232 | version "4.0.5" 1233 | resolved "https://registry.yarnpkg.com/micromatch/-/micromatch-4.0.5.tgz#bc8999a7cbbf77cdc89f132f6e467051b49090c6" 1234 | integrity sha512-DMy+ERcEW2q8Z2Po+WNXuw3c5YaUSFjAO5GsJqfEl7UjvtIuFKO6ZrKvcItdy98dwFI2N1tg3zNIdKaQT+aNdA== 1235 | dependencies: 1236 | braces "^3.0.2" 1237 | picomatch "^2.3.1" 1238 | 1239 | mime@^1.4.1: 1240 | version "1.6.0" 1241 | resolved "https://registry.yarnpkg.com/mime/-/mime-1.6.0.tgz#32cd9e5c64553bd58d19a568af452acff04981b1" 1242 | integrity sha512-x0Vn8spI+wuJ1O6S7gnbaQg8Pxh4NNHb7KSINmEWKiPE4RKOplvijn+NkmYmmRgP68mc70j2EbeTFRsrswaQeg== 1243 | 1244 | minimatch@^3.0.4: 1245 | version "3.1.2" 1246 | resolved "https://registry.yarnpkg.com/minimatch/-/minimatch-3.1.2.tgz#19cd194bfd3e428f049a70817c038d89ab4be35b" 1247 | integrity sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw== 1248 | dependencies: 1249 | brace-expansion "^1.1.7" 1250 | 1251 | mkdirp@~1.0.4: 1252 | version "1.0.4" 1253 | resolved "https://registry.yarnpkg.com/mkdirp/-/mkdirp-1.0.4.tgz#3eb5ed62622756d79a5f0e2a221dfebad75c2f7e" 1254 | integrity sha512-vVqVZQyf3WLx2Shd0qJ9xuvqgAyKPLAiqITEtqW0oIUjzo3PePDd6fW9iFz30ef7Ysp/oiWqbhszeGWW2T6Gzw== 1255 | 1256 | moment@2.29.2: 1257 | version "2.29.2" 1258 | resolved "https://registry.yarnpkg.com/moment/-/moment-2.29.2.tgz#00910c60b20843bcba52d37d58c628b47b1f20e4" 1259 | integrity sha512-UgzG4rvxYpN15jgCmVJwac49h9ly9NurikMWGPdVxm8GZD6XjkKPxDTjQQ43gtGgnV3X0cAyWDdP2Wexoquifg== 1260 | 1261 | ms@2.0.0: 1262 | version "2.0.0" 1263 | resolved "https://registry.yarnpkg.com/ms/-/ms-2.0.0.tgz#5608aeadfc00be6c2901df5f9861788de0d597c8" 1264 | integrity sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g= 1265 | 1266 | ms@2.1.2: 1267 | version "2.1.2" 1268 | resolved "https://registry.yarnpkg.com/ms/-/ms-2.1.2.tgz#d09d1f357b443f493382a8eb3ccd183872ae6009" 1269 | integrity sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w== 1270 | 1271 | nanoid@^3.3.1: 1272 | version "3.3.3" 1273 | resolved "https://registry.yarnpkg.com/nanoid/-/nanoid-3.3.3.tgz#fd8e8b7aa761fe807dba2d1b98fb7241bb724a25" 1274 | integrity sha512-p1sjXuopFs0xg+fPASzQ28agW1oHD7xDsd9Xkf3T15H3c/cifrFHVwrh74PdoklAPi+i7MdRsE47vm2r6JoB+w== 1275 | 1276 | native-request@^1.0.5: 1277 | version "1.1.0" 1278 | resolved "https://registry.yarnpkg.com/native-request/-/native-request-1.1.0.tgz#acdb30fe2eefa3e1bc8c54b3a6852e9c5c0d3cb0" 1279 | integrity sha512-uZ5rQaeRn15XmpgE0xoPL8YWqcX90VtCFglYwAgkvKM5e8fog+vePLAhHxuuv/gRkrQxIeh5U3q9sMNUrENqWw== 1280 | 1281 | neo-async@^2.6.2: 1282 | version "2.6.2" 1283 | resolved "https://registry.yarnpkg.com/neo-async/-/neo-async-2.6.2.tgz#b4aafb93e3aeb2d8174ca53cf163ab7d7308305f" 1284 | integrity sha512-Yd3UES5mWCSqR+qNT93S3UoYUkqAZ9lLg8a7g9rimsWmYGK8cVToA4/sF3RrshdyV3sAGMXVUmpMYOw+dLpOuw== 1285 | 1286 | nice-napi@^1.0.2: 1287 | version "1.0.2" 1288 | resolved "https://registry.yarnpkg.com/nice-napi/-/nice-napi-1.0.2.tgz#dc0ab5a1eac20ce548802fc5686eaa6bc654927b" 1289 | integrity sha512-px/KnJAJZf5RuBGcfD+Sp2pAKq0ytz8j+1NehvgIGFkvtvFrDM3T8E4x/JJODXK9WZow8RRGrbA9QQ3hs+pDhA== 1290 | dependencies: 1291 | node-addon-api "^3.0.0" 1292 | node-gyp-build "^4.2.2" 1293 | 1294 | node-addon-api@^3.0.0: 1295 | version "3.2.1" 1296 | resolved "https://registry.yarnpkg.com/node-addon-api/-/node-addon-api-3.2.1.tgz#81325e0a2117789c0128dab65e7e38f07ceba161" 1297 | integrity sha512-mmcei9JghVNDYydghQmeDX8KoAm0FAiYyIcUt/N4nhyAipB17pllZQDOJD2fotxABnt4Mdz+dKTO7eftLg4d0A== 1298 | 1299 | node-gyp-build@^4.2.2: 1300 | version "4.4.0" 1301 | resolved "https://registry.yarnpkg.com/node-gyp-build/-/node-gyp-build-4.4.0.tgz#42e99687ce87ddeaf3a10b99dc06abc11021f3f4" 1302 | integrity sha512-amJnQCcgtRVw9SvoebO3BKGESClrfXGCUTX9hSn1OuGQTQBOZmVd0Z0OlecpuRksKvbsUqALE8jls/ErClAPuQ== 1303 | 1304 | normalize-path@^3.0.0, normalize-path@~3.0.0: 1305 | version "3.0.0" 1306 | resolved "https://registry.yarnpkg.com/normalize-path/-/normalize-path-3.0.0.tgz#0dcd69ff23a1c9b11fd0978316644a0388216a65" 1307 | integrity sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA== 1308 | 1309 | object-assign@^4.0.1, object-assign@^4.1.1: 1310 | version "4.1.1" 1311 | resolved "https://registry.yarnpkg.com/object-assign/-/object-assign-4.1.1.tgz#2109adc7965887cfc05cbbd442cac8bfbb360863" 1312 | integrity sha1-IQmtx5ZYh8/AXLvUQsrIv7s2CGM= 1313 | 1314 | obsidian@latest: 1315 | version "0.14.6" 1316 | resolved "https://registry.yarnpkg.com/obsidian/-/obsidian-0.14.6.tgz#010e16da3a1a7725f5e91beb9f14ec8abd00c15d" 1317 | integrity sha512-oXPJ8Zt10WhN19bk5l4mZuXRZbbdT1QoMgxGGJ0bB7UcJa0bozDzugS5L/QiV9gDoujpUPxDWNVahEel6r0Fpw== 1318 | dependencies: 1319 | "@codemirror/state" "^0.19.6" 1320 | "@codemirror/view" "^0.19.31" 1321 | "@types/codemirror" "0.0.108" 1322 | moment "2.29.2" 1323 | 1324 | once@^1.3.0: 1325 | version "1.4.0" 1326 | resolved "https://registry.yarnpkg.com/once/-/once-1.4.0.tgz#583b1aa775961d4b113ac17d9c50baef9dd76bd1" 1327 | integrity sha1-WDsap3WWHUsROsF9nFC6753Xa9E= 1328 | dependencies: 1329 | wrappy "1" 1330 | 1331 | pako@^1.0.3: 1332 | version "1.0.11" 1333 | resolved "https://registry.yarnpkg.com/pako/-/pako-1.0.11.tgz#6c9599d340d54dfd3946380252a35705a6b992bf" 1334 | integrity sha512-4hLB8Py4zZce5s4yd9XzopqwVv/yGNhV1Bl8NTmCq1763HeK2+EwVTv+leGeL13Dnh2wfbqowVPXCIO0z4taYw== 1335 | 1336 | path-is-absolute@^1.0.0: 1337 | version "1.0.1" 1338 | resolved "https://registry.yarnpkg.com/path-is-absolute/-/path-is-absolute-1.0.1.tgz#174b9268735534ffbc7ace6bf53a5a9e1b5c5f5f" 1339 | integrity sha1-F0uSaHNVNP+8es5r9TpanhtcX18= 1340 | 1341 | path-parse@^1.0.7: 1342 | version "1.0.7" 1343 | resolved "https://registry.yarnpkg.com/path-parse/-/path-parse-1.0.7.tgz#fbc114b60ca42b30d9daf5858e4bd68bbedb6735" 1344 | integrity sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw== 1345 | 1346 | path-type@^4.0.0: 1347 | version "4.0.0" 1348 | resolved "https://registry.yarnpkg.com/path-type/-/path-type-4.0.0.tgz#84ed01c0a7ba380afe09d90a8c180dcd9d03043b" 1349 | integrity sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw== 1350 | 1351 | picocolors@^0.2.1: 1352 | version "0.2.1" 1353 | resolved "https://registry.yarnpkg.com/picocolors/-/picocolors-0.2.1.tgz#570670f793646851d1ba135996962abad587859f" 1354 | integrity sha512-cMlDqaLEqfSaW8Z7N5Jw+lyIW869EzT73/F5lhtY9cLGoVxSXznfgfXMO0Z5K0o0Q2TkTXq+0KFsdnSe3jDViA== 1355 | 1356 | picocolors@^1.0.0: 1357 | version "1.0.0" 1358 | resolved "https://registry.yarnpkg.com/picocolors/-/picocolors-1.0.0.tgz#cb5bdc74ff3f51892236eaf79d68bc44564ab81c" 1359 | integrity sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ== 1360 | 1361 | picomatch@^2.0.4, picomatch@^2.2.1, picomatch@^2.3.1: 1362 | version "2.3.1" 1363 | resolved "https://registry.yarnpkg.com/picomatch/-/picomatch-2.3.1.tgz#3ba3833733646d9d3e4995946c1365a67fb07a42" 1364 | integrity sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA== 1365 | 1366 | pify@^4.0.1: 1367 | version "4.0.1" 1368 | resolved "https://registry.yarnpkg.com/pify/-/pify-4.0.1.tgz#4b2cd25c50d598735c50292224fd8c6df41e3231" 1369 | integrity sha512-uB80kBFb/tfd68bVleG9T5GGsGPjJrLAUpR5PZIrhBnIaRTQRjqdJSsIKkOP6OAIFbj7GOrcudc5pNjZ+geV2g== 1370 | 1371 | piscina@^2.2.0: 1372 | version "2.2.0" 1373 | resolved "https://registry.yarnpkg.com/piscina/-/piscina-2.2.0.tgz#8fd5236f07aaa9676c4100a3e4d90b6b7aaabf4c" 1374 | integrity sha512-CQb0DfyTdC9FBIMYkVV/00fXRLKDjmWKA8S0N1zDg2JGEc5z3P9qHXtoq8OkJQ+vjCfXySkVonTNMqskMFOW/w== 1375 | dependencies: 1376 | eventemitter-asyncresource "^1.0.0" 1377 | hdr-histogram-js "^2.0.1" 1378 | hdr-histogram-percentiles-obj "^3.0.0" 1379 | optionalDependencies: 1380 | nice-napi "^1.0.2" 1381 | 1382 | postcss-modules-local-by-default@^1.1.1: 1383 | version "1.2.0" 1384 | resolved "https://registry.yarnpkg.com/postcss-modules-local-by-default/-/postcss-modules-local-by-default-1.2.0.tgz#f7d80c398c5a393fa7964466bd19500a7d61c069" 1385 | integrity sha1-99gMOYxaOT+nlkRmvRlQCn1hwGk= 1386 | dependencies: 1387 | css-selector-tokenizer "^0.7.0" 1388 | postcss "^6.0.1" 1389 | 1390 | postcss-modules-scope@^1.0.2: 1391 | version "1.1.0" 1392 | resolved "https://registry.yarnpkg.com/postcss-modules-scope/-/postcss-modules-scope-1.1.0.tgz#d6ea64994c79f97b62a72b426fbe6056a194bb90" 1393 | integrity sha1-1upkmUx5+XtipytCb75gVqGUu5A= 1394 | dependencies: 1395 | css-selector-tokenizer "^0.7.0" 1396 | postcss "^6.0.1" 1397 | 1398 | postcss-modules-sync@^1.0.0: 1399 | version "1.0.0" 1400 | resolved "https://registry.yarnpkg.com/postcss-modules-sync/-/postcss-modules-sync-1.0.0.tgz#619a719cf78dd16a4834135140b324cf77334be1" 1401 | integrity sha1-YZpxnPeN0WpINBNRQLMkz3czS+E= 1402 | dependencies: 1403 | generic-names "^1.0.2" 1404 | icss-replace-symbols "^1.0.2" 1405 | postcss "^5.2.5" 1406 | postcss-modules-local-by-default "^1.1.1" 1407 | postcss-modules-scope "^1.0.2" 1408 | string-hash "^1.1.0" 1409 | 1410 | postcss-selector-parser@^6.0.2: 1411 | version "6.0.10" 1412 | resolved "https://registry.yarnpkg.com/postcss-selector-parser/-/postcss-selector-parser-6.0.10.tgz#79b61e2c0d1bfc2602d549e11d0876256f8df88d" 1413 | integrity sha512-IQ7TZdoaqbT+LCpShg46jnZVlhWD2w6iQYAcYXfHARZ7X1t/UGhhceQDs5X0cGqKvYlHNOuv7Oa1xmb0oQuA3w== 1414 | dependencies: 1415 | cssesc "^3.0.0" 1416 | util-deprecate "^1.0.2" 1417 | 1418 | postcss@>=6.0.0, postcss@^8.1.10: 1419 | version "8.4.12" 1420 | resolved "https://registry.yarnpkg.com/postcss/-/postcss-8.4.12.tgz#1e7de78733b28970fa4743f7da6f3763648b1905" 1421 | integrity sha512-lg6eITwYe9v6Hr5CncVbK70SoioNQIq81nsaG86ev5hAidQvmOeETBqs7jm43K2F5/Ley3ytDtriImV6TpNiSg== 1422 | dependencies: 1423 | nanoid "^3.3.1" 1424 | picocolors "^1.0.0" 1425 | source-map-js "^1.0.2" 1426 | 1427 | postcss@^5.2.5: 1428 | version "5.2.18" 1429 | resolved "https://registry.yarnpkg.com/postcss/-/postcss-5.2.18.tgz#badfa1497d46244f6390f58b319830d9107853c5" 1430 | integrity sha512-zrUjRRe1bpXKsX1qAJNJjqZViErVuyEkMTRrwu4ud4sbTtIBRmtaYDrHmcGgmrbsW3MHfmtIf+vJumgQn+PrXg== 1431 | dependencies: 1432 | chalk "^1.1.3" 1433 | js-base64 "^2.1.9" 1434 | source-map "^0.5.6" 1435 | supports-color "^3.2.3" 1436 | 1437 | postcss@^6.0.1: 1438 | version "6.0.23" 1439 | resolved "https://registry.yarnpkg.com/postcss/-/postcss-6.0.23.tgz#61c82cc328ac60e677645f979054eb98bc0e3324" 1440 | integrity sha512-soOk1h6J3VMTZtVeVpv15/Hpdl2cBLX3CAw4TAbkpTJiNPk9YP/zWcD1ND+xEtvyuuvKzbxliTOIyvkSeSJ6ag== 1441 | dependencies: 1442 | chalk "^2.4.1" 1443 | source-map "^0.6.1" 1444 | supports-color "^5.4.0" 1445 | 1446 | postcss@^7.0.36: 1447 | version "7.0.39" 1448 | resolved "https://registry.yarnpkg.com/postcss/-/postcss-7.0.39.tgz#9624375d965630e2e1f2c02a935c82a59cb48309" 1449 | integrity sha512-yioayjNbHn6z1/Bywyb2Y4s3yvDAeXGOyxqD+LnVOinq6Mdmd++SW2wUNVzavyyHxd6+DxzWGIuosg6P1Rj8uA== 1450 | dependencies: 1451 | picocolors "^0.2.1" 1452 | source-map "^0.6.1" 1453 | 1454 | "prettier@^1.18.2 || ^2.0.0": 1455 | version "2.6.2" 1456 | resolved "https://registry.yarnpkg.com/prettier/-/prettier-2.6.2.tgz#e26d71a18a74c3d0f0597f55f01fb6c06c206032" 1457 | integrity sha512-PkUpF+qoXTqhOeWL9fu7As8LXsIUZ1WYaJiY/a7McAQzxjk82OF0tibkFXVCDImZtWxbvojFjerkiLb0/q8mew== 1458 | 1459 | promise@^7.0.1: 1460 | version "7.3.1" 1461 | resolved "https://registry.yarnpkg.com/promise/-/promise-7.3.1.tgz#064b72602b18f90f29192b8b1bc418ffd1ebd3bf" 1462 | integrity sha512-nolQXZ/4L+bP/UGlkfaIujX9BKxGwmQ9OT4mOt5yvy8iK1h3wqTEJCijzGANTCCl9nWjY41juyAn2K3Q1hLLTg== 1463 | dependencies: 1464 | asap "~2.0.3" 1465 | 1466 | prr@~1.0.1: 1467 | version "1.0.1" 1468 | resolved "https://registry.yarnpkg.com/prr/-/prr-1.0.1.tgz#d3fc114ba06995a45ec6893f484ceb1d78f5f476" 1469 | integrity sha1-0/wRS6BplaRexok/SEzrHXj19HY= 1470 | 1471 | pseudomap@^1.0.2: 1472 | version "1.0.2" 1473 | resolved "https://registry.yarnpkg.com/pseudomap/-/pseudomap-1.0.2.tgz#f052a28da70e618917ef0a8ac34c1ae5a68286b3" 1474 | integrity sha1-8FKijacOYYkX7wqKw0wa5aaChrM= 1475 | 1476 | pug-attrs@^3.0.0: 1477 | version "3.0.0" 1478 | resolved "https://registry.yarnpkg.com/pug-attrs/-/pug-attrs-3.0.0.tgz#b10451e0348165e31fad1cc23ebddd9dc7347c41" 1479 | integrity sha512-azINV9dUtzPMFQktvTXciNAfAuVh/L/JCl0vtPCwvOA21uZrC08K/UnmrL+SXGEVc1FwzjW62+xw5S/uaLj6cA== 1480 | dependencies: 1481 | constantinople "^4.0.1" 1482 | js-stringify "^1.0.2" 1483 | pug-runtime "^3.0.0" 1484 | 1485 | pug-code-gen@^3.0.2: 1486 | version "3.0.2" 1487 | resolved "https://registry.yarnpkg.com/pug-code-gen/-/pug-code-gen-3.0.2.tgz#ad190f4943133bf186b60b80de483100e132e2ce" 1488 | integrity sha512-nJMhW16MbiGRiyR4miDTQMRWDgKplnHyeLvioEJYbk1RsPI3FuA3saEP8uwnTb2nTJEKBU90NFVWJBk4OU5qyg== 1489 | dependencies: 1490 | constantinople "^4.0.1" 1491 | doctypes "^1.1.0" 1492 | js-stringify "^1.0.2" 1493 | pug-attrs "^3.0.0" 1494 | pug-error "^2.0.0" 1495 | pug-runtime "^3.0.0" 1496 | void-elements "^3.1.0" 1497 | with "^7.0.0" 1498 | 1499 | pug-error@^2.0.0: 1500 | version "2.0.0" 1501 | resolved "https://registry.yarnpkg.com/pug-error/-/pug-error-2.0.0.tgz#5c62173cb09c34de2a2ce04f17b8adfec74d8ca5" 1502 | integrity sha512-sjiUsi9M4RAGHktC1drQfCr5C5eriu24Lfbt4s+7SykztEOwVZtbFk1RRq0tzLxcMxMYTBR+zMQaG07J/btayQ== 1503 | 1504 | pug-filters@^4.0.0: 1505 | version "4.0.0" 1506 | resolved "https://registry.yarnpkg.com/pug-filters/-/pug-filters-4.0.0.tgz#d3e49af5ba8472e9b7a66d980e707ce9d2cc9b5e" 1507 | integrity sha512-yeNFtq5Yxmfz0f9z2rMXGw/8/4i1cCFecw/Q7+D0V2DdtII5UvqE12VaZ2AY7ri6o5RNXiweGH79OCq+2RQU4A== 1508 | dependencies: 1509 | constantinople "^4.0.1" 1510 | jstransformer "1.0.0" 1511 | pug-error "^2.0.0" 1512 | pug-walk "^2.0.0" 1513 | resolve "^1.15.1" 1514 | 1515 | pug-lexer@^5.0.1: 1516 | version "5.0.1" 1517 | resolved "https://registry.yarnpkg.com/pug-lexer/-/pug-lexer-5.0.1.tgz#ae44628c5bef9b190b665683b288ca9024b8b0d5" 1518 | integrity sha512-0I6C62+keXlZPZkOJeVam9aBLVP2EnbeDw3An+k0/QlqdwH6rv8284nko14Na7c0TtqtogfWXcRoFE4O4Ff20w== 1519 | dependencies: 1520 | character-parser "^2.2.0" 1521 | is-expression "^4.0.0" 1522 | pug-error "^2.0.0" 1523 | 1524 | pug-linker@^4.0.0: 1525 | version "4.0.0" 1526 | resolved "https://registry.yarnpkg.com/pug-linker/-/pug-linker-4.0.0.tgz#12cbc0594fc5a3e06b9fc59e6f93c146962a7708" 1527 | integrity sha512-gjD1yzp0yxbQqnzBAdlhbgoJL5qIFJw78juN1NpTLt/mfPJ5VgC4BvkoD3G23qKzJtIIXBbcCt6FioLSFLOHdw== 1528 | dependencies: 1529 | pug-error "^2.0.0" 1530 | pug-walk "^2.0.0" 1531 | 1532 | pug-load@^3.0.0: 1533 | version "3.0.0" 1534 | resolved "https://registry.yarnpkg.com/pug-load/-/pug-load-3.0.0.tgz#9fd9cda52202b08adb11d25681fb9f34bd41b662" 1535 | integrity sha512-OCjTEnhLWZBvS4zni/WUMjH2YSUosnsmjGBB1An7CsKQarYSWQ0GCVyd4eQPMFJqZ8w9xgs01QdiZXKVjk92EQ== 1536 | dependencies: 1537 | object-assign "^4.1.1" 1538 | pug-walk "^2.0.0" 1539 | 1540 | pug-parser@^6.0.0: 1541 | version "6.0.0" 1542 | resolved "https://registry.yarnpkg.com/pug-parser/-/pug-parser-6.0.0.tgz#a8fdc035863a95b2c1dc5ebf4ecf80b4e76a1260" 1543 | integrity sha512-ukiYM/9cH6Cml+AOl5kETtM9NR3WulyVP2y4HOU45DyMim1IeP/OOiyEWRr6qk5I5klpsBnbuHpwKmTx6WURnw== 1544 | dependencies: 1545 | pug-error "^2.0.0" 1546 | token-stream "1.0.0" 1547 | 1548 | pug-runtime@^3.0.0, pug-runtime@^3.0.1: 1549 | version "3.0.1" 1550 | resolved "https://registry.yarnpkg.com/pug-runtime/-/pug-runtime-3.0.1.tgz#f636976204723f35a8c5f6fad6acda2a191b83d7" 1551 | integrity sha512-L50zbvrQ35TkpHwv0G6aLSuueDRwc/97XdY8kL3tOT0FmhgG7UypU3VztfV/LATAvmUfYi4wNxSajhSAeNN+Kg== 1552 | 1553 | pug-strip-comments@^2.0.0: 1554 | version "2.0.0" 1555 | resolved "https://registry.yarnpkg.com/pug-strip-comments/-/pug-strip-comments-2.0.0.tgz#f94b07fd6b495523330f490a7f554b4ff876303e" 1556 | integrity sha512-zo8DsDpH7eTkPHCXFeAk1xZXJbyoTfdPlNR0bK7rpOMuhBYb0f5qUVCO1xlsitYd3w5FQTK7zpNVKb3rZoUrrQ== 1557 | dependencies: 1558 | pug-error "^2.0.0" 1559 | 1560 | pug-walk@^2.0.0: 1561 | version "2.0.0" 1562 | resolved "https://registry.yarnpkg.com/pug-walk/-/pug-walk-2.0.0.tgz#417aabc29232bb4499b5b5069a2b2d2a24d5f5fe" 1563 | integrity sha512-yYELe9Q5q9IQhuvqsZNwA5hfPkMJ8u92bQLIMcsMxf/VADjNtEYptU+inlufAFYcWdHlwNfZOEnOOQrZrcyJCQ== 1564 | 1565 | pug@^3.0.1: 1566 | version "3.0.2" 1567 | resolved "https://registry.yarnpkg.com/pug/-/pug-3.0.2.tgz#f35c7107343454e43bc27ae0ff76c731b78ea535" 1568 | integrity sha512-bp0I/hiK1D1vChHh6EfDxtndHji55XP/ZJKwsRqrz6lRia6ZC2OZbdAymlxdVFwd1L70ebrVJw4/eZ79skrIaw== 1569 | dependencies: 1570 | pug-code-gen "^3.0.2" 1571 | pug-filters "^4.0.0" 1572 | pug-lexer "^5.0.1" 1573 | pug-linker "^4.0.0" 1574 | pug-load "^3.0.0" 1575 | pug-parser "^6.0.0" 1576 | pug-runtime "^3.0.1" 1577 | pug-strip-comments "^2.0.0" 1578 | 1579 | queue-microtask@^1.2.2: 1580 | version "1.2.3" 1581 | resolved "https://registry.yarnpkg.com/queue-microtask/-/queue-microtask-1.2.3.tgz#4929228bbc724dfac43e0efb058caf7b6cfb6243" 1582 | integrity sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A== 1583 | 1584 | readdirp@~3.6.0: 1585 | version "3.6.0" 1586 | resolved "https://registry.yarnpkg.com/readdirp/-/readdirp-3.6.0.tgz#74a370bd857116e245b29cc97340cd431a02a6c7" 1587 | integrity sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA== 1588 | dependencies: 1589 | picomatch "^2.2.1" 1590 | 1591 | regexpp@^3.2.0: 1592 | version "3.2.0" 1593 | resolved "https://registry.yarnpkg.com/regexpp/-/regexpp-3.2.0.tgz#0425a2768d8f23bad70ca4b90461fa2f1213e1b2" 1594 | integrity sha512-pq2bWo9mVD43nbts2wGv17XLiNLya+GklZ8kaDLV2Z08gDCsGpnKn9BFMepvWuHCbyVvY7J5o5+BVvoQbmlJLg== 1595 | 1596 | resolve-url@^0.2.1: 1597 | version "0.2.1" 1598 | resolved "https://registry.yarnpkg.com/resolve-url/-/resolve-url-0.2.1.tgz#2c637fe77c893afd2a663fe21aa9080068e2052a" 1599 | integrity sha1-LGN/53yJOv0qZj/iGqkIAGjiBSo= 1600 | 1601 | resolve@^1.15.1: 1602 | version "1.22.0" 1603 | resolved "https://registry.yarnpkg.com/resolve/-/resolve-1.22.0.tgz#5e0b8c67c15df57a89bdbabe603a002f21731198" 1604 | integrity sha512-Hhtrw0nLeSrFQ7phPp4OOcVjLPIeMnRlr5mcnVuMe7M/7eBn98A3hmFRLoFo3DLZkivSYwhRUJTyPyWAk56WLw== 1605 | dependencies: 1606 | is-core-module "^2.8.1" 1607 | path-parse "^1.0.7" 1608 | supports-preserve-symlinks-flag "^1.0.0" 1609 | 1610 | reusify@^1.0.4: 1611 | version "1.0.4" 1612 | resolved "https://registry.yarnpkg.com/reusify/-/reusify-1.0.4.tgz#90da382b1e126efc02146e90845a88db12925d76" 1613 | integrity sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw== 1614 | 1615 | run-parallel@^1.1.9: 1616 | version "1.2.0" 1617 | resolved "https://registry.yarnpkg.com/run-parallel/-/run-parallel-1.2.0.tgz#66d1368da7bdf921eb9d95bd1a9229e7f21a43ee" 1618 | integrity sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA== 1619 | dependencies: 1620 | queue-microtask "^1.2.2" 1621 | 1622 | safer-buffer@^2.1.2: 1623 | version "2.1.2" 1624 | resolved "https://registry.yarnpkg.com/safer-buffer/-/safer-buffer-2.1.2.tgz#44fa161b0187b9549dd84bb91802f9bd8385cd6a" 1625 | integrity sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg== 1626 | 1627 | sass-loader@^12.6.0: 1628 | version "12.6.0" 1629 | resolved "https://registry.yarnpkg.com/sass-loader/-/sass-loader-12.6.0.tgz#5148362c8e2cdd4b950f3c63ac5d16dbfed37bcb" 1630 | integrity sha512-oLTaH0YCtX4cfnJZxKSLAyglED0naiYfNG1iXfU5w1LNZ+ukoA5DtyDIN5zmKVZwYNJP4KRc5Y3hkWga+7tYfA== 1631 | dependencies: 1632 | klona "^2.0.4" 1633 | neo-async "^2.6.2" 1634 | 1635 | sass@^1.18.0, sass@^1.49.0: 1636 | version "1.50.1" 1637 | resolved "https://registry.yarnpkg.com/sass/-/sass-1.50.1.tgz#e9b078a1748863013c4712d2466ce8ca4e4ed292" 1638 | integrity sha512-noTnY41KnlW2A9P8sdwESpDmo+KBNkukI1i8+hOK3footBUcohNHtdOJbckp46XO95nuvcHDDZ+4tmOnpK3hjw== 1639 | dependencies: 1640 | chokidar ">=3.0.0 <4.0.0" 1641 | immutable "^4.0.0" 1642 | source-map-js ">=0.6.2 <2.0.0" 1643 | 1644 | sass@~1.32.6: 1645 | version "1.32.13" 1646 | resolved "https://registry.yarnpkg.com/sass/-/sass-1.32.13.tgz#8d29c849e625a415bce71609c7cf95e15f74ed00" 1647 | integrity sha512-dEgI9nShraqP7cXQH+lEXVf73WOPCse0QlFzSD8k+1TcOxCMwVXfQlr0jtoluZysQOyJGnfr21dLvYKDJq8HkA== 1648 | dependencies: 1649 | chokidar ">=3.0.0 <4.0.0" 1650 | 1651 | sax@~1.2.4: 1652 | version "1.2.4" 1653 | resolved "https://registry.yarnpkg.com/sax/-/sax-1.2.4.tgz#2816234e2378bddc4e5354fab5caa895df7100d9" 1654 | integrity sha512-NqVDv9TpANUjFm0N8uM5GxL36UgKi9/atZw+x7YFnQ8ckwFGKrl4xX4yWtrey3UJm5nP1kUbnYgLopqWNSRhWw== 1655 | 1656 | semver@^5.6.0: 1657 | version "5.7.1" 1658 | resolved "https://registry.yarnpkg.com/semver/-/semver-5.7.1.tgz#a954f931aeba508d307bbf069eff0c01c96116f7" 1659 | integrity sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ== 1660 | 1661 | semver@^6.3.0: 1662 | version "6.3.0" 1663 | resolved "https://registry.yarnpkg.com/semver/-/semver-6.3.0.tgz#ee0a64c8af5e8ceea67687b133761e1becbd1d3d" 1664 | integrity sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw== 1665 | 1666 | semver@^7.3.5: 1667 | version "7.3.7" 1668 | resolved "https://registry.yarnpkg.com/semver/-/semver-7.3.7.tgz#12c5b649afdbf9049707796e22a4028814ce523f" 1669 | integrity sha512-QlYTucUYOews+WeEujDoEGziz4K6c47V/Bd+LjSSYcA94p+DmINdf7ncaUinThfvZyu13lN9OY1XDxt8C0Tw0g== 1670 | dependencies: 1671 | lru-cache "^6.0.0" 1672 | 1673 | slash@^3.0.0: 1674 | version "3.0.0" 1675 | resolved "https://registry.yarnpkg.com/slash/-/slash-3.0.0.tgz#6539be870c165adbd5240220dbe361f1bc4d4634" 1676 | integrity sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q== 1677 | 1678 | "source-map-js@>=0.6.2 <2.0.0", source-map-js@^1.0.2: 1679 | version "1.0.2" 1680 | resolved "https://registry.yarnpkg.com/source-map-js/-/source-map-js-1.0.2.tgz#adbc361d9c62df380125e7f161f71c826f1e490c" 1681 | integrity sha512-R0XvVJ9WusLiqTCEiGCmICCMplcCkIwwR11mOSD9CR5u+IXYdiseeEuXCVAjS54zqwkLcPNnmU4OeJ6tUrWhDw== 1682 | 1683 | source-map-resolve@^0.5.2: 1684 | version "0.5.3" 1685 | resolved "https://registry.yarnpkg.com/source-map-resolve/-/source-map-resolve-0.5.3.tgz#190866bece7553e1f8f267a2ee82c606b5509a1a" 1686 | integrity sha512-Htz+RnsXWk5+P2slx5Jh3Q66vhQj1Cllm0zvnaY98+NFx+Dv2CF/f5O/t8x+KaNdrdIAsruNzoh/KpialbqAnw== 1687 | dependencies: 1688 | atob "^2.1.2" 1689 | decode-uri-component "^0.2.0" 1690 | resolve-url "^0.2.1" 1691 | source-map-url "^0.4.0" 1692 | urix "^0.1.0" 1693 | 1694 | source-map-url@^0.4.0: 1695 | version "0.4.1" 1696 | resolved "https://registry.yarnpkg.com/source-map-url/-/source-map-url-0.4.1.tgz#0af66605a745a5a2f91cf1bbf8a7afbc283dec56" 1697 | integrity sha512-cPiFOTLUKvJFIg4SKVScy4ilPPW6rFgMgfuZJPNoDuMs3nC1HbMUycBoJw77xFIp6z1UJQJOfx6C9GMH80DiTw== 1698 | 1699 | source-map@0.6.*, source-map@^0.6.1, source-map@~0.6.0, source-map@~0.6.1: 1700 | version "0.6.1" 1701 | resolved "https://registry.yarnpkg.com/source-map/-/source-map-0.6.1.tgz#74722af32e9614e9c287a8d0bbde48b5e2f1a263" 1702 | integrity sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g== 1703 | 1704 | source-map@^0.5.6: 1705 | version "0.5.7" 1706 | resolved "https://registry.yarnpkg.com/source-map/-/source-map-0.5.7.tgz#8a039d2d1021d22d1ea14c80d8ea468ba2ef3fcc" 1707 | integrity sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w= 1708 | 1709 | source-map@^0.7.3: 1710 | version "0.7.3" 1711 | resolved "https://registry.yarnpkg.com/source-map/-/source-map-0.7.3.tgz#5302f8169031735226544092e64981f751750383" 1712 | integrity sha512-CkCj6giN3S+n9qrYiBTX5gystlENnRW5jZeNLHpe6aue+SrHcG5VYwujhW9s4dY31mEGsxBDrHR6oI69fTXsaQ== 1713 | 1714 | sourcemap-codec@^1.4.8: 1715 | version "1.4.8" 1716 | resolved "https://registry.yarnpkg.com/sourcemap-codec/-/sourcemap-codec-1.4.8.tgz#ea804bd94857402e6992d05a38ef1ae35a9ab4c4" 1717 | integrity sha512-9NykojV5Uih4lgo5So5dtw+f0JgJX30KCNI8gwhz2J9A15wD0Ml6tjHKwf6fTSa6fAdVBdZeNOs9eJ71qCk8vA== 1718 | 1719 | string-hash@^1.1.0: 1720 | version "1.1.3" 1721 | resolved "https://registry.yarnpkg.com/string-hash/-/string-hash-1.1.3.tgz#e8aafc0ac1855b4666929ed7dd1275df5d6c811b" 1722 | integrity sha1-6Kr8CsGFW0Zmkp7X3RJ1311sgRs= 1723 | 1724 | strip-ansi@^3.0.0: 1725 | version "3.0.1" 1726 | resolved "https://registry.yarnpkg.com/strip-ansi/-/strip-ansi-3.0.1.tgz#6a385fb8853d952d5ff05d0e8aaf94278dc63dcf" 1727 | integrity sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8= 1728 | dependencies: 1729 | ansi-regex "^2.0.0" 1730 | 1731 | style-mod@^4.0.0: 1732 | version "4.0.0" 1733 | resolved "https://registry.yarnpkg.com/style-mod/-/style-mod-4.0.0.tgz#97e7c2d68b592975f2ca7a63d0dd6fcacfe35a01" 1734 | integrity sha512-OPhtyEjyyN9x3nhPsu76f52yUGXiZcgvsrFVtvTkyGRQJ0XK+GPc6ov1z+lRpbeabka+MYEQxOYRnt5nF30aMw== 1735 | 1736 | stylus@^0.54.5: 1737 | version "0.54.8" 1738 | resolved "https://registry.yarnpkg.com/stylus/-/stylus-0.54.8.tgz#3da3e65966bc567a7b044bfe0eece653e099d147" 1739 | integrity sha512-vr54Or4BZ7pJafo2mpf0ZcwA74rpuYCZbxrHBsH8kbcXOwSfvBFwsRfpGO5OD5fhG5HDCFW737PKaawI7OqEAg== 1740 | dependencies: 1741 | css-parse "~2.0.0" 1742 | debug "~3.1.0" 1743 | glob "^7.1.6" 1744 | mkdirp "~1.0.4" 1745 | safer-buffer "^2.1.2" 1746 | sax "~1.2.4" 1747 | semver "^6.3.0" 1748 | source-map "^0.7.3" 1749 | 1750 | supports-color@^2.0.0: 1751 | version "2.0.0" 1752 | resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-2.0.0.tgz#535d045ce6b6363fa40117084629995e9df324c7" 1753 | integrity sha1-U10EXOa2Nj+kARcIRimZXp3zJMc= 1754 | 1755 | supports-color@^3.2.3: 1756 | version "3.2.3" 1757 | resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-3.2.3.tgz#65ac0504b3954171d8a64946b2ae3cbb8a5f54f6" 1758 | integrity sha1-ZawFBLOVQXHYpklGsq48u4pfVPY= 1759 | dependencies: 1760 | has-flag "^1.0.0" 1761 | 1762 | supports-color@^5.3.0, supports-color@^5.4.0: 1763 | version "5.5.0" 1764 | resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-5.5.0.tgz#e2e69a44ac8772f78a1ec0b35b689df6530efc8f" 1765 | integrity sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow== 1766 | dependencies: 1767 | has-flag "^3.0.0" 1768 | 1769 | supports-preserve-symlinks-flag@^1.0.0: 1770 | version "1.0.0" 1771 | resolved "https://registry.yarnpkg.com/supports-preserve-symlinks-flag/-/supports-preserve-symlinks-flag-1.0.0.tgz#6eda4bd344a3c94aea376d4cc31bc77311039e09" 1772 | integrity sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w== 1773 | 1774 | to-fast-properties@^2.0.0: 1775 | version "2.0.0" 1776 | resolved "https://registry.yarnpkg.com/to-fast-properties/-/to-fast-properties-2.0.0.tgz#dc5e698cbd079265bc73e0377681a4e4e83f616e" 1777 | integrity sha1-3F5pjL0HkmW8c+A3doGk5Og/YW4= 1778 | 1779 | to-regex-range@^5.0.1: 1780 | version "5.0.1" 1781 | resolved "https://registry.yarnpkg.com/to-regex-range/-/to-regex-range-5.0.1.tgz#1648c44aae7c8d988a326018ed72f5b4dd0392e4" 1782 | integrity sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ== 1783 | dependencies: 1784 | is-number "^7.0.0" 1785 | 1786 | token-stream@1.0.0: 1787 | version "1.0.0" 1788 | resolved "https://registry.yarnpkg.com/token-stream/-/token-stream-1.0.0.tgz#cc200eab2613f4166d27ff9afc7ca56d49df6eb4" 1789 | integrity sha1-zCAOqyYT9BZtJ/+a/HylbUnfbrQ= 1790 | 1791 | tslib@2.3.1: 1792 | version "2.3.1" 1793 | resolved "https://registry.yarnpkg.com/tslib/-/tslib-2.3.1.tgz#e8a335add5ceae51aa261d32a490158ef042ef01" 1794 | integrity sha512-77EbyPPpMz+FRFRuAFlWMtmgUWGe9UOG2Z25NqCwiIjRhOf5iKGuzSe5P2w1laq+FkRy4p+PCuVkJSGkzTEKVw== 1795 | 1796 | tslib@^1.10.0, tslib@^1.8.1: 1797 | version "1.14.1" 1798 | resolved "https://registry.yarnpkg.com/tslib/-/tslib-1.14.1.tgz#cf2d38bdc34a134bcaf1091c41f6619e2f672d00" 1799 | integrity sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg== 1800 | 1801 | tsutils@^3.21.0: 1802 | version "3.21.0" 1803 | resolved "https://registry.yarnpkg.com/tsutils/-/tsutils-3.21.0.tgz#b48717d394cea6c1e096983eed58e9d61715b623" 1804 | integrity sha512-mHKK3iUXL+3UF6xL5k0PEhKRUBKPBCv/+RkEOpjRWxxx27KKRBmmA60A9pgOUvMi8GKhRMPEmjBRPzs2W7O1OA== 1805 | dependencies: 1806 | tslib "^1.8.1" 1807 | 1808 | typescript@4.4.4: 1809 | version "4.4.4" 1810 | resolved "https://registry.yarnpkg.com/typescript/-/typescript-4.4.4.tgz#2cd01a1a1f160704d3101fd5a58ff0f9fcb8030c" 1811 | integrity sha512-DqGhF5IKoBl8WNf8C1gu8q0xZSInh9j1kJJMqT3a94w1JzVaBU4EXOSMrz9yDqMT0xt3selp83fuFMQ0uzv6qA== 1812 | 1813 | urix@^0.1.0: 1814 | version "0.1.0" 1815 | resolved "https://registry.yarnpkg.com/urix/-/urix-0.1.0.tgz#da937f7a62e21fec1fd18d49b35c2935067a6c72" 1816 | integrity sha1-2pN/emLiH+wf0Y1Js1wpNQZ6bHI= 1817 | 1818 | util-deprecate@^1.0.2: 1819 | version "1.0.2" 1820 | resolved "https://registry.yarnpkg.com/util-deprecate/-/util-deprecate-1.0.2.tgz#450d4dc9fa70de732762fbd2d4a28981419a0ccf" 1821 | integrity sha1-RQ1Nyfpw3nMnYvvS1KKJgUGaDM8= 1822 | 1823 | void-elements@^3.1.0: 1824 | version "3.1.0" 1825 | resolved "https://registry.yarnpkg.com/void-elements/-/void-elements-3.1.0.tgz#614f7fbf8d801f0bb5f0661f5b2f5785750e4f09" 1826 | integrity sha1-YU9/v42AHwu18GYfWy9XhXUOTwk= 1827 | 1828 | vue-template-compiler@^2.6.14: 1829 | version "2.6.14" 1830 | resolved "https://registry.yarnpkg.com/vue-template-compiler/-/vue-template-compiler-2.6.14.tgz#a2f0e7d985670d42c9c9ee0d044fed7690f4f763" 1831 | integrity sha512-ODQS1SyMbjKoO1JBJZojSw6FE4qnh9rIpUZn2EUT86FKizx9uH5z6uXiIrm4/Nb/gwxTi/o17ZDEGWAXHvtC7g== 1832 | dependencies: 1833 | de-indent "^1.0.2" 1834 | he "^1.1.0" 1835 | 1836 | vue-template-es2015-compiler@^1.9.0: 1837 | version "1.9.1" 1838 | resolved "https://registry.yarnpkg.com/vue-template-es2015-compiler/-/vue-template-es2015-compiler-1.9.1.tgz#1ee3bc9a16ecbf5118be334bb15f9c46f82f5825" 1839 | integrity sha512-4gDntzrifFnCEvyoO8PqyJDmguXgVPxKiIxrBKjIowvL9l+N66196+72XVYR8BBf1Uv1Fgt3bGevJ+sEmxfZzw== 1840 | 1841 | vue@^2.6.4: 1842 | version "2.6.14" 1843 | resolved "https://registry.yarnpkg.com/vue/-/vue-2.6.14.tgz#e51aa5250250d569a3fbad3a8a5a687d6036e235" 1844 | integrity sha512-x2284lgYvjOMj3Za7kqzRcUSxBboHqtgRE2zlos1qWaOye5yUmHn42LB1250NJBLRwEcdrB0JRwyPTEPhfQjiQ== 1845 | 1846 | vuetify@^2.6.4: 1847 | version "2.6.4" 1848 | resolved "https://registry.yarnpkg.com/vuetify/-/vuetify-2.6.4.tgz#18052f77492d32856fea35c910755075ff32acc9" 1849 | integrity sha512-2wEzU/Gz39gQCxK93xoiWPKCHQUnyUKWd81wB7Q7hfYJWu5QOWQXYlF0X/BgUZzf8IOyHWKiSNEAfEe9OE3b4w== 1850 | 1851 | w3c-keyname@^2.2.4: 1852 | version "2.2.4" 1853 | resolved "https://registry.yarnpkg.com/w3c-keyname/-/w3c-keyname-2.2.4.tgz#4ade6916f6290224cdbd1db8ac49eab03d0eef6b" 1854 | integrity sha512-tOhfEwEzFLJzf6d1ZPkYfGj+FWhIpBux9ppoP3rlclw3Z0BZv3N7b7030Z1kYth+6rDuAsXUFr+d0VE6Ed1ikw== 1855 | 1856 | with@^7.0.0: 1857 | version "7.0.2" 1858 | resolved "https://registry.yarnpkg.com/with/-/with-7.0.2.tgz#ccee3ad542d25538a7a7a80aad212b9828495bac" 1859 | integrity sha512-RNGKj82nUPg3g5ygxkQl0R937xLyho1J24ItRCBTr/m1YnZkzJy1hUiHUJrc/VlsDQzsCnInEGSg3bci0Lmd4w== 1860 | dependencies: 1861 | "@babel/parser" "^7.9.6" 1862 | "@babel/types" "^7.9.6" 1863 | assert-never "^1.2.1" 1864 | babel-walk "3.0.0-canary-5" 1865 | 1866 | wrappy@1: 1867 | version "1.0.2" 1868 | resolved "https://registry.yarnpkg.com/wrappy/-/wrappy-1.0.2.tgz#b5243d8f3ec1aa35f1364605bc0d1036e30ab69f" 1869 | integrity sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8= 1870 | 1871 | yallist@^2.1.2: 1872 | version "2.1.2" 1873 | resolved "https://registry.yarnpkg.com/yallist/-/yallist-2.1.2.tgz#1c11f9218f076089a47dd512f93c6699a6a81d52" 1874 | integrity sha1-HBH5IY8HYImkfdUS+TxmmaaoHVI= 1875 | 1876 | yallist@^4.0.0: 1877 | version "4.0.0" 1878 | resolved "https://registry.yarnpkg.com/yallist/-/yallist-4.0.0.tgz#9bb92790d9c0effec63be73519e11a35019a3a72" 1879 | integrity sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A== 1880 | --------------------------------------------------------------------------------