@tikkhun/cli-core 0.0.21 → 0.0.23
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/CommandManager.js +2 -55
- package/dist/CommandManager.js.map +1 -1
- package/dist/CommandManager.mjs +2 -55
- package/dist/CommandManager.mjs.map +1 -1
- package/dist/command/ArgsCommand.js +1 -1
- package/dist/command/ArgsCommand.js.map +1 -1
- package/dist/command/ArgsCommand.mjs +2 -2
- package/dist/command/ArgsCommand.mjs.map +1 -1
- package/dist/command/ConfigCommand.js +2 -55
- package/dist/command/ConfigCommand.js.map +1 -1
- package/dist/command/ConfigCommand.mjs +2 -55
- package/dist/command/ConfigCommand.mjs.map +1 -1
- package/dist/command/PromptsCommand.js +1 -1
- package/dist/command/PromptsCommand.js.map +1 -1
- package/dist/command/PromptsCommand.mjs +2 -2
- package/dist/command/PromptsCommand.mjs.map +1 -1
- package/dist/command/index.js +2 -55
- package/dist/command/index.js.map +1 -1
- package/dist/command/index.mjs +2 -55
- package/dist/command/index.mjs.map +1 -1
- package/dist/index.js +2 -55
- package/dist/index.js.map +1 -1
- package/dist/index.mjs +2 -55
- package/dist/index.mjs.map +1 -1
- package/package.json +3 -3
@@ -1,5 +1,5 @@
|
|
1
1
|
'use strict';var utilsCore=require('@tikkhun/utils-core'),O=require('lodash'),commander=require('commander');function _interopDefault(e){return e&&e.__esModule?e:{default:e}}var O__default=/*#__PURE__*/_interopDefault(O);/**
|
2
2
|
@tikkhun/cli-core
|
3
3
|
*/
|
4
|
-
var c={stringify(t){return t!=null&&t.length?t.toString():""},parse(t){return t.split(",")}};var b=["true",true,"1",1];var u={stringify(t){return t.toString()},parse(t){return !!b.includes(t)}};var f={stringify(t){return t!=null&&t.length?t.map(r=>`${r==null?void 0:r.key}=${r==null?void 0:r.value}`).join(","):""},parse(t){return t?t.split(",").map(r=>{if(!r)return;let[e,n]=r.split("=");return {key:e,value:n}}).filter(r=>r):[]}};var d={stringify(t){return t.toString()},parse(t){return Number(t)}};var m={stringify(t){return JSON.stringify(t)},parse(t){try{return JSON.parse(t)||[]}catch(r){return []}}};var l={stringify(t){return JSON.stringify(t)},parse(t){return typeof t=="object"?JSON.parse(t):{}}};var i={array:"array",keyValueArray:"keyValueArray",objectArray:"objectArray",boolean:"boolean",number:"number",object:"object"},a=class t{constructor(r){this.schema=r;}parse(r){return t.parse(r,this.schema)}static parse(r,e){let n={};return Object.entries(r).forEach(([o,s])=>{let g=e[o];typeof s=="object"?n[o]=t.parse(s,g):n[o]=t.parseValueByType(s,g);}),n}static parseValueByType(r,e){if(r!=="undefined")return e===i.keyValueArray?f.parse(r):e===i.objectArray?m.parse(r):e===i.array?c.parse(r):e===i.object?l.parse(r):e===i.number?d.parse(r):e===i.boolean?u.parse(r):r}static stringify(r){let e={};return Object.entries(r).forEach(([n,o])=>{e[n]=t.stringifyValue(o);}),e}static stringifyValue(r){if(Array.isArray(r)){let e=r[0];return typeof e=="object"?this.isKeyValueObject(e)?f.stringify(r):m.stringify(r):c.stringify(r)}return typeof r=="object"?t.stringify(r):""+r}static isKeyValueObject(r){let e=Object.keys(r);return e[0]==="key"&&e[1]==="value"}};var{merge:h}=O__default.default,y=class y{constructor(r){this.options=h({},y.DEFAULT_OPTIONS,r),this.init();}};y.DEFAULT_OPTIONS={program:void 0,version:"",description:"",logo:void 0,defaultOptions:{},excludeOptions:[],optionTypes:{},optionTitles:{}};var p=y;var {get:S}=O__default.default,T=class extends p{getOptions(){let r=a.stringify(this.options.defaultOptions),e=utilsCore.
|
4
|
+
var c={stringify(t){return t!=null&&t.length?t.toString():""},parse(t){return t.split(",")}};var b=["true",true,"1",1];var u={stringify(t){return t.toString()},parse(t){return !!b.includes(t)}};var f={stringify(t){return t!=null&&t.length?t.map(r=>`${r==null?void 0:r.key}=${r==null?void 0:r.value}`).join(","):""},parse(t){return t?t.split(",").map(r=>{if(!r)return;let[e,n]=r.split("=");return {key:e,value:n}}).filter(r=>r):[]}};var d={stringify(t){return t.toString()},parse(t){return Number(t)}};var m={stringify(t){return JSON.stringify(t)},parse(t){try{return JSON.parse(t)||[]}catch(r){return []}}};var l={stringify(t){return JSON.stringify(t)},parse(t){return typeof t=="object"?JSON.parse(t):{}}};var i={array:"array",keyValueArray:"keyValueArray",objectArray:"objectArray",boolean:"boolean",number:"number",object:"object"},a=class t{constructor(r){this.schema=r;}parse(r){return t.parse(r,this.schema)}static parse(r,e){let n={};return Object.entries(r).forEach(([o,s])=>{let g=e[o];typeof s=="object"?n[o]=t.parse(s,g):n[o]=t.parseValueByType(s,g);}),n}static parseValueByType(r,e){if(r!=="undefined")return e===i.keyValueArray?f.parse(r):e===i.objectArray?m.parse(r):e===i.array?c.parse(r):e===i.object?l.parse(r):e===i.number?d.parse(r):e===i.boolean?u.parse(r):r}static stringify(r){let e={};return Object.entries(r).forEach(([n,o])=>{e[n]=t.stringifyValue(o);}),e}static stringifyValue(r){if(Array.isArray(r)){let e=r[0];return typeof e=="object"?this.isKeyValueObject(e)?f.stringify(r):m.stringify(r):c.stringify(r)}return typeof r=="object"?t.stringify(r):""+r}static isKeyValueObject(r){let e=Object.keys(r);return e[0]==="key"&&e[1]==="value"}};var{merge:h}=O__default.default,y=class y{constructor(r){this.options=h({},y.DEFAULT_OPTIONS,r),this.init();}};y.DEFAULT_OPTIONS={program:void 0,version:"",description:"",logo:void 0,defaultOptions:{},excludeOptions:[],optionTypes:{},optionTitles:{}};var p=y;var {get:S}=O__default.default,T=class extends p{getOptions(){let r=a.stringify(this.options.defaultOptions),e=utilsCore.nestedObjectToList({delimiter:".",json:r}),n=utilsCore.flatNestedObject({delimiter:".",data:this.options.optionTypes});return e.filter(({key:o})=>!this.options.excludeOptions.includes(o)).map(({key:o,value:s})=>({key:o,value:s,type:n[o]}))}init(){this.program=this.options.program||commander.createCommand();let r=this.getOptions();this.addOptions(r);}addOptions(r){r.forEach(({key:e,value:n,type:o})=>{this.program.option(`--${e} <${o}>`,S(this.options.optionTitles,e),n);});}addAction(r){this.program.action(e=>{let n=utilsCore.unflatNestedObject({delimiter:".",data:e}),o=a.parse(n,this.options.optionTypes);r(o);});}start(r){this.addAction(r),this.options.program||this.program.parse(process.argv);}};exports.ArgsCommand=T;//# sourceMappingURL=ArgsCommand.js.map
|
5
5
|
//# sourceMappingURL=ArgsCommand.js.map
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"sources":["../../lib/options-transformer/paramTypes/array.type.ts","../../lib/options-transformer/paramTypes/boolean.type.ts","../../lib/options-transformer/paramTypes/key-value-array.type.ts","../../lib/options-transformer/paramTypes/number.type.ts","../../lib/options-transformer/paramTypes/object-array.type.ts","../../lib/options-transformer/paramTypes/object.type.ts","../../lib/options-transformer/options-transformer.ts","../../lib/command/command.interface.ts","../../lib/command/ArgsCommand.ts"],"names":["arrayType","v","asTrueValues","booleanType","value","keyValueArrayType","item","strItem","key","i","numberType","objectArrayType","error","objectType","TYPES","OptionsTransformer","_OptionsTransformer","schema","obj","_obj","type","item1","keys","merge","_","_AbstractCommand","options","AbstractCommand","get","ArgsCommand","stringOptions","optionList","jsonToList","optionTypeMap","flatJson","createCommand","action","jsonOptions","unflatJson","typedOptions"],"mappings":"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","file":"ArgsCommand.js","sourcesContent":["import { ParamType } from './param-type.interface';\n\nexport interface KeyValueItem {\n key: string;\n value: string;\n}\nexport const arrayType: ParamType = {\n // [1,2,3]=> 1,2,3\n stringify(v: any): string {\n if (!v?.length) {\n return '';\n }\n return v.toString();\n },\n parse(v: string) {\n return v.split(',');\n },\n};\n","import { ParamType } from './param-type.interface';\nexport const asTrueValues = ['true', true, '1', 1];\nexport const asFalseValues = ['false', false, '', 0];\nexport const booleanType: ParamType = {\n stringify(value: boolean): string {\n return value.toString();\n },\n parse(value: string) {\n if (asTrueValues.includes(value)) return true;\n return false;\n },\n};\n","import { ParamType } from './param-type.interface';\n\ninterface KeyValueItem {\n key: string;\n value: string;\n}\nexport const keyValueArrayType: ParamType = {\n // [{key: 1,value:2},{key: \"foo\",value: \"bar\"}] => 1=2,foo=bar\n stringify(v: any): string {\n if (!v?.length) {\n return '';\n }\n return v.map((item: KeyValueItem) => `${item?.key}=${item?.value}`).join(',');\n },\n parse(value: string) {\n if (!value) return [];\n return value\n .split(',')\n .map((strItem) => {\n if (!strItem) return undefined;\n const [key, value] = strItem.split('=');\n return { key, value };\n })\n .filter((i) => i);\n },\n};\n","import { ParamType } from './param-type.interface';\n\nexport const numberType: ParamType = {\n stringify(value: any): string {\n return value.toString();\n },\n parse(value: string) {\n return Number(value);\n },\n};\n","import { ParamType } from './param-type.interface';\n\nexport const objectArrayType: ParamType = {\n stringify(v: any): string {\n return JSON.stringify(v);\n },\n parse(v: string) {\n try {\n return JSON.parse(v) || [];\n } catch (error) {\n return [];\n }\n },\n};\n","import { ParamType } from './param-type.interface';\n\nexport const objectType: ParamType = {\n stringify(v: any): string {\n return JSON.stringify(v);\n },\n parse(value: string) {\n return typeof value === 'object' ? JSON.parse(value) : {};\n },\n};\n","import { arrayType, booleanType, keyValueArrayType, numberType, objectArrayType, objectType } from './paramTypes';\n\nexport const TYPES = {\n array: 'array',\n keyValueArray: 'keyValueArray',\n objectArray: 'objectArray',\n boolean: 'boolean',\n number: 'number',\n object: 'object',\n string: 'string',\n select: 'select', // 几个中进行选择 选择一项\n} as const;\nexport type TYPES = keyof typeof TYPES;\n\nexport class OptionsTransformer {\n schema: Record<string, any>;\n constructor(schema: Record<string, any>) {\n this.schema = schema;\n }\n parse(obj: Record<string, any>) {\n return OptionsTransformer.parse(obj, this.schema);\n }\n\n static parse(obj: Record<string, any>, schema: Record<string, any>) {\n const _obj: Record<string, any> = {};\n Object.entries(obj).forEach(([key, value]) => {\n const type = schema[key];\n if (typeof value === 'object') {\n _obj[key] = OptionsTransformer.parse(value, type);\n } else {\n _obj[key] = OptionsTransformer.parseValueByType(value as string, type);\n }\n });\n return _obj;\n }\n private static parseValueByType(value: string, type: string) {\n if (value === 'undefined') {\n return;\n }\n if (type === TYPES.keyValueArray) {\n return keyValueArrayType.parse(value);\n }\n if (type === TYPES.objectArray) {\n return objectArrayType.parse(value);\n }\n if (type === TYPES.array) {\n return arrayType.parse(value);\n }\n if (type === TYPES.object) {\n return objectType.parse(value);\n }\n if (type === TYPES.number) {\n return numberType.parse(value);\n }\n if (type === TYPES.boolean) {\n return booleanType.parse(value);\n }\n return value;\n }\n static stringify(obj: Record<string, any>) {\n const _obj: Record<string, any> = {};\n Object.entries(obj).forEach(([key, value]) => {\n _obj[key] = OptionsTransformer.stringifyValue(value);\n });\n return _obj;\n }\n\n private static stringifyValue(value: any) {\n if (Array.isArray(value)) {\n const item1 = value[0];\n // 有点魔法 key value 的值让他们用=表示\n if (typeof item1 === 'object') {\n const isKeyValueArray = this.isKeyValueObject(item1);\n if (isKeyValueArray) {\n return keyValueArrayType.stringify(value);\n }\n return objectArrayType.stringify(value);\n }\n return arrayType.stringify(value);\n }\n if (typeof value === 'object') {\n return OptionsTransformer.stringify(value);\n }\n return '' + value;\n }\n private static isKeyValueObject(obj: any) {\n const keys = Object.keys(obj);\n return keys[0] === 'key' && keys[1] === 'value';\n }\n}\n","import { Command } from 'commander';\nimport _ from 'lodash';\nconst { merge } = _;\nexport interface Action {\n (options: any): any;\n}\ninterface Schema {\n // TODO 用类似json schema 的方式去弄选项\n default: any;\n title: string;\n type: string;\n}\nexport interface CommandOptions {\n program?: Command;\n version: string;\n description: string;\n logo?: string;\n optionsSchema?: Schema;\n defaultOptions: Record<string, any>;\n excludeOptions: string[];\n optionTypes: Record<string, any>;\n optionTitles: Record<string, any>;\n action?: Action;\n}\n\nexport abstract class AbstractCommand {\n static readonly DEFAULT_OPTIONS: CommandOptions = {\n program: undefined,\n version: '',\n description: '',\n logo: undefined,\n defaultOptions: {},\n excludeOptions: [],\n optionTypes: {},\n optionTitles: {},\n };\n\n options: CommandOptions;\n constructor(options?: Partial<CommandOptions>) {\n // console.log(`options`, options);\n this.options = merge({}, AbstractCommand.DEFAULT_OPTIONS, options);\n this.init();\n }\n abstract init(): void;\n abstract start(action?: Action): void;\n}\n","import { flatJson, jsonToList, unflatJson } from '@tikkhun/utils-core';\nimport { OptionsTransformer } from '../options-transformer/options-transformer';\nimport { AbstractCommand, Action } from './command.interface';\nimport { Command, createCommand, program } from 'commander';\nimport _ from 'lodash';\nconst { get } = _;\ninterface ArgsOption {\n key: string;\n value?: any;\n type?: string;\n}\nexport class ArgsCommand extends AbstractCommand {\n program: Command | undefined;\n getOptions(): ArgsOption[] {\n const stringOptions = OptionsTransformer.stringify(this.options.defaultOptions);\n const optionList = jsonToList({ delimiter: '.', json: stringOptions });\n // console.log(`optionList`, optionList);\n const optionTypeMap = flatJson({ delimiter: '.', data: this.options.optionTypes });\n return optionList\n .filter(({ key }) => {\n // 排除掉排除的选项\n if (this.options.excludeOptions.includes(key)) {\n return false;\n }\n return true;\n })\n .map(({ key, value }) => {\n return { key, value, type: optionTypeMap[key] };\n });\n }\n init(): void {\n this.program = this.options.program || createCommand();\n const options = this.getOptions();\n this.addOptions(options);\n }\n private addOptions(options: ArgsOption[]) {\n options.forEach(({ key, value, type }) => {\n this.program!.option(`--${key} <${type}>`, get(this.options.optionTitles, key), value);\n });\n }\n private addAction(action: Action) {\n this.program!.action((stringOptions) => {\n // 转换一下传入参数\n const jsonOptions = unflatJson({\n delimiter: '.',\n data: stringOptions,\n });\n const typedOptions = OptionsTransformer.parse(jsonOptions, this.options.optionTypes);\n action(typedOptions);\n });\n }\n start(action: Action) {\n this.addAction(action);\n // 如果传入program 则让外部控制\n if (!this.options.program) {\n this.program!.parse(process.argv);\n }\n }\n}\n"]}
|
1
|
+
{"version":3,"sources":["../../lib/options-transformer/paramTypes/array.type.ts","../../lib/options-transformer/paramTypes/boolean.type.ts","../../lib/options-transformer/paramTypes/key-value-array.type.ts","../../lib/options-transformer/paramTypes/number.type.ts","../../lib/options-transformer/paramTypes/object-array.type.ts","../../lib/options-transformer/paramTypes/object.type.ts","../../lib/options-transformer/options-transformer.ts","../../lib/command/command.interface.ts","../../lib/command/ArgsCommand.ts"],"names":["arrayType","v","asTrueValues","booleanType","value","keyValueArrayType","item","strItem","key","i","numberType","objectArrayType","error","objectType","TYPES","OptionsTransformer","_OptionsTransformer","schema","obj","_obj","type","item1","keys","merge","_","_AbstractCommand","options","AbstractCommand","get","ArgsCommand","stringOptions","optionList","nestedObjectToList","optionTypeMap","flatNestedObject","createCommand","action","jsonOptions","unflatNestedObject","typedOptions"],"mappings":"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","file":"ArgsCommand.js","sourcesContent":["import { ParamType } from './param-type.interface';\n\nexport interface KeyValueItem {\n key: string;\n value: string;\n}\nexport const arrayType: ParamType = {\n // [1,2,3]=> 1,2,3\n stringify(v: any): string {\n if (!v?.length) {\n return '';\n }\n return v.toString();\n },\n parse(v: string) {\n return v.split(',');\n },\n};\n","import { ParamType } from './param-type.interface';\nexport const asTrueValues = ['true', true, '1', 1];\nexport const asFalseValues = ['false', false, '', 0];\nexport const booleanType: ParamType = {\n stringify(value: boolean): string {\n return value.toString();\n },\n parse(value: string) {\n if (asTrueValues.includes(value)) return true;\n return false;\n },\n};\n","import { ParamType } from './param-type.interface';\n\ninterface KeyValueItem {\n key: string;\n value: string;\n}\nexport const keyValueArrayType: ParamType = {\n // [{key: 1,value:2},{key: \"foo\",value: \"bar\"}] => 1=2,foo=bar\n stringify(v: any): string {\n if (!v?.length) {\n return '';\n }\n return v.map((item: KeyValueItem) => `${item?.key}=${item?.value}`).join(',');\n },\n parse(value: string) {\n if (!value) return [];\n return value\n .split(',')\n .map((strItem) => {\n if (!strItem) return undefined;\n const [key, value] = strItem.split('=');\n return { key, value };\n })\n .filter((i) => i);\n },\n};\n","import { ParamType } from './param-type.interface';\n\nexport const numberType: ParamType = {\n stringify(value: any): string {\n return value.toString();\n },\n parse(value: string) {\n return Number(value);\n },\n};\n","import { ParamType } from './param-type.interface';\n\nexport const objectArrayType: ParamType = {\n stringify(v: any): string {\n return JSON.stringify(v);\n },\n parse(v: string) {\n try {\n return JSON.parse(v) || [];\n } catch (error) {\n return [];\n }\n },\n};\n","import { ParamType } from './param-type.interface';\n\nexport const objectType: ParamType = {\n stringify(v: any): string {\n return JSON.stringify(v);\n },\n parse(value: string) {\n return typeof value === 'object' ? JSON.parse(value) : {};\n },\n};\n","import { arrayType, booleanType, keyValueArrayType, numberType, objectArrayType, objectType } from './paramTypes';\n\nexport const TYPES = {\n array: 'array',\n keyValueArray: 'keyValueArray',\n objectArray: 'objectArray',\n boolean: 'boolean',\n number: 'number',\n object: 'object',\n string: 'string',\n select: 'select', // 几个中进行选择 选择一项\n} as const;\nexport type TYPES = keyof typeof TYPES;\n\nexport class OptionsTransformer {\n schema: Record<string, any>;\n constructor(schema: Record<string, any>) {\n this.schema = schema;\n }\n parse(obj: Record<string, any>) {\n return OptionsTransformer.parse(obj, this.schema);\n }\n\n static parse(obj: Record<string, any>, schema: Record<string, any>) {\n const _obj: Record<string, any> = {};\n Object.entries(obj).forEach(([key, value]) => {\n const type = schema[key];\n if (typeof value === 'object') {\n _obj[key] = OptionsTransformer.parse(value, type);\n } else {\n _obj[key] = OptionsTransformer.parseValueByType(value as string, type);\n }\n });\n return _obj;\n }\n private static parseValueByType(value: string, type: string) {\n if (value === 'undefined') {\n return;\n }\n if (type === TYPES.keyValueArray) {\n return keyValueArrayType.parse(value);\n }\n if (type === TYPES.objectArray) {\n return objectArrayType.parse(value);\n }\n if (type === TYPES.array) {\n return arrayType.parse(value);\n }\n if (type === TYPES.object) {\n return objectType.parse(value);\n }\n if (type === TYPES.number) {\n return numberType.parse(value);\n }\n if (type === TYPES.boolean) {\n return booleanType.parse(value);\n }\n return value;\n }\n static stringify(obj: Record<string, any>) {\n const _obj: Record<string, any> = {};\n Object.entries(obj).forEach(([key, value]) => {\n _obj[key] = OptionsTransformer.stringifyValue(value);\n });\n return _obj;\n }\n\n private static stringifyValue(value: any) {\n if (Array.isArray(value)) {\n const item1 = value[0];\n // 有点魔法 key value 的值让他们用=表示\n if (typeof item1 === 'object') {\n const isKeyValueArray = this.isKeyValueObject(item1);\n if (isKeyValueArray) {\n return keyValueArrayType.stringify(value);\n }\n return objectArrayType.stringify(value);\n }\n return arrayType.stringify(value);\n }\n if (typeof value === 'object') {\n return OptionsTransformer.stringify(value);\n }\n return '' + value;\n }\n private static isKeyValueObject(obj: any) {\n const keys = Object.keys(obj);\n return keys[0] === 'key' && keys[1] === 'value';\n }\n}\n","import { Command } from 'commander';\nimport _ from 'lodash';\nconst { merge } = _;\nexport interface Action {\n (options: any): any;\n}\ninterface Schema {\n // TODO 用类似json schema 的方式去弄选项\n default: any;\n title: string;\n type: string;\n}\nexport interface CommandOptions {\n program?: Command;\n version: string;\n description: string;\n logo?: string;\n optionsSchema?: Schema;\n defaultOptions: Record<string, any>;\n excludeOptions: string[];\n optionTypes: Record<string, any>;\n optionTitles: Record<string, any>;\n action?: Action;\n}\n\nexport abstract class AbstractCommand {\n static readonly DEFAULT_OPTIONS: CommandOptions = {\n program: undefined,\n version: '',\n description: '',\n logo: undefined,\n defaultOptions: {},\n excludeOptions: [],\n optionTypes: {},\n optionTitles: {},\n };\n\n options: CommandOptions;\n constructor(options?: Partial<CommandOptions>) {\n // console.log(`options`, options);\n this.options = merge({}, AbstractCommand.DEFAULT_OPTIONS, options);\n this.init();\n }\n abstract init(): void;\n abstract start(action?: Action): void;\n}\n","import { flatNestedObject, nestedObjectToList, unflatNestedObject } from '@tikkhun/utils-core';\nimport { OptionsTransformer } from '../options-transformer/options-transformer';\nimport { AbstractCommand, Action } from './command.interface';\nimport { Command, createCommand, program } from 'commander';\nimport _ from 'lodash';\nconst { get } = _;\ninterface ArgsOption {\n key: string;\n value?: any;\n type?: string;\n}\nexport class ArgsCommand extends AbstractCommand {\n program: Command | undefined;\n getOptions(): ArgsOption[] {\n const stringOptions = OptionsTransformer.stringify(this.options.defaultOptions);\n const optionList = nestedObjectToList({ delimiter: '.', json: stringOptions });\n // console.log(`optionList`, optionList);\n const optionTypeMap = flatNestedObject({ delimiter: '.', data: this.options.optionTypes });\n return optionList\n .filter(({ key }) => {\n // 排除掉排除的选项\n if (this.options.excludeOptions.includes(key)) {\n return false;\n }\n return true;\n })\n .map(({ key, value }) => {\n return { key, value, type: optionTypeMap[key] };\n });\n }\n init(): void {\n this.program = this.options.program || createCommand();\n const options = this.getOptions();\n this.addOptions(options);\n }\n private addOptions(options: ArgsOption[]) {\n options.forEach(({ key, value, type }) => {\n this.program!.option(`--${key} <${type}>`, get(this.options.optionTitles, key), value);\n });\n }\n private addAction(action: Action) {\n this.program!.action((stringOptions) => {\n // 转换一下传入参数\n const jsonOptions = unflatNestedObject({\n delimiter: '.',\n data: stringOptions,\n });\n const typedOptions = OptionsTransformer.parse(jsonOptions, this.options.optionTypes);\n action(typedOptions);\n });\n }\n start(action: Action) {\n this.addAction(action);\n // 如果传入program 则让外部控制\n if (!this.options.program) {\n this.program!.parse(process.argv);\n }\n }\n}\n"]}
|
@@ -1,5 +1,5 @@
|
|
1
|
-
import {
|
1
|
+
import {nestedObjectToList,flatNestedObject,unflatNestedObject}from'@tikkhun/utils-core';import O from'lodash';import {createCommand}from'commander';/**
|
2
2
|
@tikkhun/cli-core
|
3
3
|
*/
|
4
|
-
var c={stringify(t){return t!=null&&t.length?t.toString():""},parse(t){return t.split(",")}};var b=["true",true,"1",1];var u={stringify(t){return t.toString()},parse(t){return !!b.includes(t)}};var f={stringify(t){return t!=null&&t.length?t.map(r=>`${r==null?void 0:r.key}=${r==null?void 0:r.value}`).join(","):""},parse(t){return t?t.split(",").map(r=>{if(!r)return;let[e,n]=r.split("=");return {key:e,value:n}}).filter(r=>r):[]}};var d={stringify(t){return t.toString()},parse(t){return Number(t)}};var m={stringify(t){return JSON.stringify(t)},parse(t){try{return JSON.parse(t)||[]}catch(r){return []}}};var l={stringify(t){return JSON.stringify(t)},parse(t){return typeof t=="object"?JSON.parse(t):{}}};var i={array:"array",keyValueArray:"keyValueArray",objectArray:"objectArray",boolean:"boolean",number:"number",object:"object"},a=class t{constructor(r){this.schema=r;}parse(r){return t.parse(r,this.schema)}static parse(r,e){let n={};return Object.entries(r).forEach(([o,s])=>{let g=e[o];typeof s=="object"?n[o]=t.parse(s,g):n[o]=t.parseValueByType(s,g);}),n}static parseValueByType(r,e){if(r!=="undefined")return e===i.keyValueArray?f.parse(r):e===i.objectArray?m.parse(r):e===i.array?c.parse(r):e===i.object?l.parse(r):e===i.number?d.parse(r):e===i.boolean?u.parse(r):r}static stringify(r){let e={};return Object.entries(r).forEach(([n,o])=>{e[n]=t.stringifyValue(o);}),e}static stringifyValue(r){if(Array.isArray(r)){let e=r[0];return typeof e=="object"?this.isKeyValueObject(e)?f.stringify(r):m.stringify(r):c.stringify(r)}return typeof r=="object"?t.stringify(r):""+r}static isKeyValueObject(r){let e=Object.keys(r);return e[0]==="key"&&e[1]==="value"}};var{merge:h}=O,y=class y{constructor(r){this.options=h({},y.DEFAULT_OPTIONS,r),this.init();}};y.DEFAULT_OPTIONS={program:void 0,version:"",description:"",logo:void 0,defaultOptions:{},excludeOptions:[],optionTypes:{},optionTitles:{}};var p=y;var {get:S}=O,T=class extends p{getOptions(){let r=a.stringify(this.options.defaultOptions),e=
|
4
|
+
var c={stringify(t){return t!=null&&t.length?t.toString():""},parse(t){return t.split(",")}};var b=["true",true,"1",1];var u={stringify(t){return t.toString()},parse(t){return !!b.includes(t)}};var f={stringify(t){return t!=null&&t.length?t.map(r=>`${r==null?void 0:r.key}=${r==null?void 0:r.value}`).join(","):""},parse(t){return t?t.split(",").map(r=>{if(!r)return;let[e,n]=r.split("=");return {key:e,value:n}}).filter(r=>r):[]}};var d={stringify(t){return t.toString()},parse(t){return Number(t)}};var m={stringify(t){return JSON.stringify(t)},parse(t){try{return JSON.parse(t)||[]}catch(r){return []}}};var l={stringify(t){return JSON.stringify(t)},parse(t){return typeof t=="object"?JSON.parse(t):{}}};var i={array:"array",keyValueArray:"keyValueArray",objectArray:"objectArray",boolean:"boolean",number:"number",object:"object"},a=class t{constructor(r){this.schema=r;}parse(r){return t.parse(r,this.schema)}static parse(r,e){let n={};return Object.entries(r).forEach(([o,s])=>{let g=e[o];typeof s=="object"?n[o]=t.parse(s,g):n[o]=t.parseValueByType(s,g);}),n}static parseValueByType(r,e){if(r!=="undefined")return e===i.keyValueArray?f.parse(r):e===i.objectArray?m.parse(r):e===i.array?c.parse(r):e===i.object?l.parse(r):e===i.number?d.parse(r):e===i.boolean?u.parse(r):r}static stringify(r){let e={};return Object.entries(r).forEach(([n,o])=>{e[n]=t.stringifyValue(o);}),e}static stringifyValue(r){if(Array.isArray(r)){let e=r[0];return typeof e=="object"?this.isKeyValueObject(e)?f.stringify(r):m.stringify(r):c.stringify(r)}return typeof r=="object"?t.stringify(r):""+r}static isKeyValueObject(r){let e=Object.keys(r);return e[0]==="key"&&e[1]==="value"}};var{merge:h}=O,y=class y{constructor(r){this.options=h({},y.DEFAULT_OPTIONS,r),this.init();}};y.DEFAULT_OPTIONS={program:void 0,version:"",description:"",logo:void 0,defaultOptions:{},excludeOptions:[],optionTypes:{},optionTitles:{}};var p=y;var {get:S}=O,T=class extends p{getOptions(){let r=a.stringify(this.options.defaultOptions),e=nestedObjectToList({delimiter:".",json:r}),n=flatNestedObject({delimiter:".",data:this.options.optionTypes});return e.filter(({key:o})=>!this.options.excludeOptions.includes(o)).map(({key:o,value:s})=>({key:o,value:s,type:n[o]}))}init(){this.program=this.options.program||createCommand();let r=this.getOptions();this.addOptions(r);}addOptions(r){r.forEach(({key:e,value:n,type:o})=>{this.program.option(`--${e} <${o}>`,S(this.options.optionTitles,e),n);});}addAction(r){this.program.action(e=>{let n=unflatNestedObject({delimiter:".",data:e}),o=a.parse(n,this.options.optionTypes);r(o);});}start(r){this.addAction(r),this.options.program||this.program.parse(process.argv);}};export{T as ArgsCommand};//# sourceMappingURL=ArgsCommand.mjs.map
|
5
5
|
//# sourceMappingURL=ArgsCommand.mjs.map
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"sources":["../../lib/options-transformer/paramTypes/array.type.ts","../../lib/options-transformer/paramTypes/boolean.type.ts","../../lib/options-transformer/paramTypes/key-value-array.type.ts","../../lib/options-transformer/paramTypes/number.type.ts","../../lib/options-transformer/paramTypes/object-array.type.ts","../../lib/options-transformer/paramTypes/object.type.ts","../../lib/options-transformer/options-transformer.ts","../../lib/command/command.interface.ts","../../lib/command/ArgsCommand.ts"],"names":["arrayType","v","asTrueValues","booleanType","value","keyValueArrayType","item","strItem","key","i","numberType","objectArrayType","error","objectType","TYPES","OptionsTransformer","_OptionsTransformer","schema","obj","_obj","type","item1","keys","merge","_","_AbstractCommand","options","AbstractCommand","get","ArgsCommand","stringOptions","optionList","jsonToList","optionTypeMap","flatJson","createCommand","action","jsonOptions","unflatJson","typedOptions"],"mappings":"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","file":"ArgsCommand.mjs","sourcesContent":["import { ParamType } from './param-type.interface';\n\nexport interface KeyValueItem {\n key: string;\n value: string;\n}\nexport const arrayType: ParamType = {\n // [1,2,3]=> 1,2,3\n stringify(v: any): string {\n if (!v?.length) {\n return '';\n }\n return v.toString();\n },\n parse(v: string) {\n return v.split(',');\n },\n};\n","import { ParamType } from './param-type.interface';\nexport const asTrueValues = ['true', true, '1', 1];\nexport const asFalseValues = ['false', false, '', 0];\nexport const booleanType: ParamType = {\n stringify(value: boolean): string {\n return value.toString();\n },\n parse(value: string) {\n if (asTrueValues.includes(value)) return true;\n return false;\n },\n};\n","import { ParamType } from './param-type.interface';\n\ninterface KeyValueItem {\n key: string;\n value: string;\n}\nexport const keyValueArrayType: ParamType = {\n // [{key: 1,value:2},{key: \"foo\",value: \"bar\"}] => 1=2,foo=bar\n stringify(v: any): string {\n if (!v?.length) {\n return '';\n }\n return v.map((item: KeyValueItem) => `${item?.key}=${item?.value}`).join(',');\n },\n parse(value: string) {\n if (!value) return [];\n return value\n .split(',')\n .map((strItem) => {\n if (!strItem) return undefined;\n const [key, value] = strItem.split('=');\n return { key, value };\n })\n .filter((i) => i);\n },\n};\n","import { ParamType } from './param-type.interface';\n\nexport const numberType: ParamType = {\n stringify(value: any): string {\n return value.toString();\n },\n parse(value: string) {\n return Number(value);\n },\n};\n","import { ParamType } from './param-type.interface';\n\nexport const objectArrayType: ParamType = {\n stringify(v: any): string {\n return JSON.stringify(v);\n },\n parse(v: string) {\n try {\n return JSON.parse(v) || [];\n } catch (error) {\n return [];\n }\n },\n};\n","import { ParamType } from './param-type.interface';\n\nexport const objectType: ParamType = {\n stringify(v: any): string {\n return JSON.stringify(v);\n },\n parse(value: string) {\n return typeof value === 'object' ? JSON.parse(value) : {};\n },\n};\n","import { arrayType, booleanType, keyValueArrayType, numberType, objectArrayType, objectType } from './paramTypes';\n\nexport const TYPES = {\n array: 'array',\n keyValueArray: 'keyValueArray',\n objectArray: 'objectArray',\n boolean: 'boolean',\n number: 'number',\n object: 'object',\n string: 'string',\n select: 'select', // 几个中进行选择 选择一项\n} as const;\nexport type TYPES = keyof typeof TYPES;\n\nexport class OptionsTransformer {\n schema: Record<string, any>;\n constructor(schema: Record<string, any>) {\n this.schema = schema;\n }\n parse(obj: Record<string, any>) {\n return OptionsTransformer.parse(obj, this.schema);\n }\n\n static parse(obj: Record<string, any>, schema: Record<string, any>) {\n const _obj: Record<string, any> = {};\n Object.entries(obj).forEach(([key, value]) => {\n const type = schema[key];\n if (typeof value === 'object') {\n _obj[key] = OptionsTransformer.parse(value, type);\n } else {\n _obj[key] = OptionsTransformer.parseValueByType(value as string, type);\n }\n });\n return _obj;\n }\n private static parseValueByType(value: string, type: string) {\n if (value === 'undefined') {\n return;\n }\n if (type === TYPES.keyValueArray) {\n return keyValueArrayType.parse(value);\n }\n if (type === TYPES.objectArray) {\n return objectArrayType.parse(value);\n }\n if (type === TYPES.array) {\n return arrayType.parse(value);\n }\n if (type === TYPES.object) {\n return objectType.parse(value);\n }\n if (type === TYPES.number) {\n return numberType.parse(value);\n }\n if (type === TYPES.boolean) {\n return booleanType.parse(value);\n }\n return value;\n }\n static stringify(obj: Record<string, any>) {\n const _obj: Record<string, any> = {};\n Object.entries(obj).forEach(([key, value]) => {\n _obj[key] = OptionsTransformer.stringifyValue(value);\n });\n return _obj;\n }\n\n private static stringifyValue(value: any) {\n if (Array.isArray(value)) {\n const item1 = value[0];\n // 有点魔法 key value 的值让他们用=表示\n if (typeof item1 === 'object') {\n const isKeyValueArray = this.isKeyValueObject(item1);\n if (isKeyValueArray) {\n return keyValueArrayType.stringify(value);\n }\n return objectArrayType.stringify(value);\n }\n return arrayType.stringify(value);\n }\n if (typeof value === 'object') {\n return OptionsTransformer.stringify(value);\n }\n return '' + value;\n }\n private static isKeyValueObject(obj: any) {\n const keys = Object.keys(obj);\n return keys[0] === 'key' && keys[1] === 'value';\n }\n}\n","import { Command } from 'commander';\nimport _ from 'lodash';\nconst { merge } = _;\nexport interface Action {\n (options: any): any;\n}\ninterface Schema {\n // TODO 用类似json schema 的方式去弄选项\n default: any;\n title: string;\n type: string;\n}\nexport interface CommandOptions {\n program?: Command;\n version: string;\n description: string;\n logo?: string;\n optionsSchema?: Schema;\n defaultOptions: Record<string, any>;\n excludeOptions: string[];\n optionTypes: Record<string, any>;\n optionTitles: Record<string, any>;\n action?: Action;\n}\n\nexport abstract class AbstractCommand {\n static readonly DEFAULT_OPTIONS: CommandOptions = {\n program: undefined,\n version: '',\n description: '',\n logo: undefined,\n defaultOptions: {},\n excludeOptions: [],\n optionTypes: {},\n optionTitles: {},\n };\n\n options: CommandOptions;\n constructor(options?: Partial<CommandOptions>) {\n // console.log(`options`, options);\n this.options = merge({}, AbstractCommand.DEFAULT_OPTIONS, options);\n this.init();\n }\n abstract init(): void;\n abstract start(action?: Action): void;\n}\n","import { flatJson, jsonToList, unflatJson } from '@tikkhun/utils-core';\nimport { OptionsTransformer } from '../options-transformer/options-transformer';\nimport { AbstractCommand, Action } from './command.interface';\nimport { Command, createCommand, program } from 'commander';\nimport _ from 'lodash';\nconst { get } = _;\ninterface ArgsOption {\n key: string;\n value?: any;\n type?: string;\n}\nexport class ArgsCommand extends AbstractCommand {\n program: Command | undefined;\n getOptions(): ArgsOption[] {\n const stringOptions = OptionsTransformer.stringify(this.options.defaultOptions);\n const optionList = jsonToList({ delimiter: '.', json: stringOptions });\n // console.log(`optionList`, optionList);\n const optionTypeMap = flatJson({ delimiter: '.', data: this.options.optionTypes });\n return optionList\n .filter(({ key }) => {\n // 排除掉排除的选项\n if (this.options.excludeOptions.includes(key)) {\n return false;\n }\n return true;\n })\n .map(({ key, value }) => {\n return { key, value, type: optionTypeMap[key] };\n });\n }\n init(): void {\n this.program = this.options.program || createCommand();\n const options = this.getOptions();\n this.addOptions(options);\n }\n private addOptions(options: ArgsOption[]) {\n options.forEach(({ key, value, type }) => {\n this.program!.option(`--${key} <${type}>`, get(this.options.optionTitles, key), value);\n });\n }\n private addAction(action: Action) {\n this.program!.action((stringOptions) => {\n // 转换一下传入参数\n const jsonOptions = unflatJson({\n delimiter: '.',\n data: stringOptions,\n });\n const typedOptions = OptionsTransformer.parse(jsonOptions, this.options.optionTypes);\n action(typedOptions);\n });\n }\n start(action: Action) {\n this.addAction(action);\n // 如果传入program 则让外部控制\n if (!this.options.program) {\n this.program!.parse(process.argv);\n }\n }\n}\n"]}
|
1
|
+
{"version":3,"sources":["../../lib/options-transformer/paramTypes/array.type.ts","../../lib/options-transformer/paramTypes/boolean.type.ts","../../lib/options-transformer/paramTypes/key-value-array.type.ts","../../lib/options-transformer/paramTypes/number.type.ts","../../lib/options-transformer/paramTypes/object-array.type.ts","../../lib/options-transformer/paramTypes/object.type.ts","../../lib/options-transformer/options-transformer.ts","../../lib/command/command.interface.ts","../../lib/command/ArgsCommand.ts"],"names":["arrayType","v","asTrueValues","booleanType","value","keyValueArrayType","item","strItem","key","i","numberType","objectArrayType","error","objectType","TYPES","OptionsTransformer","_OptionsTransformer","schema","obj","_obj","type","item1","keys","merge","_","_AbstractCommand","options","AbstractCommand","get","ArgsCommand","stringOptions","optionList","nestedObjectToList","optionTypeMap","flatNestedObject","createCommand","action","jsonOptions","unflatNestedObject","typedOptions"],"mappings":"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","file":"ArgsCommand.mjs","sourcesContent":["import { ParamType } from './param-type.interface';\n\nexport interface KeyValueItem {\n key: string;\n value: string;\n}\nexport const arrayType: ParamType = {\n // [1,2,3]=> 1,2,3\n stringify(v: any): string {\n if (!v?.length) {\n return '';\n }\n return v.toString();\n },\n parse(v: string) {\n return v.split(',');\n },\n};\n","import { ParamType } from './param-type.interface';\nexport const asTrueValues = ['true', true, '1', 1];\nexport const asFalseValues = ['false', false, '', 0];\nexport const booleanType: ParamType = {\n stringify(value: boolean): string {\n return value.toString();\n },\n parse(value: string) {\n if (asTrueValues.includes(value)) return true;\n return false;\n },\n};\n","import { ParamType } from './param-type.interface';\n\ninterface KeyValueItem {\n key: string;\n value: string;\n}\nexport const keyValueArrayType: ParamType = {\n // [{key: 1,value:2},{key: \"foo\",value: \"bar\"}] => 1=2,foo=bar\n stringify(v: any): string {\n if (!v?.length) {\n return '';\n }\n return v.map((item: KeyValueItem) => `${item?.key}=${item?.value}`).join(',');\n },\n parse(value: string) {\n if (!value) return [];\n return value\n .split(',')\n .map((strItem) => {\n if (!strItem) return undefined;\n const [key, value] = strItem.split('=');\n return { key, value };\n })\n .filter((i) => i);\n },\n};\n","import { ParamType } from './param-type.interface';\n\nexport const numberType: ParamType = {\n stringify(value: any): string {\n return value.toString();\n },\n parse(value: string) {\n return Number(value);\n },\n};\n","import { ParamType } from './param-type.interface';\n\nexport const objectArrayType: ParamType = {\n stringify(v: any): string {\n return JSON.stringify(v);\n },\n parse(v: string) {\n try {\n return JSON.parse(v) || [];\n } catch (error) {\n return [];\n }\n },\n};\n","import { ParamType } from './param-type.interface';\n\nexport const objectType: ParamType = {\n stringify(v: any): string {\n return JSON.stringify(v);\n },\n parse(value: string) {\n return typeof value === 'object' ? JSON.parse(value) : {};\n },\n};\n","import { arrayType, booleanType, keyValueArrayType, numberType, objectArrayType, objectType } from './paramTypes';\n\nexport const TYPES = {\n array: 'array',\n keyValueArray: 'keyValueArray',\n objectArray: 'objectArray',\n boolean: 'boolean',\n number: 'number',\n object: 'object',\n string: 'string',\n select: 'select', // 几个中进行选择 选择一项\n} as const;\nexport type TYPES = keyof typeof TYPES;\n\nexport class OptionsTransformer {\n schema: Record<string, any>;\n constructor(schema: Record<string, any>) {\n this.schema = schema;\n }\n parse(obj: Record<string, any>) {\n return OptionsTransformer.parse(obj, this.schema);\n }\n\n static parse(obj: Record<string, any>, schema: Record<string, any>) {\n const _obj: Record<string, any> = {};\n Object.entries(obj).forEach(([key, value]) => {\n const type = schema[key];\n if (typeof value === 'object') {\n _obj[key] = OptionsTransformer.parse(value, type);\n } else {\n _obj[key] = OptionsTransformer.parseValueByType(value as string, type);\n }\n });\n return _obj;\n }\n private static parseValueByType(value: string, type: string) {\n if (value === 'undefined') {\n return;\n }\n if (type === TYPES.keyValueArray) {\n return keyValueArrayType.parse(value);\n }\n if (type === TYPES.objectArray) {\n return objectArrayType.parse(value);\n }\n if (type === TYPES.array) {\n return arrayType.parse(value);\n }\n if (type === TYPES.object) {\n return objectType.parse(value);\n }\n if (type === TYPES.number) {\n return numberType.parse(value);\n }\n if (type === TYPES.boolean) {\n return booleanType.parse(value);\n }\n return value;\n }\n static stringify(obj: Record<string, any>) {\n const _obj: Record<string, any> = {};\n Object.entries(obj).forEach(([key, value]) => {\n _obj[key] = OptionsTransformer.stringifyValue(value);\n });\n return _obj;\n }\n\n private static stringifyValue(value: any) {\n if (Array.isArray(value)) {\n const item1 = value[0];\n // 有点魔法 key value 的值让他们用=表示\n if (typeof item1 === 'object') {\n const isKeyValueArray = this.isKeyValueObject(item1);\n if (isKeyValueArray) {\n return keyValueArrayType.stringify(value);\n }\n return objectArrayType.stringify(value);\n }\n return arrayType.stringify(value);\n }\n if (typeof value === 'object') {\n return OptionsTransformer.stringify(value);\n }\n return '' + value;\n }\n private static isKeyValueObject(obj: any) {\n const keys = Object.keys(obj);\n return keys[0] === 'key' && keys[1] === 'value';\n }\n}\n","import { Command } from 'commander';\nimport _ from 'lodash';\nconst { merge } = _;\nexport interface Action {\n (options: any): any;\n}\ninterface Schema {\n // TODO 用类似json schema 的方式去弄选项\n default: any;\n title: string;\n type: string;\n}\nexport interface CommandOptions {\n program?: Command;\n version: string;\n description: string;\n logo?: string;\n optionsSchema?: Schema;\n defaultOptions: Record<string, any>;\n excludeOptions: string[];\n optionTypes: Record<string, any>;\n optionTitles: Record<string, any>;\n action?: Action;\n}\n\nexport abstract class AbstractCommand {\n static readonly DEFAULT_OPTIONS: CommandOptions = {\n program: undefined,\n version: '',\n description: '',\n logo: undefined,\n defaultOptions: {},\n excludeOptions: [],\n optionTypes: {},\n optionTitles: {},\n };\n\n options: CommandOptions;\n constructor(options?: Partial<CommandOptions>) {\n // console.log(`options`, options);\n this.options = merge({}, AbstractCommand.DEFAULT_OPTIONS, options);\n this.init();\n }\n abstract init(): void;\n abstract start(action?: Action): void;\n}\n","import { flatNestedObject, nestedObjectToList, unflatNestedObject } from '@tikkhun/utils-core';\nimport { OptionsTransformer } from '../options-transformer/options-transformer';\nimport { AbstractCommand, Action } from './command.interface';\nimport { Command, createCommand, program } from 'commander';\nimport _ from 'lodash';\nconst { get } = _;\ninterface ArgsOption {\n key: string;\n value?: any;\n type?: string;\n}\nexport class ArgsCommand extends AbstractCommand {\n program: Command | undefined;\n getOptions(): ArgsOption[] {\n const stringOptions = OptionsTransformer.stringify(this.options.defaultOptions);\n const optionList = nestedObjectToList({ delimiter: '.', json: stringOptions });\n // console.log(`optionList`, optionList);\n const optionTypeMap = flatNestedObject({ delimiter: '.', data: this.options.optionTypes });\n return optionList\n .filter(({ key }) => {\n // 排除掉排除的选项\n if (this.options.excludeOptions.includes(key)) {\n return false;\n }\n return true;\n })\n .map(({ key, value }) => {\n return { key, value, type: optionTypeMap[key] };\n });\n }\n init(): void {\n this.program = this.options.program || createCommand();\n const options = this.getOptions();\n this.addOptions(options);\n }\n private addOptions(options: ArgsOption[]) {\n options.forEach(({ key, value, type }) => {\n this.program!.option(`--${key} <${type}>`, get(this.options.optionTitles, key), value);\n });\n }\n private addAction(action: Action) {\n this.program!.action((stringOptions) => {\n // 转换一下传入参数\n const jsonOptions = unflatNestedObject({\n delimiter: '.',\n data: stringOptions,\n });\n const typedOptions = OptionsTransformer.parse(jsonOptions, this.options.optionTypes);\n action(typedOptions);\n });\n }\n start(action: Action) {\n this.addAction(action);\n // 如果传入program 则让外部控制\n if (!this.options.program) {\n this.program!.parse(process.argv);\n }\n }\n}\n"]}
|
@@ -1,58 +1,5 @@
|
|
1
|
-
'use strict';var commander=require('commander'),
|
1
|
+
'use strict';var commander=require('commander'),A=require('fs-extra'),path=require('path'),O=require('lodash'),logger=require('@tikkhun/logger'),configLoader=require('@tikkhun/config-loader');function _interopDefault(e){return e&&e.__esModule?e:{default:e}}var A__default=/*#__PURE__*/_interopDefault(A);var O__default=/*#__PURE__*/_interopDefault(O);/**
|
2
2
|
@tikkhun/cli-core
|
3
3
|
*/
|
4
|
-
var
|
5
|
-
`,gr={type:"literal",value:`
|
6
|
-
`,description:'"\\n"'},Zn="\r",Qn={type:"literal",value:"\r",description:'"\\r"'},Xn=/^[0-9a-f]/i,et={type:"class",value:"[0-9a-f]i",description:"[0-9a-f]i"},ut=/^[0-9]/,rt={type:"class",value:"[0-9]",description:"[0-9]"},it="_",nt={type:"literal",value:"_",description:'"_"'},tt=function(){return ""},lt=/^[A-Za-z0-9_\-]/,ot={type:"class",value:"[A-Za-z0-9_\\-]",description:"[A-Za-z0-9_\\-]"},ft=function(u){return u.join("")},mr='\\"',st={type:"literal",value:'\\"',description:'"\\\\\\""'},at=function(){return '"'},xr="\\\\",ct={type:"literal",value:"\\\\",description:'"\\\\\\\\"'},Dt=function(){return "\\"},vr="\\b",pt={type:"literal",value:"\\b",description:'"\\\\b"'},At=function(){return "\b"},yr="\\t",ht={type:"literal",value:"\\t",description:'"\\\\t"'},Ct=function(){return " "},Br="\\n",Ft={type:"literal",value:"\\n",description:'"\\\\n"'},dt=function(){return `
|
7
|
-
`},wr="\\f",Et={type:"literal",value:"\\f",description:'"\\\\f"'},gt=function(){return "\f"},br="\\r",mt={type:"literal",value:"\\r",description:'"\\\\r"'},xt=function(){return "\r"},_r="\\U",vt={type:"literal",value:"\\U",description:'"\\\\U"'},Sr=function(u){return Ut(u.join(""))},$r="\\u",yt={type:"literal",value:"\\u",description:'"\\\\u"'},i=0,_=0,Je=0,Iu={line:1,column:1,seenCR:false},ou=0,Ou=[],E=0,g={},fu;if("startRule"in s){if(!(s.startRule in D))throw new Error(`Can't start parsing from rule "`+s.startRule+'".');A=D[s.startRule];}function ue(){return ku(_).line}function re(){return ku(_).column}function ku(u){function t(o,a,p){var h,F;for(h=a;h<p;h++)F=l.charAt(h),F===`
|
8
|
-
`?(o.seenCR||o.line++,o.column=1,o.seenCR=false):F==="\r"||F==="\u2028"||F==="\u2029"?(o.line++,o.column=1,o.seenCR=true):(o.column++,o.seenCR=false);}return Je!==u&&(Je>u&&(Je=0,Iu={line:1,column:1,seenCR:false}),t(Iu,Je,u),Je=u),Iu}function v(u){i<ou||(i>ou&&(ou=i,Ou=[]),Ou.push(u));}function Tu(u,t,o){function a(w){var N=1;for(w.sort(function(q,H){return q.description<H.description?-1:q.description>H.description?1:0});N<w.length;)w[N-1]===w[N]?w.splice(N,1):N++;}function p(w,N){function q(je){function be(De){return De.charCodeAt(0).toString(16).toUpperCase()}return je.replace(/\\/g,"\\\\").replace(/"/g,'\\"').replace(/\x08/g,"\\b").replace(/\t/g,"\\t").replace(/\n/g,"\\n").replace(/\f/g,"\\f").replace(/\r/g,"\\r").replace(/[\x00-\x07\x0B\x0E\x0F]/g,function(De){return "\\x0"+be(De)}).replace(/[\x10-\x1F\x80-\xFF]/g,function(De){return "\\x"+be(De)}).replace(/[\u0180-\u0FFF]/g,function(De){return "\\u0"+be(De)}).replace(/[\u1080-\uFFFF]/g,function(De){return "\\u"+be(De)})}var H=new Array(w.length),G,W,ce;for(ce=0;ce<w.length;ce++)H[ce]=w[ce].description;return G=w.length>1?H.slice(0,-1).join(", ")+" or "+H[w.length-1]:H[0],W=N?'"'+q(N)+'"':"end of input","Expected "+G+" but "+W+" found."}var h=ku(o),F=o<l.length?l.charAt(o):null;return t!==null&&a(t),new n(p(t,F),t,F,o,h.line,h.column)}function Pr(){var u,t,o,a=i*49+0,p=g[a];if(p)return i=p.nextPos,p.result;for(u=i,t=[],o=Ir();o!==r;)t.push(o),o=Ir();return t!==r&&(_=u,t=x()),u=t,g[a]={nextPos:i,result:u},u}function Ir(){var u,t,o,a,p,h,F,w=i*49+1,N=g[w];if(N)return i=N.nextPos,N.result;for(u=i,t=[],o=S();o!==r;)t.push(o),o=S();if(t!==r)if(o=Bt(),o!==r){for(a=[],p=S();p!==r;)a.push(p),p=S();if(a!==r){for(p=[],h=su();h!==r;)p.push(h),h=su();if(p!==r){if(h=[],F=Ae(),F!==r)for(;F!==r;)h.push(F),F=Ae();else h=c;h===r&&(h=cu()),h!==r?(t=[t,o,a,p,h],u=t):(i=u,u=c);}else i=u,u=c;}else i=u,u=c;}else i=u,u=c;else i=u,u=c;if(u===r){if(u=i,t=[],o=S(),o!==r)for(;o!==r;)t.push(o),o=S();else t=c;if(t!==r){if(o=[],a=Ae(),a!==r)for(;a!==r;)o.push(a),a=Ae();else o=c;o===r&&(o=cu()),o!==r?(t=[t,o],u=t):(i=u,u=c);}else i=u,u=c;u===r&&(u=Ae());}return g[w]={nextPos:i,result:u},u}function Bt(){var u,t=i*49+2,o=g[t];return o?(i=o.nextPos,o.result):(u=su(),u===r&&(u=wt(),u===r&&(u=bt(),u===r&&(u=_t()))),g[t]={nextPos:i,result:u},u)}function su(){var u,t,o,a,p,h,F=i*49+3,w=g[F];if(w)return i=w.nextPos,w.result;if(u=i,l.charCodeAt(i)===35?(t=y,i++):(t=r,E===0&&v(O)),t!==r){for(o=[],a=i,p=i,E++,h=Ae(),h===r&&(h=cu()),E--,h===r?p=$:(i=p,p=c),p!==r?(l.length>i?(h=l.charAt(i),i++):(h=r,E===0&&v(R)),h!==r?(p=[p,h],a=p):(i=a,a=c)):(i=a,a=c);a!==r;)o.push(a),a=i,p=i,E++,h=Ae(),h===r&&(h=cu()),E--,h===r?p=$:(i=p,p=c),p!==r?(l.length>i?(h=l.charAt(i),i++):(h=r,E===0&&v(R)),h!==r?(p=[p,h],a=p):(i=a,a=c)):(i=a,a=c);o!==r?(t=[t,o],u=t):(i=u,u=c);}else i=u,u=c;return g[F]={nextPos:i,result:u},u}function wt(){var u,t,o,a,p,h,F=i*49+4,w=g[F];if(w)return i=w.nextPos,w.result;if(u=i,l.charCodeAt(i)===91?(t=B,i++):(t=r,E===0&&v(k)),t!==r){for(o=[],a=S();a!==r;)o.push(a),a=S();if(o!==r)if(a=Or(),a!==r){for(p=[],h=S();h!==r;)p.push(h),h=S();p!==r?(l.charCodeAt(i)===93?(h=b,i++):(h=r,E===0&&v(m)),h!==r?(_=u,t=P(a),u=t):(i=u,u=c)):(i=u,u=c);}else i=u,u=c;else i=u,u=c;}else i=u,u=c;return g[F]={nextPos:i,result:u},u}function bt(){var u,t,o,a,p,h,F,w,N=i*49+5,q=g[N];if(q)return i=q.nextPos,q.result;if(u=i,l.charCodeAt(i)===91?(t=B,i++):(t=r,E===0&&v(k)),t!==r)if(l.charCodeAt(i)===91?(o=B,i++):(o=r,E===0&&v(k)),o!==r){for(a=[],p=S();p!==r;)a.push(p),p=S();if(a!==r)if(p=Or(),p!==r){for(h=[],F=S();F!==r;)h.push(F),F=S();h!==r?(l.charCodeAt(i)===93?(F=b,i++):(F=r,E===0&&v(m)),F!==r?(l.charCodeAt(i)===93?(w=b,i++):(w=r,E===0&&v(m)),w!==r?(_=u,t=T(p),u=t):(i=u,u=c)):(i=u,u=c)):(i=u,u=c);}else i=u,u=c;else i=u,u=c;}else i=u,u=c;else i=u,u=c;return g[N]={nextPos:i,result:u},u}function Or(){var u,t,o,a=i*49+6,p=g[a];if(p)return i=p.nextPos,p.result;if(u=i,t=[],o=Tr(),o!==r)for(;o!==r;)t.push(o),o=Tr();else t=c;return t!==r?(o=kr(),o!==r?(_=u,t=L(t,o),u=t):(i=u,u=c)):(i=u,u=c),u===r&&(u=i,t=kr(),t!==r&&(_=u,t=Q(t)),u=t),g[a]={nextPos:i,result:u},u}function kr(){var u,t,o,a,p,h=i*49+7,F=g[h];if(F)return i=F.nextPos,F.result;for(u=i,t=[],o=S();o!==r;)t.push(o),o=S();if(t!==r)if(o=ze(),o!==r){for(a=[],p=S();p!==r;)a.push(p),p=S();a!==r?(_=u,t=ee(o),u=t):(i=u,u=c);}else i=u,u=c;else i=u,u=c;if(u===r){for(u=i,t=[],o=S();o!==r;)t.push(o),o=S();if(t!==r)if(o=Nu(),o!==r){for(a=[],p=S();p!==r;)a.push(p),p=S();a!==r?(_=u,t=ee(o),u=t):(i=u,u=c);}else i=u,u=c;else i=u,u=c;}return g[h]={nextPos:i,result:u},u}function Tr(){var u,t,o,a,p,h,F,w=i*49+8,N=g[w];if(N)return i=N.nextPos,N.result;for(u=i,t=[],o=S();o!==r;)t.push(o),o=S();if(t!==r)if(o=ze(),o!==r){for(a=[],p=S();p!==r;)a.push(p),p=S();if(a!==r)if(l.charCodeAt(i)===46?(p=ae,i++):(p=r,E===0&&v(Be)),p!==r){for(h=[],F=S();F!==r;)h.push(F),F=S();h!==r?(_=u,t=ee(o),u=t):(i=u,u=c);}else i=u,u=c;else i=u,u=c;}else i=u,u=c;else i=u,u=c;if(u===r){for(u=i,t=[],o=S();o!==r;)t.push(o),o=S();if(t!==r)if(o=Nu(),o!==r){for(a=[],p=S();p!==r;)a.push(p),p=S();if(a!==r)if(l.charCodeAt(i)===46?(p=ae,i++):(p=r,E===0&&v(Be)),p!==r){for(h=[],F=S();F!==r;)h.push(F),F=S();h!==r?(_=u,t=ee(o),u=t):(i=u,u=c);}else i=u,u=c;else i=u,u=c;}else i=u,u=c;else i=u,u=c;}return g[w]={nextPos:i,result:u},u}function _t(){var u,t,o,a,p,h,F=i*49+9,w=g[F];if(w)return i=w.nextPos,w.result;if(u=i,t=ze(),t!==r){for(o=[],a=S();a!==r;)o.push(a),a=S();if(o!==r)if(l.charCodeAt(i)===61?(a=te,i++):(a=r,E===0&&v(Ce)),a!==r){for(p=[],h=S();h!==r;)p.push(h),h=S();p!==r?(h=Re(),h!==r?(_=u,t=we(t,h),u=t):(i=u,u=c)):(i=u,u=c);}else i=u,u=c;else i=u,u=c;}else i=u,u=c;if(u===r)if(u=i,t=Nu(),t!==r){for(o=[],a=S();a!==r;)o.push(a),a=S();if(o!==r)if(l.charCodeAt(i)===61?(a=te,i++):(a=r,E===0&&v(Ce)),a!==r){for(p=[],h=S();h!==r;)p.push(h),h=S();p!==r?(h=Re(),h!==r?(_=u,t=we(t,h),u=t):(i=u,u=c)):(i=u,u=c);}else i=u,u=c;else i=u,u=c;}else i=u,u=c;return g[F]={nextPos:i,result:u},u}function ze(){var u,t,o,a=i*49+10,p=g[a];if(p)return i=p.nextPos,p.result;if(u=i,t=[],o=Wr(),o!==r)for(;o!==r;)t.push(o),o=Wr();else t=c;return t!==r&&(_=u,t=dn(t)),u=t,g[a]={nextPos:i,result:u},u}function Nu(){var u,t,o=i*49+11,a=g[o];return a?(i=a.nextPos,a.result):(u=i,t=Nr(),t!==r&&(_=u,t=or(t)),u=t,u===r&&(u=i,t=Lr(),t!==r&&(_=u,t=or(t)),u=t),g[o]={nextPos:i,result:u},u)}function Re(){var u,t=i*49+12,o=g[t];return o?(i=o.nextPos,o.result):(u=St(),u===r&&(u=Mt(),u===r&&(u=Ot(),u===r&&(u=kt(),u===r&&(u=Tt(),u===r&&(u=Nt(),u===r&&(u=Lt())))))),g[t]={nextPos:i,result:u},u)}function St(){var u,t=i*49+13,o=g[t];return o?(i=o.nextPos,o.result):(u=$t(),u===r&&(u=Nr(),u===r&&(u=Pt(),u===r&&(u=Lr()))),g[t]={nextPos:i,result:u},u)}function $t(){var u,t,o,a,p,h=i*49+14,F=g[h];if(F)return i=F.nextPos,F.result;if(u=i,l.substr(i,3)===Ne?(t=Ne,i+=3):(t=r,E===0&&v(vu)),t!==r)if(o=Ae(),o===r&&(o=Pe),o!==r){for(a=[],p=Mr();p!==r;)a.push(p),p=Mr();a!==r?(l.substr(i,3)===Ne?(p=Ne,i+=3):(p=r,E===0&&v(vu)),p!==r?(_=u,t=lu(a),u=t):(i=u,u=c)):(i=u,u=c);}else i=u,u=c;else i=u,u=c;return g[h]={nextPos:i,result:u},u}function Nr(){var u,t,o,a,p=i*49+15,h=g[p];if(h)return i=h.nextPos,h.result;if(u=i,l.charCodeAt(i)===34?(t=yu,i++):(t=r,E===0&&v(Bu)),t!==r){for(o=[],a=Rr();a!==r;)o.push(a),a=Rr();o!==r?(l.charCodeAt(i)===34?(a=yu,i++):(a=r,E===0&&v(Bu)),a!==r?(_=u,t=lu(o),u=t):(i=u,u=c)):(i=u,u=c);}else i=u,u=c;return g[p]={nextPos:i,result:u},u}function Pt(){var u,t,o,a,p,h=i*49+16,F=g[h];if(F)return i=F.nextPos,F.result;if(u=i,l.substr(i,3)===Le?(t=Le,i+=3):(t=r,E===0&&v(wu)),t!==r)if(o=Ae(),o===r&&(o=Pe),o!==r){for(a=[],p=Yr();p!==r;)a.push(p),p=Yr();a!==r?(l.substr(i,3)===Le?(p=Le,i+=3):(p=r,E===0&&v(wu)),p!==r?(_=u,t=lu(a),u=t):(i=u,u=c)):(i=u,u=c);}else i=u,u=c;else i=u,u=c;return g[h]={nextPos:i,result:u},u}function Lr(){var u,t,o,a,p=i*49+17,h=g[p];if(h)return i=h.nextPos,h.result;if(u=i,l.charCodeAt(i)===39?(t=bu,i++):(t=r,E===0&&v(_u)),t!==r){for(o=[],a=jr();a!==r;)o.push(a),a=jr();o!==r?(l.charCodeAt(i)===39?(a=bu,i++):(a=r,E===0&&v(_u)),a!==r?(_=u,t=lu(o),u=t):(i=u,u=c)):(i=u,u=c);}else i=u,u=c;return g[p]={nextPos:i,result:u},u}function Rr(){var u,t,o,a=i*49+18,p=g[a];return p?(i=p.nextPos,p.result):(u=Jr(),u===r&&(u=i,t=i,E++,l.charCodeAt(i)===34?(o=yu,i++):(o=r,E===0&&v(Bu)),E--,o===r?t=$:(i=t,t=c),t!==r?(l.length>i?(o=l.charAt(i),i++):(o=r,E===0&&v(R)),o!==r?(_=u,t=Su(o),u=t):(i=u,u=c)):(i=u,u=c)),g[a]={nextPos:i,result:u},u)}function jr(){var u,t,o,a=i*49+19,p=g[a];return p?(i=p.nextPos,p.result):(u=i,t=i,E++,l.charCodeAt(i)===39?(o=bu,i++):(o=r,E===0&&v(_u)),E--,o===r?t=$:(i=t,t=c),t!==r?(l.length>i?(o=l.charAt(i),i++):(o=r,E===0&&v(R)),o!==r?(_=u,t=Su(o),u=t):(i=u,u=c)):(i=u,u=c),g[a]={nextPos:i,result:u},u)}function Mr(){var u,t,o,a=i*49+20,p=g[a];return p?(i=p.nextPos,p.result):(u=Jr(),u===r&&(u=It(),u===r&&(u=i,t=i,E++,l.substr(i,3)===Ne?(o=Ne,i+=3):(o=r,E===0&&v(vu)),E--,o===r?t=$:(i=t,t=c),t!==r?(l.length>i?(o=l.charAt(i),i++):(o=r,E===0&&v(R)),o!==r?(_=u,t=En(o),u=t):(i=u,u=c)):(i=u,u=c))),g[a]={nextPos:i,result:u},u)}function It(){var u,t,o,a,p,h=i*49+21,F=g[h];if(F)return i=F.nextPos,F.result;if(u=i,l.charCodeAt(i)===92?(t=gn,i++):(t=r,E===0&&v(mn)),t!==r)if(o=Ae(),o!==r){for(a=[],p=Gr();p!==r;)a.push(p),p=Gr();a!==r?(_=u,t=xn(),u=t):(i=u,u=c);}else i=u,u=c;else i=u,u=c;return g[h]={nextPos:i,result:u},u}function Yr(){var u,t,o,a=i*49+22,p=g[a];return p?(i=p.nextPos,p.result):(u=i,t=i,E++,l.substr(i,3)===Le?(o=Le,i+=3):(o=r,E===0&&v(wu)),E--,o===r?t=$:(i=t,t=c),t!==r?(l.length>i?(o=l.charAt(i),i++):(o=r,E===0&&v(R)),o!==r?(_=u,t=Su(o),u=t):(i=u,u=c)):(i=u,u=c),g[a]={nextPos:i,result:u},u)}function Ot(){var u,t,o,a,p=i*49+23,h=g[p];return h?(i=h.nextPos,h.result):(u=i,t=Hr(),t===r&&(t=Lu()),t!==r?(l.charCodeAt(i)===101?(o=vn,i++):(o=r,E===0&&v(yn)),o===r&&(l.charCodeAt(i)===69?(o=Bn,i++):(o=r,E===0&&v(wn))),o!==r?(a=Lu(),a!==r?(_=u,t=bn(t,a),u=t):(i=u,u=c)):(i=u,u=c)):(i=u,u=c),u===r&&(u=i,t=Hr(),t!==r&&(_=u,t=_n(t)),u=t),g[p]={nextPos:i,result:u},u)}function Hr(){var u,t,o,a,p,h,F=i*49+24,w=g[F];return w?(i=w.nextPos,w.result):(u=i,l.charCodeAt(i)===43?(t=$u,i++):(t=r,E===0&&v(Pu)),t===r&&(t=Pe),t!==r?(o=i,a=Ze(),a!==r?(l.charCodeAt(i)===46?(p=ae,i++):(p=r,E===0&&v(Be)),p!==r?(h=Ze(),h!==r?(a=[a,p,h],o=a):(i=o,o=c)):(i=o,o=c)):(i=o,o=c),o!==r?(_=u,t=fr(o),u=t):(i=u,u=c)):(i=u,u=c),u===r&&(u=i,l.charCodeAt(i)===45?(t=Ke,i++):(t=r,E===0&&v(Ve)),t!==r?(o=i,a=Ze(),a!==r?(l.charCodeAt(i)===46?(p=ae,i++):(p=r,E===0&&v(Be)),p!==r?(h=Ze(),h!==r?(a=[a,p,h],o=a):(i=o,o=c)):(i=o,o=c)):(i=o,o=c),o!==r?(_=u,t=sr(o),u=t):(i=u,u=c)):(i=u,u=c)),g[F]={nextPos:i,result:u},u)}function kt(){var u,t,o=i*49+25,a=g[o];return a?(i=a.nextPos,a.result):(u=i,t=Lu(),t!==r&&(_=u,t=Sn(t)),u=t,g[o]={nextPos:i,result:u},u)}function Lu(){var u,t,o,a,p,h=i*49+26,F=g[h];if(F)return i=F.nextPos,F.result;if(u=i,l.charCodeAt(i)===43?(t=$u,i++):(t=r,E===0&&v(Pu)),t===r&&(t=Pe),t!==r){if(o=[],a=U(),a!==r)for(;a!==r;)o.push(a),a=U();else o=c;o!==r?(a=i,E++,l.charCodeAt(i)===46?(p=ae,i++):(p=r,E===0&&v(Be)),E--,p===r?a=$:(i=a,a=c),a!==r?(_=u,t=fr(o),u=t):(i=u,u=c)):(i=u,u=c);}else i=u,u=c;if(u===r)if(u=i,l.charCodeAt(i)===45?(t=Ke,i++):(t=r,E===0&&v(Ve)),t!==r){if(o=[],a=U(),a!==r)for(;a!==r;)o.push(a),a=U();else o=c;o!==r?(a=i,E++,l.charCodeAt(i)===46?(p=ae,i++):(p=r,E===0&&v(Be)),E--,p===r?a=$:(i=a,a=c),a!==r?(_=u,t=sr(o),u=t):(i=u,u=c)):(i=u,u=c);}else i=u,u=c;return g[h]={nextPos:i,result:u},u}function Tt(){var u,t,o=i*49+27,a=g[o];return a?(i=a.nextPos,a.result):(u=i,l.substr(i,4)===ar?(t=ar,i+=4):(t=r,E===0&&v($n)),t!==r&&(_=u,t=Pn()),u=t,u===r&&(u=i,l.substr(i,5)===cr?(t=cr,i+=5):(t=r,E===0&&v(In)),t!==r&&(_=u,t=On()),u=t),g[o]={nextPos:i,result:u},u)}function Nt(){var u,t,o,a,p,h=i*49+28,F=g[h];if(F)return i=F.nextPos,F.result;if(u=i,l.charCodeAt(i)===91?(t=B,i++):(t=r,E===0&&v(k)),t!==r){for(o=[],a=pe();a!==r;)o.push(a),a=pe();o!==r?(l.charCodeAt(i)===93?(a=b,i++):(a=r,E===0&&v(m)),a!==r?(_=u,t=kn(),u=t):(i=u,u=c)):(i=u,u=c);}else i=u,u=c;if(u===r&&(u=i,l.charCodeAt(i)===91?(t=B,i++):(t=r,E===0&&v(k)),t!==r?(o=Ur(),o===r&&(o=Pe),o!==r?(l.charCodeAt(i)===93?(a=b,i++):(a=r,E===0&&v(m)),a!==r?(_=u,t=Tn(o),u=t):(i=u,u=c)):(i=u,u=c)):(i=u,u=c),u===r)){if(u=i,l.charCodeAt(i)===91?(t=B,i++):(t=r,E===0&&v(k)),t!==r){if(o=[],a=au(),a!==r)for(;a!==r;)o.push(a),a=au();else o=c;o!==r?(l.charCodeAt(i)===93?(a=b,i++):(a=r,E===0&&v(m)),a!==r?(_=u,t=Nn(o),u=t):(i=u,u=c)):(i=u,u=c);}else i=u,u=c;if(u===r)if(u=i,l.charCodeAt(i)===91?(t=B,i++):(t=r,E===0&&v(k)),t!==r){if(o=[],a=au(),a!==r)for(;a!==r;)o.push(a),a=au();else o=c;o!==r?(a=Ur(),a!==r?(l.charCodeAt(i)===93?(p=b,i++):(p=r,E===0&&v(m)),p!==r?(_=u,t=Ln(o,a),u=t):(i=u,u=c)):(i=u,u=c)):(i=u,u=c);}else i=u,u=c;}return g[h]={nextPos:i,result:u},u}function Ur(){var u,t,o,a,p,h=i*49+29,F=g[h];if(F)return i=F.nextPos,F.result;for(u=i,t=[],o=pe();o!==r;)t.push(o),o=pe();if(t!==r)if(o=Re(),o!==r){for(a=[],p=pe();p!==r;)a.push(p),p=pe();a!==r?(_=u,t=Dr(o),u=t):(i=u,u=c);}else i=u,u=c;else i=u,u=c;return g[h]={nextPos:i,result:u},u}function au(){var u,t,o,a,p,h,F,w=i*49+30,N=g[w];if(N)return i=N.nextPos,N.result;for(u=i,t=[],o=pe();o!==r;)t.push(o),o=pe();if(t!==r)if(o=Re(),o!==r){for(a=[],p=pe();p!==r;)a.push(p),p=pe();if(a!==r)if(l.charCodeAt(i)===44?(p=pr,i++):(p=r,E===0&&v(Ar)),p!==r){for(h=[],F=pe();F!==r;)h.push(F),F=pe();h!==r?(_=u,t=Dr(o),u=t):(i=u,u=c);}else i=u,u=c;else i=u,u=c;}else i=u,u=c;else i=u,u=c;return g[w]={nextPos:i,result:u},u}function pe(){var u,t=i*49+31,o=g[t];return o?(i=o.nextPos,o.result):(u=S(),u===r&&(u=Ae(),u===r&&(u=su())),g[t]={nextPos:i,result:u},u)}function Lt(){var u,t,o,a,p,h,F=i*49+32,w=g[F];if(w)return i=w.nextPos,w.result;if(u=i,l.charCodeAt(i)===123?(t=Rn,i++):(t=r,E===0&&v(jn)),t!==r){for(o=[],a=S();a!==r;)o.push(a),a=S();if(o!==r){for(a=[],p=qr();p!==r;)a.push(p),p=qr();if(a!==r){for(p=[],h=S();h!==r;)p.push(h),h=S();p!==r?(l.charCodeAt(i)===125?(h=Mn,i++):(h=r,E===0&&v(Yn)),h!==r?(_=u,t=Hn(a),u=t):(i=u,u=c)):(i=u,u=c);}else i=u,u=c;}else i=u,u=c;}else i=u,u=c;return g[F]={nextPos:i,result:u},u}function qr(){var u,t,o,a,p,h,F,w,N,q,H,G=i*49+33,W=g[G];if(W)return i=W.nextPos,W.result;for(u=i,t=[],o=S();o!==r;)t.push(o),o=S();if(t!==r)if(o=ze(),o!==r){for(a=[],p=S();p!==r;)a.push(p),p=S();if(a!==r)if(l.charCodeAt(i)===61?(p=te,i++):(p=r,E===0&&v(Ce)),p!==r){for(h=[],F=S();F!==r;)h.push(F),F=S();if(h!==r)if(F=Re(),F!==r){for(w=[],N=S();N!==r;)w.push(N),N=S();if(w!==r)if(l.charCodeAt(i)===44?(N=pr,i++):(N=r,E===0&&v(Ar)),N!==r){for(q=[],H=S();H!==r;)q.push(H),H=S();q!==r?(_=u,t=hr(o,F),u=t):(i=u,u=c);}else i=u,u=c;else i=u,u=c;}else i=u,u=c;else i=u,u=c;}else i=u,u=c;else i=u,u=c;}else i=u,u=c;else i=u,u=c;if(u===r){for(u=i,t=[],o=S();o!==r;)t.push(o),o=S();if(t!==r)if(o=ze(),o!==r){for(a=[],p=S();p!==r;)a.push(p),p=S();if(a!==r)if(l.charCodeAt(i)===61?(p=te,i++):(p=r,E===0&&v(Ce)),p!==r){for(h=[],F=S();F!==r;)h.push(F),F=S();h!==r?(F=Re(),F!==r?(_=u,t=hr(o,F),u=t):(i=u,u=c)):(i=u,u=c);}else i=u,u=c;else i=u,u=c;}else i=u,u=c;else i=u,u=c;}return g[G]={nextPos:i,result:u},u}function Kr(){var u,t,o,a=i*49+34,p=g[a];return p?(i=p.nextPos,p.result):(u=i,l.charCodeAt(i)===46?(t=ae,i++):(t=r,E===0&&v(Be)),t!==r?(o=Ze(),o!==r?(_=u,t=Un(o),u=t):(i=u,u=c)):(i=u,u=c),g[a]={nextPos:i,result:u},u)}function Vr(){var u,t,o,a,p,h,F,w,N,q,H,G,W=i*49+35,ce=g[W];return ce?(i=ce.nextPos,ce.result):(u=i,t=i,o=U(),o!==r?(a=U(),a!==r?(p=U(),p!==r?(h=U(),h!==r?(l.charCodeAt(i)===45?(F=Ke,i++):(F=r,E===0&&v(Ve)),F!==r?(w=U(),w!==r?(N=U(),N!==r?(l.charCodeAt(i)===45?(q=Ke,i++):(q=r,E===0&&v(Ve)),q!==r?(H=U(),H!==r?(G=U(),G!==r?(o=[o,a,p,h,F,w,N,q,H,G],t=o):(i=t,t=c)):(i=t,t=c)):(i=t,t=c)):(i=t,t=c)):(i=t,t=c)):(i=t,t=c)):(i=t,t=c)):(i=t,t=c)):(i=t,t=c)):(i=t,t=c),t!==r&&(_=u,t=qn(t)),u=t,g[W]={nextPos:i,result:u},u)}function Rt(){var u,t,o,a,p,h,F,w,N,q,H,G=i*49+36,W=g[G];return W?(i=W.nextPos,W.result):(u=i,t=i,o=U(),o!==r?(a=U(),a!==r?(l.charCodeAt(i)===58?(p=Ge,i++):(p=r,E===0&&v(We)),p!==r?(h=U(),h!==r?(F=U(),F!==r?(l.charCodeAt(i)===58?(w=Ge,i++):(w=r,E===0&&v(We)),w!==r?(N=U(),N!==r?(q=U(),q!==r?(H=Kr(),H===r&&(H=Pe),H!==r?(o=[o,a,p,h,F,w,N,q,H],t=o):(i=t,t=c)):(i=t,t=c)):(i=t,t=c)):(i=t,t=c)):(i=t,t=c)):(i=t,t=c)):(i=t,t=c)):(i=t,t=c)):(i=t,t=c),t!==r&&(_=u,t=Cr(t)),u=t,g[G]={nextPos:i,result:u},u)}function jt(){var u,t,o,a,p,h,F,w,N,q,H,G,W,ce,je,be,De,Zr=i*49+37,ju=g[Zr];return ju?(i=ju.nextPos,ju.result):(u=i,t=i,o=U(),o!==r?(a=U(),a!==r?(l.charCodeAt(i)===58?(p=Ge,i++):(p=r,E===0&&v(We)),p!==r?(h=U(),h!==r?(F=U(),F!==r?(l.charCodeAt(i)===58?(w=Ge,i++):(w=r,E===0&&v(We)),w!==r?(N=U(),N!==r?(q=U(),q!==r?(H=Kr(),H===r&&(H=Pe),H!==r?(l.charCodeAt(i)===45?(G=Ke,i++):(G=r,E===0&&v(Ve)),G===r&&(l.charCodeAt(i)===43?(G=$u,i++):(G=r,E===0&&v(Pu))),G!==r?(W=U(),W!==r?(ce=U(),ce!==r?(l.charCodeAt(i)===58?(je=Ge,i++):(je=r,E===0&&v(We)),je!==r?(be=U(),be!==r?(De=U(),De!==r?(o=[o,a,p,h,F,w,N,q,H,G,W,ce,je,be,De],t=o):(i=t,t=c)):(i=t,t=c)):(i=t,t=c)):(i=t,t=c)):(i=t,t=c)):(i=t,t=c)):(i=t,t=c)):(i=t,t=c)):(i=t,t=c)):(i=t,t=c)):(i=t,t=c)):(i=t,t=c)):(i=t,t=c)):(i=t,t=c)):(i=t,t=c),t!==r&&(_=u,t=Cr(t)),u=t,g[Zr]={nextPos:i,result:u},u)}function Mt(){var u,t,o,a,p,h=i*49+38,F=g[h];return F?(i=F.nextPos,F.result):(u=i,t=Vr(),t!==r?(l.charCodeAt(i)===84?(o=Fr,i++):(o=r,E===0&&v(dr)),o!==r?(a=Rt(),a!==r?(l.charCodeAt(i)===90?(p=Kn,i++):(p=r,E===0&&v(Vn)),p!==r?(_=u,t=Gn(t,a),u=t):(i=u,u=c)):(i=u,u=c)):(i=u,u=c)):(i=u,u=c),u===r&&(u=i,t=Vr(),t!==r?(l.charCodeAt(i)===84?(o=Fr,i++):(o=r,E===0&&v(dr)),o!==r?(a=jt(),a!==r?(_=u,t=Wn(t,a),u=t):(i=u,u=c)):(i=u,u=c)):(i=u,u=c)),g[h]={nextPos:i,result:u},u)}function S(){var u,t=i*49+39,o=g[t];return o?(i=o.nextPos,o.result):(Jn.test(l.charAt(i))?(u=l.charAt(i),i++):(u=r,E===0&&v(zn)),g[t]={nextPos:i,result:u},u)}function Ae(){var u,t,o,a=i*49+40,p=g[a];return p?(i=p.nextPos,p.result):(l.charCodeAt(i)===10?(u=Er,i++):(u=r,E===0&&v(gr)),u===r&&(u=i,l.charCodeAt(i)===13?(t=Zn,i++):(t=r,E===0&&v(Qn)),t!==r?(l.charCodeAt(i)===10?(o=Er,i++):(o=r,E===0&&v(gr)),o!==r?(t=[t,o],u=t):(i=u,u=c)):(i=u,u=c)),g[a]={nextPos:i,result:u},u)}function Gr(){var u,t=i*49+41,o=g[t];return o?(i=o.nextPos,o.result):(u=Ae(),u===r&&(u=S()),g[t]={nextPos:i,result:u},u)}function cu(){var u,t,o=i*49+42,a=g[o];return a?(i=a.nextPos,a.result):(u=i,E++,l.length>i?(t=l.charAt(i),i++):(t=r,E===0&&v(R)),E--,t===r?u=$:(i=u,u=c),g[o]={nextPos:i,result:u},u)}function he(){var u,t=i*49+43,o=g[t];return o?(i=o.nextPos,o.result):(Xn.test(l.charAt(i))?(u=l.charAt(i),i++):(u=r,E===0&&v(et)),g[t]={nextPos:i,result:u},u)}function U(){var u,t,o=i*49+44,a=g[o];return a?(i=a.nextPos,a.result):(ut.test(l.charAt(i))?(u=l.charAt(i),i++):(u=r,E===0&&v(rt)),u===r&&(u=i,l.charCodeAt(i)===95?(t=it,i++):(t=r,E===0&&v(nt)),t!==r&&(_=u,t=tt()),u=t),g[o]={nextPos:i,result:u},u)}function Wr(){var u,t=i*49+45,o=g[t];return o?(i=o.nextPos,o.result):(lt.test(l.charAt(i))?(u=l.charAt(i),i++):(u=r,E===0&&v(ot)),g[t]={nextPos:i,result:u},u)}function Ze(){var u,t,o,a=i*49+46,p=g[a];if(p)return i=p.nextPos,p.result;if(u=i,t=[],o=U(),o!==r)for(;o!==r;)t.push(o),o=U();else t=c;return t!==r&&(_=u,t=ft(t)),u=t,g[a]={nextPos:i,result:u},u}function Jr(){var u,t,o=i*49+47,a=g[o];return a?(i=a.nextPos,a.result):(u=i,l.substr(i,2)===mr?(t=mr,i+=2):(t=r,E===0&&v(st)),t!==r&&(_=u,t=at()),u=t,u===r&&(u=i,l.substr(i,2)===xr?(t=xr,i+=2):(t=r,E===0&&v(ct)),t!==r&&(_=u,t=Dt()),u=t,u===r&&(u=i,l.substr(i,2)===vr?(t=vr,i+=2):(t=r,E===0&&v(pt)),t!==r&&(_=u,t=At()),u=t,u===r&&(u=i,l.substr(i,2)===yr?(t=yr,i+=2):(t=r,E===0&&v(ht)),t!==r&&(_=u,t=Ct()),u=t,u===r&&(u=i,l.substr(i,2)===Br?(t=Br,i+=2):(t=r,E===0&&v(Ft)),t!==r&&(_=u,t=dt()),u=t,u===r&&(u=i,l.substr(i,2)===wr?(t=wr,i+=2):(t=r,E===0&&v(Et)),t!==r&&(_=u,t=gt()),u=t,u===r&&(u=i,l.substr(i,2)===br?(t=br,i+=2):(t=r,E===0&&v(mt)),t!==r&&(_=u,t=xt()),u=t,u===r&&(u=Yt()))))))),g[o]={nextPos:i,result:u},u)}function Yt(){var u,t,o,a,p,h,F,w,N,q,H,G=i*49+48,W=g[G];return W?(i=W.nextPos,W.result):(u=i,l.substr(i,2)===_r?(t=_r,i+=2):(t=r,E===0&&v(vt)),t!==r?(o=i,a=he(),a!==r?(p=he(),p!==r?(h=he(),h!==r?(F=he(),F!==r?(w=he(),w!==r?(N=he(),N!==r?(q=he(),q!==r?(H=he(),H!==r?(a=[a,p,h,F,w,N,q,H],o=a):(i=o,o=c)):(i=o,o=c)):(i=o,o=c)):(i=o,o=c)):(i=o,o=c)):(i=o,o=c)):(i=o,o=c)):(i=o,o=c),o!==r?(_=u,t=Sr(o),u=t):(i=u,u=c)):(i=u,u=c),u===r&&(u=i,l.substr(i,2)===$r?(t=$r,i+=2):(t=r,E===0&&v(yt)),t!==r?(o=i,a=he(),a!==r?(p=he(),p!==r?(h=he(),h!==r?(F=he(),F!==r?(a=[a,p,h,F],o=a):(i=o,o=c)):(i=o,o=c)):(i=o,o=c)):(i=o,o=c),o!==r?(_=u,t=Sr(o),u=t):(i=u,u=c)):(i=u,u=c)),g[G]={nextPos:i,result:u},u)}var zr=[];function Ht(u,t,o){var a=new Error(u);throw a.line=t,a.column=o,a}function Ru(u){zr.push(u);}function ie(u,t,o,a,p){var h={type:u,value:t,line:o(),column:a()};return p&&(h.key=p),h}function Ut(u,t,o){var a=parseInt("0x"+u);if(!isFinite(a)||Math.floor(a)!=a||a<0||a>1114111||a>55295&&a<57344)Ht("Invalid Unicode escape code: "+u,t,o);else return qt(a)}function qt(){var u=16384,t=[],o,a,p=-1,h=arguments.length;if(!h)return "";for(var F="";++p<h;){var w=Number(arguments[p]);w<=65535?t.push(w):(w-=65536,o=(w>>10)+55296,a=w%1024+56320,t.push(o,a)),(p+1==h||t.length>u)&&(F+=String.fromCharCode.apply(null,t),t.length=0);}return F}if(fu=A(),fu!==r&&i===l.length)return fu;throw fu!==r&&i<l.length&&v({type:"end",description:"end of input"}),Tu(null,Ou,ou)}return {SyntaxError:n,parse:f}}();});var li=Mu((Xo,ti)=>{function D0(e){var n=[],f=[],l="",s=Object.create(null),r=s;return A(e);function A(m){for(var P,T=0;T<m.length;T++)switch(P=m[T],P.type){case "Assign":x(P);break;case "ObjectPath":$(P);break;case "ArrayPath":R(P);break}return s}function C(m,P,T){var L=new Error(m);throw L.line=P,L.column=T,L}function x(m){var P=m.key,T=m.value,L=m.line,Q=m.column,ee;l?ee=l+"."+P:ee=P,typeof r[P]!="undefined"&&C("Cannot redefine existing key '"+ee+"'.",L,Q),r[P]=y(T),c(ee)||(n.push(ee),f.push(ee));}function c(m){return n.indexOf(m)!==-1}function y(m){return m.type==="Array"?k(m.value):m.type==="InlineTable"?O(m.value):m.value}function O(m){for(var P=Object.create(null),T=0;T<m.length;T++){var L=m[T];L.value.type==="InlineTable"?P[L.key]=O(L.value.value):L.type==="InlineTableValue"&&(P[L.key]=y(L.value));}return P}function $(m){var P=m.value,T=P.map(b).join("."),L=m.line,Q=m.column;c(T)&&C("Cannot redefine existing key '"+P+"'.",L,Q),n.push(T),r=B(s,P,Object.create(null),L,Q),l=P;}function R(m){var P=m.value,T=P.map(b).join("."),L=m.line,Q=m.column;if(c(T)||n.push(T),n=n.filter(function(ae){return ae.indexOf(T)!==0}),n.push(T),r=B(s,P,[],L,Q),l=T,r instanceof Array){var ee=Object.create(null);r.push(ee),r=ee;}else C("Cannot redefine existing key '"+P+"'.",L,Q);}function B(m,P,T,L,Q){for(var ee=[],ae="",Be=P.join("."),te=m,Ce=0;Ce<P.length;Ce++){var we=P[Ce];ee.push(we),ae=ee.join("."),typeof te[we]=="undefined"?Ce===P.length-1?te[we]=T:te[we]=Object.create(null):Ce!==P.length-1&&f.indexOf(ae)>-1&&C("Cannot redefine existing key '"+ae+"'.",L,Q),te=te[we],te instanceof Array&&te.length&&Ce<P.length-1&&(te=te[te.length-1]);}return te}function k(m){for(var P=null,T=0;T<m.length;T++){var L=m[T];P===null?P=L.type:L.type!==P&&C("Cannot add value of type "+L.type+" to array of type "+P+".",L.line,L.column);}return m.map(y)}function b(m){return m.indexOf(".")>-1?'"'+m+'"':m}}ti.exports={compile:D0};});var fi=Mu((ef,oi)=>{var p0=ni(),A0=li();oi.exports={parse:function(e){var n=p0.parse(e.toString());return A0.compile(n)}};});var{merge:Xt}=Qt__default.default,pu=class pu{constructor(n){this.options=Xt({},pu.DEFAULT_OPTIONS,n),this.init();}};pu.DEFAULT_OPTIONS={program:void 0,version:"",description:"",logo:void 0,defaultOptions:{},excludeOptions:[],optionTypes:{},optionTitles:{}};var Du=pu;var e0=/[\u1680\u2000-\u200A\u202F\u205F\u3000]/,u0=/[\xAA\xB5\xBA\xC0-\xD6\xD8-\xF6\xF8-\u02C1\u02C6-\u02D1\u02E0-\u02E4\u02EC\u02EE\u0370-\u0374\u0376\u0377\u037A-\u037D\u037F\u0386\u0388-\u038A\u038C\u038E-\u03A1\u03A3-\u03F5\u03F7-\u0481\u048A-\u052F\u0531-\u0556\u0559\u0561-\u0587\u05D0-\u05EA\u05F0-\u05F2\u0620-\u064A\u066E\u066F\u0671-\u06D3\u06D5\u06E5\u06E6\u06EE\u06EF\u06FA-\u06FC\u06FF\u0710\u0712-\u072F\u074D-\u07A5\u07B1\u07CA-\u07EA\u07F4\u07F5\u07FA\u0800-\u0815\u081A\u0824\u0828\u0840-\u0858\u0860-\u086A\u08A0-\u08B4\u08B6-\u08BD\u0904-\u0939\u093D\u0950\u0958-\u0961\u0971-\u0980\u0985-\u098C\u098F\u0990\u0993-\u09A8\u09AA-\u09B0\u09B2\u09B6-\u09B9\u09BD\u09CE\u09DC\u09DD\u09DF-\u09E1\u09F0\u09F1\u09FC\u0A05-\u0A0A\u0A0F\u0A10\u0A13-\u0A28\u0A2A-\u0A30\u0A32\u0A33\u0A35\u0A36\u0A38\u0A39\u0A59-\u0A5C\u0A5E\u0A72-\u0A74\u0A85-\u0A8D\u0A8F-\u0A91\u0A93-\u0AA8\u0AAA-\u0AB0\u0AB2\u0AB3\u0AB5-\u0AB9\u0ABD\u0AD0\u0AE0\u0AE1\u0AF9\u0B05-\u0B0C\u0B0F\u0B10\u0B13-\u0B28\u0B2A-\u0B30\u0B32\u0B33\u0B35-\u0B39\u0B3D\u0B5C\u0B5D\u0B5F-\u0B61\u0B71\u0B83\u0B85-\u0B8A\u0B8E-\u0B90\u0B92-\u0B95\u0B99\u0B9A\u0B9C\u0B9E\u0B9F\u0BA3\u0BA4\u0BA8-\u0BAA\u0BAE-\u0BB9\u0BD0\u0C05-\u0C0C\u0C0E-\u0C10\u0C12-\u0C28\u0C2A-\u0C39\u0C3D\u0C58-\u0C5A\u0C60\u0C61\u0C80\u0C85-\u0C8C\u0C8E-\u0C90\u0C92-\u0CA8\u0CAA-\u0CB3\u0CB5-\u0CB9\u0CBD\u0CDE\u0CE0\u0CE1\u0CF1\u0CF2\u0D05-\u0D0C\u0D0E-\u0D10\u0D12-\u0D3A\u0D3D\u0D4E\u0D54-\u0D56\u0D5F-\u0D61\u0D7A-\u0D7F\u0D85-\u0D96\u0D9A-\u0DB1\u0DB3-\u0DBB\u0DBD\u0DC0-\u0DC6\u0E01-\u0E30\u0E32\u0E33\u0E40-\u0E46\u0E81\u0E82\u0E84\u0E87\u0E88\u0E8A\u0E8D\u0E94-\u0E97\u0E99-\u0E9F\u0EA1-\u0EA3\u0EA5\u0EA7\u0EAA\u0EAB\u0EAD-\u0EB0\u0EB2\u0EB3\u0EBD\u0EC0-\u0EC4\u0EC6\u0EDC-\u0EDF\u0F00\u0F40-\u0F47\u0F49-\u0F6C\u0F88-\u0F8C\u1000-\u102A\u103F\u1050-\u1055\u105A-\u105D\u1061\u1065\u1066\u106E-\u1070\u1075-\u1081\u108E\u10A0-\u10C5\u10C7\u10CD\u10D0-\u10FA\u10FC-\u1248\u124A-\u124D\u1250-\u1256\u1258\u125A-\u125D\u1260-\u1288\u128A-\u128D\u1290-\u12B0\u12B2-\u12B5\u12B8-\u12BE\u12C0\u12C2-\u12C5\u12C8-\u12D6\u12D8-\u1310\u1312-\u1315\u1318-\u135A\u1380-\u138F\u13A0-\u13F5\u13F8-\u13FD\u1401-\u166C\u166F-\u167F\u1681-\u169A\u16A0-\u16EA\u16EE-\u16F8\u1700-\u170C\u170E-\u1711\u1720-\u1731\u1740-\u1751\u1760-\u176C\u176E-\u1770\u1780-\u17B3\u17D7\u17DC\u1820-\u1877\u1880-\u1884\u1887-\u18A8\u18AA\u18B0-\u18F5\u1900-\u191E\u1950-\u196D\u1970-\u1974\u1980-\u19AB\u19B0-\u19C9\u1A00-\u1A16\u1A20-\u1A54\u1AA7\u1B05-\u1B33\u1B45-\u1B4B\u1B83-\u1BA0\u1BAE\u1BAF\u1BBA-\u1BE5\u1C00-\u1C23\u1C4D-\u1C4F\u1C5A-\u1C7D\u1C80-\u1C88\u1CE9-\u1CEC\u1CEE-\u1CF1\u1CF5\u1CF6\u1D00-\u1DBF\u1E00-\u1F15\u1F18-\u1F1D\u1F20-\u1F45\u1F48-\u1F4D\u1F50-\u1F57\u1F59\u1F5B\u1F5D\u1F5F-\u1F7D\u1F80-\u1FB4\u1FB6-\u1FBC\u1FBE\u1FC2-\u1FC4\u1FC6-\u1FCC\u1FD0-\u1FD3\u1FD6-\u1FDB\u1FE0-\u1FEC\u1FF2-\u1FF4\u1FF6-\u1FFC\u2071\u207F\u2090-\u209C\u2102\u2107\u210A-\u2113\u2115\u2119-\u211D\u2124\u2126\u2128\u212A-\u212D\u212F-\u2139\u213C-\u213F\u2145-\u2149\u214E\u2160-\u2188\u2C00-\u2C2E\u2C30-\u2C5E\u2C60-\u2CE4\u2CEB-\u2CEE\u2CF2\u2CF3\u2D00-\u2D25\u2D27\u2D2D\u2D30-\u2D67\u2D6F\u2D80-\u2D96\u2DA0-\u2DA6\u2DA8-\u2DAE\u2DB0-\u2DB6\u2DB8-\u2DBE\u2DC0-\u2DC6\u2DC8-\u2DCE\u2DD0-\u2DD6\u2DD8-\u2DDE\u2E2F\u3005-\u3007\u3021-\u3029\u3031-\u3035\u3038-\u303C\u3041-\u3096\u309D-\u309F\u30A1-\u30FA\u30FC-\u30FF\u3105-\u312E\u3131-\u318E\u31A0-\u31BA\u31F0-\u31FF\u3400-\u4DB5\u4E00-\u9FEA\uA000-\uA48C\uA4D0-\uA4FD\uA500-\uA60C\uA610-\uA61F\uA62A\uA62B\uA640-\uA66E\uA67F-\uA69D\uA6A0-\uA6EF\uA717-\uA71F\uA722-\uA788\uA78B-\uA7AE\uA7B0-\uA7B7\uA7F7-\uA801\uA803-\uA805\uA807-\uA80A\uA80C-\uA822\uA840-\uA873\uA882-\uA8B3\uA8F2-\uA8F7\uA8FB\uA8FD\uA90A-\uA925\uA930-\uA946\uA960-\uA97C\uA984-\uA9B2\uA9CF\uA9E0-\uA9E4\uA9E6-\uA9EF\uA9FA-\uA9FE\uAA00-\uAA28\uAA40-\uAA42\uAA44-\uAA4B\uAA60-\uAA76\uAA7A\uAA7E-\uAAAF\uAAB1\uAAB5\uAAB6\uAAB9-\uAABD\uAAC0\uAAC2\uAADB-\uAADD\uAAE0-\uAAEA\uAAF2-\uAAF4\uAB01-\uAB06\uAB09-\uAB0E\uAB11-\uAB16\uAB20-\uAB26\uAB28-\uAB2E\uAB30-\uAB5A\uAB5C-\uAB65\uAB70-\uABE2\uAC00-\uD7A3\uD7B0-\uD7C6\uD7CB-\uD7FB\uF900-\uFA6D\uFA70-\uFAD9\uFB00-\uFB06\uFB13-\uFB17\uFB1D\uFB1F-\uFB28\uFB2A-\uFB36\uFB38-\uFB3C\uFB3E\uFB40\uFB41\uFB43\uFB44\uFB46-\uFBB1\uFBD3-\uFD3D\uFD50-\uFD8F\uFD92-\uFDC7\uFDF0-\uFDFB\uFE70-\uFE74\uFE76-\uFEFC\uFF21-\uFF3A\uFF41-\uFF5A\uFF66-\uFFBE\uFFC2-\uFFC7\uFFCA-\uFFCF\uFFD2-\uFFD7\uFFDA-\uFFDC]|\uD800[\uDC00-\uDC0B\uDC0D-\uDC26\uDC28-\uDC3A\uDC3C\uDC3D\uDC3F-\uDC4D\uDC50-\uDC5D\uDC80-\uDCFA\uDD40-\uDD74\uDE80-\uDE9C\uDEA0-\uDED0\uDF00-\uDF1F\uDF2D-\uDF4A\uDF50-\uDF75\uDF80-\uDF9D\uDFA0-\uDFC3\uDFC8-\uDFCF\uDFD1-\uDFD5]|\uD801[\uDC00-\uDC9D\uDCB0-\uDCD3\uDCD8-\uDCFB\uDD00-\uDD27\uDD30-\uDD63\uDE00-\uDF36\uDF40-\uDF55\uDF60-\uDF67]|\uD802[\uDC00-\uDC05\uDC08\uDC0A-\uDC35\uDC37\uDC38\uDC3C\uDC3F-\uDC55\uDC60-\uDC76\uDC80-\uDC9E\uDCE0-\uDCF2\uDCF4\uDCF5\uDD00-\uDD15\uDD20-\uDD39\uDD80-\uDDB7\uDDBE\uDDBF\uDE00\uDE10-\uDE13\uDE15-\uDE17\uDE19-\uDE33\uDE60-\uDE7C\uDE80-\uDE9C\uDEC0-\uDEC7\uDEC9-\uDEE4\uDF00-\uDF35\uDF40-\uDF55\uDF60-\uDF72\uDF80-\uDF91]|\uD803[\uDC00-\uDC48\uDC80-\uDCB2\uDCC0-\uDCF2]|\uD804[\uDC03-\uDC37\uDC83-\uDCAF\uDCD0-\uDCE8\uDD03-\uDD26\uDD50-\uDD72\uDD76\uDD83-\uDDB2\uDDC1-\uDDC4\uDDDA\uDDDC\uDE00-\uDE11\uDE13-\uDE2B\uDE80-\uDE86\uDE88\uDE8A-\uDE8D\uDE8F-\uDE9D\uDE9F-\uDEA8\uDEB0-\uDEDE\uDF05-\uDF0C\uDF0F\uDF10\uDF13-\uDF28\uDF2A-\uDF30\uDF32\uDF33\uDF35-\uDF39\uDF3D\uDF50\uDF5D-\uDF61]|\uD805[\uDC00-\uDC34\uDC47-\uDC4A\uDC80-\uDCAF\uDCC4\uDCC5\uDCC7\uDD80-\uDDAE\uDDD8-\uDDDB\uDE00-\uDE2F\uDE44\uDE80-\uDEAA\uDF00-\uDF19]|\uD806[\uDCA0-\uDCDF\uDCFF\uDE00\uDE0B-\uDE32\uDE3A\uDE50\uDE5C-\uDE83\uDE86-\uDE89\uDEC0-\uDEF8]|\uD807[\uDC00-\uDC08\uDC0A-\uDC2E\uDC40\uDC72-\uDC8F\uDD00-\uDD06\uDD08\uDD09\uDD0B-\uDD30\uDD46]|\uD808[\uDC00-\uDF99]|\uD809[\uDC00-\uDC6E\uDC80-\uDD43]|[\uD80C\uD81C-\uD820\uD840-\uD868\uD86A-\uD86C\uD86F-\uD872\uD874-\uD879][\uDC00-\uDFFF]|\uD80D[\uDC00-\uDC2E]|\uD811[\uDC00-\uDE46]|\uD81A[\uDC00-\uDE38\uDE40-\uDE5E\uDED0-\uDEED\uDF00-\uDF2F\uDF40-\uDF43\uDF63-\uDF77\uDF7D-\uDF8F]|\uD81B[\uDF00-\uDF44\uDF50\uDF93-\uDF9F\uDFE0\uDFE1]|\uD821[\uDC00-\uDFEC]|\uD822[\uDC00-\uDEF2]|\uD82C[\uDC00-\uDD1E\uDD70-\uDEFB]|\uD82F[\uDC00-\uDC6A\uDC70-\uDC7C\uDC80-\uDC88\uDC90-\uDC99]|\uD835[\uDC00-\uDC54\uDC56-\uDC9C\uDC9E\uDC9F\uDCA2\uDCA5\uDCA6\uDCA9-\uDCAC\uDCAE-\uDCB9\uDCBB\uDCBD-\uDCC3\uDCC5-\uDD05\uDD07-\uDD0A\uDD0D-\uDD14\uDD16-\uDD1C\uDD1E-\uDD39\uDD3B-\uDD3E\uDD40-\uDD44\uDD46\uDD4A-\uDD50\uDD52-\uDEA5\uDEA8-\uDEC0\uDEC2-\uDEDA\uDEDC-\uDEFA\uDEFC-\uDF14\uDF16-\uDF34\uDF36-\uDF4E\uDF50-\uDF6E\uDF70-\uDF88\uDF8A-\uDFA8\uDFAA-\uDFC2\uDFC4-\uDFCB]|\uD83A[\uDC00-\uDCC4\uDD00-\uDD43]|\uD83B[\uDE00-\uDE03\uDE05-\uDE1F\uDE21\uDE22\uDE24\uDE27\uDE29-\uDE32\uDE34-\uDE37\uDE39\uDE3B\uDE42\uDE47\uDE49\uDE4B\uDE4D-\uDE4F\uDE51\uDE52\uDE54\uDE57\uDE59\uDE5B\uDE5D\uDE5F\uDE61\uDE62\uDE64\uDE67-\uDE6A\uDE6C-\uDE72\uDE74-\uDE77\uDE79-\uDE7C\uDE7E\uDE80-\uDE89\uDE8B-\uDE9B\uDEA1-\uDEA3\uDEA5-\uDEA9\uDEAB-\uDEBB]|\uD869[\uDC00-\uDED6\uDF00-\uDFFF]|\uD86D[\uDC00-\uDF34\uDF40-\uDFFF]|\uD86E[\uDC00-\uDC1D\uDC20-\uDFFF]|\uD873[\uDC00-\uDEA1\uDEB0-\uDFFF]|\uD87A[\uDC00-\uDFE0]|\uD87E[\uDC00-\uDE1D]/,r0=/[\xAA\xB5\xBA\xC0-\xD6\xD8-\xF6\xF8-\u02C1\u02C6-\u02D1\u02E0-\u02E4\u02EC\u02EE\u0300-\u0374\u0376\u0377\u037A-\u037D\u037F\u0386\u0388-\u038A\u038C\u038E-\u03A1\u03A3-\u03F5\u03F7-\u0481\u0483-\u0487\u048A-\u052F\u0531-\u0556\u0559\u0561-\u0587\u0591-\u05BD\u05BF\u05C1\u05C2\u05C4\u05C5\u05C7\u05D0-\u05EA\u05F0-\u05F2\u0610-\u061A\u0620-\u0669\u066E-\u06D3\u06D5-\u06DC\u06DF-\u06E8\u06EA-\u06FC\u06FF\u0710-\u074A\u074D-\u07B1\u07C0-\u07F5\u07FA\u0800-\u082D\u0840-\u085B\u0860-\u086A\u08A0-\u08B4\u08B6-\u08BD\u08D4-\u08E1\u08E3-\u0963\u0966-\u096F\u0971-\u0983\u0985-\u098C\u098F\u0990\u0993-\u09A8\u09AA-\u09B0\u09B2\u09B6-\u09B9\u09BC-\u09C4\u09C7\u09C8\u09CB-\u09CE\u09D7\u09DC\u09DD\u09DF-\u09E3\u09E6-\u09F1\u09FC\u0A01-\u0A03\u0A05-\u0A0A\u0A0F\u0A10\u0A13-\u0A28\u0A2A-\u0A30\u0A32\u0A33\u0A35\u0A36\u0A38\u0A39\u0A3C\u0A3E-\u0A42\u0A47\u0A48\u0A4B-\u0A4D\u0A51\u0A59-\u0A5C\u0A5E\u0A66-\u0A75\u0A81-\u0A83\u0A85-\u0A8D\u0A8F-\u0A91\u0A93-\u0AA8\u0AAA-\u0AB0\u0AB2\u0AB3\u0AB5-\u0AB9\u0ABC-\u0AC5\u0AC7-\u0AC9\u0ACB-\u0ACD\u0AD0\u0AE0-\u0AE3\u0AE6-\u0AEF\u0AF9-\u0AFF\u0B01-\u0B03\u0B05-\u0B0C\u0B0F\u0B10\u0B13-\u0B28\u0B2A-\u0B30\u0B32\u0B33\u0B35-\u0B39\u0B3C-\u0B44\u0B47\u0B48\u0B4B-\u0B4D\u0B56\u0B57\u0B5C\u0B5D\u0B5F-\u0B63\u0B66-\u0B6F\u0B71\u0B82\u0B83\u0B85-\u0B8A\u0B8E-\u0B90\u0B92-\u0B95\u0B99\u0B9A\u0B9C\u0B9E\u0B9F\u0BA3\u0BA4\u0BA8-\u0BAA\u0BAE-\u0BB9\u0BBE-\u0BC2\u0BC6-\u0BC8\u0BCA-\u0BCD\u0BD0\u0BD7\u0BE6-\u0BEF\u0C00-\u0C03\u0C05-\u0C0C\u0C0E-\u0C10\u0C12-\u0C28\u0C2A-\u0C39\u0C3D-\u0C44\u0C46-\u0C48\u0C4A-\u0C4D\u0C55\u0C56\u0C58-\u0C5A\u0C60-\u0C63\u0C66-\u0C6F\u0C80-\u0C83\u0C85-\u0C8C\u0C8E-\u0C90\u0C92-\u0CA8\u0CAA-\u0CB3\u0CB5-\u0CB9\u0CBC-\u0CC4\u0CC6-\u0CC8\u0CCA-\u0CCD\u0CD5\u0CD6\u0CDE\u0CE0-\u0CE3\u0CE6-\u0CEF\u0CF1\u0CF2\u0D00-\u0D03\u0D05-\u0D0C\u0D0E-\u0D10\u0D12-\u0D44\u0D46-\u0D48\u0D4A-\u0D4E\u0D54-\u0D57\u0D5F-\u0D63\u0D66-\u0D6F\u0D7A-\u0D7F\u0D82\u0D83\u0D85-\u0D96\u0D9A-\u0DB1\u0DB3-\u0DBB\u0DBD\u0DC0-\u0DC6\u0DCA\u0DCF-\u0DD4\u0DD6\u0DD8-\u0DDF\u0DE6-\u0DEF\u0DF2\u0DF3\u0E01-\u0E3A\u0E40-\u0E4E\u0E50-\u0E59\u0E81\u0E82\u0E84\u0E87\u0E88\u0E8A\u0E8D\u0E94-\u0E97\u0E99-\u0E9F\u0EA1-\u0EA3\u0EA5\u0EA7\u0EAA\u0EAB\u0EAD-\u0EB9\u0EBB-\u0EBD\u0EC0-\u0EC4\u0EC6\u0EC8-\u0ECD\u0ED0-\u0ED9\u0EDC-\u0EDF\u0F00\u0F18\u0F19\u0F20-\u0F29\u0F35\u0F37\u0F39\u0F3E-\u0F47\u0F49-\u0F6C\u0F71-\u0F84\u0F86-\u0F97\u0F99-\u0FBC\u0FC6\u1000-\u1049\u1050-\u109D\u10A0-\u10C5\u10C7\u10CD\u10D0-\u10FA\u10FC-\u1248\u124A-\u124D\u1250-\u1256\u1258\u125A-\u125D\u1260-\u1288\u128A-\u128D\u1290-\u12B0\u12B2-\u12B5\u12B8-\u12BE\u12C0\u12C2-\u12C5\u12C8-\u12D6\u12D8-\u1310\u1312-\u1315\u1318-\u135A\u135D-\u135F\u1380-\u138F\u13A0-\u13F5\u13F8-\u13FD\u1401-\u166C\u166F-\u167F\u1681-\u169A\u16A0-\u16EA\u16EE-\u16F8\u1700-\u170C\u170E-\u1714\u1720-\u1734\u1740-\u1753\u1760-\u176C\u176E-\u1770\u1772\u1773\u1780-\u17D3\u17D7\u17DC\u17DD\u17E0-\u17E9\u180B-\u180D\u1810-\u1819\u1820-\u1877\u1880-\u18AA\u18B0-\u18F5\u1900-\u191E\u1920-\u192B\u1930-\u193B\u1946-\u196D\u1970-\u1974\u1980-\u19AB\u19B0-\u19C9\u19D0-\u19D9\u1A00-\u1A1B\u1A20-\u1A5E\u1A60-\u1A7C\u1A7F-\u1A89\u1A90-\u1A99\u1AA7\u1AB0-\u1ABD\u1B00-\u1B4B\u1B50-\u1B59\u1B6B-\u1B73\u1B80-\u1BF3\u1C00-\u1C37\u1C40-\u1C49\u1C4D-\u1C7D\u1C80-\u1C88\u1CD0-\u1CD2\u1CD4-\u1CF9\u1D00-\u1DF9\u1DFB-\u1F15\u1F18-\u1F1D\u1F20-\u1F45\u1F48-\u1F4D\u1F50-\u1F57\u1F59\u1F5B\u1F5D\u1F5F-\u1F7D\u1F80-\u1FB4\u1FB6-\u1FBC\u1FBE\u1FC2-\u1FC4\u1FC6-\u1FCC\u1FD0-\u1FD3\u1FD6-\u1FDB\u1FE0-\u1FEC\u1FF2-\u1FF4\u1FF6-\u1FFC\u203F\u2040\u2054\u2071\u207F\u2090-\u209C\u20D0-\u20DC\u20E1\u20E5-\u20F0\u2102\u2107\u210A-\u2113\u2115\u2119-\u211D\u2124\u2126\u2128\u212A-\u212D\u212F-\u2139\u213C-\u213F\u2145-\u2149\u214E\u2160-\u2188\u2C00-\u2C2E\u2C30-\u2C5E\u2C60-\u2CE4\u2CEB-\u2CF3\u2D00-\u2D25\u2D27\u2D2D\u2D30-\u2D67\u2D6F\u2D7F-\u2D96\u2DA0-\u2DA6\u2DA8-\u2DAE\u2DB0-\u2DB6\u2DB8-\u2DBE\u2DC0-\u2DC6\u2DC8-\u2DCE\u2DD0-\u2DD6\u2DD8-\u2DDE\u2DE0-\u2DFF\u2E2F\u3005-\u3007\u3021-\u302F\u3031-\u3035\u3038-\u303C\u3041-\u3096\u3099\u309A\u309D-\u309F\u30A1-\u30FA\u30FC-\u30FF\u3105-\u312E\u3131-\u318E\u31A0-\u31BA\u31F0-\u31FF\u3400-\u4DB5\u4E00-\u9FEA\uA000-\uA48C\uA4D0-\uA4FD\uA500-\uA60C\uA610-\uA62B\uA640-\uA66F\uA674-\uA67D\uA67F-\uA6F1\uA717-\uA71F\uA722-\uA788\uA78B-\uA7AE\uA7B0-\uA7B7\uA7F7-\uA827\uA840-\uA873\uA880-\uA8C5\uA8D0-\uA8D9\uA8E0-\uA8F7\uA8FB\uA8FD\uA900-\uA92D\uA930-\uA953\uA960-\uA97C\uA980-\uA9C0\uA9CF-\uA9D9\uA9E0-\uA9FE\uAA00-\uAA36\uAA40-\uAA4D\uAA50-\uAA59\uAA60-\uAA76\uAA7A-\uAAC2\uAADB-\uAADD\uAAE0-\uAAEF\uAAF2-\uAAF6\uAB01-\uAB06\uAB09-\uAB0E\uAB11-\uAB16\uAB20-\uAB26\uAB28-\uAB2E\uAB30-\uAB5A\uAB5C-\uAB65\uAB70-\uABEA\uABEC\uABED\uABF0-\uABF9\uAC00-\uD7A3\uD7B0-\uD7C6\uD7CB-\uD7FB\uF900-\uFA6D\uFA70-\uFAD9\uFB00-\uFB06\uFB13-\uFB17\uFB1D-\uFB28\uFB2A-\uFB36\uFB38-\uFB3C\uFB3E\uFB40\uFB41\uFB43\uFB44\uFB46-\uFBB1\uFBD3-\uFD3D\uFD50-\uFD8F\uFD92-\uFDC7\uFDF0-\uFDFB\uFE00-\uFE0F\uFE20-\uFE2F\uFE33\uFE34\uFE4D-\uFE4F\uFE70-\uFE74\uFE76-\uFEFC\uFF10-\uFF19\uFF21-\uFF3A\uFF3F\uFF41-\uFF5A\uFF66-\uFFBE\uFFC2-\uFFC7\uFFCA-\uFFCF\uFFD2-\uFFD7\uFFDA-\uFFDC]|\uD800[\uDC00-\uDC0B\uDC0D-\uDC26\uDC28-\uDC3A\uDC3C\uDC3D\uDC3F-\uDC4D\uDC50-\uDC5D\uDC80-\uDCFA\uDD40-\uDD74\uDDFD\uDE80-\uDE9C\uDEA0-\uDED0\uDEE0\uDF00-\uDF1F\uDF2D-\uDF4A\uDF50-\uDF7A\uDF80-\uDF9D\uDFA0-\uDFC3\uDFC8-\uDFCF\uDFD1-\uDFD5]|\uD801[\uDC00-\uDC9D\uDCA0-\uDCA9\uDCB0-\uDCD3\uDCD8-\uDCFB\uDD00-\uDD27\uDD30-\uDD63\uDE00-\uDF36\uDF40-\uDF55\uDF60-\uDF67]|\uD802[\uDC00-\uDC05\uDC08\uDC0A-\uDC35\uDC37\uDC38\uDC3C\uDC3F-\uDC55\uDC60-\uDC76\uDC80-\uDC9E\uDCE0-\uDCF2\uDCF4\uDCF5\uDD00-\uDD15\uDD20-\uDD39\uDD80-\uDDB7\uDDBE\uDDBF\uDE00-\uDE03\uDE05\uDE06\uDE0C-\uDE13\uDE15-\uDE17\uDE19-\uDE33\uDE38-\uDE3A\uDE3F\uDE60-\uDE7C\uDE80-\uDE9C\uDEC0-\uDEC7\uDEC9-\uDEE6\uDF00-\uDF35\uDF40-\uDF55\uDF60-\uDF72\uDF80-\uDF91]|\uD803[\uDC00-\uDC48\uDC80-\uDCB2\uDCC0-\uDCF2]|\uD804[\uDC00-\uDC46\uDC66-\uDC6F\uDC7F-\uDCBA\uDCD0-\uDCE8\uDCF0-\uDCF9\uDD00-\uDD34\uDD36-\uDD3F\uDD50-\uDD73\uDD76\uDD80-\uDDC4\uDDCA-\uDDCC\uDDD0-\uDDDA\uDDDC\uDE00-\uDE11\uDE13-\uDE37\uDE3E\uDE80-\uDE86\uDE88\uDE8A-\uDE8D\uDE8F-\uDE9D\uDE9F-\uDEA8\uDEB0-\uDEEA\uDEF0-\uDEF9\uDF00-\uDF03\uDF05-\uDF0C\uDF0F\uDF10\uDF13-\uDF28\uDF2A-\uDF30\uDF32\uDF33\uDF35-\uDF39\uDF3C-\uDF44\uDF47\uDF48\uDF4B-\uDF4D\uDF50\uDF57\uDF5D-\uDF63\uDF66-\uDF6C\uDF70-\uDF74]|\uD805[\uDC00-\uDC4A\uDC50-\uDC59\uDC80-\uDCC5\uDCC7\uDCD0-\uDCD9\uDD80-\uDDB5\uDDB8-\uDDC0\uDDD8-\uDDDD\uDE00-\uDE40\uDE44\uDE50-\uDE59\uDE80-\uDEB7\uDEC0-\uDEC9\uDF00-\uDF19\uDF1D-\uDF2B\uDF30-\uDF39]|\uD806[\uDCA0-\uDCE9\uDCFF\uDE00-\uDE3E\uDE47\uDE50-\uDE83\uDE86-\uDE99\uDEC0-\uDEF8]|\uD807[\uDC00-\uDC08\uDC0A-\uDC36\uDC38-\uDC40\uDC50-\uDC59\uDC72-\uDC8F\uDC92-\uDCA7\uDCA9-\uDCB6\uDD00-\uDD06\uDD08\uDD09\uDD0B-\uDD36\uDD3A\uDD3C\uDD3D\uDD3F-\uDD47\uDD50-\uDD59]|\uD808[\uDC00-\uDF99]|\uD809[\uDC00-\uDC6E\uDC80-\uDD43]|[\uD80C\uD81C-\uD820\uD840-\uD868\uD86A-\uD86C\uD86F-\uD872\uD874-\uD879][\uDC00-\uDFFF]|\uD80D[\uDC00-\uDC2E]|\uD811[\uDC00-\uDE46]|\uD81A[\uDC00-\uDE38\uDE40-\uDE5E\uDE60-\uDE69\uDED0-\uDEED\uDEF0-\uDEF4\uDF00-\uDF36\uDF40-\uDF43\uDF50-\uDF59\uDF63-\uDF77\uDF7D-\uDF8F]|\uD81B[\uDF00-\uDF44\uDF50-\uDF7E\uDF8F-\uDF9F\uDFE0\uDFE1]|\uD821[\uDC00-\uDFEC]|\uD822[\uDC00-\uDEF2]|\uD82C[\uDC00-\uDD1E\uDD70-\uDEFB]|\uD82F[\uDC00-\uDC6A\uDC70-\uDC7C\uDC80-\uDC88\uDC90-\uDC99\uDC9D\uDC9E]|\uD834[\uDD65-\uDD69\uDD6D-\uDD72\uDD7B-\uDD82\uDD85-\uDD8B\uDDAA-\uDDAD\uDE42-\uDE44]|\uD835[\uDC00-\uDC54\uDC56-\uDC9C\uDC9E\uDC9F\uDCA2\uDCA5\uDCA6\uDCA9-\uDCAC\uDCAE-\uDCB9\uDCBB\uDCBD-\uDCC3\uDCC5-\uDD05\uDD07-\uDD0A\uDD0D-\uDD14\uDD16-\uDD1C\uDD1E-\uDD39\uDD3B-\uDD3E\uDD40-\uDD44\uDD46\uDD4A-\uDD50\uDD52-\uDEA5\uDEA8-\uDEC0\uDEC2-\uDEDA\uDEDC-\uDEFA\uDEFC-\uDF14\uDF16-\uDF34\uDF36-\uDF4E\uDF50-\uDF6E\uDF70-\uDF88\uDF8A-\uDFA8\uDFAA-\uDFC2\uDFC4-\uDFCB\uDFCE-\uDFFF]|\uD836[\uDE00-\uDE36\uDE3B-\uDE6C\uDE75\uDE84\uDE9B-\uDE9F\uDEA1-\uDEAF]|\uD838[\uDC00-\uDC06\uDC08-\uDC18\uDC1B-\uDC21\uDC23\uDC24\uDC26-\uDC2A]|\uD83A[\uDC00-\uDCC4\uDCD0-\uDCD6\uDD00-\uDD4A\uDD50-\uDD59]|\uD83B[\uDE00-\uDE03\uDE05-\uDE1F\uDE21\uDE22\uDE24\uDE27\uDE29-\uDE32\uDE34-\uDE37\uDE39\uDE3B\uDE42\uDE47\uDE49\uDE4B\uDE4D-\uDE4F\uDE51\uDE52\uDE54\uDE57\uDE59\uDE5B\uDE5D\uDE5F\uDE61\uDE62\uDE64\uDE67-\uDE6A\uDE6C-\uDE72\uDE74-\uDE77\uDE79-\uDE7C\uDE7E\uDE80-\uDE89\uDE8B-\uDE9B\uDEA1-\uDEA3\uDEA5-\uDEA9\uDEAB-\uDEBB]|\uD869[\uDC00-\uDED6\uDF00-\uDFFF]|\uD86D[\uDC00-\uDF34\uDF40-\uDFFF]|\uD86E[\uDC00-\uDC1D\uDC20-\uDFFF]|\uD873[\uDC00-\uDEA1\uDEB0-\uDFFF]|\uD87A[\uDC00-\uDFE0]|\uD87E[\uDC00-\uDE1D]|\uDB40[\uDD00-\uDDEF]/,Yu={Space_Separator:e0,ID_Start:u0,ID_Continue:r0},J={isSpaceSeparator(e){return typeof e=="string"&&Yu.Space_Separator.test(e)},isIdStartChar(e){return typeof e=="string"&&(e>="a"&&e<="z"||e>="A"&&e<="Z"||e==="$"||e==="_"||Yu.ID_Start.test(e))},isIdContinueChar(e){return typeof e=="string"&&(e>="a"&&e<="z"||e>="A"&&e<="Z"||e>="0"&&e<="9"||e==="$"||e==="_"||e==="\u200C"||e==="\u200D"||Yu.ID_Continue.test(e))},isDigit(e){return typeof e=="string"&&/[0-9]/.test(e)},isHexDigit(e){return typeof e=="string"&&/[0-9A-Fa-f]/.test(e)}},Uu,oe,me,hu,_e,Fe,X,Vu,Xe,i0=function(n,f){Uu=String(n),oe="start",me=[],hu=0,_e=1,Fe=0,X=void 0,Vu=void 0,Xe=void 0;do X=n0(),o0[oe]();while(X.type!=="eof");return typeof f=="function"?qu({"":Xe},"",f):Xe};function qu(e,n,f){let l=e[n];if(l!=null&&typeof l=="object")if(Array.isArray(l))for(let s=0;s<l.length;s++){let r=String(s),D=qu(l,r,f);D===void 0?delete l[r]:Object.defineProperty(l,r,{value:D,writable:true,enumerable:true,configurable:true});}else for(let s in l){let r=qu(l,s,f);r===void 0?delete l[s]:Object.defineProperty(l,s,{value:r,writable:true,enumerable:true,configurable:true});}return f.call(e,n,l)}var M,j,Qe,ge,Y;function n0(){for(M="default",j="",Qe=false,ge=1;;){Y=xe();let e=ei[M]();if(e)return e}}function xe(){if(Uu[hu])return String.fromCodePoint(Uu.codePointAt(hu))}function d(){let e=xe();return e===`
|
9
|
-
`?(_e++,Fe=0):e?Fe+=e.length:Fe++,e&&(hu+=e.length),e}var ei={default(){switch(Y){case " ":case "\v":case "\f":case " ":case "\xA0":case "\uFEFF":case `
|
10
|
-
`:case "\r":case "\u2028":case "\u2029":d();return;case "/":d(),M="comment";return;case void 0:return d(),K("eof")}if(J.isSpaceSeparator(Y)){d();return}return ei[oe]()},comment(){switch(Y){case "*":d(),M="multiLineComment";return;case "/":d(),M="singleLineComment";return}throw V(d())},multiLineComment(){switch(Y){case "*":d(),M="multiLineCommentAsterisk";return;case void 0:throw V(d())}d();},multiLineCommentAsterisk(){switch(Y){case "*":d();return;case "/":d(),M="default";return;case void 0:throw V(d())}d(),M="multiLineComment";},singleLineComment(){switch(Y){case `
|
11
|
-
`:case "\r":case "\u2028":case "\u2029":d(),M="default";return;case void 0:return d(),K("eof")}d();},value(){switch(Y){case "{":case "[":return K("punctuator",d());case "n":return d(),Ie("ull"),K("null",null);case "t":return d(),Ie("rue"),K("boolean",true);case "f":return d(),Ie("alse"),K("boolean",false);case "-":case "+":d()==="-"&&(ge=-1),M="sign";return;case ".":j=d(),M="decimalPointLeading";return;case "0":j=d(),M="zero";return;case "1":case "2":case "3":case "4":case "5":case "6":case "7":case "8":case "9":j=d(),M="decimalInteger";return;case "I":return d(),Ie("nfinity"),K("numeric",1/0);case "N":return d(),Ie("aN"),K("numeric",NaN);case '"':case "'":Qe=d()==='"',j="",M="string";return}throw V(d())},identifierNameStartEscape(){if(Y!=="u")throw V(d());d();let e=Ku();switch(e){case "$":case "_":break;default:if(!J.isIdStartChar(e))throw Xr();break}j+=e,M="identifierName";},identifierName(){switch(Y){case "$":case "_":case "\u200C":case "\u200D":j+=d();return;case "\\":d(),M="identifierNameEscape";return}if(J.isIdContinueChar(Y)){j+=d();return}return K("identifier",j)},identifierNameEscape(){if(Y!=="u")throw V(d());d();let e=Ku();switch(e){case "$":case "_":case "\u200C":case "\u200D":break;default:if(!J.isIdContinueChar(e))throw Xr();break}j+=e,M="identifierName";},sign(){switch(Y){case ".":j=d(),M="decimalPointLeading";return;case "0":j=d(),M="zero";return;case "1":case "2":case "3":case "4":case "5":case "6":case "7":case "8":case "9":j=d(),M="decimalInteger";return;case "I":return d(),Ie("nfinity"),K("numeric",ge*(1/0));case "N":return d(),Ie("aN"),K("numeric",NaN)}throw V(d())},zero(){switch(Y){case ".":j+=d(),M="decimalPoint";return;case "e":case "E":j+=d(),M="decimalExponent";return;case "x":case "X":j+=d(),M="hexadecimal";return}return K("numeric",ge*0)},decimalInteger(){switch(Y){case ".":j+=d(),M="decimalPoint";return;case "e":case "E":j+=d(),M="decimalExponent";return}if(J.isDigit(Y)){j+=d();return}return K("numeric",ge*Number(j))},decimalPointLeading(){if(J.isDigit(Y)){j+=d(),M="decimalFraction";return}throw V(d())},decimalPoint(){switch(Y){case "e":case "E":j+=d(),M="decimalExponent";return}if(J.isDigit(Y)){j+=d(),M="decimalFraction";return}return K("numeric",ge*Number(j))},decimalFraction(){switch(Y){case "e":case "E":j+=d(),M="decimalExponent";return}if(J.isDigit(Y)){j+=d();return}return K("numeric",ge*Number(j))},decimalExponent(){switch(Y){case "+":case "-":j+=d(),M="decimalExponentSign";return}if(J.isDigit(Y)){j+=d(),M="decimalExponentInteger";return}throw V(d())},decimalExponentSign(){if(J.isDigit(Y)){j+=d(),M="decimalExponentInteger";return}throw V(d())},decimalExponentInteger(){if(J.isDigit(Y)){j+=d();return}return K("numeric",ge*Number(j))},hexadecimal(){if(J.isHexDigit(Y)){j+=d(),M="hexadecimalInteger";return}throw V(d())},hexadecimalInteger(){if(J.isHexDigit(Y)){j+=d();return}return K("numeric",ge*Number(j))},string(){switch(Y){case "\\":d(),j+=t0();return;case '"':if(Qe)return d(),K("string",j);j+=d();return;case "'":if(!Qe)return d(),K("string",j);j+=d();return;case `
|
12
|
-
`:case "\r":throw V(d());case "\u2028":case "\u2029":f0(Y);break;case void 0:throw V(d())}j+=d();},start(){switch(Y){case "{":case "[":return K("punctuator",d())}M="value";},beforePropertyName(){switch(Y){case "$":case "_":j=d(),M="identifierName";return;case "\\":d(),M="identifierNameStartEscape";return;case "}":return K("punctuator",d());case '"':case "'":Qe=d()==='"',M="string";return}if(J.isIdStartChar(Y)){j+=d(),M="identifierName";return}throw V(d())},afterPropertyName(){if(Y===":")return K("punctuator",d());throw V(d())},beforePropertyValue(){M="value";},afterPropertyValue(){switch(Y){case ",":case "}":return K("punctuator",d())}throw V(d())},beforeArrayValue(){if(Y==="]")return K("punctuator",d());M="value";},afterArrayValue(){switch(Y){case ",":case "]":return K("punctuator",d())}throw V(d())},end(){throw V(d())}};function K(e,n){return {type:e,value:n,line:_e,column:Fe}}function Ie(e){for(let n of e){if(xe()!==n)throw V(d());d();}}function t0(){switch(xe()){case "b":return d(),"\b";case "f":return d(),"\f";case "n":return d(),`
|
13
|
-
`;case "r":return d(),"\r";case "t":return d()," ";case "v":return d(),"\v";case "0":if(d(),J.isDigit(xe()))throw V(d());return "\0";case "x":return d(),l0();case "u":return d(),Ku();case `
|
14
|
-
`:case "\u2028":case "\u2029":return d(),"";case "\r":return d(),xe()===`
|
15
|
-
`&&d(),"";case "1":case "2":case "3":case "4":case "5":case "6":case "7":case "8":case "9":throw V(d());case void 0:throw V(d())}return d()}function l0(){let e="",n=xe();if(!J.isHexDigit(n)||(e+=d(),n=xe(),!J.isHexDigit(n)))throw V(d());return e+=d(),String.fromCodePoint(parseInt(e,16))}function Ku(){let e="",n=4;for(;n-- >0;){let f=xe();if(!J.isHexDigit(f))throw V(d());e+=d();}return String.fromCodePoint(parseInt(e,16))}var o0={start(){if(X.type==="eof")throw Oe();Hu();},beforePropertyName(){switch(X.type){case "identifier":case "string":Vu=X.value,oe="afterPropertyName";return;case "punctuator":Au();return;case "eof":throw Oe()}},afterPropertyName(){if(X.type==="eof")throw Oe();oe="beforePropertyValue";},beforePropertyValue(){if(X.type==="eof")throw Oe();Hu();},beforeArrayValue(){if(X.type==="eof")throw Oe();if(X.type==="punctuator"&&X.value==="]"){Au();return}Hu();},afterPropertyValue(){if(X.type==="eof")throw Oe();switch(X.value){case ",":oe="beforePropertyName";return;case "}":Au();}},afterArrayValue(){if(X.type==="eof")throw Oe();switch(X.value){case ",":oe="beforeArrayValue";return;case "]":Au();}},end(){}};function Hu(){let e;switch(X.type){case "punctuator":switch(X.value){case "{":e={};break;case "[":e=[];break}break;case "null":case "boolean":case "numeric":case "string":e=X.value;break}if(Xe===void 0)Xe=e;else {let n=me[me.length-1];Array.isArray(n)?n.push(e):Object.defineProperty(n,Vu,{value:e,writable:true,enumerable:true,configurable:true});}if(e!==null&&typeof e=="object")me.push(e),Array.isArray(e)?oe="beforeArrayValue":oe="beforePropertyName";else {let n=me[me.length-1];n==null?oe="end":Array.isArray(n)?oe="afterArrayValue":oe="afterPropertyValue";}}function Au(){me.pop();let e=me[me.length-1];e==null?oe="end":Array.isArray(e)?oe="afterArrayValue":oe="afterPropertyValue";}function V(e){return Cu(e===void 0?`JSON5: invalid end of input at ${_e}:${Fe}`:`JSON5: invalid character '${ui(e)}' at ${_e}:${Fe}`)}function Oe(){return Cu(`JSON5: invalid end of input at ${_e}:${Fe}`)}function Xr(){return Fe-=5,Cu(`JSON5: invalid identifier character at ${_e}:${Fe}`)}function f0(e){console.warn(`JSON5: '${ui(e)}' in strings is not valid ECMAScript; consider escaping`);}function ui(e){let n={"'":"\\'",'"':'\\"',"\\":"\\\\","\b":"\\b","\f":"\\f","\n":"\\n","\r":"\\r"," ":"\\t","\v":"\\v","\0":"\\0","\u2028":"\\u2028","\u2029":"\\u2029"};if(n[e])return n[e];if(e<" "){let f=e.charCodeAt(0).toString(16);return "\\x"+("00"+f).substring(f.length)}return e}function Cu(e){let n=new SyntaxError(e);return n.lineNumber=_e,n.columnNumber=Fe,n}var s0=function(n,f,l){let s=[],r="",D,A,C="",x;if(f!=null&&typeof f=="object"&&!Array.isArray(f)&&(l=f.space,x=f.quote,f=f.replacer),typeof f=="function")A=f;else if(Array.isArray(f)){D=[];for(let B of f){let k;typeof B=="string"?k=B:(typeof B=="number"||B instanceof String||B instanceof Number)&&(k=String(B)),k!==void 0&&D.indexOf(k)<0&&D.push(k);}}return l instanceof Number?l=Number(l):l instanceof String&&(l=String(l)),typeof l=="number"?l>0&&(l=Math.min(10,Math.floor(l)),C=" ".substr(0,l)):typeof l=="string"&&(C=l.substr(0,10)),c("",{"":n});function c(B,k){let b=k[B];switch(b!=null&&(typeof b.toJSON5=="function"?b=b.toJSON5(B):typeof b.toJSON=="function"&&(b=b.toJSON(B))),A&&(b=A.call(k,B,b)),b instanceof Number?b=Number(b):b instanceof String?b=String(b):b instanceof Boolean&&(b=b.valueOf()),b){case null:return "null";case true:return "true";case false:return "false"}if(typeof b=="string")return y(b);if(typeof b=="number")return String(b);if(typeof b=="object")return Array.isArray(b)?R(b):O(b)}function y(B){let k={"'":.1,'"':.2},b={"'":"\\'",'"':'\\"',"\\":"\\\\","\b":"\\b","\f":"\\f","\n":"\\n","\r":"\\r"," ":"\\t","\v":"\\v","\0":"\\0","\u2028":"\\u2028","\u2029":"\\u2029"},m="";for(let T=0;T<B.length;T++){let L=B[T];switch(L){case "'":case '"':k[L]++,m+=L;continue;case "\0":if(J.isDigit(B[T+1])){m+="\\x00";continue}}if(b[L]){m+=b[L];continue}if(L<" "){let Q=L.charCodeAt(0).toString(16);m+="\\x"+("00"+Q).substring(Q.length);continue}m+=L;}let P=x||Object.keys(k).reduce((T,L)=>k[T]<k[L]?T:L);return m=m.replace(new RegExp(P,"g"),b[P]),P+m+P}function O(B){if(s.indexOf(B)>=0)throw TypeError("Converting circular structure to JSON5");s.push(B);let k=r;r=r+C;let b=D||Object.keys(B),m=[];for(let T of b){let L=c(T,B);if(L!==void 0){let Q=$(T)+":";C!==""&&(Q+=" "),Q+=L,m.push(Q);}}let P;if(m.length===0)P="{}";else {let T;if(C==="")T=m.join(","),P="{"+T+"}";else {let L=`,
|
16
|
-
`+r;T=m.join(L),P=`{
|
17
|
-
`+r+T+`,
|
18
|
-
`+k+"}";}}return s.pop(),r=k,P}function $(B){if(B.length===0)return y(B);let k=String.fromCodePoint(B.codePointAt(0));if(!J.isIdStartChar(k))return y(B);for(let b=k.length;b<B.length;b++)if(!J.isIdContinueChar(String.fromCodePoint(B.codePointAt(b))))return y(B);return B}function R(B){if(s.indexOf(B)>=0)throw TypeError("Converting circular structure to JSON5");s.push(B);let k=r;r=r+C;let b=[];for(let P=0;P<B.length;P++){let T=c(String(P),B);b.push(T!==void 0?T:"null");}let m;if(b.length===0)m="[]";else if(C==="")m="["+b.join(",")+"]";else {let P=`,
|
19
|
-
`+r,T=b.join(P);m=`[
|
20
|
-
`+r+T+`,
|
21
|
-
`+k+"]";}return s.pop(),r=k,m}},a0={parse:i0,stringify:s0},c0=a0,ri=c0;var An=Zt(fi());function yi(e){return typeof e=="undefined"||e===null}function h0(e){return typeof e=="object"&&e!==null}function C0(e){return Array.isArray(e)?e:yi(e)?[]:[e]}function F0(e,n){var f,l,s,r;if(n)for(r=Object.keys(n),f=0,l=r.length;f<l;f+=1)s=r[f],e[s]=n[s];return e}function d0(e,n){var f="",l;for(l=0;l<n;l+=1)f+=e;return f}function E0(e){return e===0&&Number.NEGATIVE_INFINITY===1/e}var g0=yi,m0=h0,x0=C0,v0=d0,y0=E0,B0=F0,Z={isNothing:g0,isObject:m0,toArray:x0,repeat:v0,isNegativeZero:y0,extend:B0};function Bi(e,n){var f="",l=e.reason||"(unknown reason)";return e.mark?(e.mark.name&&(f+='in "'+e.mark.name+'" '),f+="("+(e.mark.line+1)+":"+(e.mark.column+1)+")",!n&&e.mark.snippet&&(f+=`
|
22
|
-
|
23
|
-
`+e.mark.snippet),l+" "+f):l}function uu(e,n){Error.call(this),this.name="YAMLException",this.reason=e,this.mark=n,this.message=Bi(this,false),Error.captureStackTrace?Error.captureStackTrace(this,this.constructor):this.stack=new Error().stack||"";}uu.prototype=Object.create(Error.prototype);uu.prototype.constructor=uu;uu.prototype.toString=function(n){return this.name+": "+Bi(this,n)};var fe=uu;function Gu(e,n,f,l,s){var r="",D="",A=Math.floor(s/2)-1;return l-n>A&&(r=" ... ",n=l-A+r.length),f-l>A&&(D=" ...",f=l+A-D.length),{str:r+e.slice(n,f).replace(/\t/g,"\u2192")+D,pos:l-n+r.length}}function Wu(e,n){return Z.repeat(" ",n-e.length)+e}function w0(e,n){if(n=Object.create(n||null),!e.buffer)return null;n.maxLength||(n.maxLength=79),typeof n.indent!="number"&&(n.indent=1),typeof n.linesBefore!="number"&&(n.linesBefore=3),typeof n.linesAfter!="number"&&(n.linesAfter=2);for(var f=/\r?\n|\r|\0/g,l=[0],s=[],r,D=-1;r=f.exec(e.buffer);)s.push(r.index),l.push(r.index+r[0].length),e.position<=r.index&&D<0&&(D=l.length-2);D<0&&(D=l.length-1);var A="",C,x,c=Math.min(e.line+n.linesAfter,s.length).toString().length,y=n.maxLength-(n.indent+c+3);for(C=1;C<=n.linesBefore&&!(D-C<0);C++)x=Gu(e.buffer,l[D-C],s[D-C],e.position-(l[D]-l[D-C]),y),A=Z.repeat(" ",n.indent)+Wu((e.line-C+1).toString(),c)+" | "+x.str+`
|
24
|
-
`+A;for(x=Gu(e.buffer,l[D],s[D],e.position,y),A+=Z.repeat(" ",n.indent)+Wu((e.line+1).toString(),c)+" | "+x.str+`
|
25
|
-
`,A+=Z.repeat("-",n.indent+c+3+x.pos)+`^
|
26
|
-
`,C=1;C<=n.linesAfter&&!(D+C>=s.length);C++)x=Gu(e.buffer,l[D+C],s[D+C],e.position-(l[D]-l[D+C]),y),A+=Z.repeat(" ",n.indent)+Wu((e.line+C+1).toString(),c)+" | "+x.str+`
|
27
|
-
`;return A.replace(/\n$/,"")}var b0=w0,_0=["kind","multi","resolve","construct","instanceOf","predicate","represent","representName","defaultStyle","styleAliases"],S0=["scalar","sequence","mapping"];function $0(e){var n={};return e!==null&&Object.keys(e).forEach(function(f){e[f].forEach(function(l){n[String(l)]=f;});}),n}function P0(e,n){if(n=n||{},Object.keys(n).forEach(function(f){if(_0.indexOf(f)===-1)throw new fe('Unknown option "'+f+'" is met in definition of "'+e+'" YAML type.')}),this.options=n,this.tag=e,this.kind=n.kind||null,this.resolve=n.resolve||function(){return true},this.construct=n.construct||function(f){return f},this.instanceOf=n.instanceOf||null,this.predicate=n.predicate||null,this.represent=n.represent||null,this.representName=n.representName||null,this.defaultStyle=n.defaultStyle||null,this.multi=n.multi||false,this.styleAliases=$0(n.styleAliases||null),S0.indexOf(this.kind)===-1)throw new fe('Unknown kind "'+this.kind+'" is specified for "'+e+'" YAML type.')}var ne=P0;function si(e,n){var f=[];return e[n].forEach(function(l){var s=f.length;f.forEach(function(r,D){r.tag===l.tag&&r.kind===l.kind&&r.multi===l.multi&&(s=D);}),f[s]=l;}),f}function I0(){var e={scalar:{},sequence:{},mapping:{},fallback:{},multi:{scalar:[],sequence:[],mapping:[],fallback:[]}},n,f;function l(s){s.multi?(e.multi[s.kind].push(s),e.multi.fallback.push(s)):e[s.kind][s.tag]=e.fallback[s.tag]=s;}for(n=0,f=arguments.length;n<f;n+=1)arguments[n].forEach(l);return e}function zu(e){return this.extend(e)}zu.prototype.extend=function(n){var f=[],l=[];if(n instanceof ne)l.push(n);else if(Array.isArray(n))l=l.concat(n);else if(n&&(Array.isArray(n.implicit)||Array.isArray(n.explicit)))n.implicit&&(f=f.concat(n.implicit)),n.explicit&&(l=l.concat(n.explicit));else throw new fe("Schema.extend argument should be a Type, [ Type ], or a schema definition ({ implicit: [...], explicit: [...] })");f.forEach(function(r){if(!(r instanceof ne))throw new fe("Specified list of YAML types (or a single Type object) contains a non-Type object.");if(r.loadKind&&r.loadKind!=="scalar")throw new fe("There is a non-scalar type in the implicit list of a schema. Implicit resolving of such types is not supported.");if(r.multi)throw new fe("There is a multi type in the implicit list of a schema. Multi tags can only be listed as explicit.")}),l.forEach(function(r){if(!(r instanceof ne))throw new fe("Specified list of YAML types (or a single Type object) contains a non-Type object.")});var s=Object.create(zu.prototype);return s.implicit=(this.implicit||[]).concat(f),s.explicit=(this.explicit||[]).concat(l),s.compiledImplicit=si(s,"implicit"),s.compiledExplicit=si(s,"explicit"),s.compiledTypeMap=I0(s.compiledImplicit,s.compiledExplicit),s};var wi=zu,bi=new ne("tag:yaml.org,2002:str",{kind:"scalar",construct:function(e){return e!==null?e:""}}),_i=new ne("tag:yaml.org,2002:seq",{kind:"sequence",construct:function(e){return e!==null?e:[]}}),Si=new ne("tag:yaml.org,2002:map",{kind:"mapping",construct:function(e){return e!==null?e:{}}}),$i=new wi({explicit:[bi,_i,Si]});function O0(e){if(e===null)return true;var n=e.length;return n===1&&e==="~"||n===4&&(e==="null"||e==="Null"||e==="NULL")}function k0(){return null}function T0(e){return e===null}var Pi=new ne("tag:yaml.org,2002:null",{kind:"scalar",resolve:O0,construct:k0,predicate:T0,represent:{canonical:function(){return "~"},lowercase:function(){return "null"},uppercase:function(){return "NULL"},camelcase:function(){return "Null"},empty:function(){return ""}},defaultStyle:"lowercase"});function N0(e){if(e===null)return false;var n=e.length;return n===4&&(e==="true"||e==="True"||e==="TRUE")||n===5&&(e==="false"||e==="False"||e==="FALSE")}function L0(e){return e==="true"||e==="True"||e==="TRUE"}function R0(e){return Object.prototype.toString.call(e)==="[object Boolean]"}var Ii=new ne("tag:yaml.org,2002:bool",{kind:"scalar",resolve:N0,construct:L0,predicate:R0,represent:{lowercase:function(e){return e?"true":"false"},uppercase:function(e){return e?"TRUE":"FALSE"},camelcase:function(e){return e?"True":"False"}},defaultStyle:"lowercase"});function j0(e){return 48<=e&&e<=57||65<=e&&e<=70||97<=e&&e<=102}function M0(e){return 48<=e&&e<=55}function Y0(e){return 48<=e&&e<=57}function H0(e){if(e===null)return false;var n=e.length,f=0,l=false,s;if(!n)return false;if(s=e[f],(s==="-"||s==="+")&&(s=e[++f]),s==="0"){if(f+1===n)return true;if(s=e[++f],s==="b"){for(f++;f<n;f++)if(s=e[f],s!=="_"){if(s!=="0"&&s!=="1")return false;l=true;}return l&&s!=="_"}if(s==="x"){for(f++;f<n;f++)if(s=e[f],s!=="_"){if(!j0(e.charCodeAt(f)))return false;l=true;}return l&&s!=="_"}if(s==="o"){for(f++;f<n;f++)if(s=e[f],s!=="_"){if(!M0(e.charCodeAt(f)))return false;l=true;}return l&&s!=="_"}}if(s==="_")return false;for(;f<n;f++)if(s=e[f],s!=="_"){if(!Y0(e.charCodeAt(f)))return false;l=true;}return !(!l||s==="_")}function U0(e){var n=e,f=1,l;if(n.indexOf("_")!==-1&&(n=n.replace(/_/g,"")),l=n[0],(l==="-"||l==="+")&&(l==="-"&&(f=-1),n=n.slice(1),l=n[0]),n==="0")return 0;if(l==="0"){if(n[1]==="b")return f*parseInt(n.slice(2),2);if(n[1]==="x")return f*parseInt(n.slice(2),16);if(n[1]==="o")return f*parseInt(n.slice(2),8)}return f*parseInt(n,10)}function q0(e){return Object.prototype.toString.call(e)==="[object Number]"&&e%1===0&&!Z.isNegativeZero(e)}var Oi=new ne("tag:yaml.org,2002:int",{kind:"scalar",resolve:H0,construct:U0,predicate:q0,represent:{binary:function(e){return e>=0?"0b"+e.toString(2):"-0b"+e.toString(2).slice(1)},octal:function(e){return e>=0?"0o"+e.toString(8):"-0o"+e.toString(8).slice(1)},decimal:function(e){return e.toString(10)},hexadecimal:function(e){return e>=0?"0x"+e.toString(16).toUpperCase():"-0x"+e.toString(16).toUpperCase().slice(1)}},defaultStyle:"decimal",styleAliases:{binary:[2,"bin"],octal:[8,"oct"],decimal:[10,"dec"],hexadecimal:[16,"hex"]}}),K0=new RegExp("^(?:[-+]?(?:[0-9][0-9_]*)(?:\\.[0-9_]*)?(?:[eE][-+]?[0-9]+)?|\\.[0-9_]+(?:[eE][-+]?[0-9]+)?|[-+]?\\.(?:inf|Inf|INF)|\\.(?:nan|NaN|NAN))$");function V0(e){return !(e===null||!K0.test(e)||e[e.length-1]==="_")}function G0(e){var n,f;return n=e.replace(/_/g,"").toLowerCase(),f=n[0]==="-"?-1:1,"+-".indexOf(n[0])>=0&&(n=n.slice(1)),n===".inf"?f===1?Number.POSITIVE_INFINITY:Number.NEGATIVE_INFINITY:n===".nan"?NaN:f*parseFloat(n,10)}var W0=/^[-+]?[0-9]+e/;function J0(e,n){var f;if(isNaN(e))switch(n){case "lowercase":return ".nan";case "uppercase":return ".NAN";case "camelcase":return ".NaN"}else if(Number.POSITIVE_INFINITY===e)switch(n){case "lowercase":return ".inf";case "uppercase":return ".INF";case "camelcase":return ".Inf"}else if(Number.NEGATIVE_INFINITY===e)switch(n){case "lowercase":return "-.inf";case "uppercase":return "-.INF";case "camelcase":return "-.Inf"}else if(Z.isNegativeZero(e))return "-0.0";return f=e.toString(10),W0.test(f)?f.replace("e",".e"):f}function z0(e){return Object.prototype.toString.call(e)==="[object Number]"&&(e%1!==0||Z.isNegativeZero(e))}var ki=new ne("tag:yaml.org,2002:float",{kind:"scalar",resolve:V0,construct:G0,predicate:z0,represent:J0,defaultStyle:"lowercase"}),Ti=$i.extend({implicit:[Pi,Ii,Oi,ki]}),Ni=Ti,Li=new RegExp("^([0-9][0-9][0-9][0-9])-([0-9][0-9])-([0-9][0-9])$"),Ri=new RegExp("^([0-9][0-9][0-9][0-9])-([0-9][0-9]?)-([0-9][0-9]?)(?:[Tt]|[ \\t]+)([0-9][0-9]?):([0-9][0-9]):([0-9][0-9])(?:\\.([0-9]*))?(?:[ \\t]*(Z|([-+])([0-9][0-9]?)(?::([0-9][0-9]))?))?$");function Z0(e){return e===null?false:Li.exec(e)!==null||Ri.exec(e)!==null}function Q0(e){var n,f,l,s,r,D,A,C=0,x=null,c,y,O;if(n=Li.exec(e),n===null&&(n=Ri.exec(e)),n===null)throw new Error("Date resolve error");if(f=+n[1],l=+n[2]-1,s=+n[3],!n[4])return new Date(Date.UTC(f,l,s));if(r=+n[4],D=+n[5],A=+n[6],n[7]){for(C=n[7].slice(0,3);C.length<3;)C+="0";C=+C;}return n[9]&&(c=+n[10],y=+(n[11]||0),x=(c*60+y)*6e4,n[9]==="-"&&(x=-x)),O=new Date(Date.UTC(f,l,s,r,D,A,C)),x&&O.setTime(O.getTime()-x),O}function X0(e){return e.toISOString()}var ji=new ne("tag:yaml.org,2002:timestamp",{kind:"scalar",resolve:Z0,construct:Q0,instanceOf:Date,represent:X0});function el(e){return e==="<<"||e===null}var Mi=new ne("tag:yaml.org,2002:merge",{kind:"scalar",resolve:el}),ur=`ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=
|
28
|
-
\r`;function ul(e){if(e===null)return false;var n,f,l=0,s=e.length,r=ur;for(f=0;f<s;f++)if(n=r.indexOf(e.charAt(f)),!(n>64)){if(n<0)return false;l+=6;}return l%8===0}function rl(e){var n,f,l=e.replace(/[\r\n=]/g,""),s=l.length,r=ur,D=0,A=[];for(n=0;n<s;n++)n%4===0&&n&&(A.push(D>>16&255),A.push(D>>8&255),A.push(D&255)),D=D<<6|r.indexOf(l.charAt(n));return f=s%4*6,f===0?(A.push(D>>16&255),A.push(D>>8&255),A.push(D&255)):f===18?(A.push(D>>10&255),A.push(D>>2&255)):f===12&&A.push(D>>4&255),new Uint8Array(A)}function il(e){var n="",f=0,l,s,r=e.length,D=ur;for(l=0;l<r;l++)l%3===0&&l&&(n+=D[f>>18&63],n+=D[f>>12&63],n+=D[f>>6&63],n+=D[f&63]),f=(f<<8)+e[l];return s=r%3,s===0?(n+=D[f>>18&63],n+=D[f>>12&63],n+=D[f>>6&63],n+=D[f&63]):s===2?(n+=D[f>>10&63],n+=D[f>>4&63],n+=D[f<<2&63],n+=D[64]):s===1&&(n+=D[f>>2&63],n+=D[f<<4&63],n+=D[64],n+=D[64]),n}function nl(e){return Object.prototype.toString.call(e)==="[object Uint8Array]"}var Yi=new ne("tag:yaml.org,2002:binary",{kind:"scalar",resolve:ul,construct:rl,predicate:nl,represent:il}),tl=Object.prototype.hasOwnProperty,ll=Object.prototype.toString;function ol(e){if(e===null)return true;var n=[],f,l,s,r,D,A=e;for(f=0,l=A.length;f<l;f+=1){if(s=A[f],D=false,ll.call(s)!=="[object Object]")return false;for(r in s)if(tl.call(s,r))if(!D)D=true;else return false;if(!D)return false;if(n.indexOf(r)===-1)n.push(r);else return false}return true}function fl(e){return e!==null?e:[]}var Hi=new ne("tag:yaml.org,2002:omap",{kind:"sequence",resolve:ol,construct:fl}),sl=Object.prototype.toString;function al(e){if(e===null)return true;var n,f,l,s,r,D=e;for(r=new Array(D.length),n=0,f=D.length;n<f;n+=1){if(l=D[n],sl.call(l)!=="[object Object]"||(s=Object.keys(l),s.length!==1))return false;r[n]=[s[0],l[s[0]]];}return true}function cl(e){if(e===null)return [];var n,f,l,s,r,D=e;for(r=new Array(D.length),n=0,f=D.length;n<f;n+=1)l=D[n],s=Object.keys(l),r[n]=[s[0],l[s[0]]];return r}var Ui=new ne("tag:yaml.org,2002:pairs",{kind:"sequence",resolve:al,construct:cl}),Dl=Object.prototype.hasOwnProperty;function pl(e){if(e===null)return true;var n,f=e;for(n in f)if(Dl.call(f,n)&&f[n]!==null)return false;return true}function Al(e){return e!==null?e:{}}var qi=new ne("tag:yaml.org,2002:set",{kind:"mapping",resolve:pl,construct:Al}),rr=Ni.extend({implicit:[ji,Mi],explicit:[Yi,Hi,Ui,qi]}),$e=Object.prototype.hasOwnProperty,Fu=1,Ki=2,Vi=3,du=4,Ju=1,hl=2,ai=3,Cl=/[\x00-\x08\x0B\x0C\x0E-\x1F\x7F-\x84\x86-\x9F\uFFFE\uFFFF]|[\uD800-\uDBFF](?![\uDC00-\uDFFF])|(?:[^\uD800-\uDBFF]|^)[\uDC00-\uDFFF]/,Fl=/[\x85\u2028\u2029]/,dl=/[,\[\]\{\}]/,Gi=/^(?:!|!!|![a-z\-]+!)$/i,Wi=/^(?:!|[^,\[\]\{\}])(?:%[0-9a-f]{2}|[0-9a-z\-#;\/\?:@&=\+\$,_\.!~\*'\(\)\[\]])*$/i;function ci(e){return Object.prototype.toString.call(e)}function de(e){return e===10||e===13}function Te(e){return e===9||e===32}function se(e){return e===9||e===32||e===10||e===13}function Ye(e){return e===44||e===91||e===93||e===123||e===125}function El(e){var n;return 48<=e&&e<=57?e-48:(n=e|32,97<=n&&n<=102?n-97+10:-1)}function gl(e){return e===120?2:e===117?4:e===85?8:0}function ml(e){return 48<=e&&e<=57?e-48:-1}function Di(e){return e===48?"\0":e===97?"\x07":e===98?"\b":e===116||e===9?" ":e===110?`
|
29
|
-
`:e===118?"\v":e===102?"\f":e===114?"\r":e===101?"\x1B":e===32?" ":e===34?'"':e===47?"/":e===92?"\\":e===78?"\x85":e===95?"\xA0":e===76?"\u2028":e===80?"\u2029":""}function xl(e){return e<=65535?String.fromCharCode(e):String.fromCharCode((e-65536>>10)+55296,(e-65536&1023)+56320)}var Ji=new Array(256),zi=new Array(256);for(ke=0;ke<256;ke++)Ji[ke]=Di(ke)?1:0,zi[ke]=Di(ke);var ke;function vl(e,n){this.input=e,this.filename=n.filename||null,this.schema=n.schema||rr,this.onWarning=n.onWarning||null,this.legacy=n.legacy||false,this.json=n.json||false,this.listener=n.listener||null,this.implicitTypes=this.schema.compiledImplicit,this.typeMap=this.schema.compiledTypeMap,this.length=e.length,this.position=0,this.line=0,this.lineStart=0,this.lineIndent=0,this.firstTabInLine=-1,this.documents=[];}function Zi(e,n){var f={name:e.filename,buffer:e.input.slice(0,-1),position:e.position,line:e.line,column:e.position-e.lineStart};return f.snippet=b0(f),new fe(n,f)}function I(e,n){throw Zi(e,n)}function Eu(e,n){e.onWarning&&e.onWarning.call(null,Zi(e,n));}var pi={YAML:function(n,f,l){var s,r,D;n.version!==null&&I(n,"duplication of %YAML directive"),l.length!==1&&I(n,"YAML directive accepts exactly one argument"),s=/^([0-9]+)\.([0-9]+)$/.exec(l[0]),s===null&&I(n,"ill-formed argument of the YAML directive"),r=parseInt(s[1],10),D=parseInt(s[2],10),r!==1&&I(n,"unacceptable YAML version of the document"),n.version=l[0],n.checkLineBreaks=D<2,D!==1&&D!==2&&Eu(n,"unsupported YAML version of the document");},TAG:function(n,f,l){var s,r;l.length!==2&&I(n,"TAG directive accepts exactly two arguments"),s=l[0],r=l[1],Gi.test(s)||I(n,"ill-formed tag handle (first argument) of the TAG directive"),$e.call(n.tagMap,s)&&I(n,'there is a previously declared suffix for "'+s+'" tag handle'),Wi.test(r)||I(n,"ill-formed tag prefix (second argument) of the TAG directive");try{r=decodeURIComponent(r);}catch(D){I(n,"tag prefix is malformed: "+r);}n.tagMap[s]=r;}};function Se(e,n,f,l){var s,r,D,A;if(n<f){if(A=e.input.slice(n,f),l)for(s=0,r=A.length;s<r;s+=1)D=A.charCodeAt(s),D===9||32<=D&&D<=1114111||I(e,"expected valid JSON character");else Cl.test(A)&&I(e,"the stream contains non-printable characters");e.result+=A;}}function Ai(e,n,f,l){var s,r,D,A;for(Z.isObject(f)||I(e,"cannot merge mappings; the provided source object is unacceptable"),s=Object.keys(f),D=0,A=s.length;D<A;D+=1)r=s[D],$e.call(n,r)||(n[r]=f[r],l[r]=true);}function He(e,n,f,l,s,r,D,A,C){var x,c;if(Array.isArray(s))for(s=Array.prototype.slice.call(s),x=0,c=s.length;x<c;x+=1)Array.isArray(s[x])&&I(e,"nested arrays are not supported inside keys"),typeof s=="object"&&ci(s[x])==="[object Object]"&&(s[x]="[object Object]");if(typeof s=="object"&&ci(s)==="[object Object]"&&(s="[object Object]"),s=String(s),n===null&&(n={}),l==="tag:yaml.org,2002:merge")if(Array.isArray(r))for(x=0,c=r.length;x<c;x+=1)Ai(e,n,r[x],f);else Ai(e,n,r,f);else !e.json&&!$e.call(f,s)&&$e.call(n,s)&&(e.line=D||e.line,e.lineStart=A||e.lineStart,e.position=C||e.position,I(e,"duplicated mapping key")),s==="__proto__"?Object.defineProperty(n,s,{configurable:true,enumerable:true,writable:true,value:r}):n[s]=r,delete f[s];return n}function ir(e){var n;n=e.input.charCodeAt(e.position),n===10?e.position++:n===13?(e.position++,e.input.charCodeAt(e.position)===10&&e.position++):I(e,"a line break is expected"),e.line+=1,e.lineStart=e.position,e.firstTabInLine=-1;}function z(e,n,f){for(var l=0,s=e.input.charCodeAt(e.position);s!==0;){for(;Te(s);)s===9&&e.firstTabInLine===-1&&(e.firstTabInLine=e.position),s=e.input.charCodeAt(++e.position);if(n&&s===35)do s=e.input.charCodeAt(++e.position);while(s!==10&&s!==13&&s!==0);if(de(s))for(ir(e),s=e.input.charCodeAt(e.position),l++,e.lineIndent=0;s===32;)e.lineIndent++,s=e.input.charCodeAt(++e.position);else break}return f!==-1&&l!==0&&e.lineIndent<f&&Eu(e,"deficient indentation"),l}function xu(e){var n=e.position,f;return f=e.input.charCodeAt(n),!!((f===45||f===46)&&f===e.input.charCodeAt(n+1)&&f===e.input.charCodeAt(n+2)&&(n+=3,f=e.input.charCodeAt(n),f===0||se(f)))}function nr(e,n){n===1?e.result+=" ":n>1&&(e.result+=Z.repeat(`
|
30
|
-
`,n-1));}function yl(e,n,f){var l,s,r,D,A,C,x,c,y=e.kind,O=e.result,$;if($=e.input.charCodeAt(e.position),se($)||Ye($)||$===35||$===38||$===42||$===33||$===124||$===62||$===39||$===34||$===37||$===64||$===96||($===63||$===45)&&(s=e.input.charCodeAt(e.position+1),se(s)||f&&Ye(s)))return false;for(e.kind="scalar",e.result="",r=D=e.position,A=false;$!==0;){if($===58){if(s=e.input.charCodeAt(e.position+1),se(s)||f&&Ye(s))break}else if($===35){if(l=e.input.charCodeAt(e.position-1),se(l))break}else {if(e.position===e.lineStart&&xu(e)||f&&Ye($))break;if(de($))if(C=e.line,x=e.lineStart,c=e.lineIndent,z(e,false,-1),e.lineIndent>=n){A=true,$=e.input.charCodeAt(e.position);continue}else {e.position=D,e.line=C,e.lineStart=x,e.lineIndent=c;break}}A&&(Se(e,r,D,false),nr(e,e.line-C),r=D=e.position,A=false),Te($)||(D=e.position+1),$=e.input.charCodeAt(++e.position);}return Se(e,r,D,false),e.result?true:(e.kind=y,e.result=O,false)}function Bl(e,n){var f,l,s;if(f=e.input.charCodeAt(e.position),f!==39)return false;for(e.kind="scalar",e.result="",e.position++,l=s=e.position;(f=e.input.charCodeAt(e.position))!==0;)if(f===39)if(Se(e,l,e.position,true),f=e.input.charCodeAt(++e.position),f===39)l=e.position,e.position++,s=e.position;else return true;else de(f)?(Se(e,l,s,true),nr(e,z(e,false,n)),l=s=e.position):e.position===e.lineStart&&xu(e)?I(e,"unexpected end of the document within a single quoted scalar"):(e.position++,s=e.position);I(e,"unexpected end of the stream within a single quoted scalar");}function wl(e,n){var f,l,s,r,D,A;if(A=e.input.charCodeAt(e.position),A!==34)return false;for(e.kind="scalar",e.result="",e.position++,f=l=e.position;(A=e.input.charCodeAt(e.position))!==0;){if(A===34)return Se(e,f,e.position,true),e.position++,true;if(A===92){if(Se(e,f,e.position,true),A=e.input.charCodeAt(++e.position),de(A))z(e,false,n);else if(A<256&&Ji[A])e.result+=zi[A],e.position++;else if((D=gl(A))>0){for(s=D,r=0;s>0;s--)A=e.input.charCodeAt(++e.position),(D=El(A))>=0?r=(r<<4)+D:I(e,"expected hexadecimal character");e.result+=xl(r),e.position++;}else I(e,"unknown escape sequence");f=l=e.position;}else de(A)?(Se(e,f,l,true),nr(e,z(e,false,n)),f=l=e.position):e.position===e.lineStart&&xu(e)?I(e,"unexpected end of the document within a double quoted scalar"):(e.position++,l=e.position);}I(e,"unexpected end of the stream within a double quoted scalar");}function bl(e,n){var f=true,l,s,r,D=e.tag,A,C=e.anchor,x,c,y,O,$,R=Object.create(null),B,k,b,m;if(m=e.input.charCodeAt(e.position),m===91)c=93,$=false,A=[];else if(m===123)c=125,$=true,A={};else return false;for(e.anchor!==null&&(e.anchorMap[e.anchor]=A),m=e.input.charCodeAt(++e.position);m!==0;){if(z(e,true,n),m=e.input.charCodeAt(e.position),m===c)return e.position++,e.tag=D,e.anchor=C,e.kind=$?"mapping":"sequence",e.result=A,true;f?m===44&&I(e,"expected the node content, but found ','"):I(e,"missed comma between flow collection entries"),k=B=b=null,y=O=false,m===63&&(x=e.input.charCodeAt(e.position+1),se(x)&&(y=O=true,e.position++,z(e,true,n))),l=e.line,s=e.lineStart,r=e.position,Ue(e,n,Fu,false,true),k=e.tag,B=e.result,z(e,true,n),m=e.input.charCodeAt(e.position),(O||e.line===l)&&m===58&&(y=true,m=e.input.charCodeAt(++e.position),z(e,true,n),Ue(e,n,Fu,false,true),b=e.result),$?He(e,A,R,k,B,b,l,s,r):y?A.push(He(e,null,R,k,B,b,l,s,r)):A.push(B),z(e,true,n),m=e.input.charCodeAt(e.position),m===44?(f=true,m=e.input.charCodeAt(++e.position)):f=false;}I(e,"unexpected end of the stream within a flow collection");}function _l(e,n){var f,l,s=Ju,r=false,D=false,A=n,C=0,x=false,c,y;if(y=e.input.charCodeAt(e.position),y===124)l=false;else if(y===62)l=true;else return false;for(e.kind="scalar",e.result="";y!==0;)if(y=e.input.charCodeAt(++e.position),y===43||y===45)Ju===s?s=y===43?ai:hl:I(e,"repeat of a chomping mode identifier");else if((c=ml(y))>=0)c===0?I(e,"bad explicit indentation width of a block scalar; it cannot be less than one"):D?I(e,"repeat of an indentation width identifier"):(A=n+c-1,D=true);else break;if(Te(y)){do y=e.input.charCodeAt(++e.position);while(Te(y));if(y===35)do y=e.input.charCodeAt(++e.position);while(!de(y)&&y!==0)}for(;y!==0;){for(ir(e),e.lineIndent=0,y=e.input.charCodeAt(e.position);(!D||e.lineIndent<A)&&y===32;)e.lineIndent++,y=e.input.charCodeAt(++e.position);if(!D&&e.lineIndent>A&&(A=e.lineIndent),de(y)){C++;continue}if(e.lineIndent<A){s===ai?e.result+=Z.repeat(`
|
31
|
-
`,r?1+C:C):s===Ju&&r&&(e.result+=`
|
32
|
-
`);break}for(l?Te(y)?(x=true,e.result+=Z.repeat(`
|
33
|
-
`,r?1+C:C)):x?(x=false,e.result+=Z.repeat(`
|
34
|
-
`,C+1)):C===0?r&&(e.result+=" "):e.result+=Z.repeat(`
|
35
|
-
`,C):e.result+=Z.repeat(`
|
36
|
-
`,r?1+C:C),r=true,D=true,C=0,f=e.position;!de(y)&&y!==0;)y=e.input.charCodeAt(++e.position);Se(e,f,e.position,false);}return true}function hi(e,n){var f,l=e.tag,s=e.anchor,r=[],D,A=false,C;if(e.firstTabInLine!==-1)return false;for(e.anchor!==null&&(e.anchorMap[e.anchor]=r),C=e.input.charCodeAt(e.position);C!==0&&(e.firstTabInLine!==-1&&(e.position=e.firstTabInLine,I(e,"tab characters must not be used in indentation")),!(C!==45||(D=e.input.charCodeAt(e.position+1),!se(D))));){if(A=true,e.position++,z(e,true,-1)&&e.lineIndent<=n){r.push(null),C=e.input.charCodeAt(e.position);continue}if(f=e.line,Ue(e,n,Vi,false,true),r.push(e.result),z(e,true,-1),C=e.input.charCodeAt(e.position),(e.line===f||e.lineIndent>n)&&C!==0)I(e,"bad indentation of a sequence entry");else if(e.lineIndent<n)break}return A?(e.tag=l,e.anchor=s,e.kind="sequence",e.result=r,true):false}function Sl(e,n,f){var l,s,r,D,A,C,x=e.tag,c=e.anchor,y={},O=Object.create(null),$=null,R=null,B=null,k=false,b=false,m;if(e.firstTabInLine!==-1)return false;for(e.anchor!==null&&(e.anchorMap[e.anchor]=y),m=e.input.charCodeAt(e.position);m!==0;){if(!k&&e.firstTabInLine!==-1&&(e.position=e.firstTabInLine,I(e,"tab characters must not be used in indentation")),l=e.input.charCodeAt(e.position+1),r=e.line,(m===63||m===58)&&se(l))m===63?(k&&(He(e,y,O,$,R,null,D,A,C),$=R=B=null),b=true,k=true,s=true):k?(k=false,s=true):I(e,"incomplete explicit mapping pair; a key node is missed; or followed by a non-tabulated empty line"),e.position+=1,m=l;else {if(D=e.line,A=e.lineStart,C=e.position,!Ue(e,f,Ki,false,true))break;if(e.line===r){for(m=e.input.charCodeAt(e.position);Te(m);)m=e.input.charCodeAt(++e.position);if(m===58)m=e.input.charCodeAt(++e.position),se(m)||I(e,"a whitespace character is expected after the key-value separator within a block mapping"),k&&(He(e,y,O,$,R,null,D,A,C),$=R=B=null),b=true,k=false,s=false,$=e.tag,R=e.result;else if(b)I(e,"can not read an implicit mapping pair; a colon is missed");else return e.tag=x,e.anchor=c,true}else if(b)I(e,"can not read a block mapping entry; a multiline key may not be an implicit key");else return e.tag=x,e.anchor=c,true}if((e.line===r||e.lineIndent>n)&&(k&&(D=e.line,A=e.lineStart,C=e.position),Ue(e,n,du,true,s)&&(k?R=e.result:B=e.result),k||(He(e,y,O,$,R,B,D,A,C),$=R=B=null),z(e,true,-1),m=e.input.charCodeAt(e.position)),(e.line===r||e.lineIndent>n)&&m!==0)I(e,"bad indentation of a mapping entry");else if(e.lineIndent<n)break}return k&&He(e,y,O,$,R,null,D,A,C),b&&(e.tag=x,e.anchor=c,e.kind="mapping",e.result=y),b}function $l(e){var n,f=false,l=false,s,r,D;if(D=e.input.charCodeAt(e.position),D!==33)return false;if(e.tag!==null&&I(e,"duplication of a tag property"),D=e.input.charCodeAt(++e.position),D===60?(f=true,D=e.input.charCodeAt(++e.position)):D===33?(l=true,s="!!",D=e.input.charCodeAt(++e.position)):s="!",n=e.position,f){do D=e.input.charCodeAt(++e.position);while(D!==0&&D!==62);e.position<e.length?(r=e.input.slice(n,e.position),D=e.input.charCodeAt(++e.position)):I(e,"unexpected end of the stream within a verbatim tag");}else {for(;D!==0&&!se(D);)D===33&&(l?I(e,"tag suffix cannot contain exclamation marks"):(s=e.input.slice(n-1,e.position+1),Gi.test(s)||I(e,"named tag handle cannot contain such characters"),l=true,n=e.position+1)),D=e.input.charCodeAt(++e.position);r=e.input.slice(n,e.position),dl.test(r)&&I(e,"tag suffix cannot contain flow indicator characters");}r&&!Wi.test(r)&&I(e,"tag name cannot contain such characters: "+r);try{r=decodeURIComponent(r);}catch(A){I(e,"tag name is malformed: "+r);}return f?e.tag=r:$e.call(e.tagMap,s)?e.tag=e.tagMap[s]+r:s==="!"?e.tag="!"+r:s==="!!"?e.tag="tag:yaml.org,2002:"+r:I(e,'undeclared tag handle "'+s+'"'),true}function Pl(e){var n,f;if(f=e.input.charCodeAt(e.position),f!==38)return false;for(e.anchor!==null&&I(e,"duplication of an anchor property"),f=e.input.charCodeAt(++e.position),n=e.position;f!==0&&!se(f)&&!Ye(f);)f=e.input.charCodeAt(++e.position);return e.position===n&&I(e,"name of an anchor node must contain at least one character"),e.anchor=e.input.slice(n,e.position),true}function Il(e){var n,f,l;if(l=e.input.charCodeAt(e.position),l!==42)return false;for(l=e.input.charCodeAt(++e.position),n=e.position;l!==0&&!se(l)&&!Ye(l);)l=e.input.charCodeAt(++e.position);return e.position===n&&I(e,"name of an alias node must contain at least one character"),f=e.input.slice(n,e.position),$e.call(e.anchorMap,f)||I(e,'unidentified alias "'+f+'"'),e.result=e.anchorMap[f],z(e,true,-1),true}function Ue(e,n,f,l,s){var r,D,A,C=1,x=false,c=false,y,O,$,R,B,k;if(e.listener!==null&&e.listener("open",e),e.tag=null,e.anchor=null,e.kind=null,e.result=null,r=D=A=du===f||Vi===f,l&&z(e,true,-1)&&(x=true,e.lineIndent>n?C=1:e.lineIndent===n?C=0:e.lineIndent<n&&(C=-1)),C===1)for(;$l(e)||Pl(e);)z(e,true,-1)?(x=true,A=r,e.lineIndent>n?C=1:e.lineIndent===n?C=0:e.lineIndent<n&&(C=-1)):A=false;if(A&&(A=x||s),(C===1||du===f)&&(Fu===f||Ki===f?B=n:B=n+1,k=e.position-e.lineStart,C===1?A&&(hi(e,k)||Sl(e,k,B))||bl(e,B)?c=true:(D&&_l(e,B)||Bl(e,B)||wl(e,B)?c=true:Il(e)?(c=true,(e.tag!==null||e.anchor!==null)&&I(e,"alias node should not have any properties")):yl(e,B,Fu===f)&&(c=true,e.tag===null&&(e.tag="?")),e.anchor!==null&&(e.anchorMap[e.anchor]=e.result)):C===0&&(c=A&&hi(e,k))),e.tag===null)e.anchor!==null&&(e.anchorMap[e.anchor]=e.result);else if(e.tag==="?"){for(e.result!==null&&e.kind!=="scalar"&&I(e,'unacceptable node kind for !<?> tag; it should be "scalar", not "'+e.kind+'"'),y=0,O=e.implicitTypes.length;y<O;y+=1)if(R=e.implicitTypes[y],R.resolve(e.result)){e.result=R.construct(e.result),e.tag=R.tag,e.anchor!==null&&(e.anchorMap[e.anchor]=e.result);break}}else if(e.tag!=="!"){if($e.call(e.typeMap[e.kind||"fallback"],e.tag))R=e.typeMap[e.kind||"fallback"][e.tag];else for(R=null,$=e.typeMap.multi[e.kind||"fallback"],y=0,O=$.length;y<O;y+=1)if(e.tag.slice(0,$[y].tag.length)===$[y].tag){R=$[y];break}R||I(e,"unknown tag !<"+e.tag+">"),e.result!==null&&R.kind!==e.kind&&I(e,"unacceptable node kind for !<"+e.tag+'> tag; it should be "'+R.kind+'", not "'+e.kind+'"'),R.resolve(e.result,e.tag)?(e.result=R.construct(e.result,e.tag),e.anchor!==null&&(e.anchorMap[e.anchor]=e.result)):I(e,"cannot resolve a node with !<"+e.tag+"> explicit tag");}return e.listener!==null&&e.listener("close",e),e.tag!==null||e.anchor!==null||c}function Ol(e){var n=e.position,f,l,s,r=false,D;for(e.version=null,e.checkLineBreaks=e.legacy,e.tagMap=Object.create(null),e.anchorMap=Object.create(null);(D=e.input.charCodeAt(e.position))!==0&&(z(e,true,-1),D=e.input.charCodeAt(e.position),!(e.lineIndent>0||D!==37));){for(r=true,D=e.input.charCodeAt(++e.position),f=e.position;D!==0&&!se(D);)D=e.input.charCodeAt(++e.position);for(l=e.input.slice(f,e.position),s=[],l.length<1&&I(e,"directive name must not be less than one character in length");D!==0;){for(;Te(D);)D=e.input.charCodeAt(++e.position);if(D===35){do D=e.input.charCodeAt(++e.position);while(D!==0&&!de(D));break}if(de(D))break;for(f=e.position;D!==0&&!se(D);)D=e.input.charCodeAt(++e.position);s.push(e.input.slice(f,e.position));}D!==0&&ir(e),$e.call(pi,l)?pi[l](e,l,s):Eu(e,'unknown document directive "'+l+'"');}if(z(e,true,-1),e.lineIndent===0&&e.input.charCodeAt(e.position)===45&&e.input.charCodeAt(e.position+1)===45&&e.input.charCodeAt(e.position+2)===45?(e.position+=3,z(e,true,-1)):r&&I(e,"directives end mark is expected"),Ue(e,e.lineIndent-1,du,false,true),z(e,true,-1),e.checkLineBreaks&&Fl.test(e.input.slice(n,e.position))&&Eu(e,"non-ASCII line breaks are interpreted as content"),e.documents.push(e.result),e.position===e.lineStart&&xu(e)){e.input.charCodeAt(e.position)===46&&(e.position+=3,z(e,true,-1));return}if(e.position<e.length-1)I(e,"end of the stream or a document separator is expected");else return}function Qi(e,n){e=String(e),n=n||{},e.length!==0&&(e.charCodeAt(e.length-1)!==10&&e.charCodeAt(e.length-1)!==13&&(e+=`
|
37
|
-
`),e.charCodeAt(0)===65279&&(e=e.slice(1)));var f=new vl(e,n),l=e.indexOf("\0");for(l!==-1&&(f.position=l,I(f,"null byte is not allowed in input")),f.input+="\0";f.input.charCodeAt(f.position)===32;)f.lineIndent+=1,f.position+=1;for(;f.position<f.length-1;)Ol(f);return f.documents}function kl(e,n,f){n!==null&&typeof n=="object"&&typeof f=="undefined"&&(f=n,n=null);var l=Qi(e,f);if(typeof n!="function")return l;for(var s=0,r=l.length;s<r;s+=1)n(l[s]);}function Tl(e,n){var f=Qi(e,n);if(f.length!==0){if(f.length===1)return f[0];throw new fe("expected a single document in the stream, but found more")}}var Nl=kl,Ll=Tl,Xi={loadAll:Nl,load:Ll},en=Object.prototype.toString,un=Object.prototype.hasOwnProperty,tr=65279,Rl=9,ru=10,jl=13,Ml=32,Yl=33,Hl=34,Zu=35,Ul=37,ql=38,Kl=39,Vl=42,rn=44,Gl=45,gu=58,Wl=61,Jl=62,zl=63,Zl=64,nn=91,tn=93,Ql=96,ln=123,Xl=124,on=125,le={};le[0]="\\0";le[7]="\\a";le[8]="\\b";le[9]="\\t";le[10]="\\n";le[11]="\\v";le[12]="\\f";le[13]="\\r";le[27]="\\e";le[34]='\\"';le[92]="\\\\";le[133]="\\N";le[160]="\\_";le[8232]="\\L";le[8233]="\\P";var eo=["y","Y","yes","Yes","YES","on","On","ON","n","N","no","No","NO","off","Off","OFF"],uo=/^[-+]?[0-9_]+(?::[0-9_]+)+(?:\.[0-9_]*)?$/;function ro(e,n){var f,l,s,r,D,A,C;if(n===null)return {};for(f={},l=Object.keys(n),s=0,r=l.length;s<r;s+=1)D=l[s],A=String(n[D]),D.slice(0,2)==="!!"&&(D="tag:yaml.org,2002:"+D.slice(2)),C=e.compiledTypeMap.fallback[D],C&&un.call(C.styleAliases,A)&&(A=C.styleAliases[A]),f[D]=A;return f}function io(e){var n,f,l;if(n=e.toString(16).toUpperCase(),e<=255)f="x",l=2;else if(e<=65535)f="u",l=4;else if(e<=4294967295)f="U",l=8;else throw new fe("code point within a string may not be greater than 0xFFFFFFFF");return "\\"+f+Z.repeat("0",l-n.length)+n}var no=1,iu=2;function to(e){this.schema=e.schema||rr,this.indent=Math.max(1,e.indent||2),this.noArrayIndent=e.noArrayIndent||false,this.skipInvalid=e.skipInvalid||false,this.flowLevel=Z.isNothing(e.flowLevel)?-1:e.flowLevel,this.styleMap=ro(this.schema,e.styles||null),this.sortKeys=e.sortKeys||false,this.lineWidth=e.lineWidth||80,this.noRefs=e.noRefs||false,this.noCompatMode=e.noCompatMode||false,this.condenseFlow=e.condenseFlow||false,this.quotingType=e.quotingType==='"'?iu:no,this.forceQuotes=e.forceQuotes||false,this.replacer=typeof e.replacer=="function"?e.replacer:null,this.implicitTypes=this.schema.compiledImplicit,this.explicitTypes=this.schema.compiledExplicit,this.tag=null,this.result="",this.duplicates=[],this.usedDuplicates=null;}function Ci(e,n){for(var f=Z.repeat(" ",n),l=0,s=-1,r="",D,A=e.length;l<A;)s=e.indexOf(`
|
38
|
-
`,l),s===-1?(D=e.slice(l),l=A):(D=e.slice(l,s+1),l=s+1),D.length&&D!==`
|
39
|
-
`&&(r+=f),r+=D;return r}function Qu(e,n){return `
|
40
|
-
`+Z.repeat(" ",e.indent*n)}function lo(e,n){var f,l,s;for(f=0,l=e.implicitTypes.length;f<l;f+=1)if(s=e.implicitTypes[f],s.resolve(n))return true;return false}function mu(e){return e===Ml||e===Rl}function nu(e){return 32<=e&&e<=126||161<=e&&e<=55295&&e!==8232&&e!==8233||57344<=e&&e<=65533&&e!==tr||65536<=e&&e<=1114111}function Fi(e){return nu(e)&&e!==tr&&e!==jl&&e!==ru}function di(e,n,f){var l=Fi(e),s=l&&!mu(e);return (f?l:l&&e!==rn&&e!==nn&&e!==tn&&e!==ln&&e!==on)&&e!==Zu&&!(n===gu&&!s)||Fi(n)&&!mu(n)&&e===Zu||n===gu&&s}function oo(e){return nu(e)&&e!==tr&&!mu(e)&&e!==Gl&&e!==zl&&e!==gu&&e!==rn&&e!==nn&&e!==tn&&e!==ln&&e!==on&&e!==Zu&&e!==ql&&e!==Vl&&e!==Yl&&e!==Xl&&e!==Wl&&e!==Jl&&e!==Kl&&e!==Hl&&e!==Ul&&e!==Zl&&e!==Ql}function fo(e){return !mu(e)&&e!==gu}function eu(e,n){var f=e.charCodeAt(n),l;return f>=55296&&f<=56319&&n+1<e.length&&(l=e.charCodeAt(n+1),l>=56320&&l<=57343)?(f-55296)*1024+l-56320+65536:f}function fn(e){var n=/^\n* /;return n.test(e)}var sn=1,Xu=2,an=3,cn=4,Me=5;function so(e,n,f,l,s,r,D,A){var C,x=0,c=null,y=false,O=false,$=l!==-1,R=-1,B=oo(eu(e,0))&&fo(eu(e,e.length-1));if(n||D)for(C=0;C<e.length;x>=65536?C+=2:C++){if(x=eu(e,C),!nu(x))return Me;B=B&&di(x,c,A),c=x;}else {for(C=0;C<e.length;x>=65536?C+=2:C++){if(x=eu(e,C),x===ru)y=true,$&&(O=O||C-R-1>l&&e[R+1]!==" ",R=C);else if(!nu(x))return Me;B=B&&di(x,c,A),c=x;}O=O||$&&C-R-1>l&&e[R+1]!==" ";}return !y&&!O?B&&!D&&!s(e)?sn:r===iu?Me:Xu:f>9&&fn(e)?Me:D?r===iu?Me:Xu:O?cn:an}function ao(e,n,f,l,s){e.dump=function(){if(n.length===0)return e.quotingType===iu?'""':"''";if(!e.noCompatMode&&(eo.indexOf(n)!==-1||uo.test(n)))return e.quotingType===iu?'"'+n+'"':"'"+n+"'";var r=e.indent*Math.max(1,f),D=e.lineWidth===-1?-1:Math.max(Math.min(e.lineWidth,40),e.lineWidth-r),A=l||e.flowLevel>-1&&f>=e.flowLevel;function C(x){return lo(e,x)}switch(so(n,A,e.indent,D,C,e.quotingType,e.forceQuotes&&!l,s)){case sn:return n;case Xu:return "'"+n.replace(/'/g,"''")+"'";case an:return "|"+Ei(n,e.indent)+gi(Ci(n,r));case cn:return ">"+Ei(n,e.indent)+gi(Ci(co(n,D),r));case Me:return '"'+Do(n)+'"';default:throw new fe("impossible error: invalid scalar style")}}();}function Ei(e,n){var f=fn(e)?String(n):"",l=e[e.length-1]===`
|
41
|
-
`,s=l&&(e[e.length-2]===`
|
42
|
-
`||e===`
|
43
|
-
`),r=s?"+":l?"":"-";return f+r+`
|
44
|
-
`}function gi(e){return e[e.length-1]===`
|
45
|
-
`?e.slice(0,-1):e}function co(e,n){for(var f=/(\n+)([^\n]*)/g,l=function(){var x=e.indexOf(`
|
46
|
-
`);return x=x!==-1?x:e.length,f.lastIndex=x,mi(e.slice(0,x),n)}(),s=e[0]===`
|
47
|
-
`||e[0]===" ",r,D;D=f.exec(e);){var A=D[1],C=D[2];r=C[0]===" ",l+=A+(!s&&!r&&C!==""?`
|
48
|
-
`:"")+mi(C,n),s=r;}return l}function mi(e,n){if(e===""||e[0]===" ")return e;for(var f=/ [^ ]/g,l,s=0,r,D=0,A=0,C="";l=f.exec(e);)A=l.index,A-s>n&&(r=D>s?D:A,C+=`
|
49
|
-
`+e.slice(s,r),s=r+1),D=A;return C+=`
|
50
|
-
`,e.length-s>n&&D>s?C+=e.slice(s,D)+`
|
51
|
-
`+e.slice(D+1):C+=e.slice(s),C.slice(1)}function Do(e){for(var n="",f=0,l,s=0;s<e.length;f>=65536?s+=2:s++)f=eu(e,s),l=le[f],!l&&nu(f)?(n+=e[s],f>=65536&&(n+=e[s+1])):n+=l||io(f);return n}function po(e,n,f){var l="",s=e.tag,r,D,A;for(r=0,D=f.length;r<D;r+=1)A=f[r],e.replacer&&(A=e.replacer.call(f,String(r),A)),(ve(e,n,A,false,false)||typeof A=="undefined"&&ve(e,n,null,false,false))&&(l!==""&&(l+=","+(e.condenseFlow?"":" ")),l+=e.dump);e.tag=s,e.dump="["+l+"]";}function xi(e,n,f,l){var s="",r=e.tag,D,A,C;for(D=0,A=f.length;D<A;D+=1)C=f[D],e.replacer&&(C=e.replacer.call(f,String(D),C)),(ve(e,n+1,C,true,true,false,true)||typeof C=="undefined"&&ve(e,n+1,null,true,true,false,true))&&((!l||s!=="")&&(s+=Qu(e,n)),e.dump&&ru===e.dump.charCodeAt(0)?s+="-":s+="- ",s+=e.dump);e.tag=r,e.dump=s||"[]";}function Ao(e,n,f){var l="",s=e.tag,r=Object.keys(f),D,A,C,x,c;for(D=0,A=r.length;D<A;D+=1)c="",l!==""&&(c+=", "),e.condenseFlow&&(c+='"'),C=r[D],x=f[C],e.replacer&&(x=e.replacer.call(f,C,x)),ve(e,n,C,false,false)&&(e.dump.length>1024&&(c+="? "),c+=e.dump+(e.condenseFlow?'"':"")+":"+(e.condenseFlow?"":" "),ve(e,n,x,false,false)&&(c+=e.dump,l+=c));e.tag=s,e.dump="{"+l+"}";}function ho(e,n,f,l){var s="",r=e.tag,D=Object.keys(f),A,C,x,c,y,O;if(e.sortKeys===true)D.sort();else if(typeof e.sortKeys=="function")D.sort(e.sortKeys);else if(e.sortKeys)throw new fe("sortKeys must be a boolean or a function");for(A=0,C=D.length;A<C;A+=1)O="",(!l||s!=="")&&(O+=Qu(e,n)),x=D[A],c=f[x],e.replacer&&(c=e.replacer.call(f,x,c)),ve(e,n+1,x,true,true,true)&&(y=e.tag!==null&&e.tag!=="?"||e.dump&&e.dump.length>1024,y&&(e.dump&&ru===e.dump.charCodeAt(0)?O+="?":O+="? "),O+=e.dump,y&&(O+=Qu(e,n)),ve(e,n+1,c,true,y)&&(e.dump&&ru===e.dump.charCodeAt(0)?O+=":":O+=": ",O+=e.dump,s+=O));e.tag=r,e.dump=s||"{}";}function vi(e,n,f){var l,s,r,D,A,C;for(s=f?e.explicitTypes:e.implicitTypes,r=0,D=s.length;r<D;r+=1)if(A=s[r],(A.instanceOf||A.predicate)&&(!A.instanceOf||typeof n=="object"&&n instanceof A.instanceOf)&&(!A.predicate||A.predicate(n))){if(f?A.multi&&A.representName?e.tag=A.representName(n):e.tag=A.tag:e.tag="?",A.represent){if(C=e.styleMap[A.tag]||A.defaultStyle,en.call(A.represent)==="[object Function]")l=A.represent(n,C);else if(un.call(A.represent,C))l=A.represent[C](n,C);else throw new fe("!<"+A.tag+'> tag resolver accepts not "'+C+'" style');e.dump=l;}return true}return false}function ve(e,n,f,l,s,r,D){e.tag=null,e.dump=f,vi(e,f,false)||vi(e,f,true);var A=en.call(e.dump),C=l,x;l&&(l=e.flowLevel<0||e.flowLevel>n);var c=A==="[object Object]"||A==="[object Array]",y,O;if(c&&(y=e.duplicates.indexOf(f),O=y!==-1),(e.tag!==null&&e.tag!=="?"||O||e.indent!==2&&n>0)&&(s=false),O&&e.usedDuplicates[y])e.dump="*ref_"+y;else {if(c&&O&&!e.usedDuplicates[y]&&(e.usedDuplicates[y]=true),A==="[object Object]")l&&Object.keys(e.dump).length!==0?(ho(e,n,e.dump,s),O&&(e.dump="&ref_"+y+e.dump)):(Ao(e,n,e.dump),O&&(e.dump="&ref_"+y+" "+e.dump));else if(A==="[object Array]")l&&e.dump.length!==0?(e.noArrayIndent&&!D&&n>0?xi(e,n-1,e.dump,s):xi(e,n,e.dump,s),O&&(e.dump="&ref_"+y+e.dump)):(po(e,n,e.dump),O&&(e.dump="&ref_"+y+" "+e.dump));else if(A==="[object String]")e.tag!=="?"&&ao(e,e.dump,n,r,C);else {if(A==="[object Undefined]")return false;if(e.skipInvalid)return false;throw new fe("unacceptable kind of an object to dump "+A)}e.tag!==null&&e.tag!=="?"&&(x=encodeURI(e.tag[0]==="!"?e.tag.slice(1):e.tag).replace(/!/g,"%21"),e.tag[0]==="!"?x="!"+x:x.slice(0,18)==="tag:yaml.org,2002:"?x="!!"+x.slice(18):x="!<"+x+">",e.dump=x+" "+e.dump);}return true}function Co(e,n){var f=[],l=[],s,r;for(er(e,f,l),s=0,r=l.length;s<r;s+=1)n.duplicates.push(f[l[s]]);n.usedDuplicates=new Array(r);}function er(e,n,f){var l,s,r;if(e!==null&&typeof e=="object")if(s=n.indexOf(e),s!==-1)f.indexOf(s)===-1&&f.push(s);else if(n.push(e),Array.isArray(e))for(s=0,r=e.length;s<r;s+=1)er(e[s],n,f);else for(l=Object.keys(e),s=0,r=l.length;s<r;s+=1)er(e[l[s]],n,f);}function Fo(e,n){n=n||{};var f=new to(n);f.noRefs||Co(e,f);var l=e;return f.replacer&&(l=f.replacer.call({"":l},"",l)),ve(f,0,l,true,true)?f.dump+`
|
52
|
-
`:""}var Eo=Fo,go={dump:Eo};function lr(e,n){return function(){throw new Error("Function yaml."+e+" is removed in js-yaml 4. Use yaml."+n+" instead, which is now safe by default.")}}var mo=ne,xo=wi,vo=$i,yo=Ti,Bo=Ni,wo=rr,bo=Xi.load,_o=Xi.loadAll,So=go.dump,$o=fe,Po={binary:Yi,float:ki,map:Si,null:Pi,pairs:Ui,set:qi,timestamp:ji,bool:Ii,int:Oi,merge:Mi,omap:Hi,seq:_i,str:bi},Io=lr("safeLoad","load"),Oo=lr("safeLoadAll","loadAll"),ko=lr("safeDump","dump"),To={Type:mo,Schema:xo,FAILSAFE_SCHEMA:vo,JSON_SCHEMA:yo,CORE_SCHEMA:Bo,DEFAULT_SCHEMA:wo,load:bo,loadAll:_o,dump:So,YAMLException:$o,types:Po,safeLoad:Io,safeLoadAll:Oo,safeDump:ko},Dn=To;var No={getType:(e,n,f)=>typeof e,delimiter:",",impls:[]};function pn(e={}){let n=Object.assign({},No,e),f=new Map;function l(...s){let r=s.map(n.getType).join(n.delimiter),D=f.get(r);if(!D)throw new TypeError("No overload function found");return D.apply(this,s)}l.addImpl=function(...s){let r=s.pop();if(typeof r!="function")throw new TypeError("The last argument must be a function");let D=s.join(n.delimiter);f.set(D,r);};for(let s of n.impls)l.addImpl(...s);return l}function jo(e){let n=e;if(n.startsWith(".env"))return "env";let f=Lo__default.default.extname(n);switch(f){case ".toml":return "toml";case ".mjs":case ".js":case ".cjs":return "javascript";case ".json":return "json";case ".json5":return "json5";case ".yaml":case ".yml":return "yaml";case ".ts":case ".mts":case ".cts":return "typescript";default:return console.error(`\u4E0D\u652F\u6301\u7684\u6587\u4EF6\u683C\u5F0F: ${f}`),null}}var ye=pn({getType(e,n){return n===0?jo(e):typeof e}});ye.addImpl("json",e=>Ee(null,null,function*(){let n=fs.readFileSync(e,"utf8");return JSON.parse(n)}));ye.addImpl("json5",e=>Ee(null,null,function*(){let n=fs.readFileSync(e,"utf8");return ri.parse(n)}));ye.addImpl("yaml",e=>Ee(null,null,function*(){let n=fs.readFileSync(e,"utf8");return Dn.load(n)}));ye.addImpl("toml",e=>Ee(null,null,function*(){let n=fs.readFileSync(e,"utf8");return An.default.parse(n)}));ye.addImpl("env",e=>{let n=fs.readFileSync(e,"utf8"),f={};return n.split(`
|
53
|
-
`).forEach(l=>{let[s,r]=l.split("=");s&&r&&(f[s]=r);}),f});function hn(e){return Ee(this,null,function*(){return (yield import(url.pathToFileURL(e).href)).default})}ye.addImpl("javascript",hn);ye.addImpl("typescript",hn);var{readJson:hf,writeJson:Ho}=Yo__default.default,qe=class qe extends Du{init(){var n,f;this.program=((n=this.options.program)==null?void 0:n.command("config"))||commander.createCommand(),(f=this.program)==null||f.command("init").option("-p --path <string>","\u914D\u7F6E\u6587\u4EF6\u8DEF\u5F84",qe.defaultConfigPath).action(l=>Ee(this,null,function*(){let{path:s}=l;s||(s=qe.defaultConfigPath),logger.Logger.log("[\u5F00\u59CB] \u521D\u59CB\u5316\u914D\u7F6E\u6587\u4EF6\uFF1A "+s),yield Ho(s,this.options.defaultOptions,{spaces:2}),logger.Logger.log("[\u5B8C\u6BD5] \u521D\u59CB\u5316\u914D\u7F6E\u6587\u4EF6\uFF1A "+s);})),this.addOptions();}addOptions(){var n;(n=this.program)==null||n.option("-c --config <string>","\u914D\u7F6E\u6587\u4EF6",qe.defaultConfigPath);}addAction(n){this.program.action(l=>Ee(this,[l],function*({config:f=""}){let s=yield ye(f);if(!s)throw new Error(`\u914D\u7F6E\u6587\u4EF6\u4E3A\u7A7A\uFF0C\u8BF7\u68C0\u67E5${f}`);n(s);}));}start(n){this.addAction(n),this.options.program||this.program.parse(process.argv);}};qe.defaultConfigPath=Lo.join(process.cwd(),"release.json");var Fn=qe;/*! Bundled license information:
|
54
|
-
|
55
|
-
js-yaml/dist/js-yaml.mjs:
|
56
|
-
(*! js-yaml 4.1.0 https://github.com/nodeca/js-yaml @license MIT *)
|
57
|
-
*/exports.ConfigCommand=Fn;//# sourceMappingURL=ConfigCommand.js.map
|
4
|
+
var m=(f,t,i)=>new Promise((e,o)=>{var l=n=>{try{p(i.next(n));}catch(c){o(c);}},h=n=>{try{p(i.throw(n));}catch(c){o(c);}},p=n=>n.done?e(n.value):Promise.resolve(n.value).then(l,h);p((i=i.apply(f,t)).next());});var{merge:u}=O__default.default,s=class s{constructor(t){this.options=u({},s.DEFAULT_OPTIONS,t),this.init();}};s.DEFAULT_OPTIONS={program:void 0,version:"",description:"",logo:void 0,defaultOptions:{},excludeOptions:[],optionTypes:{},optionTitles:{}};var a=s;var{readJson:R,writeJson:C}=A__default.default,r=class r extends a{init(){var t,i;this.program=((t=this.options.program)==null?void 0:t.command("config"))||commander.createCommand(),(i=this.program)==null||i.command("init").option("-p --path <string>","\u914D\u7F6E\u6587\u4EF6\u8DEF\u5F84",r.defaultConfigPath).action(e=>m(this,null,function*(){let{path:o}=e;o||(o=r.defaultConfigPath),logger.Logger.log("[\u5F00\u59CB] \u521D\u59CB\u5316\u914D\u7F6E\u6587\u4EF6\uFF1A "+o),yield C(o,this.options.defaultOptions,{spaces:2}),logger.Logger.log("[\u5B8C\u6BD5] \u521D\u59CB\u5316\u914D\u7F6E\u6587\u4EF6\uFF1A "+o);})),this.addOptions();}addOptions(){var t;(t=this.program)==null||t.option("-c --config <string>","\u914D\u7F6E\u6587\u4EF6",r.defaultConfigPath);}addAction(t){this.program.action(e=>m(this,[e],function*({config:i=""}){let o=yield configLoader.loadConfig(i);if(!o)throw new Error(`\u914D\u7F6E\u6587\u4EF6\u4E3A\u7A7A\uFF0C\u8BF7\u68C0\u67E5${i}`);t(o);}));}start(t){this.addAction(t),this.options.program||this.program.parse(process.argv);}};r.defaultConfigPath=path.join(process.cwd(),"release.json");var g=r;exports.ConfigCommand=g;//# sourceMappingURL=ConfigCommand.js.map
|
58
5
|
//# sourceMappingURL=ConfigCommand.js.map
|