├── example ├── index.css ├── assets │ ├── error.png │ └── loading.png ├── App.vue ├── main.js ├── components │ ├── DialogList.vue │ ├── Github.vue │ ├── Form.vue │ ├── WaterfallList.vue │ └── WaterfallApp.vue └── api.js ├── .gitignore ├── postcss.config.js ├── lib ├── index.js ├── utils │ ├── loader.js │ ├── itemWidth.js │ ├── dom.js │ ├── util.js │ └── Lazy.js └── components │ ├── LazyImg.vue │ └── Waterfall.vue ├── index.html ├── vite.config.js ├── test └── itemWidth.test.js ├── package.json ├── tailwind.config.js ├── favicon.svg ├── README.md └── pnpm-lock.yaml /example/index.css: -------------------------------------------------------------------------------- 1 | @tailwind base; 2 | @tailwind components; 3 | @tailwind utilities; -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- 1 | node_modules 2 | netlify-page 3 | .DS_Store 4 | dist 5 | dist-ssr 6 | *.local -------------------------------------------------------------------------------- /example/assets/error.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/heikaimu/vue-waterfall-plugin/HEAD/example/assets/error.png -------------------------------------------------------------------------------- /example/assets/loading.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/heikaimu/vue-waterfall-plugin/HEAD/example/assets/loading.png -------------------------------------------------------------------------------- /postcss.config.js: -------------------------------------------------------------------------------- 1 | module.exports = { 2 | plugins: { 3 | tailwindcss: {}, 4 | autoprefixer: {}, 5 | }, 6 | } 7 | -------------------------------------------------------------------------------- /lib/index.js: -------------------------------------------------------------------------------- 1 | /* 2 | * @Author: Yaowen Liu 3 | * @Date: 2022-03-24 10:12:25 4 | * @LastEditors: Yaowen Liu 5 | * @LastEditTime: 2022-03-24 10:13:29 6 | */ 7 | import Waterfall from './components/Waterfall.vue' 8 | import LazyImg from './components/LazyImg.vue' 9 | export { Waterfall, LazyImg } 10 | -------------------------------------------------------------------------------- /example/App.vue: -------------------------------------------------------------------------------- 1 | 7 | 10 | 11 | 19 | 20 | -------------------------------------------------------------------------------- /example/main.js: -------------------------------------------------------------------------------- 1 | /* 2 | * @Description: 3 | * @Version: 2.0 4 | * @Author: Yaowen Liu 5 | * @Date: 2021-10-19 17:44:24 6 | * @LastEditors: Yaowen Liu 7 | * @LastEditTime: 2022-03-24 11:24:53 8 | */ 9 | import Vue from 'vue' 10 | import App from './App.vue' 11 | import ElementUI from 'element-ui' 12 | import 'element-ui/lib/theme-chalk/index.css' 13 | import './index.css' 14 | import 'animate.css' 15 | 16 | Vue.use(ElementUI) 17 | 18 | new Vue({ 19 | el: '#app', 20 | render: h => h(App) 21 | }); 22 | -------------------------------------------------------------------------------- /index.html: -------------------------------------------------------------------------------- 1 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | Vue瀑布流插件 14 | 15 | 16 |
17 | 18 | 19 | 20 | -------------------------------------------------------------------------------- /lib/utils/loader.js: -------------------------------------------------------------------------------- 1 | /* 2 | * @Author: Yaowen Liu 3 | * @Date: 2022-03-11 15:47:34 4 | * @LastEditors: Yaowen Liu 5 | * @LastEditTime: 2022-03-24 10:40:08 6 | */ 7 | /** 8 | * load images 9 | * @param {Array[String]} images - 图片链接数组 10 | */ 11 | export function loadImage(url) { 12 | return new Promise((resolve, reject) => { 13 | const image = new Image() 14 | image.onload = () => { 15 | resolve(image) 16 | } 17 | image.onerror = () => { 18 | reject(new Error('Image load error')) 19 | } 20 | image.crossOrigin = 'Anonymous' // 支持跨域图片 21 | image.src = url 22 | }) 23 | } 24 | -------------------------------------------------------------------------------- /example/components/DialogList.vue: -------------------------------------------------------------------------------- 1 | 7 | 12 | 13 | 44 | -------------------------------------------------------------------------------- /vite.config.js: -------------------------------------------------------------------------------- 1 | /* 2 | * @Author: Yaowen Liu 3 | * @Date: 2022-03-24 09:35:56 4 | * @LastEditors: Yaowen Liu 5 | * @LastEditTime: 2022-03-24 13:40:52 6 | */ 7 | // vite.config.js 8 | import path from 'path' 9 | import { defineConfig } from 'vite' 10 | import { createVuePlugin } from 'vite-plugin-vue2' 11 | 12 | const target = process.env.TARGET 13 | 14 | let buildConfig = { 15 | outDir: 'netlify-page', 16 | } 17 | 18 | if (target === 'npm') { 19 | buildConfig = { 20 | lib: { 21 | entry: path.resolve(__dirname, 'lib/index.js'), 22 | name: 'MyLib', 23 | fileName: (format) => `my-lib.${format}.js`, 24 | }, 25 | rollupOptions: { 26 | external: ['vue'], 27 | output: { 28 | globals: { 29 | vue: 'Vue', 30 | }, 31 | }, 32 | }, 33 | } 34 | } 35 | 36 | export default defineConfig({ 37 | build: { ...buildConfig }, 38 | plugins: [ 39 | createVuePlugin(/* options */) 40 | ], 41 | server: { 42 | open: true, 43 | }, 44 | }) -------------------------------------------------------------------------------- /lib/utils/itemWidth.js: -------------------------------------------------------------------------------- 1 | /* 2 | * @Author: Yaowen Liu 3 | * @Date: 2022-03-17 15:58:16 4 | * @LastEditors: Yaowen Liu 5 | * @LastEditTime: 2023-02-28 15:41:47 6 | */ 7 | 8 | /** 9 | * @description: 获取当前窗口尺寸下格子的宽度 10 | * @param {ItemWidthProps} param1 11 | * @return {*} 12 | */ 13 | export const getItemWidth = ({ breakpoints, wrapperWidth, gutter, hasAroundGutter, initWidth }) => { 14 | // 获取升序尺寸集合 15 | const sizeList = Object.keys(breakpoints).map((key) => { return Number(key) }).sort((a, b) => a - b) 16 | 17 | // 获取当前的可用宽度 18 | let validSize = wrapperWidth 19 | let breakpoint = false 20 | for (const size of sizeList) { 21 | if (wrapperWidth <= size) { 22 | validSize = size 23 | breakpoint = true 24 | break 25 | } 26 | } 27 | 28 | // 非断点,返回设置的宽度 29 | if (!breakpoint) 30 | return initWidth 31 | 32 | // 断点模式,计算当前断点下的宽度 33 | const col = breakpoints[validSize] ? breakpoints[validSize].rowPerView : 4 34 | if (hasAroundGutter) 35 | return (wrapperWidth - gutter) / col - gutter 36 | else 37 | return (wrapperWidth - (col - 1) * gutter) / col 38 | } 39 | -------------------------------------------------------------------------------- /test/itemWidth.test.js: -------------------------------------------------------------------------------- 1 | /* 2 | * @Author: Yaowen Liu 3 | * @Date: 2022-03-11 17:54:36 4 | * @LastEditors: Yaowen Liu 5 | * @LastEditTime: 2022-03-24 13:44:59 6 | */ 7 | import { describe, expect, it } from 'vitest' 8 | import { getItemWidth } from '../lib/utils/itemWidth' 9 | 10 | describe('item 的宽度', () => { 11 | it('无断点', () => { 12 | const params = { 13 | breakpoints: { 14 | 1200: { rowPerView: 3 }, 15 | 800: { rowPerView: 2 }, 16 | 500: { rowPerView: 1 }, 17 | }, 18 | wrapperWidth: 1400, 19 | initWidth: 200, 20 | gutter: 10, 21 | hasAroundGutter: true, 22 | } 23 | expect(getItemWidth(params)).toMatchInlineSnapshot('200') 24 | }) 25 | 26 | it('有断点', () => { 27 | const params = { 28 | breakpoints: { 29 | 1200: { rowPerView: 3 }, 30 | 800: { rowPerView: 2 }, 31 | 500: { rowPerView: 1 }, 32 | }, 33 | wrapperWidth: 940, 34 | initWidth: 200, 35 | gutter: 10, 36 | hasAroundGutter: true, 37 | } 38 | expect(getItemWidth(params)).toMatchInlineSnapshot('300') 39 | }) 40 | }) 41 | -------------------------------------------------------------------------------- /package.json: -------------------------------------------------------------------------------- 1 | { 2 | "version": "3.3.2", 3 | "name": "vue-waterfall-plugin", 4 | "author": "Yaowen Liu <576079353@qq.com>", 5 | "license": "UNLICENSED", 6 | "files": [ 7 | "dist" 8 | ], 9 | "main": "dist/my-lib.umd.js", 10 | "module": "dist/my-lib.es.js", 11 | "scripts": { 12 | "dev": "vite", 13 | "build:page": "cross-env TARGET=page vite build", 14 | "build:npm": "cross-env TARGET=npm vite build", 15 | "serve": "vite preview", 16 | "test": "vitest" 17 | }, 18 | "devDependencies": { 19 | "autoprefixer": "^10.4.4", 20 | "cross-env": "^7.0.3", 21 | "eslint": "^8.10.0", 22 | "postcss": "^8.4.12", 23 | "tailwindcss": "^3.0.23", 24 | "vite": "^2.6.4", 25 | "vite-plugin-vue2": "^1.9.3", 26 | "vitest": "^0.7.10", 27 | "vue-template-compiler": "2.6.11" 28 | }, 29 | "dependencies": { 30 | "animate.css": "^4.1.1", 31 | "element-ui": "^2.15.6", 32 | "vue": "2.6.11", 33 | "vue-waterfall-plugin": "^3.3.0" 34 | }, 35 | "respository": { 36 | "type": "git", 37 | "url": "https://github.com/heikaimu/vue-waterfall-plugin" 38 | }, 39 | "bugs": { 40 | "url": "https://github.com/heikaimu/vue-waterfall-plugin/issues" 41 | } 42 | } 43 | -------------------------------------------------------------------------------- /example/components/Github.vue: -------------------------------------------------------------------------------- 1 | 9 | -------------------------------------------------------------------------------- /tailwind.config.js: -------------------------------------------------------------------------------- 1 | /* 2 | * @Author: Yaowen Liu 3 | * @Date: 2022-03-14 10:05:09 4 | * @LastEditors: Yaowen Liu 5 | * @LastEditTime: 2022-03-24 10:34:09 6 | */ 7 | const colors = require('tailwindcss/colors') 8 | 9 | module.exports = { 10 | purge: ['./index.html', './example/**/*.{vue,js,ts,jsx,tsx}', './lib/**/*.{vue,js,ts,jsx,tsx}'], 11 | darkMode: false, // or 'media' or 'class' 12 | theme: { 13 | screens: { 14 | 'sm': '640px', 15 | // => @media (min-width: 640px) { ... } 16 | 17 | 'md': '768px', 18 | // => @media (min-width: 768px) { ... } 19 | 20 | 'lg': '1024px', 21 | // => @media (min-width: 1024px) { ... } 22 | 23 | 'xl': '1280px', 24 | // => @media (min-width: 1280px) { ... } 25 | 26 | '2xl': '1536px', 27 | }, 28 | colors: { 29 | gray: colors.gray, 30 | green: colors.green, 31 | blue: colors.blue, 32 | red: colors.rose, 33 | yellow: colors.yellow, 34 | pink: colors.fuchsia, 35 | white: colors.white, 36 | amber: colors.amber, 37 | }, 38 | fontFamily: { 39 | sans: ['Graphik', 'sans-serif'], 40 | serif: ['Merriweather', 'serif'], 41 | }, 42 | extend: { 43 | spacing: { 44 | 128: '32rem', 45 | 144: '36rem', 46 | }, 47 | borderRadius: { 48 | '4xl': '2rem', 49 | }, 50 | }, 51 | }, 52 | variants: { 53 | extend: {}, 54 | }, 55 | plugins: [], 56 | } 57 | -------------------------------------------------------------------------------- /lib/utils/dom.js: -------------------------------------------------------------------------------- 1 | /* 2 | * @Author: Yaowen Liu 3 | * @Date: 2022-03-24 10:36:22 4 | * @LastEditors: Yaowen Liu 5 | * @LastEditTime: 2022-03-24 10:36:57 6 | */ 7 | export function hasClass(el, className) { 8 | const reg = new RegExp(`(^|\\s)${className}(\\s|$)`) 9 | return reg.test(el.className) 10 | } 11 | 12 | export function addClass(el, className) { 13 | if (hasClass(el, className)) 14 | return 15 | 16 | const newClass = el.className.split(/\s+/) 17 | newClass.push(className) 18 | el.className = newClass.join(' ') 19 | } 20 | 21 | export function removeClass(el, className) { 22 | if (hasClass(el, className)) { 23 | const newClass = el.className.split(/\s+/).filter(name => name !== className) 24 | el.className = newClass.join(' ') 25 | } 26 | } 27 | 28 | const elementStyle = document.createElement('div').style 29 | 30 | const vendor = (() => { 31 | const transformNames = { 32 | webkit: 'webkitTransform', 33 | Moz: 'MozTransform', 34 | O: 'OTransform', 35 | ms: 'msTransform', 36 | standard: 'transform', 37 | } 38 | 39 | for (const key in transformNames) { 40 | const val = transformNames[key] 41 | if (elementStyle[val] !== undefined) 42 | return key 43 | } 44 | 45 | return false 46 | })() 47 | 48 | export function prefixStyle(style) { 49 | if (vendor === false) 50 | return false 51 | 52 | if (vendor === 'standard') 53 | return style 54 | 55 | return vendor + style.charAt(0).toUpperCase() + style.substr(1) 56 | } 57 | -------------------------------------------------------------------------------- /favicon.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | -------------------------------------------------------------------------------- /lib/components/LazyImg.vue: -------------------------------------------------------------------------------- 1 | 7 | 14 | 15 | 55 | 56 | 97 | -------------------------------------------------------------------------------- /example/api.js: -------------------------------------------------------------------------------- 1 | /* 2 | * @Description: 3 | * @Version: 2.0 4 | * @Author: Yaowen Liu 5 | * @Date: 2021-10-14 13:34:56 6 | * @LastEditors: Yaowen Liu 7 | * @LastEditTime: 2023-04-10 12:49:57 8 | */ 9 | export function randomID(length = 6) { 10 | return Number(Math.random().toString().substr(3, length) + Date.now()).toString(36) 11 | } 12 | 13 | const COLORS = ['#409EFF', '#67C23A', '#E6A23C', '#F56C6C', '#909399'] 14 | const NAMES = [ 15 | '小当家', 16 | '樱木花道', 17 | '木之本樱', 18 | '小可', 19 | '水冰月', 20 | '哆啦A梦', 21 | '大雄', 22 | '项少羽', 23 | '天明', 24 | '月儿', 25 | '石兰', 26 | '夏尔凡多姆海恩', 27 | '塞巴斯蒂安', 28 | '亚伦沃克', 29 | '皮卡丘', 30 | '鸣人', 31 | '宇智波佐助', 32 | '旗木卡卡西', 33 | '喜洋洋', 34 | '灰太狼', 35 | '爱德华', 36 | '阿冈', 37 | '黑崎一护', 38 | '路飞', 39 | '索隆', 40 | '山治', 41 | '恋次', 42 | '越前龙马', 43 | ] 44 | 45 | function getRandomNum(min, max) { 46 | return Math.floor(Math.random() * (max - min + 1)) + min 47 | } 48 | 49 | function randomColor() { 50 | return COLORS[getRandomNum(0, 4)] 51 | } 52 | 53 | function randomName() { 54 | return NAMES[getRandomNum(0, 25)] 55 | } 56 | 57 | // let start = 100 58 | // export function getList(pageSize = 10) { 59 | // const end = start + pageSize 60 | // const list = [] 61 | // for (let i = start; i <= end; i++) { 62 | // const successURL = `https://images.weserv.nl/?url=https://api.mz-moe.cn/img/img${i}.jpg` 63 | // // const successURL = `https://images.weserv.nl/?url=https://api.mz-moe.cn/img/img${i}.jpg?timestamp=${Date.now()}` 64 | // const errorURL = 'https://api.mz-moe.cn/img/img00000.jpg' 65 | // list.push({ 66 | // id: randomID(), 67 | // star: false, 68 | // src: { 69 | // original: Math.random() < 0.95 ? successURL : errorURL, 70 | // }, 71 | // backgroundColor: randomColor(), 72 | // name: randomName(), 73 | // }) 74 | // } 75 | // start = end + 1 76 | // return list 77 | // } 78 | 79 | 80 | const website = 'https://wanderprints.com' 81 | // const website = 'https://www.getphotoblanket.com'; 82 | 83 | export const getList = ({ page = 1, pageSize = 20 }) => { 84 | const url = `${website}/products.json?page=${page}&limit=${pageSize}` 85 | return fetch(url) 86 | .then(res => res.json()) 87 | .then(res => res.products).then((res) => { 88 | return res.map((item) => { 89 | return { 90 | id: randomID(), 91 | star: false, 92 | price: item.variants[0].price, 93 | src: { 94 | original: item.images[0].src, 95 | }, 96 | backgroundColor: randomColor(), 97 | name: item.title, 98 | } 99 | }) 100 | }) 101 | } 102 | -------------------------------------------------------------------------------- /example/components/Form.vue: -------------------------------------------------------------------------------- 1 | 9 | 70 | 71 | 106 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | 9 | 10 | # Vue2 瀑布流组件 11 | 12 | vue 瀑布流插件,支持 PC 和移动端,支持 animate 的所有动画效果,支持图片懒加载 13 | 14 | [在线演示地址](https://vue-waterfall.netlify.app/) 15 | 16 | [vue3 版本](https://github.com/heikaimu/vue3-waterfall-plugin) 17 | 18 | #### 安装 19 | 20 | ```bash 21 | npm install vue-waterfall-plugin 22 | ``` 23 | 24 | #### 使用 25 | 26 | ```javascript 27 | import { LazyImg, Waterfall } from 'vue-waterfall-plugin' 28 | import 'vue-waterfall-plugin/dist/style.css' 29 | ``` 30 | 31 | ```html 32 | 33 | 39 | 40 | ``` 41 | 42 | ```javascript 43 | data: { 44 | list: [ 45 | { 46 | src: "xxxx.jpg", 47 | ... 48 | } 49 | ... 50 | ] 51 | } 52 | 53 | ``` 54 | 作用域插槽返回了3个字段: 55 | `item` 原始数据, `url` 图片资源, `index` 卡片索引 56 | 57 | #### `Props` 参数 58 | | 参数名 | 类型 | 默认值 | 描述 | 59 | | ----------------- | ------- | ----------- | ----------------------------------------------------------------------------------------- | 60 | | `list` | `Array` | [] | 列表数据 | 61 | | `rowKey` | `String` | `id` | 数据唯一的字段,比如列表里面的`id`, 如果要删除卡片,该字段为必填 | 62 | | `imgSelector` | `String` | `src` | 图片字段选择器,如果层级较深,使用 `xxx.xxx.xxx` 方式 | 63 | | `width` | `Number` | `200` | 卡片在 PC 上的宽度 | 64 | | `breakpoints` | `Object` | `breakpoints` | 自定义行显示个数,主要用于对移动端的适配 | 65 | | `gutter` | `Number` | `10` | 卡片之间的间隙 | 66 | | `hasAroundGutter` | `Boolean` | `true` | 容器四周是否有 `gutter` 边距 | 67 | | `animationPrefix` | `String` | `animate__animated` | `animate.css` 的动画绑定 `className`,默认的是 `4.x.x` 版本,如果想使用老版本,只需要改成 `animated` 即可 | 68 | | `animationEffect` | `String` | `fadeIn` | 卡片入场动画,默认只有 `fadeIn`,引入 `animation.css` 后可使用其他动画 | 69 | | `animationDuration` | `Number` | `1000` | 动画执行时间(单位毫秒)| 70 | | `animationDelay` | `Number` | `300` | 动画延迟(单位毫秒)| 71 | | `backgroundColor` | `String` | `#ffffff` | 背景颜色 | 72 | | `loadProps` | `Object` | `loadProps` | 加载的图片和失败的图片 | 73 | | `lazyload` | `Boolean` | `true` | 是否开启懒加载 | 74 | | `delay` | `Number` | `300` | 布局刷新的防抖时间,默认 `300ms` 内没有再次触发才刷新布局。(图片加载完成;容器大小、`list`、`width`、`gutter`、`hasAroundGutter`变化时均会触发刷新) | 75 | 76 | `breakpoints` 77 | ```javascript 78 | breakpoints: { 79 | 1200: { //当屏幕宽度小于等于1200 80 | rowPerView: 4, 81 | }, 82 | 800: { //当屏幕宽度小于等于800 83 | rowPerView: 3, 84 | }, 85 | 500: { //当屏幕宽度小于等于500 86 | rowPerView: 2, 87 | } 88 | } 89 | ``` 90 | 91 | `loadProps` 92 | ```javascript 93 | import loading from 'assets/loading.png' 94 | import error from 'assets/error.png' 95 | loadProps: { 96 | loading, 97 | error 98 | } 99 | ``` 100 | 101 | 懒加载图片样式覆盖,需要将覆盖样式放在全局才能生效 102 | ```css 103 | .lazy__img[lazy=loading] { 104 | padding: 5em 0; 105 | width: 48px; 106 | } 107 | 108 | .lazy__img[lazy=loaded] { 109 | width: 100%; 110 | } 111 | 112 | .lazy__img[lazy=error] { 113 | padding: 5em 0; 114 | width: 48px; 115 | } 116 | ``` 117 | -------------------------------------------------------------------------------- /example/components/WaterfallList.vue: -------------------------------------------------------------------------------- 1 | 7 | 47 | 48 | 103 | -------------------------------------------------------------------------------- /example/components/WaterfallApp.vue: -------------------------------------------------------------------------------- 1 | 9 | 48 | 49 | 133 | -------------------------------------------------------------------------------- /lib/utils/util.js: -------------------------------------------------------------------------------- 1 | export const inBrowser = typeof window !== 'undefined' && window !== null 2 | 3 | export const hasIntersectionObserver = checkIntersectionObserver() 4 | const isEnumerable = Object.prototype.propertyIsEnumerable 5 | const getSymbols = Object.getOwnPropertySymbols 6 | 7 | /** 8 | * 取值 9 | * @param {Object | Array} form 10 | * @param {...any} selectors 11 | * @returns 12 | */ 13 | export function getValue(form, ...selectors) { 14 | const res = selectors.map((s) => { 15 | return s 16 | .replace(/\[(\w+)\]/g, '.$1') 17 | .split('.') 18 | .reduce((prev, cur) => { 19 | return prev && prev[cur] 20 | }, form) 21 | }) 22 | return res 23 | } 24 | 25 | /** 26 | * 防抖 27 | * @param {*} fn 28 | * @param {*} delay 29 | * @returns 30 | */ 31 | export function debounce(fn, delay) { 32 | let timer = null; 33 | return function () { 34 | timer && clearTimeout(timer); 35 | timer = null; 36 | 37 | const args = arguments; 38 | const context = this; 39 | timer = setTimeout(() => { 40 | fn.call(context, args); 41 | }, delay); 42 | } 43 | } 44 | 45 | /** 46 | * 判断是否支持IntersectionObserver 47 | * @returns {boolean} 48 | */ 49 | export function checkIntersectionObserver() { 50 | if ( 51 | inBrowser 52 | && 'IntersectionObserver' in window 53 | && 'IntersectionObserverEntry' in window 54 | && 'intersectionRatio' in window.IntersectionObserverEntry.prototype 55 | ) { 56 | // Minimal polyfill for Edge 15's lack of `isIntersecting` 57 | // See: https://github.com/w3c/IntersectionObserver/issues/211 58 | if (!('isIntersecting' in window.IntersectionObserverEntry.prototype)) { 59 | Object.defineProperty(window.IntersectionObserverEntry.prototype, 'isIntersecting', { 60 | get() { 61 | return this.intersectionRatio > 0 62 | }, 63 | }) 64 | } 65 | return true 66 | } 67 | return false 68 | } 69 | 70 | /** 71 | * is object 72 | * 73 | * @param {*} val 74 | * @returns {boolean} 75 | */ 76 | export function isObject(val) { 77 | return typeof val === 'function' || toString.call(val) === '[object Object]' 78 | } 79 | 80 | /** 81 | * is primitive 82 | * 83 | * @param {*} val 84 | * @returns {boolean} 85 | */ 86 | export function isPrimitive(val) { 87 | return typeof val === 'object' ? val === null : typeof val !== 'function' 88 | } 89 | 90 | /** 91 | * check private key 92 | * 93 | * @export 94 | * @param {*} key 95 | * @returns {boolean} 96 | */ 97 | export function isValidKey(key) { 98 | return key !== '__proto__' && key !== 'constructor' && key !== 'prototype' 99 | } 100 | 101 | /** 102 | * Assign the enumerable es6 Symbol properties from one 103 | * or more objects to the first object passed on the arguments. 104 | * Can be used as a supplement to other extend, assign or 105 | * merge methods as a polyfill for the Symbols part of 106 | * the es6 Object.assign method. 107 | * https://github.com/jonschlinkert/assign-symbols 108 | * 109 | * @param {*} target 110 | * @param {Array} args 111 | * @returns 112 | */ 113 | function assignSymbols(target, ...args) { 114 | if (!isObject(target)) 115 | throw new TypeError('expected the first argument to be an object') 116 | 117 | if (args.length === 0 || typeof Symbol !== 'function' || typeof getSymbols !== 'function') 118 | return target 119 | 120 | for (const arg of args) { 121 | const names = getSymbols(arg) 122 | 123 | for (const key of names) { 124 | if (isEnumerable.call(arg, key)) 125 | target[key] = arg[key] 126 | } 127 | } 128 | return target 129 | } 130 | 131 | /** 132 | * Deeply assign the values of all enumerable-own-properties and symbols 133 | * from one or more source objects to a target object. Returns the target object. 134 | * https://github.com/jonschlinkert/assign-deep 135 | * 136 | * @param {*} target 137 | * @param {Array} args 138 | * @returns 139 | */ 140 | export function assign(target, ...args) { 141 | let i = 0 142 | if (isPrimitive(target)) target = args[i++] 143 | if (!target) target = {} 144 | for (; i < args.length; i++) { 145 | if (isObject(args[i])) { 146 | for (const key of Object.keys(args[i])) { 147 | if (isValidKey(key)) { 148 | if (isObject(target[key]) && isObject(args[i][key])) 149 | assign(target[key], args[i][key]) 150 | 151 | else 152 | target[key] = args[i][key] 153 | } 154 | } 155 | assignSymbols(target, args[i]) 156 | } 157 | } 158 | return target 159 | } 160 | -------------------------------------------------------------------------------- /lib/utils/Lazy.js: -------------------------------------------------------------------------------- 1 | import { assign, hasIntersectionObserver, isObject } from './util' 2 | import { loadImage } from './loader' 3 | 4 | const LifecycleEnum = { 5 | LOADING: 'loading', 6 | LOADED: 'loaded', 7 | ERROR: 'error', 8 | } 9 | 10 | const DEFAULT_OBSERVER_OPTIONS = { 11 | rootMargin: '0px', 12 | threshold: 0, 13 | } 14 | 15 | const DEFAULT_LOADING = 'data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7' 16 | const DEFAULT_ERROR = '' 17 | 18 | export default class Lazy { 19 | lazyActive = true // 是否开启懒加载 20 | options = { 21 | loading: DEFAULT_LOADING, 22 | error: DEFAULT_ERROR, 23 | observerOptions: DEFAULT_OBSERVER_OPTIONS, 24 | log: true, 25 | } 26 | 27 | _images = new WeakMap() 28 | 29 | constructor(flag = true, options) { 30 | this.lazyActive = flag 31 | this.config(options) 32 | } 33 | 34 | config(options = {}) { 35 | assign(this.options, options) 36 | } 37 | 38 | // mount 39 | mount(el, binding, callback) { 40 | const { src, loading, error } = this._valueFormatter(binding) 41 | el.setAttribute('lazy', LifecycleEnum.LOADING) 42 | el.setAttribute('src', loading || DEFAULT_LOADING) 43 | if (!this.lazyActive) { 44 | this._setImageSrc(el, src, callback, error) 45 | } 46 | else { 47 | if (!hasIntersectionObserver) { 48 | this._setImageSrc(el, src, callback, error) 49 | this._log(() => { 50 | throw new Error('Not support IntersectionObserver!') 51 | }) 52 | } 53 | this._initIntersectionObserver(el, src, callback, error) 54 | } 55 | } 56 | 57 | // resize 58 | // resize(el, callback) { 59 | // const lazy = el.getAttribute('lazy') 60 | // const src = el.getAttribute('src') 61 | // if (lazy && lazy === LifecycleEnum.LOADED && src) { 62 | // loadImage(src).then((image) => { 63 | // const { width, height } = image 64 | // const curHeight = (el.width / width) * height 65 | // el.height = curHeight 66 | // const style = el.style 67 | // style.height = `${curHeight}px` 68 | // callback() 69 | // }) 70 | // } 71 | // } 72 | 73 | // unmount 74 | unmount(el) { 75 | const imgItem = this._realObserver(el) 76 | imgItem && imgItem.unobserve(el) 77 | this._images.delete(el) 78 | } 79 | 80 | /** 81 | * 设置img的src 82 | * @param {*} el - img 83 | * @param {*} src - 原图 84 | * @param {*} error - 错误图片 85 | * @param {*} callback - 完成的回调函数,通知组件刷新布局 86 | * @returns 87 | */ 88 | _setImageSrc(el, src, callback, error) { 89 | if (!src) 90 | return 91 | 92 | const preSrc = el.getAttribute('src') 93 | 94 | // 如果当前地址和卡片地址一样则return 95 | if (preSrc === src) 96 | return 97 | 98 | loadImage(src) 99 | .then((image) => { 100 | // 修改容器 101 | const { width, height } = image 102 | const ratio = height / width 103 | const lazyBox = el.parentNode.parentNode; 104 | lazyBox.style.paddingBottom = ratio * 100 + '%' 105 | 106 | // 设置图片 107 | el.setAttribute('lazy', LifecycleEnum.LOADED) 108 | el.removeAttribute('src') 109 | el.setAttribute('src', src) 110 | 111 | callback() 112 | }) 113 | .catch(() => { 114 | const imgItem = this._realObserver(el) 115 | imgItem && imgItem.disconnect() 116 | if (error) { 117 | el.setAttribute('lazy', LifecycleEnum.ERROR) 118 | el.setAttribute('src', error) 119 | } 120 | this._log(() => { 121 | throw new Error(`Image failed to load!And failed src was: ${src} `) 122 | }) 123 | callback() 124 | }) 125 | } 126 | 127 | _isOpenLazy() { 128 | return hasIntersectionObserver && this.lazyActive 129 | } 130 | 131 | /** 132 | * 添加img和对应的observer到weakMap中 133 | * 开启监听 134 | * 当出现在可视区域后取消监听 135 | * @param {*} el - img 136 | * @param {*} src - 图片 137 | * @param {*} error - 错误图片 138 | * @param {*} callback - 完成的回调函数,通知组件刷新布局 139 | */ 140 | _initIntersectionObserver(el, src, callback, error) { 141 | const observerOptions = this.options.observerOptions 142 | this._images.set( 143 | el, 144 | new IntersectionObserver((entries) => { 145 | Array.prototype.forEach.call(entries, (entry) => { 146 | if (entry.isIntersecting) { 147 | const imgItem = this._realObserver(el) 148 | imgItem && imgItem.unobserve(entry.target) 149 | this._setImageSrc(el, src, callback, error) 150 | } 151 | }) 152 | }, observerOptions), 153 | ) 154 | 155 | const imgItem = this._realObserver(el) 156 | imgItem && imgItem.observe(el) 157 | } 158 | 159 | // 格式化参数 160 | _valueFormatter(value) { 161 | let src = value 162 | let loading = this.options.loading 163 | let error = this.options.error 164 | if (isObject(value)) { 165 | src = value.src 166 | loading = value.loading || this.options.loading 167 | error = value.error || this.options.error 168 | } 169 | return { 170 | src, 171 | loading, 172 | error, 173 | } 174 | } 175 | 176 | // 日志 177 | _log(callback) { 178 | if (this.options.log) 179 | callback() 180 | } 181 | 182 | // 在map中获取对应img的observer事件 183 | _realObserver(el) { 184 | return this._images.get(el) 185 | } 186 | } 187 | -------------------------------------------------------------------------------- /lib/components/Waterfall.vue: -------------------------------------------------------------------------------- 1 | 9 | 23 | 24 | 326 | 327 | 365 | -------------------------------------------------------------------------------- /pnpm-lock.yaml: -------------------------------------------------------------------------------- 1 | lockfileVersion: 5.4 2 | 3 | specifiers: 4 | animate.css: ^4.1.1 5 | autoprefixer: ^10.4.4 6 | cross-env: ^7.0.3 7 | element-ui: ^2.15.6 8 | eslint: ^8.10.0 9 | postcss: ^8.4.12 10 | tailwindcss: ^3.0.23 11 | vite: ^2.6.4 12 | vite-plugin-vue2: ^1.9.3 13 | vitest: ^0.7.10 14 | vue: 2.6.11 15 | vue-template-compiler: 2.6.11 16 | vue-waterfall-plugin: ^3.3.0 17 | 18 | dependencies: 19 | animate.css: 4.1.1 20 | element-ui: 2.15.6_vue@2.6.11 21 | vue: 2.6.11 22 | vue-waterfall-plugin: 3.3.0 23 | 24 | devDependencies: 25 | autoprefixer: 10.4.4_postcss@8.4.12 26 | cross-env: 7.0.3 27 | eslint: 8.11.0 28 | postcss: 8.4.12 29 | tailwindcss: 3.0.23_balfb4xu3orvwfzgle32wkroya 30 | vite: 2.8.6 31 | vite-plugin-vue2: 1.9.3_ym4giuhjvqmzxoh6gnzhpisapm 32 | vitest: 0.7.10 33 | vue-template-compiler: 2.6.11 34 | 35 | packages: 36 | 37 | /@ampproject/remapping/2.1.2: 38 | resolution: {integrity: sha512-hoyByceqwKirw7w3Z7gnIIZC3Wx3J484Y3L/cMpXFbr7d9ZQj2mODrirNzcJa+SM3UlpWXYvKV4RlRpFXlWgXg==} 39 | engines: {node: '>=6.0.0'} 40 | dependencies: 41 | '@jridgewell/trace-mapping': 0.3.4 42 | dev: true 43 | 44 | /@babel/code-frame/7.16.7: 45 | resolution: {integrity: sha512-iAXqUn8IIeBTNd72xsFlgaXHkMBMt6y4HJp1tIaK465CWLT/fG1aqB7ykr95gHHmlBdGbFeWWfyB4NJJ0nmeIg==} 46 | engines: {node: '>=6.9.0'} 47 | dependencies: 48 | '@babel/highlight': 7.16.10 49 | dev: true 50 | 51 | /@babel/compat-data/7.17.7: 52 | resolution: {integrity: sha512-p8pdE6j0a29TNGebNm7NzYZWB3xVZJBZ7XGs42uAKzQo8VQ3F0By/cQCtUEABwIqw5zo6WA4NbmxsfzADzMKnQ==} 53 | engines: {node: '>=6.9.0'} 54 | dev: true 55 | 56 | /@babel/core/7.17.8: 57 | resolution: {integrity: sha512-OdQDV/7cRBtJHLSOBqqbYNkOcydOgnX59TZx4puf41fzcVtN3e/4yqY8lMQsK+5X2lJtAdmA+6OHqsj1hBJ4IQ==} 58 | engines: {node: '>=6.9.0'} 59 | dependencies: 60 | '@ampproject/remapping': 2.1.2 61 | '@babel/code-frame': 7.16.7 62 | '@babel/generator': 7.17.7 63 | '@babel/helper-compilation-targets': 7.17.7_@babel+core@7.17.8 64 | '@babel/helper-module-transforms': 7.17.7 65 | '@babel/helpers': 7.17.8 66 | '@babel/parser': 7.17.8 67 | '@babel/template': 7.16.7 68 | '@babel/traverse': 7.17.3 69 | '@babel/types': 7.17.0 70 | convert-source-map: 1.8.0 71 | debug: 4.3.4 72 | gensync: 1.0.0-beta.2 73 | json5: 2.2.1 74 | semver: 6.3.0 75 | transitivePeerDependencies: 76 | - supports-color 77 | dev: true 78 | 79 | /@babel/generator/7.17.7: 80 | resolution: {integrity: sha512-oLcVCTeIFadUoArDTwpluncplrYBmTCCZZgXCbgNGvOBBiSDDK3eWO4b/+eOTli5tKv1lg+a5/NAXg+nTcei1w==} 81 | engines: {node: '>=6.9.0'} 82 | dependencies: 83 | '@babel/types': 7.17.0 84 | jsesc: 2.5.2 85 | source-map: 0.5.7 86 | dev: true 87 | 88 | /@babel/helper-annotate-as-pure/7.16.7: 89 | resolution: {integrity: sha512-s6t2w/IPQVTAET1HitoowRGXooX8mCgtuP5195wD/QJPV6wYjpujCGF7JuMODVX2ZAJOf1GT6DT9MHEZvLOFSw==} 90 | engines: {node: '>=6.9.0'} 91 | dependencies: 92 | '@babel/types': 7.17.0 93 | dev: true 94 | 95 | /@babel/helper-compilation-targets/7.17.7_@babel+core@7.17.8: 96 | resolution: {integrity: sha512-UFzlz2jjd8kroj0hmCFV5zr+tQPi1dpC2cRsDV/3IEW8bJfCPrPpmcSN6ZS8RqIq4LXcmpipCQFPddyFA5Yc7w==} 97 | engines: {node: '>=6.9.0'} 98 | peerDependencies: 99 | '@babel/core': ^7.0.0 100 | dependencies: 101 | '@babel/compat-data': 7.17.7 102 | '@babel/core': 7.17.8 103 | '@babel/helper-validator-option': 7.16.7 104 | browserslist: 4.20.2 105 | semver: 6.3.0 106 | dev: true 107 | 108 | /@babel/helper-create-class-features-plugin/7.17.6_@babel+core@7.17.8: 109 | resolution: {integrity: sha512-SogLLSxXm2OkBbSsHZMM4tUi8fUzjs63AT/d0YQIzr6GSd8Hxsbk2KYDX0k0DweAzGMj/YWeiCsorIdtdcW8Eg==} 110 | engines: {node: '>=6.9.0'} 111 | peerDependencies: 112 | '@babel/core': ^7.0.0 113 | dependencies: 114 | '@babel/core': 7.17.8 115 | '@babel/helper-annotate-as-pure': 7.16.7 116 | '@babel/helper-environment-visitor': 7.16.7 117 | '@babel/helper-function-name': 7.16.7 118 | '@babel/helper-member-expression-to-functions': 7.17.7 119 | '@babel/helper-optimise-call-expression': 7.16.7 120 | '@babel/helper-replace-supers': 7.16.7 121 | '@babel/helper-split-export-declaration': 7.16.7 122 | transitivePeerDependencies: 123 | - supports-color 124 | dev: true 125 | 126 | /@babel/helper-environment-visitor/7.16.7: 127 | resolution: {integrity: sha512-SLLb0AAn6PkUeAfKJCCOl9e1R53pQlGAfc4y4XuMRZfqeMYLE0dM1LMhqbGAlGQY0lfw5/ohoYWAe9V1yibRag==} 128 | engines: {node: '>=6.9.0'} 129 | dependencies: 130 | '@babel/types': 7.17.0 131 | dev: true 132 | 133 | /@babel/helper-function-name/7.16.7: 134 | resolution: {integrity: sha512-QfDfEnIUyyBSR3HtrtGECuZ6DAyCkYFp7GHl75vFtTnn6pjKeK0T1DB5lLkFvBea8MdaiUABx3osbgLyInoejA==} 135 | engines: {node: '>=6.9.0'} 136 | dependencies: 137 | '@babel/helper-get-function-arity': 7.16.7 138 | '@babel/template': 7.16.7 139 | '@babel/types': 7.17.0 140 | dev: true 141 | 142 | /@babel/helper-get-function-arity/7.16.7: 143 | resolution: {integrity: sha512-flc+RLSOBXzNzVhcLu6ujeHUrD6tANAOU5ojrRx/as+tbzf8+stUCj7+IfRRoAbEZqj/ahXEMsjhOhgeZsrnTw==} 144 | engines: {node: '>=6.9.0'} 145 | dependencies: 146 | '@babel/types': 7.17.0 147 | dev: true 148 | 149 | /@babel/helper-hoist-variables/7.16.7: 150 | resolution: {integrity: sha512-m04d/0Op34H5v7pbZw6pSKP7weA6lsMvfiIAMeIvkY/R4xQtBSMFEigu9QTZ2qB/9l22vsxtM8a+Q8CzD255fg==} 151 | engines: {node: '>=6.9.0'} 152 | dependencies: 153 | '@babel/types': 7.17.0 154 | dev: true 155 | 156 | /@babel/helper-member-expression-to-functions/7.17.7: 157 | resolution: {integrity: sha512-thxXgnQ8qQ11W2wVUObIqDL4p148VMxkt5T/qpN5k2fboRyzFGFmKsTGViquyM5QHKUy48OZoca8kw4ajaDPyw==} 158 | engines: {node: '>=6.9.0'} 159 | dependencies: 160 | '@babel/types': 7.17.0 161 | dev: true 162 | 163 | /@babel/helper-module-imports/7.16.7: 164 | resolution: {integrity: sha512-LVtS6TqjJHFc+nYeITRo6VLXve70xmq7wPhWTqDJusJEgGmkAACWwMiTNrvfoQo6hEhFwAIixNkvB0jPXDL8Wg==} 165 | engines: {node: '>=6.9.0'} 166 | dependencies: 167 | '@babel/types': 7.17.0 168 | dev: true 169 | 170 | /@babel/helper-module-transforms/7.17.7: 171 | resolution: {integrity: sha512-VmZD99F3gNTYB7fJRDTi+u6l/zxY0BE6OIxPSU7a50s6ZUQkHwSDmV92FfM+oCG0pZRVojGYhkR8I0OGeCVREw==} 172 | engines: {node: '>=6.9.0'} 173 | dependencies: 174 | '@babel/helper-environment-visitor': 7.16.7 175 | '@babel/helper-module-imports': 7.16.7 176 | '@babel/helper-simple-access': 7.17.7 177 | '@babel/helper-split-export-declaration': 7.16.7 178 | '@babel/helper-validator-identifier': 7.16.7 179 | '@babel/template': 7.16.7 180 | '@babel/traverse': 7.17.3 181 | '@babel/types': 7.17.0 182 | transitivePeerDependencies: 183 | - supports-color 184 | dev: true 185 | 186 | /@babel/helper-optimise-call-expression/7.16.7: 187 | resolution: {integrity: sha512-EtgBhg7rd/JcnpZFXpBy0ze1YRfdm7BnBX4uKMBd3ixa3RGAE002JZB66FJyNH7g0F38U05pXmA5P8cBh7z+1w==} 188 | engines: {node: '>=6.9.0'} 189 | dependencies: 190 | '@babel/types': 7.17.0 191 | dev: true 192 | 193 | /@babel/helper-plugin-utils/7.16.7: 194 | resolution: {integrity: sha512-Qg3Nk7ZxpgMrsox6HreY1ZNKdBq7K72tDSliA6dCl5f007jR4ne8iD5UzuNnCJH2xBf2BEEVGr+/OL6Gdp7RxA==} 195 | engines: {node: '>=6.9.0'} 196 | dev: true 197 | 198 | /@babel/helper-replace-supers/7.16.7: 199 | resolution: {integrity: sha512-y9vsWilTNaVnVh6xiJfABzsNpgDPKev9HnAgz6Gb1p6UUwf9NepdlsV7VXGCftJM+jqD5f7JIEubcpLjZj5dBw==} 200 | engines: {node: '>=6.9.0'} 201 | dependencies: 202 | '@babel/helper-environment-visitor': 7.16.7 203 | '@babel/helper-member-expression-to-functions': 7.17.7 204 | '@babel/helper-optimise-call-expression': 7.16.7 205 | '@babel/traverse': 7.17.3 206 | '@babel/types': 7.17.0 207 | transitivePeerDependencies: 208 | - supports-color 209 | dev: true 210 | 211 | /@babel/helper-simple-access/7.17.7: 212 | resolution: {integrity: sha512-txyMCGroZ96i+Pxr3Je3lzEJjqwaRC9buMUgtomcrLe5Nd0+fk1h0LLA+ixUF5OW7AhHuQ7Es1WcQJZmZsz2XA==} 213 | engines: {node: '>=6.9.0'} 214 | dependencies: 215 | '@babel/types': 7.17.0 216 | dev: true 217 | 218 | /@babel/helper-split-export-declaration/7.16.7: 219 | resolution: {integrity: sha512-xbWoy/PFoxSWazIToT9Sif+jJTlrMcndIsaOKvTA6u7QEo7ilkRZpjew18/W3c7nm8fXdUDXh02VXTbZ0pGDNw==} 220 | engines: {node: '>=6.9.0'} 221 | dependencies: 222 | '@babel/types': 7.17.0 223 | dev: true 224 | 225 | /@babel/helper-validator-identifier/7.16.7: 226 | resolution: {integrity: sha512-hsEnFemeiW4D08A5gUAZxLBTXpZ39P+a+DGDsHw1yxqyQ/jzFEnxf5uTEGp+3bzAbNOxU1paTgYS4ECU/IgfDw==} 227 | engines: {node: '>=6.9.0'} 228 | dev: true 229 | 230 | /@babel/helper-validator-option/7.16.7: 231 | resolution: {integrity: sha512-TRtenOuRUVo9oIQGPC5G9DgK4743cdxvtOw0weQNpZXaS16SCBi5MNjZF8vba3ETURjZpTbVn7Vvcf2eAwFozQ==} 232 | engines: {node: '>=6.9.0'} 233 | dev: true 234 | 235 | /@babel/helpers/7.17.8: 236 | resolution: {integrity: sha512-QcL86FGxpfSJwGtAvv4iG93UL6bmqBdmoVY0CMCU2g+oD2ezQse3PT5Pa+jiD6LJndBQi0EDlpzOWNlLuhz5gw==} 237 | engines: {node: '>=6.9.0'} 238 | dependencies: 239 | '@babel/template': 7.16.7 240 | '@babel/traverse': 7.17.3 241 | '@babel/types': 7.17.0 242 | transitivePeerDependencies: 243 | - supports-color 244 | dev: true 245 | 246 | /@babel/highlight/7.16.10: 247 | resolution: {integrity: sha512-5FnTQLSLswEj6IkgVw5KusNUUFY9ZGqe/TRFnP/BKYHYgfh7tc+C7mwiy95/yNP7Dh9x580Vv8r7u7ZfTBFxdw==} 248 | engines: {node: '>=6.9.0'} 249 | dependencies: 250 | '@babel/helper-validator-identifier': 7.16.7 251 | chalk: 2.4.2 252 | js-tokens: 4.0.0 253 | dev: true 254 | 255 | /@babel/parser/7.17.8: 256 | resolution: {integrity: sha512-BoHhDJrJXqcg+ZL16Xv39H9n+AqJ4pcDrQBGZN+wHxIysrLZ3/ECwCBUch/1zUNhnsXULcONU3Ei5Hmkfk6kiQ==} 257 | engines: {node: '>=6.0.0'} 258 | hasBin: true 259 | dependencies: 260 | '@babel/types': 7.17.0 261 | dev: true 262 | 263 | /@babel/plugin-proposal-class-properties/7.16.7_@babel+core@7.17.8: 264 | resolution: {integrity: sha512-IobU0Xme31ewjYOShSIqd/ZGM/r/cuOz2z0MDbNrhF5FW+ZVgi0f2lyeoj9KFPDOAqsYxmLWZte1WOwlvY9aww==} 265 | engines: {node: '>=6.9.0'} 266 | peerDependencies: 267 | '@babel/core': ^7.0.0-0 268 | dependencies: 269 | '@babel/core': 7.17.8 270 | '@babel/helper-create-class-features-plugin': 7.17.6_@babel+core@7.17.8 271 | '@babel/helper-plugin-utils': 7.16.7 272 | transitivePeerDependencies: 273 | - supports-color 274 | dev: true 275 | 276 | /@babel/plugin-proposal-decorators/7.17.8_@babel+core@7.17.8: 277 | resolution: {integrity: sha512-U69odN4Umyyx1xO1rTII0IDkAEC+RNlcKXtqOblfpzqy1C+aOplb76BQNq0+XdpVkOaPlpEDwd++joY8FNFJKA==} 278 | engines: {node: '>=6.9.0'} 279 | peerDependencies: 280 | '@babel/core': ^7.0.0-0 281 | dependencies: 282 | '@babel/core': 7.17.8 283 | '@babel/helper-create-class-features-plugin': 7.17.6_@babel+core@7.17.8 284 | '@babel/helper-plugin-utils': 7.16.7 285 | '@babel/helper-replace-supers': 7.16.7 286 | '@babel/plugin-syntax-decorators': 7.17.0_@babel+core@7.17.8 287 | charcodes: 0.2.0 288 | transitivePeerDependencies: 289 | - supports-color 290 | dev: true 291 | 292 | /@babel/plugin-syntax-decorators/7.17.0_@babel+core@7.17.8: 293 | resolution: {integrity: sha512-qWe85yCXsvDEluNP0OyeQjH63DlhAR3W7K9BxxU1MvbDb48tgBG+Ao6IJJ6smPDrrVzSQZrbF6donpkFBMcs3A==} 294 | engines: {node: '>=6.9.0'} 295 | peerDependencies: 296 | '@babel/core': ^7.0.0-0 297 | dependencies: 298 | '@babel/core': 7.17.8 299 | '@babel/helper-plugin-utils': 7.16.7 300 | dev: true 301 | 302 | /@babel/plugin-syntax-jsx/7.16.7_@babel+core@7.17.8: 303 | resolution: {integrity: sha512-Esxmk7YjA8QysKeT3VhTXvF6y77f/a91SIs4pWb4H2eWGQkCKFgQaG6hdoEVZtGsrAcb2K5BW66XsOErD4WU3Q==} 304 | engines: {node: '>=6.9.0'} 305 | peerDependencies: 306 | '@babel/core': ^7.0.0-0 307 | dependencies: 308 | '@babel/core': 7.17.8 309 | '@babel/helper-plugin-utils': 7.16.7 310 | dev: true 311 | 312 | /@babel/plugin-syntax-typescript/7.16.7_@babel+core@7.17.8: 313 | resolution: {integrity: sha512-YhUIJHHGkqPgEcMYkPCKTyGUdoGKWtopIycQyjJH8OjvRgOYsXsaKehLVPScKJWAULPxMa4N1vCe6szREFlZ7A==} 314 | engines: {node: '>=6.9.0'} 315 | peerDependencies: 316 | '@babel/core': ^7.0.0-0 317 | dependencies: 318 | '@babel/core': 7.17.8 319 | '@babel/helper-plugin-utils': 7.16.7 320 | dev: true 321 | 322 | /@babel/plugin-transform-typescript/7.16.8_@babel+core@7.17.8: 323 | resolution: {integrity: sha512-bHdQ9k7YpBDO2d0NVfkj51DpQcvwIzIusJ7mEUaMlbZq3Kt/U47j24inXZHQ5MDiYpCs+oZiwnXyKedE8+q7AQ==} 324 | engines: {node: '>=6.9.0'} 325 | peerDependencies: 326 | '@babel/core': ^7.0.0-0 327 | dependencies: 328 | '@babel/core': 7.17.8 329 | '@babel/helper-create-class-features-plugin': 7.17.6_@babel+core@7.17.8 330 | '@babel/helper-plugin-utils': 7.16.7 331 | '@babel/plugin-syntax-typescript': 7.16.7_@babel+core@7.17.8 332 | transitivePeerDependencies: 333 | - supports-color 334 | dev: true 335 | 336 | /@babel/template/7.16.7: 337 | resolution: {integrity: sha512-I8j/x8kHUrbYRTUxXrrMbfCa7jxkE7tZre39x3kjr9hvI82cK1FfqLygotcWN5kdPGWcLdWMHpSBavse5tWw3w==} 338 | engines: {node: '>=6.9.0'} 339 | dependencies: 340 | '@babel/code-frame': 7.16.7 341 | '@babel/parser': 7.17.8 342 | '@babel/types': 7.17.0 343 | dev: true 344 | 345 | /@babel/traverse/7.17.3: 346 | resolution: {integrity: sha512-5irClVky7TxRWIRtxlh2WPUUOLhcPN06AGgaQSB8AEwuyEBgJVuJ5imdHm5zxk8w0QS5T+tDfnDxAlhWjpb7cw==} 347 | engines: {node: '>=6.9.0'} 348 | dependencies: 349 | '@babel/code-frame': 7.16.7 350 | '@babel/generator': 7.17.7 351 | '@babel/helper-environment-visitor': 7.16.7 352 | '@babel/helper-function-name': 7.16.7 353 | '@babel/helper-hoist-variables': 7.16.7 354 | '@babel/helper-split-export-declaration': 7.16.7 355 | '@babel/parser': 7.17.8 356 | '@babel/types': 7.17.0 357 | debug: 4.3.4 358 | globals: 11.12.0 359 | transitivePeerDependencies: 360 | - supports-color 361 | dev: true 362 | 363 | /@babel/types/7.17.0: 364 | resolution: {integrity: sha512-TmKSNO4D5rzhL5bjWFcVHHLETzfQ/AmbKpKPOSjlP0WoHZ6L911fgoOKY4Alp/emzG4cHJdyN49zpgkbXFEHHw==} 365 | engines: {node: '>=6.9.0'} 366 | dependencies: 367 | '@babel/helper-validator-identifier': 7.16.7 368 | to-fast-properties: 2.0.0 369 | dev: true 370 | 371 | /@eslint/eslintrc/1.2.1: 372 | resolution: {integrity: sha512-bxvbYnBPN1Gibwyp6NrpnFzA3YtRL3BBAyEAFVIpNTm2Rn4Vy87GA5M4aSn3InRrlsbX5N0GW7XIx+U4SAEKdQ==} 373 | engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} 374 | dependencies: 375 | ajv: 6.12.6 376 | debug: 4.3.4 377 | espree: 9.3.1 378 | globals: 13.13.0 379 | ignore: 5.2.0 380 | import-fresh: 3.3.0 381 | js-yaml: 4.1.0 382 | minimatch: 3.1.2 383 | strip-json-comments: 3.1.1 384 | transitivePeerDependencies: 385 | - supports-color 386 | dev: true 387 | 388 | /@humanwhocodes/config-array/0.9.5: 389 | resolution: {integrity: sha512-ObyMyWxZiCu/yTisA7uzx81s40xR2fD5Cg/2Kq7G02ajkNubJf6BopgDTmDyc3U7sXpNKM8cYOw7s7Tyr+DnCw==} 390 | engines: {node: '>=10.10.0'} 391 | dependencies: 392 | '@humanwhocodes/object-schema': 1.2.1 393 | debug: 4.3.4 394 | minimatch: 3.1.2 395 | transitivePeerDependencies: 396 | - supports-color 397 | dev: true 398 | 399 | /@humanwhocodes/object-schema/1.2.1: 400 | resolution: {integrity: sha512-ZnQMnLV4e7hDlUvw8H+U8ASL02SS2Gn6+9Ac3wGGLIe7+je2AeAOxPY+izIPJDfFDb7eDjev0Us8MO1iFRN8hA==} 401 | dev: true 402 | 403 | /@jridgewell/resolve-uri/3.0.5: 404 | resolution: {integrity: sha512-VPeQ7+wH0itvQxnG+lIzWgkysKIr3L9sslimFW55rHMdGu/qCQ5z5h9zq4gI8uBtqkpHhsF4Z/OwExufUCThew==} 405 | engines: {node: '>=6.0.0'} 406 | dev: true 407 | 408 | /@jridgewell/sourcemap-codec/1.4.11: 409 | resolution: {integrity: sha512-Fg32GrJo61m+VqYSdRSjRXMjQ06j8YIYfcTqndLYVAaHmroZHLJZCydsWBOTDqXS2v+mjxohBWEMfg97GXmYQg==} 410 | dev: true 411 | 412 | /@jridgewell/trace-mapping/0.3.4: 413 | resolution: {integrity: sha512-vFv9ttIedivx0ux3QSjhgtCVjPZd5l46ZOMDSCwnH1yUO2e964gO8LZGyv2QkqcgR6TnBU1v+1IFqmeoG+0UJQ==} 414 | dependencies: 415 | '@jridgewell/resolve-uri': 3.0.5 416 | '@jridgewell/sourcemap-codec': 1.4.11 417 | dev: true 418 | 419 | /@nodelib/fs.scandir/2.1.5: 420 | resolution: {integrity: sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g==} 421 | engines: {node: '>= 8'} 422 | dependencies: 423 | '@nodelib/fs.stat': 2.0.5 424 | run-parallel: 1.2.0 425 | dev: true 426 | 427 | /@nodelib/fs.stat/2.0.5: 428 | resolution: {integrity: sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A==} 429 | engines: {node: '>= 8'} 430 | dev: true 431 | 432 | /@nodelib/fs.walk/1.2.8: 433 | resolution: {integrity: sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg==} 434 | engines: {node: '>= 8'} 435 | dependencies: 436 | '@nodelib/fs.scandir': 2.1.5 437 | fastq: 1.13.0 438 | dev: true 439 | 440 | /@rollup/pluginutils/4.2.0: 441 | resolution: {integrity: sha512-2WUyJNRkyH5p487pGnn4tWAsxhEFKN/pT8CMgHshd5H+IXkOnKvKZwsz5ZWz+YCXkleZRAU5kwbfgF8CPfDRqA==} 442 | engines: {node: '>= 8.0.0'} 443 | dependencies: 444 | estree-walker: 2.0.2 445 | picomatch: 2.3.1 446 | dev: true 447 | 448 | /@types/chai-subset/1.3.3: 449 | resolution: {integrity: sha512-frBecisrNGz+F4T6bcc+NLeolfiojh5FxW2klu669+8BARtyQv2C/GkNW6FUodVe4BroGMP/wER/YDGc7rEllw==} 450 | dependencies: 451 | '@types/chai': 4.3.0 452 | dev: true 453 | 454 | /@types/chai/4.3.0: 455 | resolution: {integrity: sha512-/ceqdqeRraGolFTcfoXNiqjyQhZzbINDngeoAq9GoHa8PPK1yNzTaxWjA6BFWp5Ua9JpXEMSS4s5i9tS0hOJtw==} 456 | dev: true 457 | 458 | /@types/parse-json/4.0.0: 459 | resolution: {integrity: sha512-//oorEZjL6sbPcKUaCdIGlIUeH26mgzimjBB77G6XRgnDl/L5wOnpyBGRe/Mmf5CVW3PwEBE1NjiMZ/ssFh4wA==} 460 | dev: true 461 | 462 | /@vue/babel-helper-vue-jsx-merge-props/1.2.1: 463 | resolution: {integrity: sha512-QOi5OW45e2R20VygMSNhyQHvpdUwQZqGPc748JLGCYEy+yp8fNFNdbNIGAgZmi9e+2JHPd6i6idRuqivyicIkA==} 464 | dev: true 465 | 466 | /@vue/babel-plugin-transform-vue-jsx/1.2.1_@babel+core@7.17.8: 467 | resolution: {integrity: sha512-HJuqwACYehQwh1fNT8f4kyzqlNMpBuUK4rSiSES5D4QsYncv5fxFsLyrxFPG2ksO7t5WP+Vgix6tt6yKClwPzA==} 468 | peerDependencies: 469 | '@babel/core': ^7.0.0-0 470 | dependencies: 471 | '@babel/core': 7.17.8 472 | '@babel/helper-module-imports': 7.16.7 473 | '@babel/plugin-syntax-jsx': 7.16.7_@babel+core@7.17.8 474 | '@vue/babel-helper-vue-jsx-merge-props': 1.2.1 475 | html-tags: 2.0.0 476 | lodash.kebabcase: 4.1.1 477 | svg-tags: 1.0.0 478 | dev: true 479 | 480 | /@vue/babel-preset-jsx/1.2.4_@babel+core@7.17.8: 481 | resolution: {integrity: sha512-oRVnmN2a77bYDJzeGSt92AuHXbkIxbf/XXSE3klINnh9AXBmVS1DGa1f0d+dDYpLfsAKElMnqKTQfKn7obcL4w==} 482 | peerDependencies: 483 | '@babel/core': ^7.0.0-0 484 | dependencies: 485 | '@babel/core': 7.17.8 486 | '@vue/babel-helper-vue-jsx-merge-props': 1.2.1 487 | '@vue/babel-plugin-transform-vue-jsx': 1.2.1_@babel+core@7.17.8 488 | '@vue/babel-sugar-composition-api-inject-h': 1.2.1_@babel+core@7.17.8 489 | '@vue/babel-sugar-composition-api-render-instance': 1.2.4_@babel+core@7.17.8 490 | '@vue/babel-sugar-functional-vue': 1.2.2_@babel+core@7.17.8 491 | '@vue/babel-sugar-inject-h': 1.2.2_@babel+core@7.17.8 492 | '@vue/babel-sugar-v-model': 1.2.3_@babel+core@7.17.8 493 | '@vue/babel-sugar-v-on': 1.2.3_@babel+core@7.17.8 494 | dev: true 495 | 496 | /@vue/babel-sugar-composition-api-inject-h/1.2.1_@babel+core@7.17.8: 497 | resolution: {integrity: sha512-4B3L5Z2G+7s+9Bwbf+zPIifkFNcKth7fQwekVbnOA3cr3Pq71q71goWr97sk4/yyzH8phfe5ODVzEjX7HU7ItQ==} 498 | peerDependencies: 499 | '@babel/core': ^7.0.0-0 500 | dependencies: 501 | '@babel/core': 7.17.8 502 | '@babel/plugin-syntax-jsx': 7.16.7_@babel+core@7.17.8 503 | dev: true 504 | 505 | /@vue/babel-sugar-composition-api-render-instance/1.2.4_@babel+core@7.17.8: 506 | resolution: {integrity: sha512-joha4PZznQMsxQYXtR3MnTgCASC9u3zt9KfBxIeuI5g2gscpTsSKRDzWQt4aqNIpx6cv8On7/m6zmmovlNsG7Q==} 507 | peerDependencies: 508 | '@babel/core': ^7.0.0-0 509 | dependencies: 510 | '@babel/core': 7.17.8 511 | '@babel/plugin-syntax-jsx': 7.16.7_@babel+core@7.17.8 512 | dev: true 513 | 514 | /@vue/babel-sugar-functional-vue/1.2.2_@babel+core@7.17.8: 515 | resolution: {integrity: sha512-JvbgGn1bjCLByIAU1VOoepHQ1vFsroSA/QkzdiSs657V79q6OwEWLCQtQnEXD/rLTA8rRit4rMOhFpbjRFm82w==} 516 | peerDependencies: 517 | '@babel/core': ^7.0.0-0 518 | dependencies: 519 | '@babel/core': 7.17.8 520 | '@babel/plugin-syntax-jsx': 7.16.7_@babel+core@7.17.8 521 | dev: true 522 | 523 | /@vue/babel-sugar-inject-h/1.2.2_@babel+core@7.17.8: 524 | resolution: {integrity: sha512-y8vTo00oRkzQTgufeotjCLPAvlhnpSkcHFEp60+LJUwygGcd5Chrpn5480AQp/thrxVm8m2ifAk0LyFel9oCnw==} 525 | peerDependencies: 526 | '@babel/core': ^7.0.0-0 527 | dependencies: 528 | '@babel/core': 7.17.8 529 | '@babel/plugin-syntax-jsx': 7.16.7_@babel+core@7.17.8 530 | dev: true 531 | 532 | /@vue/babel-sugar-v-model/1.2.3_@babel+core@7.17.8: 533 | resolution: {integrity: sha512-A2jxx87mySr/ulAsSSyYE8un6SIH0NWHiLaCWpodPCVOlQVODCaSpiR4+IMsmBr73haG+oeCuSvMOM+ttWUqRQ==} 534 | peerDependencies: 535 | '@babel/core': ^7.0.0-0 536 | dependencies: 537 | '@babel/core': 7.17.8 538 | '@babel/plugin-syntax-jsx': 7.16.7_@babel+core@7.17.8 539 | '@vue/babel-helper-vue-jsx-merge-props': 1.2.1 540 | '@vue/babel-plugin-transform-vue-jsx': 1.2.1_@babel+core@7.17.8 541 | camelcase: 5.3.1 542 | html-tags: 2.0.0 543 | svg-tags: 1.0.0 544 | dev: true 545 | 546 | /@vue/babel-sugar-v-on/1.2.3_@babel+core@7.17.8: 547 | resolution: {integrity: sha512-kt12VJdz/37D3N3eglBywV8GStKNUhNrsxChXIV+o0MwVXORYuhDTHJRKPgLJRb/EY3vM2aRFQdxJBp9CLikjw==} 548 | peerDependencies: 549 | '@babel/core': ^7.0.0-0 550 | dependencies: 551 | '@babel/core': 7.17.8 552 | '@babel/plugin-syntax-jsx': 7.16.7_@babel+core@7.17.8 553 | '@vue/babel-plugin-transform-vue-jsx': 1.2.1_@babel+core@7.17.8 554 | camelcase: 5.3.1 555 | dev: true 556 | 557 | /@vue/component-compiler-utils/3.3.0: 558 | resolution: {integrity: sha512-97sfH2mYNU+2PzGrmK2haqffDpVASuib9/w2/noxiFi31Z54hW+q3izKQXXQZSNhtiUpAI36uSuYepeBe4wpHQ==} 559 | dependencies: 560 | consolidate: 0.15.1 561 | hash-sum: 1.0.2 562 | lru-cache: 4.1.5 563 | merge-source-map: 1.1.0 564 | postcss: 7.0.39 565 | postcss-selector-parser: 6.0.9 566 | source-map: 0.6.1 567 | vue-template-es2015-compiler: 1.9.1 568 | optionalDependencies: 569 | prettier: 2.6.0 570 | transitivePeerDependencies: 571 | - arc-templates 572 | - atpl 573 | - babel-core 574 | - bracket-template 575 | - coffee-script 576 | - dot 577 | - dust 578 | - dustjs-helpers 579 | - dustjs-linkedin 580 | - eco 581 | - ect 582 | - ejs 583 | - haml-coffee 584 | - hamlet 585 | - hamljs 586 | - handlebars 587 | - hogan.js 588 | - htmling 589 | - jade 590 | - jazz 591 | - jqtpl 592 | - just 593 | - liquid-node 594 | - liquor 595 | - lodash 596 | - marko 597 | - mote 598 | - mustache 599 | - nunjucks 600 | - plates 601 | - pug 602 | - qejs 603 | - ractive 604 | - razor-tmpl 605 | - react 606 | - react-dom 607 | - slm 608 | - squirrelly 609 | - swig 610 | - swig-templates 611 | - teacup 612 | - templayed 613 | - then-jade 614 | - then-pug 615 | - tinyliquid 616 | - toffee 617 | - twig 618 | - twing 619 | - underscore 620 | - vash 621 | - velocityjs 622 | - walrus 623 | - whiskers 624 | dev: true 625 | 626 | /acorn-jsx/5.3.2_acorn@8.7.0: 627 | resolution: {integrity: sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ==} 628 | peerDependencies: 629 | acorn: ^6.0.0 || ^7.0.0 || ^8.0.0 630 | dependencies: 631 | acorn: 8.7.0 632 | dev: true 633 | 634 | /acorn-node/1.8.2: 635 | resolution: {integrity: sha512-8mt+fslDufLYntIoPAaIMUe/lrbrehIiwmR3t2k9LljIzoigEPF27eLk2hy8zSGzmR/ogr7zbRKINMo1u0yh5A==} 636 | dependencies: 637 | acorn: 7.4.1 638 | acorn-walk: 7.2.0 639 | xtend: 4.0.2 640 | dev: true 641 | 642 | /acorn-walk/7.2.0: 643 | resolution: {integrity: sha512-OPdCF6GsMIP+Az+aWfAAOEt2/+iVDKE7oy6lJ098aoe59oAmK76qV6Gw60SbZ8jHuG2wH058GF4pLFbYamYrVA==} 644 | engines: {node: '>=0.4.0'} 645 | dev: true 646 | 647 | /acorn/7.4.1: 648 | resolution: {integrity: sha512-nQyp0o1/mNdbTO1PO6kHkwSrmgZ0MT/jCCpNiwbUjGoRN4dlBhqJtoQuCnEOKzgTVwg0ZWiCoQy6SxMebQVh8A==} 649 | engines: {node: '>=0.4.0'} 650 | hasBin: true 651 | dev: true 652 | 653 | /acorn/8.7.0: 654 | resolution: {integrity: sha512-V/LGr1APy+PXIwKebEWrkZPwoeoF+w1jiOBUmuxuiUIaOHtob8Qc9BTrYo7VuI5fR8tqsy+buA2WFooR5olqvQ==} 655 | engines: {node: '>=0.4.0'} 656 | hasBin: true 657 | dev: true 658 | 659 | /ajv/6.12.6: 660 | resolution: {integrity: sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==} 661 | dependencies: 662 | fast-deep-equal: 3.1.3 663 | fast-json-stable-stringify: 2.1.0 664 | json-schema-traverse: 0.4.1 665 | uri-js: 4.4.1 666 | dev: true 667 | 668 | /animate.css/4.1.1: 669 | resolution: {integrity: sha512-+mRmCTv6SbCmtYJCN4faJMNFVNN5EuCTTprDTAo7YzIGji2KADmakjVA3+8mVDkZ2Bf09vayB35lSQIex2+QaQ==} 670 | dev: false 671 | 672 | /ansi-regex/5.0.1: 673 | resolution: {integrity: sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==} 674 | engines: {node: '>=8'} 675 | dev: true 676 | 677 | /ansi-styles/3.2.1: 678 | resolution: {integrity: sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==} 679 | engines: {node: '>=4'} 680 | dependencies: 681 | color-convert: 1.9.3 682 | dev: true 683 | 684 | /ansi-styles/4.3.0: 685 | resolution: {integrity: sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==} 686 | engines: {node: '>=8'} 687 | dependencies: 688 | color-convert: 2.0.1 689 | dev: true 690 | 691 | /anymatch/3.1.2: 692 | resolution: {integrity: sha512-P43ePfOAIupkguHUycrc4qJ9kz8ZiuOUijaETwX7THt0Y/GNK7v0aa8rY816xWjZ7rJdA5XdMcpVFTKMq+RvWg==} 693 | engines: {node: '>= 8'} 694 | dependencies: 695 | normalize-path: 3.0.0 696 | picomatch: 2.3.1 697 | dev: true 698 | 699 | /arg/5.0.1: 700 | resolution: {integrity: sha512-e0hDa9H2Z9AwFkk2qDlwhoMYE4eToKarchkQHovNdLTCYMHZHeRjI71crOh+dio4K6u1IcwubQqo79Ga4CyAQA==} 701 | dev: true 702 | 703 | /argparse/2.0.1: 704 | resolution: {integrity: sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==} 705 | dev: true 706 | 707 | /assertion-error/1.1.0: 708 | resolution: {integrity: sha512-jgsaNduz+ndvGyFt3uSuWqvy4lCnIJiovtouQN5JZHOKCS2QuhEdbcQHFhVksz2N2U9hXJo8odG7ETyWlEeuDw==} 709 | dev: true 710 | 711 | /async-validator/1.8.5: 712 | resolution: {integrity: sha512-tXBM+1m056MAX0E8TL2iCjg8WvSyXu0Zc8LNtYqrVeyoL3+esHRZ4SieE9fKQyyU09uONjnMEjrNBMqT0mbvmA==} 713 | dependencies: 714 | babel-runtime: 6.26.0 715 | dev: false 716 | 717 | /at-least-node/1.0.0: 718 | resolution: {integrity: sha512-+q/t7Ekv1EDY2l6Gda6LLiX14rU9TV20Wa3ofeQmwPFZbOMo9DXrLbOjFaaclkXKWidIaopwAObQDqwWtGUjqg==} 719 | engines: {node: '>= 4.0.0'} 720 | dev: true 721 | 722 | /autoprefixer/10.4.4_postcss@8.4.12: 723 | resolution: {integrity: sha512-Tm8JxsB286VweiZ5F0anmbyGiNI3v3wGv3mz9W+cxEDYB/6jbnj6GM9H9mK3wIL8ftgl+C07Lcwb8PG5PCCPzA==} 724 | engines: {node: ^10 || ^12 || >=14} 725 | hasBin: true 726 | peerDependencies: 727 | postcss: ^8.1.0 728 | dependencies: 729 | browserslist: 4.20.2 730 | caniuse-lite: 1.0.30001319 731 | fraction.js: 4.2.0 732 | normalize-range: 0.1.2 733 | picocolors: 1.0.0 734 | postcss: 8.4.12 735 | postcss-value-parser: 4.2.0 736 | dev: true 737 | 738 | /babel-helper-vue-jsx-merge-props/2.0.3: 739 | resolution: {integrity: sha512-gsLiKK7Qrb7zYJNgiXKpXblxbV5ffSwR0f5whkPAaBAR4fhi6bwRZxX9wBlIc5M/v8CCkXUbXZL4N/nSE97cqg==} 740 | dev: false 741 | 742 | /babel-runtime/6.26.0: 743 | resolution: {integrity: sha1-llxwWGaOgrVde/4E/yM3vItWR/4=} 744 | dependencies: 745 | core-js: 2.6.12 746 | regenerator-runtime: 0.11.1 747 | dev: false 748 | 749 | /balanced-match/1.0.2: 750 | resolution: {integrity: sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==} 751 | dev: true 752 | 753 | /binary-extensions/2.2.0: 754 | resolution: {integrity: sha512-jDctJ/IVQbZoJykoeHbhXpOlNBqGNcwXJKJog42E5HDPUwQTSdjCHdihjj0DlnheQ7blbT6dHOafNAiS8ooQKA==} 755 | engines: {node: '>=8'} 756 | dev: true 757 | 758 | /bluebird/3.7.2: 759 | resolution: {integrity: sha512-XpNj6GDQzdfW+r2Wnn7xiSAd7TM3jzkxGXBGTtWKuSXv1xUV+azxAm8jdWZN06QTQk+2N2XB9jRDkvbmQmcRtg==} 760 | dev: true 761 | 762 | /brace-expansion/1.1.11: 763 | resolution: {integrity: sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==} 764 | dependencies: 765 | balanced-match: 1.0.2 766 | concat-map: 0.0.1 767 | dev: true 768 | 769 | /braces/3.0.2: 770 | resolution: {integrity: sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==} 771 | engines: {node: '>=8'} 772 | dependencies: 773 | fill-range: 7.0.1 774 | dev: true 775 | 776 | /browserslist/4.20.2: 777 | resolution: {integrity: sha512-CQOBCqp/9pDvDbx3xfMi+86pr4KXIf2FDkTTdeuYw8OxS9t898LA1Khq57gtufFILXpfgsSx5woNgsBgvGjpsA==} 778 | engines: {node: ^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7} 779 | hasBin: true 780 | dependencies: 781 | caniuse-lite: 1.0.30001319 782 | electron-to-chromium: 1.4.91 783 | escalade: 3.1.1 784 | node-releases: 2.0.2 785 | picocolors: 1.0.0 786 | dev: true 787 | 788 | /callsites/3.1.0: 789 | resolution: {integrity: sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==} 790 | engines: {node: '>=6'} 791 | dev: true 792 | 793 | /camelcase-css/2.0.1: 794 | resolution: {integrity: sha512-QOSvevhslijgYwRx6Rv7zKdMF8lbRmx+uQGx2+vDc+KI/eBnsy9kit5aj23AgGu3pa4t9AgwbnXWqS+iOY+2aA==} 795 | engines: {node: '>= 6'} 796 | dev: true 797 | 798 | /camelcase/5.3.1: 799 | resolution: {integrity: sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg==} 800 | engines: {node: '>=6'} 801 | dev: true 802 | 803 | /caniuse-lite/1.0.30001319: 804 | resolution: {integrity: sha512-xjlIAFHucBRSMUo1kb5D4LYgcN1M45qdKP++lhqowDpwJwGkpIRTt5qQqnhxjj1vHcI7nrJxWhCC1ATrCEBTcw==} 805 | dev: true 806 | 807 | /chai/4.3.6: 808 | resolution: {integrity: sha512-bbcp3YfHCUzMOvKqsztczerVgBKSsEijCySNlHHbX3VG1nskvqjz5Rfso1gGwD6w6oOV3eI60pKuMOV5MV7p3Q==} 809 | engines: {node: '>=4'} 810 | dependencies: 811 | assertion-error: 1.1.0 812 | check-error: 1.0.2 813 | deep-eql: 3.0.1 814 | get-func-name: 2.0.0 815 | loupe: 2.3.4 816 | pathval: 1.1.1 817 | type-detect: 4.0.8 818 | dev: true 819 | 820 | /chalk/2.4.2: 821 | resolution: {integrity: sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==} 822 | engines: {node: '>=4'} 823 | dependencies: 824 | ansi-styles: 3.2.1 825 | escape-string-regexp: 1.0.5 826 | supports-color: 5.5.0 827 | dev: true 828 | 829 | /chalk/4.1.2: 830 | resolution: {integrity: sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==} 831 | engines: {node: '>=10'} 832 | dependencies: 833 | ansi-styles: 4.3.0 834 | supports-color: 7.2.0 835 | dev: true 836 | 837 | /charcodes/0.2.0: 838 | resolution: {integrity: sha512-Y4kiDb+AM4Ecy58YkuZrrSRJBDQdQ2L+NyS1vHHFtNtUjgutcZfx3yp1dAONI/oPaPmyGfCLx5CxL+zauIMyKQ==} 839 | engines: {node: '>=6'} 840 | dev: true 841 | 842 | /check-error/1.0.2: 843 | resolution: {integrity: sha1-V00xLt2Iu13YkS6Sht1sCu1KrII=} 844 | dev: true 845 | 846 | /chokidar/3.5.3: 847 | resolution: {integrity: sha512-Dr3sfKRP6oTcjf2JmUmFJfeVMvXBdegxB0iVQ5eb2V10uFJUCAS8OByZdVAyVb8xXNz3GjjTgj9kLWsZTqE6kw==} 848 | engines: {node: '>= 8.10.0'} 849 | dependencies: 850 | anymatch: 3.1.2 851 | braces: 3.0.2 852 | glob-parent: 5.1.2 853 | is-binary-path: 2.1.0 854 | is-glob: 4.0.3 855 | normalize-path: 3.0.0 856 | readdirp: 3.6.0 857 | optionalDependencies: 858 | fsevents: 2.3.2 859 | dev: true 860 | 861 | /color-convert/1.9.3: 862 | resolution: {integrity: sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==} 863 | dependencies: 864 | color-name: 1.1.3 865 | dev: true 866 | 867 | /color-convert/2.0.1: 868 | resolution: {integrity: sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==} 869 | engines: {node: '>=7.0.0'} 870 | dependencies: 871 | color-name: 1.1.4 872 | dev: true 873 | 874 | /color-name/1.1.3: 875 | resolution: {integrity: sha1-p9BVi9icQveV3UIyj3QIMcpTvCU=} 876 | dev: true 877 | 878 | /color-name/1.1.4: 879 | resolution: {integrity: sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==} 880 | dev: true 881 | 882 | /concat-map/0.0.1: 883 | resolution: {integrity: sha1-2Klr13/Wjfd5OnMDajug1UBdR3s=} 884 | dev: true 885 | 886 | /consolidate/0.15.1: 887 | resolution: {integrity: sha512-DW46nrsMJgy9kqAbPt5rKaCr7uFtpo4mSUvLHIUbJEjm0vo+aY5QLwBUq3FK4tRnJr/X0Psc0C4jf/h+HtXSMw==} 888 | engines: {node: '>= 0.10.0'} 889 | peerDependencies: 890 | arc-templates: ^0.5.3 891 | atpl: '>=0.7.6' 892 | babel-core: ^6.26.3 893 | bracket-template: ^1.1.5 894 | coffee-script: ^1.12.7 895 | dot: ^1.1.3 896 | dust: ^0.3.0 897 | dustjs-helpers: ^1.7.4 898 | dustjs-linkedin: ^2.7.5 899 | eco: ^1.1.0-rc-3 900 | ect: ^0.5.9 901 | ejs: ^3.1.5 902 | haml-coffee: ^1.14.1 903 | hamlet: ^0.3.3 904 | hamljs: ^0.6.2 905 | handlebars: ^4.7.6 906 | hogan.js: ^3.0.2 907 | htmling: ^0.0.8 908 | jade: ^1.11.0 909 | jazz: ^0.0.18 910 | jqtpl: ~1.1.0 911 | just: ^0.1.8 912 | liquid-node: ^3.0.1 913 | liquor: ^0.0.5 914 | lodash: ^4.17.20 915 | marko: ^3.14.4 916 | mote: ^0.2.0 917 | mustache: ^3.0.0 918 | nunjucks: ^3.2.2 919 | plates: ~0.4.11 920 | pug: ^3.0.0 921 | qejs: ^3.0.5 922 | ractive: ^1.3.12 923 | razor-tmpl: ^1.3.1 924 | react: ^16.13.1 925 | react-dom: ^16.13.1 926 | slm: ^2.0.0 927 | squirrelly: ^5.1.0 928 | swig: ^1.4.2 929 | swig-templates: ^2.0.3 930 | teacup: ^2.0.0 931 | templayed: '>=0.2.3' 932 | then-jade: '*' 933 | then-pug: '*' 934 | tinyliquid: ^0.2.34 935 | toffee: ^0.3.6 936 | twig: ^1.15.2 937 | twing: ^5.0.2 938 | underscore: ^1.11.0 939 | vash: ^0.13.0 940 | velocityjs: ^2.0.1 941 | walrus: ^0.10.1 942 | whiskers: ^0.4.0 943 | peerDependenciesMeta: 944 | arc-templates: 945 | optional: true 946 | atpl: 947 | optional: true 948 | babel-core: 949 | optional: true 950 | bracket-template: 951 | optional: true 952 | coffee-script: 953 | optional: true 954 | dot: 955 | optional: true 956 | dust: 957 | optional: true 958 | dustjs-helpers: 959 | optional: true 960 | dustjs-linkedin: 961 | optional: true 962 | eco: 963 | optional: true 964 | ect: 965 | optional: true 966 | ejs: 967 | optional: true 968 | haml-coffee: 969 | optional: true 970 | hamlet: 971 | optional: true 972 | hamljs: 973 | optional: true 974 | handlebars: 975 | optional: true 976 | hogan.js: 977 | optional: true 978 | htmling: 979 | optional: true 980 | jade: 981 | optional: true 982 | jazz: 983 | optional: true 984 | jqtpl: 985 | optional: true 986 | just: 987 | optional: true 988 | liquid-node: 989 | optional: true 990 | liquor: 991 | optional: true 992 | lodash: 993 | optional: true 994 | marko: 995 | optional: true 996 | mote: 997 | optional: true 998 | mustache: 999 | optional: true 1000 | nunjucks: 1001 | optional: true 1002 | plates: 1003 | optional: true 1004 | pug: 1005 | optional: true 1006 | qejs: 1007 | optional: true 1008 | ractive: 1009 | optional: true 1010 | razor-tmpl: 1011 | optional: true 1012 | react: 1013 | optional: true 1014 | react-dom: 1015 | optional: true 1016 | slm: 1017 | optional: true 1018 | squirrelly: 1019 | optional: true 1020 | swig: 1021 | optional: true 1022 | swig-templates: 1023 | optional: true 1024 | teacup: 1025 | optional: true 1026 | templayed: 1027 | optional: true 1028 | then-jade: 1029 | optional: true 1030 | then-pug: 1031 | optional: true 1032 | tinyliquid: 1033 | optional: true 1034 | toffee: 1035 | optional: true 1036 | twig: 1037 | optional: true 1038 | twing: 1039 | optional: true 1040 | underscore: 1041 | optional: true 1042 | vash: 1043 | optional: true 1044 | velocityjs: 1045 | optional: true 1046 | walrus: 1047 | optional: true 1048 | whiskers: 1049 | optional: true 1050 | dependencies: 1051 | bluebird: 3.7.2 1052 | dev: true 1053 | 1054 | /consolidate/0.16.0: 1055 | resolution: {integrity: sha512-Nhl1wzCslqXYTJVDyJCu3ODohy9OfBMB5uD2BiBTzd7w+QY0lBzafkR8y8755yMYHAaMD4NuzbAw03/xzfw+eQ==} 1056 | engines: {node: '>= 0.10.0'} 1057 | peerDependencies: 1058 | arc-templates: ^0.5.3 1059 | atpl: '>=0.7.6' 1060 | babel-core: ^6.26.3 1061 | bracket-template: ^1.1.5 1062 | coffee-script: ^1.12.7 1063 | dot: ^1.1.3 1064 | dust: ^0.3.0 1065 | dustjs-helpers: ^1.7.4 1066 | dustjs-linkedin: ^2.7.5 1067 | eco: ^1.1.0-rc-3 1068 | ect: ^0.5.9 1069 | ejs: ^3.1.5 1070 | haml-coffee: ^1.14.1 1071 | hamlet: ^0.3.3 1072 | hamljs: ^0.6.2 1073 | handlebars: ^4.7.6 1074 | hogan.js: ^3.0.2 1075 | htmling: ^0.0.8 1076 | jade: ^1.11.0 1077 | jazz: ^0.0.18 1078 | jqtpl: ~1.1.0 1079 | just: ^0.1.8 1080 | liquid-node: ^3.0.1 1081 | liquor: ^0.0.5 1082 | lodash: ^4.17.20 1083 | marko: ^3.14.4 1084 | mote: ^0.2.0 1085 | mustache: ^4.0.1 1086 | nunjucks: ^3.2.2 1087 | plates: ~0.4.11 1088 | pug: ^3.0.0 1089 | qejs: ^3.0.5 1090 | ractive: ^1.3.12 1091 | razor-tmpl: ^1.3.1 1092 | react: ^16.13.1 1093 | react-dom: ^16.13.1 1094 | slm: ^2.0.0 1095 | squirrelly: ^5.1.0 1096 | swig: ^1.4.2 1097 | swig-templates: ^2.0.3 1098 | teacup: ^2.0.0 1099 | templayed: '>=0.2.3' 1100 | then-jade: '*' 1101 | then-pug: '*' 1102 | tinyliquid: ^0.2.34 1103 | toffee: ^0.3.6 1104 | twig: ^1.15.2 1105 | twing: ^5.0.2 1106 | underscore: ^1.11.0 1107 | vash: ^0.13.0 1108 | velocityjs: ^2.0.1 1109 | walrus: ^0.10.1 1110 | whiskers: ^0.4.0 1111 | peerDependenciesMeta: 1112 | arc-templates: 1113 | optional: true 1114 | atpl: 1115 | optional: true 1116 | babel-core: 1117 | optional: true 1118 | bracket-template: 1119 | optional: true 1120 | coffee-script: 1121 | optional: true 1122 | dot: 1123 | optional: true 1124 | dust: 1125 | optional: true 1126 | dustjs-helpers: 1127 | optional: true 1128 | dustjs-linkedin: 1129 | optional: true 1130 | eco: 1131 | optional: true 1132 | ect: 1133 | optional: true 1134 | ejs: 1135 | optional: true 1136 | haml-coffee: 1137 | optional: true 1138 | hamlet: 1139 | optional: true 1140 | hamljs: 1141 | optional: true 1142 | handlebars: 1143 | optional: true 1144 | hogan.js: 1145 | optional: true 1146 | htmling: 1147 | optional: true 1148 | jade: 1149 | optional: true 1150 | jazz: 1151 | optional: true 1152 | jqtpl: 1153 | optional: true 1154 | just: 1155 | optional: true 1156 | liquid-node: 1157 | optional: true 1158 | liquor: 1159 | optional: true 1160 | lodash: 1161 | optional: true 1162 | marko: 1163 | optional: true 1164 | mote: 1165 | optional: true 1166 | mustache: 1167 | optional: true 1168 | nunjucks: 1169 | optional: true 1170 | plates: 1171 | optional: true 1172 | pug: 1173 | optional: true 1174 | qejs: 1175 | optional: true 1176 | ractive: 1177 | optional: true 1178 | razor-tmpl: 1179 | optional: true 1180 | react: 1181 | optional: true 1182 | react-dom: 1183 | optional: true 1184 | slm: 1185 | optional: true 1186 | squirrelly: 1187 | optional: true 1188 | swig: 1189 | optional: true 1190 | swig-templates: 1191 | optional: true 1192 | teacup: 1193 | optional: true 1194 | templayed: 1195 | optional: true 1196 | then-jade: 1197 | optional: true 1198 | then-pug: 1199 | optional: true 1200 | tinyliquid: 1201 | optional: true 1202 | toffee: 1203 | optional: true 1204 | twig: 1205 | optional: true 1206 | twing: 1207 | optional: true 1208 | underscore: 1209 | optional: true 1210 | vash: 1211 | optional: true 1212 | velocityjs: 1213 | optional: true 1214 | walrus: 1215 | optional: true 1216 | whiskers: 1217 | optional: true 1218 | dependencies: 1219 | bluebird: 3.7.2 1220 | dev: true 1221 | 1222 | /convert-source-map/1.8.0: 1223 | resolution: {integrity: sha512-+OQdjP49zViI/6i7nIJpA8rAl4sV/JdPfU9nZs3VqOwGIgizICvuN2ru6fMd+4llL0tar18UYJXfZ/TWtmhUjA==} 1224 | dependencies: 1225 | safe-buffer: 5.1.2 1226 | dev: true 1227 | 1228 | /core-js/2.6.12: 1229 | resolution: {integrity: sha512-Kb2wC0fvsWfQrgk8HU5lW6U/Lcs8+9aaYcy4ZFc6DDlo4nZ7n70dEgE5rtR0oG6ufKDUnrwfWL1mXR5ljDatrQ==} 1230 | deprecated: core-js@<3.4 is no longer maintained and not recommended for usage due to the number of issues. Because of the V8 engine whims, feature detection in old core-js versions could cause a slowdown up to 100x even if nothing is polyfilled. Please, upgrade your dependencies to the actual version of core-js. 1231 | requiresBuild: true 1232 | dev: false 1233 | 1234 | /cosmiconfig/7.0.1: 1235 | resolution: {integrity: sha512-a1YWNUV2HwGimB7dU2s1wUMurNKjpx60HxBB6xUM8Re+2s1g1IIfJvFR0/iCF+XHdE0GMTKTuLR32UQff4TEyQ==} 1236 | engines: {node: '>=10'} 1237 | dependencies: 1238 | '@types/parse-json': 4.0.0 1239 | import-fresh: 3.3.0 1240 | parse-json: 5.2.0 1241 | path-type: 4.0.0 1242 | yaml: 1.10.2 1243 | dev: true 1244 | 1245 | /cross-env/7.0.3: 1246 | resolution: {integrity: sha512-+/HKd6EgcQCJGh2PSjZuUitQBQynKor4wrFbRg4DtAgS1aWO+gU52xpH7M9ScGgXSYmAVS9bIJ8EzuaGw0oNAw==} 1247 | engines: {node: '>=10.14', npm: '>=6', yarn: '>=1'} 1248 | hasBin: true 1249 | dependencies: 1250 | cross-spawn: 7.0.3 1251 | dev: true 1252 | 1253 | /cross-spawn/7.0.3: 1254 | resolution: {integrity: sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==} 1255 | engines: {node: '>= 8'} 1256 | dependencies: 1257 | path-key: 3.1.1 1258 | shebang-command: 2.0.0 1259 | which: 2.0.2 1260 | dev: true 1261 | 1262 | /cssesc/3.0.0: 1263 | resolution: {integrity: sha512-/Tb/JcjK111nNScGob5MNtsntNM1aCNUDipB/TkwZFhyDrrE47SOx/18wF2bbjgc3ZzCSKW1T5nt5EbFoAz/Vg==} 1264 | engines: {node: '>=4'} 1265 | hasBin: true 1266 | dev: true 1267 | 1268 | /de-indent/1.0.2: 1269 | resolution: {integrity: sha1-sgOOhG3DO6pXlhKNCAS0VbjB4h0=} 1270 | dev: true 1271 | 1272 | /debug/4.3.4: 1273 | resolution: {integrity: sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==} 1274 | engines: {node: '>=6.0'} 1275 | peerDependencies: 1276 | supports-color: '*' 1277 | peerDependenciesMeta: 1278 | supports-color: 1279 | optional: true 1280 | dependencies: 1281 | ms: 2.1.2 1282 | dev: true 1283 | 1284 | /deep-eql/3.0.1: 1285 | resolution: {integrity: sha512-+QeIQyN5ZuO+3Uk5DYh6/1eKO0m0YmJFGNmFHGACpf1ClL1nmlV/p4gNgbl2pJGxgXb4faqo6UE+M5ACEMyVcw==} 1286 | engines: {node: '>=0.12'} 1287 | dependencies: 1288 | type-detect: 4.0.8 1289 | dev: true 1290 | 1291 | /deep-is/0.1.4: 1292 | resolution: {integrity: sha512-oIPzksmTg4/MriiaYGO+okXDT7ztn/w3Eptv/+gSIdMdKsJo0u4CfYNFJPy+4SKMuCqGw2wxnA+URMg3t8a/bQ==} 1293 | dev: true 1294 | 1295 | /deepmerge/1.5.2: 1296 | resolution: {integrity: sha512-95k0GDqvBjZavkuvzx/YqVLv/6YYa17fz6ILMSf7neqQITCPbnfEnQvEgMPNjH4kgobe7+WIL0yJEHku+H3qtQ==} 1297 | engines: {node: '>=0.10.0'} 1298 | dev: false 1299 | 1300 | /defined/1.0.0: 1301 | resolution: {integrity: sha1-yY2bzvdWdBiOEQlpFRGZ45sfppM=} 1302 | dev: true 1303 | 1304 | /detective/5.2.0: 1305 | resolution: {integrity: sha512-6SsIx+nUUbuK0EthKjv0zrdnajCCXVYGmbYYiYjFVpzcjwEs/JMDZ8tPRG29J/HhN56t3GJp2cGSWDRjjot8Pg==} 1306 | engines: {node: '>=0.8.0'} 1307 | hasBin: true 1308 | dependencies: 1309 | acorn-node: 1.8.2 1310 | defined: 1.0.0 1311 | minimist: 1.2.6 1312 | dev: true 1313 | 1314 | /didyoumean/1.2.2: 1315 | resolution: {integrity: sha512-gxtyfqMg7GKyhQmb056K7M3xszy/myH8w+B4RT+QXBQsvAOdc3XymqDDPHx1BgPgsdAA5SIifona89YtRATDzw==} 1316 | dev: true 1317 | 1318 | /dlv/1.1.3: 1319 | resolution: {integrity: sha512-+HlytyjlPKnIG8XuRG8WvmBP8xs8P71y+SKKS6ZXWoEgLuePxtDoUEiH7WkdePWrQ5JBpE6aoVqfZfJUQkjXwA==} 1320 | dev: true 1321 | 1322 | /doctrine/3.0.0: 1323 | resolution: {integrity: sha512-yS+Q5i3hBf7GBkd4KG8a7eBNNWNGLTaEwwYWUijIYM7zrlYDM0BFXHjjPWlWZ1Rg7UaddZeIDmi9jF3HmqiQ2w==} 1324 | engines: {node: '>=6.0.0'} 1325 | dependencies: 1326 | esutils: 2.0.3 1327 | dev: true 1328 | 1329 | /electron-to-chromium/1.4.91: 1330 | resolution: {integrity: sha512-Z7Jkc4+ouEg8F6RrrgLOs0kkJjI0cnyFQmnGVpln8pPifuKBNbUr37GMgJsCTSwy6Z9TK7oTwW33Oe+3aERYew==} 1331 | dev: true 1332 | 1333 | /element-ui/2.15.6_vue@2.6.11: 1334 | resolution: {integrity: sha512-rcYXEKd/j2G0AgficAOk1Zd1AsnHRkhmrK4yLHmNOiimU2JfsywgfKUjMoFuT6pQx0luhovj8lFjpE4Fnt58Iw==} 1335 | peerDependencies: 1336 | vue: ^2.5.17 1337 | dependencies: 1338 | async-validator: 1.8.5 1339 | babel-helper-vue-jsx-merge-props: 2.0.3 1340 | deepmerge: 1.5.2 1341 | normalize-wheel: 1.0.1 1342 | resize-observer-polyfill: 1.5.1 1343 | throttle-debounce: 1.1.0 1344 | vue: 2.6.11 1345 | dev: false 1346 | 1347 | /error-ex/1.3.2: 1348 | resolution: {integrity: sha512-7dFHNmqeFSEt2ZBsCriorKnn3Z2pj+fd9kmI6QoWw4//DL+icEBfc0U7qJCisqrTsKTjw4fNFy2pW9OqStD84g==} 1349 | dependencies: 1350 | is-arrayish: 0.2.1 1351 | dev: true 1352 | 1353 | /esbuild-android-64/0.14.27: 1354 | resolution: {integrity: sha512-LuEd4uPuj/16Y8j6kqy3Z2E9vNY9logfq8Tq+oTE2PZVuNs3M1kj5Qd4O95ee66yDGb3isaOCV7sOLDwtMfGaQ==} 1355 | engines: {node: '>=12'} 1356 | cpu: [x64] 1357 | os: [android] 1358 | requiresBuild: true 1359 | dev: true 1360 | optional: true 1361 | 1362 | /esbuild-android-arm64/0.14.27: 1363 | resolution: {integrity: sha512-E8Ktwwa6vX8q7QeJmg8yepBYXaee50OdQS3BFtEHKrzbV45H4foMOeEE7uqdjGQZFBap5VAqo7pvjlyA92wznQ==} 1364 | engines: {node: '>=12'} 1365 | cpu: [arm64] 1366 | os: [android] 1367 | requiresBuild: true 1368 | dev: true 1369 | optional: true 1370 | 1371 | /esbuild-darwin-64/0.14.27: 1372 | resolution: {integrity: sha512-czw/kXl/1ZdenPWfw9jDc5iuIYxqUxgQ/Q+hRd4/3udyGGVI31r29LCViN2bAJgGvQkqyLGVcG03PJPEXQ5i2g==} 1373 | engines: {node: '>=12'} 1374 | cpu: [x64] 1375 | os: [darwin] 1376 | requiresBuild: true 1377 | dev: true 1378 | optional: true 1379 | 1380 | /esbuild-darwin-arm64/0.14.27: 1381 | resolution: {integrity: sha512-BEsv2U2U4o672oV8+xpXNxN9bgqRCtddQC6WBh4YhXKDcSZcdNh7+6nS+DM2vu7qWIWNA4JbRG24LUUYXysimQ==} 1382 | engines: {node: '>=12'} 1383 | cpu: [arm64] 1384 | os: [darwin] 1385 | requiresBuild: true 1386 | dev: true 1387 | optional: true 1388 | 1389 | /esbuild-freebsd-64/0.14.27: 1390 | resolution: {integrity: sha512-7FeiFPGBo+ga+kOkDxtPmdPZdayrSzsV9pmfHxcyLKxu+3oTcajeZlOO1y9HW+t5aFZPiv7czOHM4KNd0tNwCA==} 1391 | engines: {node: '>=12'} 1392 | cpu: [x64] 1393 | os: [freebsd] 1394 | requiresBuild: true 1395 | dev: true 1396 | optional: true 1397 | 1398 | /esbuild-freebsd-arm64/0.14.27: 1399 | resolution: {integrity: sha512-8CK3++foRZJluOWXpllG5zwAVlxtv36NpHfsbWS7TYlD8S+QruXltKlXToc/5ZNzBK++l6rvRKELu/puCLc7jA==} 1400 | engines: {node: '>=12'} 1401 | cpu: [arm64] 1402 | os: [freebsd] 1403 | requiresBuild: true 1404 | dev: true 1405 | optional: true 1406 | 1407 | /esbuild-linux-32/0.14.27: 1408 | resolution: {integrity: sha512-qhNYIcT+EsYSBClZ5QhLzFzV5iVsP1YsITqblSaztr3+ZJUI+GoK8aXHyzKd7/CKKuK93cxEMJPpfi1dfsOfdw==} 1409 | engines: {node: '>=12'} 1410 | cpu: [ia32] 1411 | os: [linux] 1412 | requiresBuild: true 1413 | dev: true 1414 | optional: true 1415 | 1416 | /esbuild-linux-64/0.14.27: 1417 | resolution: {integrity: sha512-ESjck9+EsHoTaKWlFKJpPZRN26uiav5gkI16RuI8WBxUdLrrAlYuYSndxxKgEn1csd968BX/8yQZATYf/9+/qg==} 1418 | engines: {node: '>=12'} 1419 | cpu: [x64] 1420 | os: [linux] 1421 | requiresBuild: true 1422 | dev: true 1423 | optional: true 1424 | 1425 | /esbuild-linux-arm/0.14.27: 1426 | resolution: {integrity: sha512-JnnmgUBdqLQO9hoNZQqNHFWlNpSX82vzB3rYuCJMhtkuaWQEmQz6Lec1UIxJdC38ifEghNTBsF9bbe8dFilnCw==} 1427 | engines: {node: '>=12'} 1428 | cpu: [arm] 1429 | os: [linux] 1430 | requiresBuild: true 1431 | dev: true 1432 | optional: true 1433 | 1434 | /esbuild-linux-arm64/0.14.27: 1435 | resolution: {integrity: sha512-no6Mi17eV2tHlJnqBHRLekpZ2/VYx+NfGxKcBE/2xOMYwctsanCaXxw4zapvNrGE9X38vefVXLz6YCF8b1EHiQ==} 1436 | engines: {node: '>=12'} 1437 | cpu: [arm64] 1438 | os: [linux] 1439 | requiresBuild: true 1440 | dev: true 1441 | optional: true 1442 | 1443 | /esbuild-linux-mips64le/0.14.27: 1444 | resolution: {integrity: sha512-NolWP2uOvIJpbwpsDbwfeExZOY1bZNlWE/kVfkzLMsSgqeVcl5YMen/cedRe9mKnpfLli+i0uSp7N+fkKNU27A==} 1445 | engines: {node: '>=12'} 1446 | cpu: [mips64el] 1447 | os: [linux] 1448 | requiresBuild: true 1449 | dev: true 1450 | optional: true 1451 | 1452 | /esbuild-linux-ppc64le/0.14.27: 1453 | resolution: {integrity: sha512-/7dTjDvXMdRKmsSxKXeWyonuGgblnYDn0MI1xDC7J1VQXny8k1qgNp6VmrlsawwnsymSUUiThhkJsI+rx0taNA==} 1454 | engines: {node: '>=12'} 1455 | cpu: [ppc64] 1456 | os: [linux] 1457 | requiresBuild: true 1458 | dev: true 1459 | optional: true 1460 | 1461 | /esbuild-linux-riscv64/0.14.27: 1462 | resolution: {integrity: sha512-D+aFiUzOJG13RhrSmZgrcFaF4UUHpqj7XSKrIiCXIj1dkIkFqdrmqMSOtSs78dOtObWiOrFCDDzB24UyeEiNGg==} 1463 | engines: {node: '>=12'} 1464 | cpu: [riscv64] 1465 | os: [linux] 1466 | requiresBuild: true 1467 | dev: true 1468 | optional: true 1469 | 1470 | /esbuild-linux-s390x/0.14.27: 1471 | resolution: {integrity: sha512-CD/D4tj0U4UQjELkdNlZhQ8nDHU5rBn6NGp47Hiz0Y7/akAY5i0oGadhEIg0WCY/HYVXFb3CsSPPwaKcTOW3bg==} 1472 | engines: {node: '>=12'} 1473 | cpu: [s390x] 1474 | os: [linux] 1475 | requiresBuild: true 1476 | dev: true 1477 | optional: true 1478 | 1479 | /esbuild-netbsd-64/0.14.27: 1480 | resolution: {integrity: sha512-h3mAld69SrO1VoaMpYl3a5FNdGRE/Nqc+E8VtHOag4tyBwhCQXxtvDDOAKOUQexBGca0IuR6UayQ4ntSX5ij1Q==} 1481 | engines: {node: '>=12'} 1482 | cpu: [x64] 1483 | os: [netbsd] 1484 | requiresBuild: true 1485 | dev: true 1486 | optional: true 1487 | 1488 | /esbuild-openbsd-64/0.14.27: 1489 | resolution: {integrity: sha512-xwSje6qIZaDHXWoPpIgvL+7fC6WeubHHv18tusLYMwL+Z6bEa4Pbfs5IWDtQdHkArtfxEkIZz77944z8MgDxGw==} 1490 | engines: {node: '>=12'} 1491 | cpu: [x64] 1492 | os: [openbsd] 1493 | requiresBuild: true 1494 | dev: true 1495 | optional: true 1496 | 1497 | /esbuild-sunos-64/0.14.27: 1498 | resolution: {integrity: sha512-/nBVpWIDjYiyMhuqIqbXXsxBc58cBVH9uztAOIfWShStxq9BNBik92oPQPJ57nzWXRNKQUEFWr4Q98utDWz7jg==} 1499 | engines: {node: '>=12'} 1500 | cpu: [x64] 1501 | os: [sunos] 1502 | requiresBuild: true 1503 | dev: true 1504 | optional: true 1505 | 1506 | /esbuild-windows-32/0.14.27: 1507 | resolution: {integrity: sha512-Q9/zEjhZJ4trtWhFWIZvS/7RUzzi8rvkoaS9oiizkHTTKd8UxFwn/Mm2OywsAfYymgUYm8+y2b+BKTNEFxUekw==} 1508 | engines: {node: '>=12'} 1509 | cpu: [ia32] 1510 | os: [win32] 1511 | requiresBuild: true 1512 | dev: true 1513 | optional: true 1514 | 1515 | /esbuild-windows-64/0.14.27: 1516 | resolution: {integrity: sha512-b3y3vTSl5aEhWHK66ngtiS/c6byLf6y/ZBvODH1YkBM+MGtVL6jN38FdHUsZasCz9gFwYs/lJMVY9u7GL6wfYg==} 1517 | engines: {node: '>=12'} 1518 | cpu: [x64] 1519 | os: [win32] 1520 | requiresBuild: true 1521 | dev: true 1522 | optional: true 1523 | 1524 | /esbuild-windows-arm64/0.14.27: 1525 | resolution: {integrity: sha512-I/reTxr6TFMcR5qbIkwRGvldMIaiBu2+MP0LlD7sOlNXrfqIl9uNjsuxFPGEG4IRomjfQ5q8WT+xlF/ySVkqKg==} 1526 | engines: {node: '>=12'} 1527 | cpu: [arm64] 1528 | os: [win32] 1529 | requiresBuild: true 1530 | dev: true 1531 | optional: true 1532 | 1533 | /esbuild/0.14.27: 1534 | resolution: {integrity: sha512-MZQt5SywZS3hA9fXnMhR22dv0oPGh6QtjJRIYbgL1AeqAoQZE+Qn5ppGYQAoHv/vq827flj4tIJ79Mrdiwk46Q==} 1535 | engines: {node: '>=12'} 1536 | hasBin: true 1537 | requiresBuild: true 1538 | optionalDependencies: 1539 | esbuild-android-64: 0.14.27 1540 | esbuild-android-arm64: 0.14.27 1541 | esbuild-darwin-64: 0.14.27 1542 | esbuild-darwin-arm64: 0.14.27 1543 | esbuild-freebsd-64: 0.14.27 1544 | esbuild-freebsd-arm64: 0.14.27 1545 | esbuild-linux-32: 0.14.27 1546 | esbuild-linux-64: 0.14.27 1547 | esbuild-linux-arm: 0.14.27 1548 | esbuild-linux-arm64: 0.14.27 1549 | esbuild-linux-mips64le: 0.14.27 1550 | esbuild-linux-ppc64le: 0.14.27 1551 | esbuild-linux-riscv64: 0.14.27 1552 | esbuild-linux-s390x: 0.14.27 1553 | esbuild-netbsd-64: 0.14.27 1554 | esbuild-openbsd-64: 0.14.27 1555 | esbuild-sunos-64: 0.14.27 1556 | esbuild-windows-32: 0.14.27 1557 | esbuild-windows-64: 0.14.27 1558 | esbuild-windows-arm64: 0.14.27 1559 | dev: true 1560 | 1561 | /escalade/3.1.1: 1562 | resolution: {integrity: sha512-k0er2gUkLf8O0zKJiAhmkTnJlTvINGv7ygDNPbeIsX/TJjGJZHuh9B2UxbsaEkmlEo9MfhrSzmhIlhRlI2GXnw==} 1563 | engines: {node: '>=6'} 1564 | dev: true 1565 | 1566 | /escape-string-regexp/1.0.5: 1567 | resolution: {integrity: sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ=} 1568 | engines: {node: '>=0.8.0'} 1569 | dev: true 1570 | 1571 | /escape-string-regexp/4.0.0: 1572 | resolution: {integrity: sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==} 1573 | engines: {node: '>=10'} 1574 | dev: true 1575 | 1576 | /eslint-scope/7.1.1: 1577 | resolution: {integrity: sha512-QKQM/UXpIiHcLqJ5AOyIW7XZmzjkzQXYE54n1++wb0u9V/abW3l9uQnxX8Z5Xd18xyKIMTUAyQ0k1e8pz6LUrw==} 1578 | engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} 1579 | dependencies: 1580 | esrecurse: 4.3.0 1581 | estraverse: 5.3.0 1582 | dev: true 1583 | 1584 | /eslint-utils/3.0.0_eslint@8.11.0: 1585 | resolution: {integrity: sha512-uuQC43IGctw68pJA1RgbQS8/NP7rch6Cwd4j3ZBtgo4/8Flj4eGE7ZYSZRN3iq5pVUv6GPdW5Z1RFleo84uLDA==} 1586 | engines: {node: ^10.0.0 || ^12.0.0 || >= 14.0.0} 1587 | peerDependencies: 1588 | eslint: '>=5' 1589 | dependencies: 1590 | eslint: 8.11.0 1591 | eslint-visitor-keys: 2.1.0 1592 | dev: true 1593 | 1594 | /eslint-visitor-keys/2.1.0: 1595 | resolution: {integrity: sha512-0rSmRBzXgDzIsD6mGdJgevzgezI534Cer5L/vyMX0kHzT/jiB43jRhd9YUlMGYLQy2zprNmoT8qasCGtY+QaKw==} 1596 | engines: {node: '>=10'} 1597 | dev: true 1598 | 1599 | /eslint-visitor-keys/3.3.0: 1600 | resolution: {integrity: sha512-mQ+suqKJVyeuwGYHAdjMFqjCyfl8+Ldnxuyp3ldiMBFKkvytrXUZWaiPCEav8qDHKty44bD+qV1IP4T+w+xXRA==} 1601 | engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} 1602 | dev: true 1603 | 1604 | /eslint/8.11.0: 1605 | resolution: {integrity: sha512-/KRpd9mIRg2raGxHRGwW9ZywYNAClZrHjdueHcrVDuO3a6bj83eoTirCCk0M0yPwOjWYKHwRVRid+xK4F/GHgA==} 1606 | engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} 1607 | hasBin: true 1608 | dependencies: 1609 | '@eslint/eslintrc': 1.2.1 1610 | '@humanwhocodes/config-array': 0.9.5 1611 | ajv: 6.12.6 1612 | chalk: 4.1.2 1613 | cross-spawn: 7.0.3 1614 | debug: 4.3.4 1615 | doctrine: 3.0.0 1616 | escape-string-regexp: 4.0.0 1617 | eslint-scope: 7.1.1 1618 | eslint-utils: 3.0.0_eslint@8.11.0 1619 | eslint-visitor-keys: 3.3.0 1620 | espree: 9.3.1 1621 | esquery: 1.4.0 1622 | esutils: 2.0.3 1623 | fast-deep-equal: 3.1.3 1624 | file-entry-cache: 6.0.1 1625 | functional-red-black-tree: 1.0.1 1626 | glob-parent: 6.0.2 1627 | globals: 13.13.0 1628 | ignore: 5.2.0 1629 | import-fresh: 3.3.0 1630 | imurmurhash: 0.1.4 1631 | is-glob: 4.0.3 1632 | js-yaml: 4.1.0 1633 | json-stable-stringify-without-jsonify: 1.0.1 1634 | levn: 0.4.1 1635 | lodash.merge: 4.6.2 1636 | minimatch: 3.1.2 1637 | natural-compare: 1.4.0 1638 | optionator: 0.9.1 1639 | regexpp: 3.2.0 1640 | strip-ansi: 6.0.1 1641 | strip-json-comments: 3.1.1 1642 | text-table: 0.2.0 1643 | v8-compile-cache: 2.3.0 1644 | transitivePeerDependencies: 1645 | - supports-color 1646 | dev: true 1647 | 1648 | /espree/9.3.1: 1649 | resolution: {integrity: sha512-bvdyLmJMfwkV3NCRl5ZhJf22zBFo1y8bYh3VYb+bfzqNB4Je68P2sSuXyuFquzWLebHpNd2/d5uv7yoP9ISnGQ==} 1650 | engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} 1651 | dependencies: 1652 | acorn: 8.7.0 1653 | acorn-jsx: 5.3.2_acorn@8.7.0 1654 | eslint-visitor-keys: 3.3.0 1655 | dev: true 1656 | 1657 | /esquery/1.4.0: 1658 | resolution: {integrity: sha512-cCDispWt5vHHtwMY2YrAQ4ibFkAL8RbH5YGBnZBc90MolvvfkkQcJro/aZiAQUlQ3qgrYS6D6v8Gc5G5CQsc9w==} 1659 | engines: {node: '>=0.10'} 1660 | dependencies: 1661 | estraverse: 5.3.0 1662 | dev: true 1663 | 1664 | /esrecurse/4.3.0: 1665 | resolution: {integrity: sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag==} 1666 | engines: {node: '>=4.0'} 1667 | dependencies: 1668 | estraverse: 5.3.0 1669 | dev: true 1670 | 1671 | /estraverse/5.3.0: 1672 | resolution: {integrity: sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==} 1673 | engines: {node: '>=4.0'} 1674 | dev: true 1675 | 1676 | /estree-walker/2.0.2: 1677 | resolution: {integrity: sha512-Rfkk/Mp/DL7JVje3u18FxFujQlTNR2q6QfMSMB7AvCBx91NGj/ba3kCfza0f6dVDbw7YlRf/nDrn7pQrCCyQ/w==} 1678 | dev: true 1679 | 1680 | /esutils/2.0.3: 1681 | resolution: {integrity: sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==} 1682 | engines: {node: '>=0.10.0'} 1683 | dev: true 1684 | 1685 | /fast-deep-equal/3.1.3: 1686 | resolution: {integrity: sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==} 1687 | dev: true 1688 | 1689 | /fast-glob/3.2.11: 1690 | resolution: {integrity: sha512-xrO3+1bxSo3ZVHAnqzyuewYT6aMFHRAd4Kcs92MAonjwQZLsK9d0SF1IyQ3k5PoirxTW0Oe/RqFgMQ6TcNE5Ew==} 1691 | engines: {node: '>=8.6.0'} 1692 | dependencies: 1693 | '@nodelib/fs.stat': 2.0.5 1694 | '@nodelib/fs.walk': 1.2.8 1695 | glob-parent: 5.1.2 1696 | merge2: 1.4.1 1697 | micromatch: 4.0.4 1698 | dev: true 1699 | 1700 | /fast-json-stable-stringify/2.1.0: 1701 | resolution: {integrity: sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==} 1702 | dev: true 1703 | 1704 | /fast-levenshtein/2.0.6: 1705 | resolution: {integrity: sha1-PYpcZog6FqMMqGQ+hR8Zuqd5eRc=} 1706 | dev: true 1707 | 1708 | /fastq/1.13.0: 1709 | resolution: {integrity: sha512-YpkpUnK8od0o1hmeSc7UUs/eB/vIPWJYjKck2QKIzAf71Vm1AAQ3EbuZB3g2JIy+pg+ERD0vqI79KyZiB2e2Nw==} 1710 | dependencies: 1711 | reusify: 1.0.4 1712 | dev: true 1713 | 1714 | /file-entry-cache/6.0.1: 1715 | resolution: {integrity: sha512-7Gps/XWymbLk2QLYK4NzpMOrYjMhdIxXuIvy2QBsLE6ljuodKvdkWs/cpyJJ3CVIVpH0Oi1Hvg1ovbMzLdFBBg==} 1716 | engines: {node: ^10.12.0 || >=12.0.0} 1717 | dependencies: 1718 | flat-cache: 3.0.4 1719 | dev: true 1720 | 1721 | /fill-range/7.0.1: 1722 | resolution: {integrity: sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==} 1723 | engines: {node: '>=8'} 1724 | dependencies: 1725 | to-regex-range: 5.0.1 1726 | dev: true 1727 | 1728 | /flat-cache/3.0.4: 1729 | resolution: {integrity: sha512-dm9s5Pw7Jc0GvMYbshN6zchCA9RgQlzzEZX3vylR9IqFfS8XciblUXOKfW6SiuJ0e13eDYZoZV5wdrev7P3Nwg==} 1730 | engines: {node: ^10.12.0 || >=12.0.0} 1731 | dependencies: 1732 | flatted: 3.2.5 1733 | rimraf: 3.0.2 1734 | dev: true 1735 | 1736 | /flatted/3.2.5: 1737 | resolution: {integrity: sha512-WIWGi2L3DyTUvUrwRKgGi9TwxQMUEqPOPQBVi71R96jZXJdFskXEmf54BoZaS1kknGODoIGASGEzBUYdyMCBJg==} 1738 | dev: true 1739 | 1740 | /fraction.js/4.2.0: 1741 | resolution: {integrity: sha512-MhLuK+2gUcnZe8ZHlaaINnQLl0xRIGRfcGk2yl8xoQAfHrSsL3rYu6FCmBdkdbhc9EPlwyGHewaRsvwRMJtAlA==} 1742 | dev: true 1743 | 1744 | /fs-extra/9.1.0: 1745 | resolution: {integrity: sha512-hcg3ZmepS30/7BSFqRvoo3DOMQu7IjqxO5nCDt+zM9XWjb33Wg7ziNT+Qvqbuc3+gWpzO02JubVyk2G4Zvo1OQ==} 1746 | engines: {node: '>=10'} 1747 | dependencies: 1748 | at-least-node: 1.0.0 1749 | graceful-fs: 4.2.9 1750 | jsonfile: 6.1.0 1751 | universalify: 2.0.0 1752 | dev: true 1753 | 1754 | /fs.realpath/1.0.0: 1755 | resolution: {integrity: sha1-FQStJSMVjKpA20onh8sBQRmU6k8=} 1756 | dev: true 1757 | 1758 | /fsevents/2.3.2: 1759 | resolution: {integrity: sha512-xiqMQR4xAeHTuB9uWm+fFRcIOgKBMiOBP+eXiyT7jsgVCq1bkVygt00oASowB7EdtpOHaaPgKt812P9ab+DDKA==} 1760 | engines: {node: ^8.16.0 || ^10.6.0 || >=11.0.0} 1761 | os: [darwin] 1762 | requiresBuild: true 1763 | dev: true 1764 | optional: true 1765 | 1766 | /function-bind/1.1.1: 1767 | resolution: {integrity: sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A==} 1768 | dev: true 1769 | 1770 | /functional-red-black-tree/1.0.1: 1771 | resolution: {integrity: sha1-GwqzvVU7Kg1jmdKcDj6gslIHgyc=} 1772 | dev: true 1773 | 1774 | /gensync/1.0.0-beta.2: 1775 | resolution: {integrity: sha512-3hN7NaskYvMDLQY55gnW3NQ+mesEAepTqlg+VEbj7zzqEMBVNhzcGYYeqFo/TlYz6eQiFcp1HcsCZO+nGgS8zg==} 1776 | engines: {node: '>=6.9.0'} 1777 | dev: true 1778 | 1779 | /get-func-name/2.0.0: 1780 | resolution: {integrity: sha1-6td0q+5y4gQJQzoGY2YCPdaIekE=} 1781 | dev: true 1782 | 1783 | /glob-parent/5.1.2: 1784 | resolution: {integrity: sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==} 1785 | engines: {node: '>= 6'} 1786 | dependencies: 1787 | is-glob: 4.0.3 1788 | dev: true 1789 | 1790 | /glob-parent/6.0.2: 1791 | resolution: {integrity: sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A==} 1792 | engines: {node: '>=10.13.0'} 1793 | dependencies: 1794 | is-glob: 4.0.3 1795 | dev: true 1796 | 1797 | /glob/7.2.0: 1798 | resolution: {integrity: sha512-lmLf6gtyrPq8tTjSmrO94wBeQbFR3HbLHbuyD69wuyQkImp2hWqMGB47OX65FBkPffO641IP9jWa1z4ivqG26Q==} 1799 | dependencies: 1800 | fs.realpath: 1.0.0 1801 | inflight: 1.0.6 1802 | inherits: 2.0.4 1803 | minimatch: 3.1.2 1804 | once: 1.4.0 1805 | path-is-absolute: 1.0.1 1806 | dev: true 1807 | 1808 | /globals/11.12.0: 1809 | resolution: {integrity: sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA==} 1810 | engines: {node: '>=4'} 1811 | dev: true 1812 | 1813 | /globals/13.13.0: 1814 | resolution: {integrity: sha512-EQ7Q18AJlPwp3vUDL4mKA0KXrXyNIQyWon6T6XQiBQF0XHvRsiCSrWmmeATpUzdJN2HhWZU6Pdl0a9zdep5p6A==} 1815 | engines: {node: '>=8'} 1816 | dependencies: 1817 | type-fest: 0.20.2 1818 | dev: true 1819 | 1820 | /graceful-fs/4.2.9: 1821 | resolution: {integrity: sha512-NtNxqUcXgpW2iMrfqSfR73Glt39K+BLwWsPs94yR63v45T0Wbej7eRmL5cWfwEgqXnmjQp3zaJTshdRW/qC2ZQ==} 1822 | dev: true 1823 | 1824 | /has-flag/3.0.0: 1825 | resolution: {integrity: sha1-tdRU3CGZriJWmfNGfloH87lVuv0=} 1826 | engines: {node: '>=4'} 1827 | dev: true 1828 | 1829 | /has-flag/4.0.0: 1830 | resolution: {integrity: sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==} 1831 | engines: {node: '>=8'} 1832 | dev: true 1833 | 1834 | /has/1.0.3: 1835 | resolution: {integrity: sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw==} 1836 | engines: {node: '>= 0.4.0'} 1837 | dependencies: 1838 | function-bind: 1.1.1 1839 | dev: true 1840 | 1841 | /hash-sum/1.0.2: 1842 | resolution: {integrity: sha1-M7QHd3VMZDJXPBIMw4CLvRDUfwQ=} 1843 | dev: true 1844 | 1845 | /hash-sum/2.0.0: 1846 | resolution: {integrity: sha512-WdZTbAByD+pHfl/g9QSsBIIwy8IT+EsPiKDs0KNX+zSHhdDLFKdZu0BQHljvO+0QI/BasbMSUa8wYNCZTvhslg==} 1847 | dev: true 1848 | 1849 | /he/1.2.0: 1850 | resolution: {integrity: sha512-F/1DnUGPopORZi0ni+CvrCgHQ5FyEAHRLSApuYWMmrbSwoN2Mn/7k+Gl38gJnR7yyDZk6WLXwiGod1JOWNDKGw==} 1851 | hasBin: true 1852 | dev: true 1853 | 1854 | /html-tags/2.0.0: 1855 | resolution: {integrity: sha1-ELMKOGCF9Dzt41PMj6fLDe7qZos=} 1856 | engines: {node: '>=4'} 1857 | dev: true 1858 | 1859 | /ignore/5.2.0: 1860 | resolution: {integrity: sha512-CmxgYGiEPCLhfLnpPp1MoRmifwEIOgjcHXxOBjv7mY96c+eWScsOP9c112ZyLdWHi0FxHjI+4uVhKYp/gcdRmQ==} 1861 | engines: {node: '>= 4'} 1862 | dev: true 1863 | 1864 | /import-fresh/3.3.0: 1865 | resolution: {integrity: sha512-veYYhQa+D1QBKznvhUHxb8faxlrwUnxseDAbAp457E0wLNio2bOSKnjYDhMj+YiAq61xrMGhQk9iXVk5FzgQMw==} 1866 | engines: {node: '>=6'} 1867 | dependencies: 1868 | parent-module: 1.0.1 1869 | resolve-from: 4.0.0 1870 | dev: true 1871 | 1872 | /imurmurhash/0.1.4: 1873 | resolution: {integrity: sha1-khi5srkoojixPcT7a21XbyMUU+o=} 1874 | engines: {node: '>=0.8.19'} 1875 | dev: true 1876 | 1877 | /inflight/1.0.6: 1878 | resolution: {integrity: sha1-Sb1jMdfQLQwJvJEKEHW6gWW1bfk=} 1879 | dependencies: 1880 | once: 1.4.0 1881 | wrappy: 1.0.2 1882 | dev: true 1883 | 1884 | /inherits/2.0.4: 1885 | resolution: {integrity: sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==} 1886 | dev: true 1887 | 1888 | /is-arrayish/0.2.1: 1889 | resolution: {integrity: sha1-d8mYQFJ6qOyxqLppe4BkWnqSap0=} 1890 | dev: true 1891 | 1892 | /is-binary-path/2.1.0: 1893 | resolution: {integrity: sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw==} 1894 | engines: {node: '>=8'} 1895 | dependencies: 1896 | binary-extensions: 2.2.0 1897 | dev: true 1898 | 1899 | /is-core-module/2.8.1: 1900 | resolution: {integrity: sha512-SdNCUs284hr40hFTFP6l0IfZ/RSrMXF3qgoRHd3/79unUTvrFO/JoXwkGm+5J/Oe3E/b5GsnG330uUNgRpu1PA==} 1901 | dependencies: 1902 | has: 1.0.3 1903 | dev: true 1904 | 1905 | /is-extglob/2.1.1: 1906 | resolution: {integrity: sha1-qIwCU1eR8C7TfHahueqXc8gz+MI=} 1907 | engines: {node: '>=0.10.0'} 1908 | dev: true 1909 | 1910 | /is-glob/4.0.3: 1911 | resolution: {integrity: sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==} 1912 | engines: {node: '>=0.10.0'} 1913 | dependencies: 1914 | is-extglob: 2.1.1 1915 | dev: true 1916 | 1917 | /is-number/7.0.0: 1918 | resolution: {integrity: sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==} 1919 | engines: {node: '>=0.12.0'} 1920 | dev: true 1921 | 1922 | /isexe/2.0.0: 1923 | resolution: {integrity: sha1-6PvzdNxVb/iUehDcsFctYz8s+hA=} 1924 | dev: true 1925 | 1926 | /js-tokens/4.0.0: 1927 | resolution: {integrity: sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==} 1928 | dev: true 1929 | 1930 | /js-yaml/4.1.0: 1931 | resolution: {integrity: sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==} 1932 | hasBin: true 1933 | dependencies: 1934 | argparse: 2.0.1 1935 | dev: true 1936 | 1937 | /jsesc/2.5.2: 1938 | resolution: {integrity: sha512-OYu7XEzjkCQ3C5Ps3QIZsQfNpqoJyZZA99wd9aWd05NCtC5pWOkShK2mkL6HXQR6/Cy2lbNdPlZBpuQHXE63gA==} 1939 | engines: {node: '>=4'} 1940 | hasBin: true 1941 | dev: true 1942 | 1943 | /json-parse-even-better-errors/2.3.1: 1944 | resolution: {integrity: sha512-xyFwyhro/JEof6Ghe2iz2NcXoj2sloNsWr/XsERDK/oiPCfaNhl5ONfp+jQdAZRQQ0IJWNzH9zIZF7li91kh2w==} 1945 | dev: true 1946 | 1947 | /json-schema-traverse/0.4.1: 1948 | resolution: {integrity: sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==} 1949 | dev: true 1950 | 1951 | /json-stable-stringify-without-jsonify/1.0.1: 1952 | resolution: {integrity: sha1-nbe1lJatPzz+8wp1FC0tkwrXJlE=} 1953 | dev: true 1954 | 1955 | /json5/2.2.1: 1956 | resolution: {integrity: sha512-1hqLFMSrGHRHxav9q9gNjJ5EXznIxGVO09xQRrwplcS8qs28pZ8s8hupZAmqDwZUmVZ2Qb2jnyPOWcDH8m8dlA==} 1957 | engines: {node: '>=6'} 1958 | hasBin: true 1959 | dev: true 1960 | 1961 | /jsonfile/6.1.0: 1962 | resolution: {integrity: sha512-5dgndWOriYSm5cnYaJNhalLNDKOqFwyDB/rr1E9ZsGciGvKPs8R2xYGCacuf3z6K1YKDz182fd+fY3cn3pMqXQ==} 1963 | dependencies: 1964 | universalify: 2.0.0 1965 | optionalDependencies: 1966 | graceful-fs: 4.2.9 1967 | dev: true 1968 | 1969 | /levn/0.4.1: 1970 | resolution: {integrity: sha512-+bT2uH4E5LGE7h/n3evcS/sQlJXCpIp6ym8OWJ5eV6+67Dsql/LaaT7qJBAt2rzfoa/5QBGBhxDix1dMt2kQKQ==} 1971 | engines: {node: '>= 0.8.0'} 1972 | dependencies: 1973 | prelude-ls: 1.2.1 1974 | type-check: 0.4.0 1975 | dev: true 1976 | 1977 | /lilconfig/2.0.5: 1978 | resolution: {integrity: sha512-xaYmXZtTHPAw5m+xLN8ab9C+3a8YmV3asNSPOATITbtwrfbwaLJj8h66H1WMIpALCkqsIzK3h7oQ+PdX+LQ9Eg==} 1979 | engines: {node: '>=10'} 1980 | dev: true 1981 | 1982 | /lines-and-columns/1.2.4: 1983 | resolution: {integrity: sha512-7ylylesZQ/PV29jhEDl3Ufjo6ZX7gCqJr5F7PKrqc93v7fzSymt1BpwEU8nAUXs8qzzvqhbjhK5QZg6Mt/HkBg==} 1984 | dev: true 1985 | 1986 | /local-pkg/0.4.1: 1987 | resolution: {integrity: sha512-lL87ytIGP2FU5PWwNDo0w3WhIo2gopIAxPg9RxDYF7m4rr5ahuZxP22xnJHIvaLTe4Z9P6uKKY2UHiwyB4pcrw==} 1988 | engines: {node: '>=14'} 1989 | dev: true 1990 | 1991 | /lodash.kebabcase/4.1.1: 1992 | resolution: {integrity: sha1-hImxyw0p/4gZXM7KRI/21swpXDY=} 1993 | dev: true 1994 | 1995 | /lodash.merge/4.6.2: 1996 | resolution: {integrity: sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ==} 1997 | dev: true 1998 | 1999 | /loupe/2.3.4: 2000 | resolution: {integrity: sha512-OvKfgCC2Ndby6aSTREl5aCCPTNIzlDfQZvZxNUrBrihDhL3xcrYegTblhmEiCrg2kKQz4XsFIaemE5BF4ybSaQ==} 2001 | dependencies: 2002 | get-func-name: 2.0.0 2003 | dev: true 2004 | 2005 | /lru-cache/4.1.5: 2006 | resolution: {integrity: sha512-sWZlbEP2OsHNkXrMl5GYk/jKk70MBng6UU4YI/qGDYbgf6YbP4EvmqISbXCoJiRKs+1bSpFHVgQxvJ17F2li5g==} 2007 | dependencies: 2008 | pseudomap: 1.0.2 2009 | yallist: 2.1.2 2010 | dev: true 2011 | 2012 | /magic-string/0.25.9: 2013 | resolution: {integrity: sha512-RmF0AsMzgt25qzqqLc1+MbHmhdx0ojF2Fvs4XnOqz2ZOBXzzkEwc/dJQZCYHAn7v1jbVOjAZfK8msRn4BxO4VQ==} 2014 | dependencies: 2015 | sourcemap-codec: 1.4.8 2016 | dev: true 2017 | 2018 | /merge-source-map/1.1.0: 2019 | resolution: {integrity: sha512-Qkcp7P2ygktpMPh2mCQZaf3jhN6D3Z/qVZHSdWvQ+2Ef5HgRAPBO57A77+ENm0CPx2+1Ce/MYKi3ymqdfuqibw==} 2020 | dependencies: 2021 | source-map: 0.6.1 2022 | dev: true 2023 | 2024 | /merge2/1.4.1: 2025 | resolution: {integrity: sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==} 2026 | engines: {node: '>= 8'} 2027 | dev: true 2028 | 2029 | /micromatch/4.0.4: 2030 | resolution: {integrity: sha512-pRmzw/XUcwXGpD9aI9q/0XOwLNygjETJ8y0ao0wdqprrzDa4YnxLcz7fQRZr8voh8V10kGhABbNcHVk5wHgWwg==} 2031 | engines: {node: '>=8.6'} 2032 | dependencies: 2033 | braces: 3.0.2 2034 | picomatch: 2.3.1 2035 | dev: true 2036 | 2037 | /minimatch/3.1.2: 2038 | resolution: {integrity: sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==} 2039 | dependencies: 2040 | brace-expansion: 1.1.11 2041 | dev: true 2042 | 2043 | /minimist/1.2.6: 2044 | resolution: {integrity: sha512-Jsjnk4bw3YJqYzbdyBiNsPWHPfO++UGG749Cxs6peCu5Xg4nrena6OVxOYxrQTqww0Jmwt+Ref8rggumkTLz9Q==} 2045 | dev: true 2046 | 2047 | /ms/2.1.2: 2048 | resolution: {integrity: sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==} 2049 | dev: true 2050 | 2051 | /nanoid/3.3.1: 2052 | resolution: {integrity: sha512-n6Vs/3KGyxPQd6uO0eH4Bv0ojGSUvuLlIHtC3Y0kEO23YRge8H9x1GCzLn28YX0H66pMkxuaeESFq4tKISKwdw==} 2053 | engines: {node: ^10 || ^12 || ^13.7 || ^14 || >=15.0.1} 2054 | hasBin: true 2055 | dev: true 2056 | 2057 | /natural-compare/1.4.0: 2058 | resolution: {integrity: sha1-Sr6/7tdUHywnrPspvbvRXI1bpPc=} 2059 | dev: true 2060 | 2061 | /node-releases/2.0.2: 2062 | resolution: {integrity: sha512-XxYDdcQ6eKqp/YjI+tb2C5WM2LgjnZrfYg4vgQt49EK268b6gYCHsBLrK2qvJo4FmCtqmKezb0WZFK4fkrZNsg==} 2063 | dev: true 2064 | 2065 | /normalize-path/3.0.0: 2066 | resolution: {integrity: sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==} 2067 | engines: {node: '>=0.10.0'} 2068 | dev: true 2069 | 2070 | /normalize-range/0.1.2: 2071 | resolution: {integrity: sha1-LRDAa9/TEuqXd2laTShDlFa3WUI=} 2072 | engines: {node: '>=0.10.0'} 2073 | dev: true 2074 | 2075 | /normalize-wheel/1.0.1: 2076 | resolution: {integrity: sha1-rsiGr/2wRQcNhWRH32Ls+GFG7EU=} 2077 | dev: false 2078 | 2079 | /object-hash/2.2.0: 2080 | resolution: {integrity: sha512-gScRMn0bS5fH+IuwyIFgnh9zBdo4DV+6GhygmWM9HyNJSgS0hScp1f5vjtm7oIIOiT9trXrShAkLFSc2IqKNgw==} 2081 | engines: {node: '>= 6'} 2082 | dev: true 2083 | 2084 | /once/1.4.0: 2085 | resolution: {integrity: sha1-WDsap3WWHUsROsF9nFC6753Xa9E=} 2086 | dependencies: 2087 | wrappy: 1.0.2 2088 | dev: true 2089 | 2090 | /optionator/0.9.1: 2091 | resolution: {integrity: sha512-74RlY5FCnhq4jRxVUPKDaRwrVNXMqsGsiW6AJw4XK8hmtm10wC0ypZBLw5IIp85NZMr91+qd1RvvENwg7jjRFw==} 2092 | engines: {node: '>= 0.8.0'} 2093 | dependencies: 2094 | deep-is: 0.1.4 2095 | fast-levenshtein: 2.0.6 2096 | levn: 0.4.1 2097 | prelude-ls: 1.2.1 2098 | type-check: 0.4.0 2099 | word-wrap: 1.2.3 2100 | dev: true 2101 | 2102 | /parent-module/1.0.1: 2103 | resolution: {integrity: sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g==} 2104 | engines: {node: '>=6'} 2105 | dependencies: 2106 | callsites: 3.1.0 2107 | dev: true 2108 | 2109 | /parse-json/5.2.0: 2110 | resolution: {integrity: sha512-ayCKvm/phCGxOkYRSCM82iDwct8/EonSEgCSxWxD7ve6jHggsFl4fZVQBPRNgQoKiuV/odhFrGzQXZwbifC8Rg==} 2111 | engines: {node: '>=8'} 2112 | dependencies: 2113 | '@babel/code-frame': 7.16.7 2114 | error-ex: 1.3.2 2115 | json-parse-even-better-errors: 2.3.1 2116 | lines-and-columns: 1.2.4 2117 | dev: true 2118 | 2119 | /path-is-absolute/1.0.1: 2120 | resolution: {integrity: sha1-F0uSaHNVNP+8es5r9TpanhtcX18=} 2121 | engines: {node: '>=0.10.0'} 2122 | dev: true 2123 | 2124 | /path-key/3.1.1: 2125 | resolution: {integrity: sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==} 2126 | engines: {node: '>=8'} 2127 | dev: true 2128 | 2129 | /path-parse/1.0.7: 2130 | resolution: {integrity: sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==} 2131 | dev: true 2132 | 2133 | /path-type/4.0.0: 2134 | resolution: {integrity: sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw==} 2135 | engines: {node: '>=8'} 2136 | dev: true 2137 | 2138 | /pathval/1.1.1: 2139 | resolution: {integrity: sha512-Dp6zGqpTdETdR63lehJYPeIOqpiNBNtc7BpWSLrOje7UaIsE5aY92r/AunQA7rsXvet3lrJ3JnZX29UPTKXyKQ==} 2140 | dev: true 2141 | 2142 | /picocolors/0.2.1: 2143 | resolution: {integrity: sha512-cMlDqaLEqfSaW8Z7N5Jw+lyIW869EzT73/F5lhtY9cLGoVxSXznfgfXMO0Z5K0o0Q2TkTXq+0KFsdnSe3jDViA==} 2144 | dev: true 2145 | 2146 | /picocolors/1.0.0: 2147 | resolution: {integrity: sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ==} 2148 | dev: true 2149 | 2150 | /picomatch/2.3.1: 2151 | resolution: {integrity: sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==} 2152 | engines: {node: '>=8.6'} 2153 | dev: true 2154 | 2155 | /postcss-js/4.0.0_postcss@8.4.12: 2156 | resolution: {integrity: sha512-77QESFBwgX4irogGVPgQ5s07vLvFqWr228qZY+w6lW599cRlK/HmnlivnnVUxkjHnCu4J16PDMHcH+e+2HbvTQ==} 2157 | engines: {node: ^12 || ^14 || >= 16} 2158 | peerDependencies: 2159 | postcss: ^8.3.3 2160 | dependencies: 2161 | camelcase-css: 2.0.1 2162 | postcss: 8.4.12 2163 | dev: true 2164 | 2165 | /postcss-load-config/3.1.3: 2166 | resolution: {integrity: sha512-5EYgaM9auHGtO//ljHH+v/aC/TQ5LHXtL7bQajNAUBKUVKiYE8rYpFms7+V26D9FncaGe2zwCoPQsFKb5zF/Hw==} 2167 | engines: {node: '>= 10'} 2168 | peerDependencies: 2169 | ts-node: '>=9.0.0' 2170 | peerDependenciesMeta: 2171 | ts-node: 2172 | optional: true 2173 | dependencies: 2174 | lilconfig: 2.0.5 2175 | yaml: 1.10.2 2176 | dev: true 2177 | 2178 | /postcss-nested/5.0.6_postcss@8.4.12: 2179 | resolution: {integrity: sha512-rKqm2Fk0KbA8Vt3AdGN0FB9OBOMDVajMG6ZCf/GoHgdxUJ4sBFp0A/uMIRm+MJUdo33YXEtjqIz8u7DAp8B7DA==} 2180 | engines: {node: '>=12.0'} 2181 | peerDependencies: 2182 | postcss: ^8.2.14 2183 | dependencies: 2184 | postcss: 8.4.12 2185 | postcss-selector-parser: 6.0.9 2186 | dev: true 2187 | 2188 | /postcss-selector-parser/6.0.9: 2189 | resolution: {integrity: sha512-UO3SgnZOVTwu4kyLR22UQ1xZh086RyNZppb7lLAKBFK8a32ttG5i87Y/P3+2bRSjZNyJ1B7hfFNo273tKe9YxQ==} 2190 | engines: {node: '>=4'} 2191 | dependencies: 2192 | cssesc: 3.0.0 2193 | util-deprecate: 1.0.2 2194 | dev: true 2195 | 2196 | /postcss-value-parser/4.2.0: 2197 | resolution: {integrity: sha512-1NNCs6uurfkVbeXG4S8JFT9t19m45ICnif8zWLd5oPSZ50QnwMfK+H3jv408d4jw/7Bttv5axS5IiHoLaVNHeQ==} 2198 | dev: true 2199 | 2200 | /postcss/7.0.39: 2201 | resolution: {integrity: sha512-yioayjNbHn6z1/Bywyb2Y4s3yvDAeXGOyxqD+LnVOinq6Mdmd++SW2wUNVzavyyHxd6+DxzWGIuosg6P1Rj8uA==} 2202 | engines: {node: '>=6.0.0'} 2203 | dependencies: 2204 | picocolors: 0.2.1 2205 | source-map: 0.6.1 2206 | dev: true 2207 | 2208 | /postcss/8.4.12: 2209 | resolution: {integrity: sha512-lg6eITwYe9v6Hr5CncVbK70SoioNQIq81nsaG86ev5hAidQvmOeETBqs7jm43K2F5/Ley3ytDtriImV6TpNiSg==} 2210 | engines: {node: ^10 || ^12 || >=14} 2211 | dependencies: 2212 | nanoid: 3.3.1 2213 | picocolors: 1.0.0 2214 | source-map-js: 1.0.2 2215 | dev: true 2216 | 2217 | /prelude-ls/1.2.1: 2218 | resolution: {integrity: sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g==} 2219 | engines: {node: '>= 0.8.0'} 2220 | dev: true 2221 | 2222 | /prettier/2.6.0: 2223 | resolution: {integrity: sha512-m2FgJibYrBGGgQXNzfd0PuDGShJgRavjUoRCw1mZERIWVSXF0iLzLm+aOqTAbLnC3n6JzUhAA8uZnFVghHJ86A==} 2224 | engines: {node: '>=10.13.0'} 2225 | hasBin: true 2226 | dev: true 2227 | 2228 | /pseudomap/1.0.2: 2229 | resolution: {integrity: sha1-8FKijacOYYkX7wqKw0wa5aaChrM=} 2230 | dev: true 2231 | 2232 | /punycode/2.1.1: 2233 | resolution: {integrity: sha512-XRsRjdf+j5ml+y/6GKHPZbrF/8p2Yga0JPtdqTIY2Xe5ohJPD9saDJJLPvp9+NSBprVvevdXZybnj2cv8OEd0A==} 2234 | engines: {node: '>=6'} 2235 | dev: true 2236 | 2237 | /querystring/0.2.1: 2238 | resolution: {integrity: sha512-wkvS7mL/JMugcup3/rMitHmd9ecIGd2lhFhK9N3UUQ450h66d1r3Y9nvXzQAW1Lq+wyx61k/1pfKS5KuKiyEbg==} 2239 | engines: {node: '>=0.4.x'} 2240 | deprecated: The querystring API is considered Legacy. new code should use the URLSearchParams API instead. 2241 | dev: true 2242 | 2243 | /queue-microtask/1.2.3: 2244 | resolution: {integrity: sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==} 2245 | dev: true 2246 | 2247 | /quick-lru/5.1.1: 2248 | resolution: {integrity: sha512-WuyALRjWPDGtt/wzJiadO5AXY+8hZ80hVpe6MyivgraREW751X3SbhRvG3eLKOYN+8VEvqLcf3wdnt44Z4S4SA==} 2249 | engines: {node: '>=10'} 2250 | dev: true 2251 | 2252 | /readdirp/3.6.0: 2253 | resolution: {integrity: sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA==} 2254 | engines: {node: '>=8.10.0'} 2255 | dependencies: 2256 | picomatch: 2.3.1 2257 | dev: true 2258 | 2259 | /regenerator-runtime/0.11.1: 2260 | resolution: {integrity: sha512-MguG95oij0fC3QV3URf4V2SDYGJhJnJGqvIIgdECeODCT98wSWDAJ94SSuVpYQUoTcGUIL6L4yNB7j1DFFHSBg==} 2261 | dev: false 2262 | 2263 | /regexpp/3.2.0: 2264 | resolution: {integrity: sha512-pq2bWo9mVD43nbts2wGv17XLiNLya+GklZ8kaDLV2Z08gDCsGpnKn9BFMepvWuHCbyVvY7J5o5+BVvoQbmlJLg==} 2265 | engines: {node: '>=8'} 2266 | dev: true 2267 | 2268 | /resize-observer-polyfill/1.5.1: 2269 | resolution: {integrity: sha512-LwZrotdHOo12nQuZlHEmtuXdqGoOD0OhaxopaNFxWzInpEgaLWoVuAMbTzixuosCx2nEG58ngzW3vxdWoxIgdg==} 2270 | dev: false 2271 | 2272 | /resolve-from/4.0.0: 2273 | resolution: {integrity: sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==} 2274 | engines: {node: '>=4'} 2275 | dev: true 2276 | 2277 | /resolve/1.22.0: 2278 | resolution: {integrity: sha512-Hhtrw0nLeSrFQ7phPp4OOcVjLPIeMnRlr5mcnVuMe7M/7eBn98A3hmFRLoFo3DLZkivSYwhRUJTyPyWAk56WLw==} 2279 | hasBin: true 2280 | dependencies: 2281 | is-core-module: 2.8.1 2282 | path-parse: 1.0.7 2283 | supports-preserve-symlinks-flag: 1.0.0 2284 | dev: true 2285 | 2286 | /reusify/1.0.4: 2287 | resolution: {integrity: sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw==} 2288 | engines: {iojs: '>=1.0.0', node: '>=0.10.0'} 2289 | dev: true 2290 | 2291 | /rimraf/3.0.2: 2292 | resolution: {integrity: sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==} 2293 | hasBin: true 2294 | dependencies: 2295 | glob: 7.2.0 2296 | dev: true 2297 | 2298 | /rollup/2.70.1: 2299 | resolution: {integrity: sha512-CRYsI5EuzLbXdxC6RnYhOuRdtz4bhejPMSWjsFLfVM/7w/85n2szZv6yExqUXsBdz5KT8eoubeyDUDjhLHEslA==} 2300 | engines: {node: '>=10.0.0'} 2301 | hasBin: true 2302 | optionalDependencies: 2303 | fsevents: 2.3.2 2304 | dev: true 2305 | 2306 | /run-parallel/1.2.0: 2307 | resolution: {integrity: sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA==} 2308 | dependencies: 2309 | queue-microtask: 1.2.3 2310 | dev: true 2311 | 2312 | /safe-buffer/5.1.2: 2313 | resolution: {integrity: sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==} 2314 | dev: true 2315 | 2316 | /semver/6.3.0: 2317 | resolution: {integrity: sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==} 2318 | hasBin: true 2319 | dev: true 2320 | 2321 | /shebang-command/2.0.0: 2322 | resolution: {integrity: sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==} 2323 | engines: {node: '>=8'} 2324 | dependencies: 2325 | shebang-regex: 3.0.0 2326 | dev: true 2327 | 2328 | /shebang-regex/3.0.0: 2329 | resolution: {integrity: sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==} 2330 | engines: {node: '>=8'} 2331 | dev: true 2332 | 2333 | /slash/3.0.0: 2334 | resolution: {integrity: sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==} 2335 | engines: {node: '>=8'} 2336 | dev: true 2337 | 2338 | /source-map-js/1.0.2: 2339 | resolution: {integrity: sha512-R0XvVJ9WusLiqTCEiGCmICCMplcCkIwwR11mOSD9CR5u+IXYdiseeEuXCVAjS54zqwkLcPNnmU4OeJ6tUrWhDw==} 2340 | engines: {node: '>=0.10.0'} 2341 | dev: true 2342 | 2343 | /source-map/0.5.7: 2344 | resolution: {integrity: sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=} 2345 | engines: {node: '>=0.10.0'} 2346 | dev: true 2347 | 2348 | /source-map/0.6.1: 2349 | resolution: {integrity: sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==} 2350 | engines: {node: '>=0.10.0'} 2351 | dev: true 2352 | 2353 | /source-map/0.7.3: 2354 | resolution: {integrity: sha512-CkCj6giN3S+n9qrYiBTX5gystlENnRW5jZeNLHpe6aue+SrHcG5VYwujhW9s4dY31mEGsxBDrHR6oI69fTXsaQ==} 2355 | engines: {node: '>= 8'} 2356 | dev: true 2357 | 2358 | /sourcemap-codec/1.4.8: 2359 | resolution: {integrity: sha512-9NykojV5Uih4lgo5So5dtw+f0JgJX30KCNI8gwhz2J9A15wD0Ml6tjHKwf6fTSa6fAdVBdZeNOs9eJ71qCk8vA==} 2360 | dev: true 2361 | 2362 | /strip-ansi/6.0.1: 2363 | resolution: {integrity: sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==} 2364 | engines: {node: '>=8'} 2365 | dependencies: 2366 | ansi-regex: 5.0.1 2367 | dev: true 2368 | 2369 | /strip-json-comments/3.1.1: 2370 | resolution: {integrity: sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig==} 2371 | engines: {node: '>=8'} 2372 | dev: true 2373 | 2374 | /supports-color/5.5.0: 2375 | resolution: {integrity: sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==} 2376 | engines: {node: '>=4'} 2377 | dependencies: 2378 | has-flag: 3.0.0 2379 | dev: true 2380 | 2381 | /supports-color/7.2.0: 2382 | resolution: {integrity: sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==} 2383 | engines: {node: '>=8'} 2384 | dependencies: 2385 | has-flag: 4.0.0 2386 | dev: true 2387 | 2388 | /supports-preserve-symlinks-flag/1.0.0: 2389 | resolution: {integrity: sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==} 2390 | engines: {node: '>= 0.4'} 2391 | dev: true 2392 | 2393 | /svg-tags/1.0.0: 2394 | resolution: {integrity: sha1-WPcc7jvVGbWdSyqEO2x95krAR2Q=} 2395 | dev: true 2396 | 2397 | /tailwindcss/3.0.23_balfb4xu3orvwfzgle32wkroya: 2398 | resolution: {integrity: sha512-+OZOV9ubyQ6oI2BXEhzw4HrqvgcARY38xv3zKcjnWtMIZstEsXdI9xftd1iB7+RbOnj2HOEzkA0OyB5BaSxPQA==} 2399 | engines: {node: '>=12.13.0'} 2400 | hasBin: true 2401 | peerDependencies: 2402 | autoprefixer: ^10.0.2 2403 | postcss: ^8.0.9 2404 | dependencies: 2405 | arg: 5.0.1 2406 | autoprefixer: 10.4.4_postcss@8.4.12 2407 | chalk: 4.1.2 2408 | chokidar: 3.5.3 2409 | color-name: 1.1.4 2410 | cosmiconfig: 7.0.1 2411 | detective: 5.2.0 2412 | didyoumean: 1.2.2 2413 | dlv: 1.1.3 2414 | fast-glob: 3.2.11 2415 | glob-parent: 6.0.2 2416 | is-glob: 4.0.3 2417 | normalize-path: 3.0.0 2418 | object-hash: 2.2.0 2419 | postcss: 8.4.12 2420 | postcss-js: 4.0.0_postcss@8.4.12 2421 | postcss-load-config: 3.1.3 2422 | postcss-nested: 5.0.6_postcss@8.4.12 2423 | postcss-selector-parser: 6.0.9 2424 | postcss-value-parser: 4.2.0 2425 | quick-lru: 5.1.1 2426 | resolve: 1.22.0 2427 | transitivePeerDependencies: 2428 | - ts-node 2429 | dev: true 2430 | 2431 | /text-table/0.2.0: 2432 | resolution: {integrity: sha1-f17oI66AUgfACvLfSoTsP8+lcLQ=} 2433 | dev: true 2434 | 2435 | /throttle-debounce/1.1.0: 2436 | resolution: {integrity: sha512-XH8UiPCQcWNuk2LYePibW/4qL97+ZQ1AN3FNXwZRBNPPowo/NRU5fAlDCSNBJIYCKbioZfuYtMhG4quqoJhVzg==} 2437 | engines: {node: '>=4'} 2438 | dev: false 2439 | 2440 | /tinypool/0.1.2: 2441 | resolution: {integrity: sha512-fvtYGXoui2RpeMILfkvGIgOVkzJEGediv8UJt7TxdAOY8pnvUkFg/fkvqTfXG9Acc9S17Cnn1S4osDc2164guA==} 2442 | engines: {node: '>=14.0.0'} 2443 | dev: true 2444 | 2445 | /tinyspy/0.3.0: 2446 | resolution: {integrity: sha512-c5uFHqtUp74R2DJE3/Efg0mH5xicmgziaQXMm/LvuuZn3RdpADH32aEGDRyCzObXT1DNfwDMqRQ/Drh1MlO12g==} 2447 | engines: {node: '>=14.0.0'} 2448 | dev: true 2449 | 2450 | /to-fast-properties/2.0.0: 2451 | resolution: {integrity: sha1-3F5pjL0HkmW8c+A3doGk5Og/YW4=} 2452 | engines: {node: '>=4'} 2453 | dev: true 2454 | 2455 | /to-regex-range/5.0.1: 2456 | resolution: {integrity: sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==} 2457 | engines: {node: '>=8.0'} 2458 | dependencies: 2459 | is-number: 7.0.0 2460 | dev: true 2461 | 2462 | /type-check/0.4.0: 2463 | resolution: {integrity: sha512-XleUoc9uwGXqjWwXaUTZAmzMcFZ5858QA2vvx1Ur5xIcixXIP+8LnFDgRplU30us6teqdlskFfu+ae4K79Ooew==} 2464 | engines: {node: '>= 0.8.0'} 2465 | dependencies: 2466 | prelude-ls: 1.2.1 2467 | dev: true 2468 | 2469 | /type-detect/4.0.8: 2470 | resolution: {integrity: sha512-0fr/mIH1dlO+x7TlcMy+bIDqKPsw/70tVyeHW787goQjhmqaZe10uwLujubK9q9Lg6Fiho1KUKDYz0Z7k7g5/g==} 2471 | engines: {node: '>=4'} 2472 | dev: true 2473 | 2474 | /type-fest/0.20.2: 2475 | resolution: {integrity: sha512-Ne+eE4r0/iWnpAxD852z3A+N0Bt5RN//NjJwRd2VFHEmrywxf5vsZlh4R6lixl6B+wz/8d+maTSAkN1FIkI3LQ==} 2476 | engines: {node: '>=10'} 2477 | dev: true 2478 | 2479 | /universalify/2.0.0: 2480 | resolution: {integrity: sha512-hAZsKq7Yy11Zu1DE0OzWjw7nnLZmJZYTDZZyEFHZdUhV8FkH5MCfoU1XMaxXovpyW5nq5scPqq0ZDP9Zyl04oQ==} 2481 | engines: {node: '>= 10.0.0'} 2482 | dev: true 2483 | 2484 | /uri-js/4.4.1: 2485 | resolution: {integrity: sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==} 2486 | dependencies: 2487 | punycode: 2.1.1 2488 | dev: true 2489 | 2490 | /util-deprecate/1.0.2: 2491 | resolution: {integrity: sha1-RQ1Nyfpw3nMnYvvS1KKJgUGaDM8=} 2492 | dev: true 2493 | 2494 | /v8-compile-cache/2.3.0: 2495 | resolution: {integrity: sha512-l8lCEmLcLYZh4nbunNZvQCJc5pv7+RCwa8q/LdUx8u7lsWvPDKmpodJAJNwkAhJC//dFY48KuIEmjtd4RViDrA==} 2496 | dev: true 2497 | 2498 | /vite-plugin-vue2/1.9.3_ym4giuhjvqmzxoh6gnzhpisapm: 2499 | resolution: {integrity: sha512-0KhHSEeht0VHJtt4Z2cJ9bWBq4dP3HoXpapqAHV+f+cUa6KywYdOd+z6sSGLpuGjN8F9YinrFIo8dfVmMOpc8Q==} 2500 | peerDependencies: 2501 | vite: ^2.0.0-beta.23 2502 | vue-template-compiler: ^2.2.0 2503 | dependencies: 2504 | '@babel/core': 7.17.8 2505 | '@babel/parser': 7.17.8 2506 | '@babel/plugin-proposal-class-properties': 7.16.7_@babel+core@7.17.8 2507 | '@babel/plugin-proposal-decorators': 7.17.8_@babel+core@7.17.8 2508 | '@babel/plugin-transform-typescript': 7.16.8_@babel+core@7.17.8 2509 | '@rollup/pluginutils': 4.2.0 2510 | '@vue/babel-helper-vue-jsx-merge-props': 1.2.1 2511 | '@vue/babel-preset-jsx': 1.2.4_@babel+core@7.17.8 2512 | '@vue/component-compiler-utils': 3.3.0 2513 | consolidate: 0.16.0 2514 | debug: 4.3.4 2515 | fs-extra: 9.1.0 2516 | hash-sum: 2.0.0 2517 | magic-string: 0.25.9 2518 | prettier: 2.6.0 2519 | querystring: 0.2.1 2520 | rollup: 2.70.1 2521 | slash: 3.0.0 2522 | source-map: 0.7.3 2523 | vite: 2.8.6 2524 | vue-template-compiler: 2.6.11 2525 | vue-template-es2015-compiler: 1.9.1 2526 | transitivePeerDependencies: 2527 | - arc-templates 2528 | - atpl 2529 | - babel-core 2530 | - bracket-template 2531 | - coffee-script 2532 | - dot 2533 | - dust 2534 | - dustjs-helpers 2535 | - dustjs-linkedin 2536 | - eco 2537 | - ect 2538 | - ejs 2539 | - haml-coffee 2540 | - hamlet 2541 | - hamljs 2542 | - handlebars 2543 | - hogan.js 2544 | - htmling 2545 | - jade 2546 | - jazz 2547 | - jqtpl 2548 | - just 2549 | - liquid-node 2550 | - liquor 2551 | - lodash 2552 | - marko 2553 | - mote 2554 | - mustache 2555 | - nunjucks 2556 | - plates 2557 | - pug 2558 | - qejs 2559 | - ractive 2560 | - razor-tmpl 2561 | - react 2562 | - react-dom 2563 | - slm 2564 | - squirrelly 2565 | - supports-color 2566 | - swig 2567 | - swig-templates 2568 | - teacup 2569 | - templayed 2570 | - then-jade 2571 | - then-pug 2572 | - tinyliquid 2573 | - toffee 2574 | - twig 2575 | - twing 2576 | - underscore 2577 | - vash 2578 | - velocityjs 2579 | - walrus 2580 | - whiskers 2581 | dev: true 2582 | 2583 | /vite/2.8.6: 2584 | resolution: {integrity: sha512-e4H0QpludOVKkmOsRyqQ7LTcMUDF3mcgyNU4lmi0B5JUbe0ZxeBBl8VoZ8Y6Rfn9eFKYtdXNPcYK97ZwH+K2ug==} 2585 | engines: {node: '>=12.2.0'} 2586 | hasBin: true 2587 | peerDependencies: 2588 | less: '*' 2589 | sass: '*' 2590 | stylus: '*' 2591 | peerDependenciesMeta: 2592 | less: 2593 | optional: true 2594 | sass: 2595 | optional: true 2596 | stylus: 2597 | optional: true 2598 | dependencies: 2599 | esbuild: 0.14.27 2600 | postcss: 8.4.12 2601 | resolve: 1.22.0 2602 | rollup: 2.70.1 2603 | optionalDependencies: 2604 | fsevents: 2.3.2 2605 | dev: true 2606 | 2607 | /vitest/0.7.10: 2608 | resolution: {integrity: sha512-We5a7cnY2aUpX4tAO+w2KRhJiJ4FznfWjYKkqWoAqs4x4pKgyRsMJNZ7OSY/lFHOoRz3yv0mgwfVlZiRc0/mmA==} 2609 | engines: {node: '>=v14.16.0'} 2610 | hasBin: true 2611 | peerDependencies: 2612 | '@vitest/ui': '*' 2613 | c8: '*' 2614 | happy-dom: '*' 2615 | jsdom: '*' 2616 | peerDependenciesMeta: 2617 | '@vitest/ui': 2618 | optional: true 2619 | c8: 2620 | optional: true 2621 | happy-dom: 2622 | optional: true 2623 | jsdom: 2624 | optional: true 2625 | dependencies: 2626 | '@types/chai': 4.3.0 2627 | '@types/chai-subset': 1.3.3 2628 | chai: 4.3.6 2629 | local-pkg: 0.4.1 2630 | tinypool: 0.1.2 2631 | tinyspy: 0.3.0 2632 | vite: 2.8.6 2633 | transitivePeerDependencies: 2634 | - less 2635 | - sass 2636 | - stylus 2637 | dev: true 2638 | 2639 | /vue-template-compiler/2.6.11: 2640 | resolution: {integrity: sha512-KIq15bvQDrcCjpGjrAhx4mUlyyHfdmTaoNfeoATHLAiWB+MU3cx4lOzMwrnUh9cCxy0Lt1T11hAFY6TQgroUAA==} 2641 | dependencies: 2642 | de-indent: 1.0.2 2643 | he: 1.2.0 2644 | dev: true 2645 | 2646 | /vue-template-es2015-compiler/1.9.1: 2647 | resolution: {integrity: sha512-4gDntzrifFnCEvyoO8PqyJDmguXgVPxKiIxrBKjIowvL9l+N66196+72XVYR8BBf1Uv1Fgt3bGevJ+sEmxfZzw==} 2648 | dev: true 2649 | 2650 | /vue-waterfall-plugin/3.3.0: 2651 | resolution: {integrity: sha512-9TMcg2J9lmoFV6FayY8a7um3r1IxrQ0dZ/T7ijN0Tuof73/tpxrmh9RM89itvnVJdQVhE2YwhN2HmuHabFpdPg==} 2652 | dependencies: 2653 | animate.css: 4.1.1 2654 | element-ui: 2.15.6_vue@2.6.11 2655 | vue: 2.6.11 2656 | dev: false 2657 | 2658 | /vue/2.6.11: 2659 | resolution: {integrity: sha512-VfPwgcGABbGAue9+sfrD4PuwFar7gPb1yl1UK1MwXoQPAw0BKSqWfoYCT/ThFrdEVWoI51dBuyCoiNU9bZDZxQ==} 2660 | dev: false 2661 | 2662 | /which/2.0.2: 2663 | resolution: {integrity: sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==} 2664 | engines: {node: '>= 8'} 2665 | hasBin: true 2666 | dependencies: 2667 | isexe: 2.0.0 2668 | dev: true 2669 | 2670 | /word-wrap/1.2.3: 2671 | resolution: {integrity: sha512-Hz/mrNwitNRh/HUAtM/VT/5VH+ygD6DV7mYKZAtHOrbs8U7lvPS6xf7EJKMF0uW1KJCl0H701g3ZGus+muE5vQ==} 2672 | engines: {node: '>=0.10.0'} 2673 | dev: true 2674 | 2675 | /wrappy/1.0.2: 2676 | resolution: {integrity: sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8=} 2677 | dev: true 2678 | 2679 | /xtend/4.0.2: 2680 | resolution: {integrity: sha512-LKYU1iAXJXUgAXn9URjiu+MWhyUXHsvfp7mcuYm9dSUKK0/CjtrUwFAxD82/mCWbtLsGjFIad0wIsod4zrTAEQ==} 2681 | engines: {node: '>=0.4'} 2682 | dev: true 2683 | 2684 | /yallist/2.1.2: 2685 | resolution: {integrity: sha1-HBH5IY8HYImkfdUS+TxmmaaoHVI=} 2686 | dev: true 2687 | 2688 | /yaml/1.10.2: 2689 | resolution: {integrity: sha512-r3vXyErRCYJ7wg28yvBY5VSoAF8ZvlcW9/BwUzEtUsjvX/DKs24dIkuwjtuprwJJHsbyUbLApepYTR1BN4uHrg==} 2690 | engines: {node: '>= 6'} 2691 | dev: true 2692 | --------------------------------------------------------------------------------