@comate/zulu 0.7.2 → 0.7.3
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/comate-engine/server.js
CHANGED
|
@@ -159,7 +159,7 @@ function(e){const t=fs__default,r=os__default,n=require$$0__default,i=require$$0
|
|
|
159
159
|
|| ${s} === "boolean" || ${i} === null`).assign(a,codegen_1$n._`[${i}]`)}}n.else(),reportTypeError(e),n.endIf(),n.if(codegen_1$n._`${a} !== undefined`,(()=>{n.assign(i,a),assignParentData(e,a)}))}function assignParentData({gen:e,parentData:t,parentDataProperty:r},n){e.if(codegen_1$n._`${t} !== undefined`,(()=>e.assign(codegen_1$n._`${t}[${r}]`,n)))}function checkDataType$1(e,t,r,n=DataType.Correct){const i=n===DataType.Correct?codegen_1$n.operators.EQ:codegen_1$n.operators.NEQ;let o;switch(e){case"null":return codegen_1$n._`${t} ${i} null`;case"array":o=codegen_1$n._`Array.isArray(${t})`;break;case"object":o=codegen_1$n._`${t} && typeof ${t} == "object" && !Array.isArray(${t})`;break;case"integer":o=s(codegen_1$n._`!(${t} % 1) && !isNaN(${t})`);break;case"number":o=s();break;default:return codegen_1$n._`typeof ${t} ${i} ${e}`}return n===DataType.Correct?o:(0,codegen_1$n.not)(o);function s(e=codegen_1$n.nil){return(0,codegen_1$n.and)(codegen_1$n._`typeof ${t} == "number"`,e,r?codegen_1$n._`isFinite(${t})`:codegen_1$n.nil)}}function checkDataTypes$1(e,t,r,n){if(1===e.length)return checkDataType$1(e[0],t,r,n);let i;const o=(0,util_1$m.toHash)(e);if(o.array&&o.object){const e=codegen_1$n._`typeof ${t} != "object"`;i=o.null?e:codegen_1$n._`!${t} || ${e}`,delete o.null,delete o.array,delete o.object}else i=codegen_1$n.nil;o.number&&delete o.integer;for(const e in o)i=(0,codegen_1$n.and)(i,checkDataType$1(e,t,r,n));return i}dataType.checkDataType=checkDataType$1,dataType.checkDataTypes=checkDataTypes$1;const typeError={message:({schema:e})=>`must be ${e}`,params:({schema:e,schemaValue:t})=>"string"==typeof e?codegen_1$n._`{type: ${e}}`:codegen_1$n._`{type: ${t}}`};function reportTypeError(e){const t=getTypeErrorContext(e);(0,errors_1$3.reportError)(t,typeError)}function getTypeErrorContext(e){const{gen:t,data:r,schema:n}=e,i=(0,util_1$m.schemaRefOrVal)(e,n,"type");return{gen:t,keyword:"type",data:r,schema:n.type,schemaCode:i,schemaValue:i,parentSchema:n,params:{},it:e}}dataType.reportTypeError=reportTypeError;var defaults$1={},hasRequiredDefaults;function requireDefaults(){if(hasRequiredDefaults)return defaults$1;hasRequiredDefaults=1,Object.defineProperty(defaults$1,"__esModule",{value:!0}),defaults$1.assignDefaults=void 0;const e=requireCodegen(),t=util$i;function r(r,n,i){const{gen:o,compositeRule:s,data:a,opts:c}=r;if(void 0===i)return;const l=e._`${a}${(0,e.getProperty)(n)}`;if(s)return void(0,t.checkStrictMode)(r,`default is ignored for: ${l}`);let u=e._`${l} === undefined`;"empty"===c.useDefaults&&(u=e._`${u} || ${l} === null || ${l} === ""`),o.if(u,e._`${l} = ${(0,e.stringify)(i)}`)}return defaults$1.assignDefaults=function(e,t){const{properties:n,items:i}=e.schema;if("object"===t&&n)for(const t in n)r(e,t,n[t].default);else"array"===t&&Array.isArray(i)&&i.forEach(((t,n)=>r(e,n,t.default)))},defaults$1}var keyword$1={},code={},hasRequiredCode,hasRequiredKeyword;function requireCode(){if(hasRequiredCode)return code;hasRequiredCode=1,Object.defineProperty(code,"__esModule",{value:!0}),code.validateUnion=code.validateArray=code.usePattern=code.callValidateCode=code.schemaProperties=code.allSchemaProperties=code.noPropertyInData=code.propertyInData=code.isOwnProperty=code.hasPropFunc=code.reportMissingProp=code.checkMissingProp=code.checkReportMissingProp=void 0;const e=requireCodegen(),t=util$i,r=requireNames(),n=util$i;function i(t){return t.scopeValue("func",{ref:Object.prototype.hasOwnProperty,code:e._`Object.prototype.hasOwnProperty`})}function o(t,r,n){return e._`${i(t)}.call(${r}, ${n})`}function s(t,r,n,i){const s=e._`${r}${(0,e.getProperty)(n)} === undefined`;return i?(0,e.or)(s,(0,e.not)(o(t,r,n))):s}function a(e){return e?Object.keys(e).filter((e=>"__proto__"!==e)):[]}code.checkReportMissingProp=function(t,r){const{gen:n,data:i,it:o}=t;n.if(s(n,i,r,o.opts.ownProperties),(()=>{t.setParams({missingProperty:e._`${r}`},!0),t.error()}))},code.checkMissingProp=function({gen:t,data:r,it:{opts:n}},i,o){return(0,e.or)(...i.map((i=>(0,e.and)(s(t,r,i,n.ownProperties),e._`${o} = ${i}`))))},code.reportMissingProp=function(e,t){e.setParams({missingProperty:t},!0),e.error()},code.hasPropFunc=i,code.isOwnProperty=o,code.propertyInData=function(t,r,n,i){const s=e._`${r}${(0,e.getProperty)(n)} !== undefined`;return i?e._`${s} && ${o(t,r,n)}`:s},code.noPropertyInData=s,code.allSchemaProperties=a,code.schemaProperties=function(e,r){return a(r).filter((n=>!(0,t.alwaysValidSchema)(e,r[n])))},code.callValidateCode=function({schemaCode:t,data:n,it:{gen:i,topSchemaRef:o,schemaPath:s,errorPath:a},it:c},l,u,d){const p=d?e._`${t}, ${n}, ${o}${s}`:n,h=[[r.default.instancePath,(0,e.strConcat)(r.default.instancePath,a)],[r.default.parentData,c.parentData],[r.default.parentDataProperty,c.parentDataProperty],[r.default.rootData,r.default.rootData]];c.opts.dynamicRef&&h.push([r.default.dynamicAnchors,r.default.dynamicAnchors]);const f=e._`${p}, ${i.object(...h)}`;return u!==e.nil?e._`${l}.call(${u}, ${f})`:e._`${l}(${f})`};const c=e._`new RegExp`;return code.usePattern=function({gen:t,it:{opts:r}},i){const o=r.unicodeRegExp?"u":"",{regExp:s}=r.code,a=s(i,o);return t.scopeValue("pattern",{key:a.toString(),ref:a,code:e._`${"new RegExp"===s.code?c:(0,n.useFunc)(t,s)}(${i}, ${o})`})},code.validateArray=function(r){const{gen:n,data:i,keyword:o,it:s}=r,a=n.name("valid");if(s.allErrors){const e=n.let("valid",!0);return c((()=>n.assign(e,!1))),e}return n.var(a,!0),c((()=>n.break())),a;function c(s){const c=n.const("len",e._`${i}.length`);n.forRange("i",0,c,(i=>{r.subschema({keyword:o,dataProp:i,dataPropType:t.Type.Num},a),n.if((0,e.not)(a),s)}))}},code.validateUnion=function(r){const{gen:n,schema:i,keyword:o,it:s}=r;if(!Array.isArray(i))throw new Error("ajv implementation error");if(i.some((e=>(0,t.alwaysValidSchema)(s,e)))&&!s.opts.unevaluated)return;const a=n.let("valid",!1),c=n.name("_valid");n.block((()=>i.forEach(((t,i)=>{const s=r.subschema({keyword:o,schemaProp:i,compositeRule:!0},c);n.assign(a,e._`${a} || ${c}`);r.mergeValidEvaluated(s,c)||n.if((0,e.not)(a))})))),r.result(a,(()=>r.reset()),(()=>r.error(!0)))},code}function requireKeyword(){if(hasRequiredKeyword)return keyword$1;hasRequiredKeyword=1,Object.defineProperty(keyword$1,"__esModule",{value:!0}),keyword$1.validateKeywordUsage=keyword$1.validSchemaType=keyword$1.funcKeywordCode=keyword$1.macroKeywordCode=void 0;const e=requireCodegen(),t=requireNames(),r=requireCode(),n=requireErrors();function i(t){const{gen:r,data:n,it:i}=t;r.if(i.parentData,(()=>r.assign(n,e._`${i.parentData}[${i.parentDataProperty}]`)))}function o(t,r,n){if(void 0===n)throw new Error(`keyword "${r}" failed to compile`);return t.scopeValue("keyword","function"==typeof n?{ref:n}:{ref:n,code:(0,e.stringify)(n)})}return keyword$1.macroKeywordCode=function(t,r){const{gen:n,keyword:i,schema:s,parentSchema:a,it:c}=t,l=r.macro.call(c.self,s,a,c),u=o(n,i,l);!1!==c.opts.validateSchema&&c.self.validateSchema(l,!0);const d=n.name("valid");t.subschema({schema:l,schemaPath:e.nil,errSchemaPath:`${c.errSchemaPath}/${i}`,topSchemaRef:u,compositeRule:!0},d),t.pass(d,(()=>t.error(!0)))},keyword$1.funcKeywordCode=function(s,a){var c;const{gen:l,keyword:u,schema:d,parentSchema:p,$data:h,it:f}=s;!function({schemaEnv:e},t){if(t.async&&!e.$async)throw new Error("async keyword in sync schema")}(f,a);const m=!h&&a.compile?a.compile.call(f.self,d,p,f):a.validate,g=o(l,u,m),y=l.let("valid");function v(n=(a.async?e._`await `:e.nil)){const i=f.opts.passContext?t.default.this:t.default.self,o=!("compile"in a&&!h||!1===a.schema);l.assign(y,e._`${n}${(0,r.callValidateCode)(s,g,i,o)}`,a.modifying)}function b(t){var r;l.if((0,e.not)(null!==(r=a.valid)&&void 0!==r?r:y),t)}s.block$data(y,(function(){if(!1===a.errors)v(),a.modifying&&i(s),b((()=>s.error()));else{const r=a.async?function(){const t=l.let("ruleErrs",null);return l.try((()=>v(e._`await `)),(r=>l.assign(y,!1).if(e._`${r} instanceof ${f.ValidationError}`,(()=>l.assign(t,e._`${r}.errors`)),(()=>l.throw(r))))),t}():function(){const t=e._`${g}.errors`;return l.assign(t,null),v(e.nil),t}();a.modifying&&i(s),b((()=>function(r,i){const{gen:o}=r;o.if(e._`Array.isArray(${i})`,(()=>{o.assign(t.default.vErrors,e._`${t.default.vErrors} === null ? ${i} : ${t.default.vErrors}.concat(${i})`).assign(t.default.errors,e._`${t.default.vErrors}.length`),(0,n.extendErrors)(r)}),(()=>r.error()))}(s,r)))}})),s.ok(null!==(c=a.valid)&&void 0!==c?c:y)},keyword$1.validSchemaType=function(e,t,r=!1){return!t.length||t.some((t=>"array"===t?Array.isArray(e):"object"===t?e&&"object"==typeof e&&!Array.isArray(e):typeof e==t||r&&void 0===e))},keyword$1.validateKeywordUsage=function({schema:e,opts:t,self:r,errSchemaPath:n},i,o){if(Array.isArray(i.keyword)?!i.keyword.includes(o):i.keyword!==o)throw new Error("ajv implementation error");const s=i.dependencies;if(null==s?void 0:s.some((t=>!Object.prototype.hasOwnProperty.call(e,t))))throw new Error(`parent schema must have dependencies of ${o}: ${s.join(",")}`);if(i.validateSchema){if(!i.validateSchema(e[o])){const e=`keyword "${o}" value is invalid at path "${n}": `+r.errorsText(i.validateSchema.errors);if("log"!==t.validateSchema)throw new Error(e);r.logger.error(e)}}},keyword$1}var subschema={},hasRequiredSubschema;function requireSubschema(){if(hasRequiredSubschema)return subschema;hasRequiredSubschema=1,Object.defineProperty(subschema,"__esModule",{value:!0}),subschema.extendSubschemaMode=subschema.extendSubschemaData=subschema.getSubschema=void 0;const e=requireCodegen(),t=util$i;return subschema.getSubschema=function(r,{keyword:n,schemaProp:i,schema:o,schemaPath:s,errSchemaPath:a,topSchemaRef:c}){if(void 0!==n&&void 0!==o)throw new Error('both "keyword" and "schema" passed, only one allowed');if(void 0!==n){const o=r.schema[n];return void 0===i?{schema:o,schemaPath:e._`${r.schemaPath}${(0,e.getProperty)(n)}`,errSchemaPath:`${r.errSchemaPath}/${n}`}:{schema:o[i],schemaPath:e._`${r.schemaPath}${(0,e.getProperty)(n)}${(0,e.getProperty)(i)}`,errSchemaPath:`${r.errSchemaPath}/${n}/${(0,t.escapeFragment)(i)}`}}if(void 0!==o){if(void 0===s||void 0===a||void 0===c)throw new Error('"schemaPath", "errSchemaPath" and "topSchemaRef" are required with "schema"');return{schema:o,schemaPath:s,topSchemaRef:c,errSchemaPath:a}}throw new Error('either "keyword" or "schema" must be passed')},subschema.extendSubschemaData=function(r,n,{dataProp:i,dataPropType:o,data:s,dataTypes:a,propertyName:c}){if(void 0!==s&&void 0!==i)throw new Error('both "data" and "dataProp" passed, only one allowed');const{gen:l}=n;if(void 0!==i){const{errorPath:s,dataPathArr:a,opts:c}=n;u(l.let("data",e._`${n.data}${(0,e.getProperty)(i)}`,!0)),r.errorPath=e.str`${s}${(0,t.getErrorPath)(i,o,c.jsPropertySyntax)}`,r.parentDataProperty=e._`${i}`,r.dataPathArr=[...a,r.parentDataProperty]}if(void 0!==s){u(s instanceof e.Name?s:l.let("data",s,!0)),void 0!==c&&(r.propertyName=c)}function u(e){r.data=e,r.dataLevel=n.dataLevel+1,r.dataTypes=[],n.definedProperties=new Set,r.parentData=n.data,r.dataNames=[...n.dataNames,e]}a&&(r.dataTypes=a)},subschema.extendSubschemaMode=function(e,{jtdDiscriminator:t,jtdMetadata:r,compositeRule:n,createErrors:i,allErrors:o}){void 0!==n&&(e.compositeRule=n),void 0!==i&&(e.createErrors=i),void 0!==o&&(e.allErrors=o),e.jtdDiscriminator=t,e.jtdMetadata=r},subschema}var resolve$a={},fastDeepEqual=function e(t,r){if(t===r)return!0;if(t&&r&&"object"==typeof t&&"object"==typeof r){if(t.constructor!==r.constructor)return!1;var n,i,o;if(Array.isArray(t)){if((n=t.length)!=r.length)return!1;for(i=n;0!=i--;)if(!e(t[i],r[i]))return!1;return!0}if(t.constructor===RegExp)return t.source===r.source&&t.flags===r.flags;if(t.valueOf!==Object.prototype.valueOf)return t.valueOf()===r.valueOf();if(t.toString!==Object.prototype.toString)return t.toString()===r.toString();if((n=(o=Object.keys(t)).length)!==Object.keys(r).length)return!1;for(i=n;0!=i--;)if(!Object.prototype.hasOwnProperty.call(r,o[i]))return!1;for(i=n;0!=i--;){var s=o[i];if(!e(t[s],r[s]))return!1}return!0}return t!=t&&r!=r},equal$6=getDefaultExportFromCjs(fastDeepEqual),jsonSchemaTraverse$1={exports:{}},traverse$3=jsonSchemaTraverse$1.exports=function(e,t,r){"function"==typeof t&&(r=t,t={}),_traverse$1(t,"function"==typeof(r=t.cb||r)?r:r.pre||function(){},r.post||function(){},e,"",e)};function _traverse$1(e,t,r,n,i,o,s,a,c,l){if(n&&"object"==typeof n&&!Array.isArray(n)){for(var u in t(n,i,o,s,a,c,l),n){var d=n[u];if(Array.isArray(d)){if(u in traverse$3.arrayKeywords)for(var p=0;p<d.length;p++)_traverse$1(e,t,r,d[p],i+"/"+u+"/"+p,o,i,u,n,p)}else if(u in traverse$3.propsKeywords){if(d&&"object"==typeof d)for(var h in d)_traverse$1(e,t,r,d[h],i+"/"+u+"/"+escapeJsonPtr$1(h),o,i,u,n,h)}else(u in traverse$3.keywords||e.allKeys&&!(u in traverse$3.skipKeywords))&&_traverse$1(e,t,r,d,i+"/"+u,o,i,u,n)}r(n,i,o,s,a,c,l)}}function escapeJsonPtr$1(e){return e.replace(/~/g,"~0").replace(/\//g,"~1")}traverse$3.keywords={additionalItems:!0,items:!0,contains:!0,additionalProperties:!0,propertyNames:!0,not:!0,if:!0,then:!0,else:!0},traverse$3.arrayKeywords={items:!0,allOf:!0,anyOf:!0,oneOf:!0},traverse$3.propsKeywords={$defs:!0,definitions:!0,properties:!0,patternProperties:!0,dependencies:!0},traverse$3.skipKeywords={default:!0,enum:!0,const:!0,required:!0,maximum:!0,minimum:!0,exclusiveMaximum:!0,exclusiveMinimum:!0,multipleOf:!0,maxLength:!0,minLength:!0,pattern:!0,format:!0,maxItems:!0,minItems:!0,uniqueItems:!0,maxProperties:!0,minProperties:!0};var jsonSchemaTraverseExports$1=jsonSchemaTraverse$1.exports;Object.defineProperty(resolve$a,"__esModule",{value:!0}),resolve$a.getSchemaRefs=resolve$a.resolveUrl=resolve$a.normalizeId=resolve$a._getFullPath=resolve$a.getFullPath=resolve$a.inlineRef=void 0;const util_1$l=util$i,equal$5=fastDeepEqual,traverse$2=jsonSchemaTraverseExports$1,SIMPLE_INLINED$1=new Set(["type","format","pattern","maxLength","minLength","maxProperties","minProperties","maxItems","minItems","maximum","minimum","uniqueItems","multipleOf","required","enum","const"]);function inlineRef$1(e,t=!0){return"boolean"==typeof e||(!0===t?!hasRef(e):!!t&&countKeys$1(e)<=t)}resolve$a.inlineRef=inlineRef$1;const REF_KEYWORDS=new Set(["$ref","$recursiveRef","$recursiveAnchor","$dynamicRef","$dynamicAnchor"]);function hasRef(e){for(const t in e){if(REF_KEYWORDS.has(t))return!0;const r=e[t];if(Array.isArray(r)&&r.some(hasRef))return!0;if("object"==typeof r&&hasRef(r))return!0}return!1}function countKeys$1(e){let t=0;for(const r in e){if("$ref"===r)return 1/0;if(t++,!SIMPLE_INLINED$1.has(r)&&("object"==typeof e[r]&&(0,util_1$l.eachItem)(e[r],(e=>t+=countKeys$1(e))),t===1/0))return 1/0}return t}function getFullPath$1(e,t="",r){!1!==r&&(t=normalizeId$1(t));const n=e.parse(t);return _getFullPath$1(e,n)}function _getFullPath$1(e,t){return e.serialize(t).split("#")[0]+"#"}resolve$a.getFullPath=getFullPath$1,resolve$a._getFullPath=_getFullPath$1;const TRAILING_SLASH_HASH$1=/#\/?$/;function normalizeId$1(e){return e?e.replace(TRAILING_SLASH_HASH$1,""):""}function resolveUrl$1(e,t,r){return r=normalizeId$1(r),e.resolve(t,r)}resolve$a.normalizeId=normalizeId$1,resolve$a.resolveUrl=resolveUrl$1;const ANCHOR=/^[a-z_][-a-z0-9._]*$/i;function getSchemaRefs(e,t){if("boolean"==typeof e)return{};const{schemaId:r,uriResolver:n}=this.opts,i=normalizeId$1(e[r]||t),o={"":i},s=getFullPath$1(n,i,!1),a={},c=new Set;return traverse$2(e,{allKeys:!0},((e,t,n,i)=>{if(void 0===i)return;const d=s+t;let p=o[i];function h(t){const r=this.opts.uriResolver.resolve;if(t=normalizeId$1(p?r(p,t):t),c.has(t))throw u(t);c.add(t);let n=this.refs[t];return"string"==typeof n&&(n=this.refs[n]),"object"==typeof n?l(e,n.schema,t):t!==normalizeId$1(d)&&("#"===t[0]?(l(e,a[t],t),a[t]=e):this.refs[t]=d),t}function f(e){if("string"==typeof e){if(!ANCHOR.test(e))throw new Error(`invalid anchor "${e}"`);h.call(this,`#${e}`)}}"string"==typeof e[r]&&(p=h.call(this,e[r])),f.call(this,e.$anchor),f.call(this,e.$dynamicAnchor),o[t]=p})),a;function l(e,t,r){if(void 0!==t&&!equal$5(e,t))throw u(r)}function u(e){return new Error(`reference "${e}" resolves to more than one schema`)}}var hasRequiredValidate;function requireValidate(){if(hasRequiredValidate)return validate$2;hasRequiredValidate=1,Object.defineProperty(validate$2,"__esModule",{value:!0}),validate$2.getData=validate$2.KeywordCxt=validate$2.validateFunctionCode=void 0;const e=requireBoolSchema(),t=dataType,r=requireApplicability(),n=dataType,i=requireDefaults(),o=requireKeyword(),s=requireSubschema(),a=requireCodegen(),c=requireNames(),l=resolve$a,u=util$i,d=requireErrors();function p({gen:e,validateName:t,schema:r,schemaEnv:n,opts:i},o){i.code.es5?e.func(t,a._`${c.default.data}, ${c.default.valCxt}`,n.$async,(()=>{e.code(a._`"use strict"; ${h(r,i)}`),function(e,t){e.if(c.default.valCxt,(()=>{e.var(c.default.instancePath,a._`${c.default.valCxt}.${c.default.instancePath}`),e.var(c.default.parentData,a._`${c.default.valCxt}.${c.default.parentData}`),e.var(c.default.parentDataProperty,a._`${c.default.valCxt}.${c.default.parentDataProperty}`),e.var(c.default.rootData,a._`${c.default.valCxt}.${c.default.rootData}`),t.dynamicRef&&e.var(c.default.dynamicAnchors,a._`${c.default.valCxt}.${c.default.dynamicAnchors}`)}),(()=>{e.var(c.default.instancePath,a._`""`),e.var(c.default.parentData,a._`undefined`),e.var(c.default.parentDataProperty,a._`undefined`),e.var(c.default.rootData,c.default.data),t.dynamicRef&&e.var(c.default.dynamicAnchors,a._`{}`)}))}(e,i),e.code(o)})):e.func(t,a._`${c.default.data}, ${function(e){return a._`{${c.default.instancePath}="", ${c.default.parentData}, ${c.default.parentDataProperty}, ${c.default.rootData}=${c.default.data}${e.dynamicRef?a._`, ${c.default.dynamicAnchors}={}`:a.nil}}={}`}(i)}`,n.$async,(()=>e.code(h(r,i)).code(o)))}function h(e,t){const r="object"==typeof e&&e[t.schemaId];return r&&(t.code.source||t.code.process)?a._`/*# sourceURL=${r} */`:a.nil}function f(t,r){g(t)&&(y(t),m(t))?function(e,t){const{schema:r,gen:n,opts:i}=e;i.$comment&&r.$comment&&b(e);(function(e){const t=e.schema[e.opts.schemaId];t&&(e.baseId=(0,l.resolveUrl)(e.opts.uriResolver,e.baseId,t))})(e),function(e){if(e.schema.$async&&!e.schemaEnv.$async)throw new Error("async schema in sync schema")}(e);const o=n.const("_errs",c.default.errors);v(e,o),n.var(t,a._`${o} === ${c.default.errors}`)}(t,r):(0,e.boolOrEmptySchema)(t,r)}function m({schema:e,self:t}){if("boolean"==typeof e)return!e;for(const r in e)if(t.RULES.all[r])return!0;return!1}function g(e){return"boolean"!=typeof e.schema}function y(e){(0,u.checkUnknownRules)(e),function(e){const{schema:t,errSchemaPath:r,opts:n,self:i}=e;t.$ref&&n.ignoreKeywordsWithRef&&(0,u.schemaHasRulesButRef)(t,i.RULES)&&i.logger.warn(`$ref: keywords ignored in schema at path "${r}"`)}(e)}function v(e,r){if(e.opts.jtd)return _(e,[],!1,r);const n=(0,t.getSchemaTypes)(e.schema);_(e,n,!(0,t.coerceAndCheckDataType)(e,n),r)}function b({gen:e,schemaEnv:t,schema:r,errSchemaPath:n,opts:i}){const o=r.$comment;if(!0===i.$comment)e.code(a._`${c.default.self}.logger.log(${o})`);else if("function"==typeof i.$comment){const r=a.str`${n}/$comment`,i=e.scopeValue("root",{ref:t.root});e.code(a._`${c.default.self}.opts.$comment(${o}, ${r}, ${i}.schema)`)}}function _(e,t,i,o){const{gen:s,schema:l,data:d,allErrors:p,opts:h,self:f}=e,{RULES:m}=f;function g(u){(0,r.shouldUseGroup)(l,u)&&(u.type?(s.if((0,n.checkDataType)(u.type,d,h.strictNumbers)),E(e,u),1===t.length&&t[0]===u.type&&i&&(s.else(),(0,n.reportTypeError)(e)),s.endIf()):E(e,u),p||s.if(a._`${c.default.errors} === ${o||0}`))}!l.$ref||!h.ignoreKeywordsWithRef&&(0,u.schemaHasRulesButRef)(l,m)?(h.jtd||function(e,t){if(e.schemaEnv.meta||!e.opts.strictTypes)return;(function(e,t){if(!t.length)return;if(!e.dataTypes.length)return void(e.dataTypes=t);t.forEach((t=>{w(e.dataTypes,t)||x(e,`type "${t}" not allowed by context "${e.dataTypes.join(",")}"`)})),function(e,t){const r=[];for(const n of e.dataTypes)w(t,n)?r.push(n):t.includes("integer")&&"number"===n&&r.push("integer");e.dataTypes=r}(e,t)})(e,t),e.opts.allowUnionTypes||function(e,t){t.length>1&&(2!==t.length||!t.includes("null"))&&x(e,"use allowUnionTypes to allow union type keyword")}(e,t);!function(e,t){const n=e.self.RULES.all;for(const i in n){const o=n[i];if("object"==typeof o&&(0,r.shouldUseRule)(e.schema,o)){const{type:r}=o.definition;r.length&&!r.some((e=>$(t,e)))&&x(e,`missing type "${r.join(",")}" for keyword "${i}"`)}}}(e,e.dataTypes)}(e,t),s.block((()=>{for(const e of m.rules)g(e);g(m.post)}))):s.block((()=>T(e,"$ref",m.all.$ref.definition)))}function E(e,t){const{gen:n,schema:o,opts:{useDefaults:s}}=e;s&&(0,i.assignDefaults)(e,t.type),n.block((()=>{for(const n of t.rules)(0,r.shouldUseRule)(o,n)&&T(e,n.keyword,n.definition,t.type)}))}function $(e,t){return e.includes(t)||"number"===t&&e.includes("integer")}function w(e,t){return e.includes(t)||"integer"===t&&e.includes("number")}function x(e,t){t+=` at "${e.schemaEnv.baseId+e.errSchemaPath}" (strictTypes)`,(0,u.checkStrictMode)(e,t,e.opts.strictTypes)}validate$2.validateFunctionCode=function(t){g(t)&&(y(t),m(t))?function(e){const{schema:t,opts:r,gen:n}=e;p(e,(()=>{r.$comment&&t.$comment&&b(e),function(e){const{schema:t,opts:r}=e;void 0!==t.default&&r.useDefaults&&r.strictSchema&&(0,u.checkStrictMode)(e,"default is ignored in the schema root")}(e),n.let(c.default.vErrors,null),n.let(c.default.errors,0),r.unevaluated&&function(e){const{gen:t,validateName:r}=e;e.evaluated=t.const("evaluated",a._`${r}.evaluated`),t.if(a._`${e.evaluated}.dynamicProps`,(()=>t.assign(a._`${e.evaluated}.props`,a._`undefined`))),t.if(a._`${e.evaluated}.dynamicItems`,(()=>t.assign(a._`${e.evaluated}.items`,a._`undefined`)))}(e),v(e),function(e){const{gen:t,schemaEnv:r,validateName:n,ValidationError:i,opts:o}=e;r.$async?t.if(a._`${c.default.errors} === 0`,(()=>t.return(c.default.data)),(()=>t.throw(a._`new ${i}(${c.default.vErrors})`))):(t.assign(a._`${n}.errors`,c.default.vErrors),o.unevaluated&&function({gen:e,evaluated:t,props:r,items:n}){r instanceof a.Name&&e.assign(a._`${t}.props`,r);n instanceof a.Name&&e.assign(a._`${t}.items`,n)}(e),t.return(a._`${c.default.errors} === 0`))}(e)}))}(t):p(t,(()=>(0,e.topBoolOrEmptySchema)(t)))};class S{constructor(e,t,r){if((0,o.validateKeywordUsage)(e,t,r),this.gen=e.gen,this.allErrors=e.allErrors,this.keyword=r,this.data=e.data,this.schema=e.schema[r],this.$data=t.$data&&e.opts.$data&&this.schema&&this.schema.$data,this.schemaValue=(0,u.schemaRefOrVal)(e,this.schema,r,this.$data),this.schemaType=t.schemaType,this.parentSchema=e.schema,this.params={},this.it=e,this.def=t,this.$data)this.schemaCode=e.gen.const("vSchema",A(this.$data,e));else if(this.schemaCode=this.schemaValue,!(0,o.validSchemaType)(this.schema,t.schemaType,t.allowUndefined))throw new Error(`${r} value must be ${JSON.stringify(t.schemaType)}`);("code"in t?t.trackErrors:!1!==t.errors)&&(this.errsCount=e.gen.const("_errs",c.default.errors))}result(e,t,r){this.failResult((0,a.not)(e),t,r)}failResult(e,t,r){this.gen.if(e),r?r():this.error(),t?(this.gen.else(),t(),this.allErrors&&this.gen.endIf()):this.allErrors?this.gen.endIf():this.gen.else()}pass(e,t){this.failResult((0,a.not)(e),void 0,t)}fail(e){if(void 0===e)return this.error(),void(this.allErrors||this.gen.if(!1));this.gen.if(e),this.error(),this.allErrors?this.gen.endIf():this.gen.else()}fail$data(e){if(!this.$data)return this.fail(e);const{schemaCode:t}=this;this.fail(a._`${t} !== undefined && (${(0,a.or)(this.invalid$data(),e)})`)}error(e,t,r){if(t)return this.setParams(t),this._error(e,r),void this.setParams({});this._error(e,r)}_error(e,t){(e?d.reportExtraError:d.reportError)(this,this.def.error,t)}$dataError(){(0,d.reportError)(this,this.def.$dataError||d.keyword$DataError)}reset(){if(void 0===this.errsCount)throw new Error('add "trackErrors" to keyword definition');(0,d.resetErrorsCount)(this.gen,this.errsCount)}ok(e){this.allErrors||this.gen.if(e)}setParams(e,t){t?Object.assign(this.params,e):this.params=e}block$data(e,t,r=a.nil){this.gen.block((()=>{this.check$data(e,r),t()}))}check$data(e=a.nil,t=a.nil){if(!this.$data)return;const{gen:r,schemaCode:n,schemaType:i,def:o}=this;r.if((0,a.or)(a._`${n} === undefined`,t)),e!==a.nil&&r.assign(e,!0),(i.length||o.validateSchema)&&(r.elseIf(this.invalid$data()),this.$dataError(),e!==a.nil&&r.assign(e,!1)),r.else()}invalid$data(){const{gen:e,schemaCode:t,schemaType:r,def:i,it:o}=this;return(0,a.or)(function(){if(r.length){if(!(t instanceof a.Name))throw new Error("ajv implementation error");const e=Array.isArray(r)?r:[r];return a._`${(0,n.checkDataTypes)(e,t,o.opts.strictNumbers,n.DataType.Wrong)}`}return a.nil}(),function(){if(i.validateSchema){const r=e.scopeValue("validate$data",{ref:i.validateSchema});return a._`!${r}(${t})`}return a.nil}())}subschema(e,t){const r=(0,s.getSubschema)(this.it,e);(0,s.extendSubschemaData)(r,this.it,e),(0,s.extendSubschemaMode)(r,e);const n={...this.it,...r,items:void 0,props:void 0};return f(n,t),n}mergeEvaluated(e,t){const{it:r,gen:n}=this;r.opts.unevaluated&&(!0!==r.props&&void 0!==e.props&&(r.props=u.mergeEvaluated.props(n,e.props,r.props,t)),!0!==r.items&&void 0!==e.items&&(r.items=u.mergeEvaluated.items(n,e.items,r.items,t)))}mergeValidEvaluated(e,t){const{it:r,gen:n}=this;if(r.opts.unevaluated&&(!0!==r.props||!0!==r.items))return n.if(t,(()=>this.mergeEvaluated(e,a.Name))),!0}}function T(e,t,r,n){const i=new S(e,r,t);"code"in r?r.code(i,n):i.$data&&r.validate?(0,o.funcKeywordCode)(i,r):"macro"in r?(0,o.macroKeywordCode)(i,r):(r.compile||r.validate)&&(0,o.funcKeywordCode)(i,r)}validate$2.KeywordCxt=S;const C=/^\/(?:[^~]|~0|~1)*$/,R=/^([0-9]+)(#|\/(?:[^~]|~0|~1)*)?$/;function A(e,{dataLevel:t,dataNames:r,dataPathArr:n}){let i,o;if(""===e)return c.default.rootData;if("/"===e[0]){if(!C.test(e))throw new Error(`Invalid JSON-pointer: ${e}`);i=e,o=c.default.rootData}else{const s=R.exec(e);if(!s)throw new Error(`Invalid JSON-pointer: ${e}`);const a=+s[1];if(i=s[2],"#"===i){if(a>=t)throw new Error(d("property/index",a));return n[t-a]}if(a>t)throw new Error(d("data",a));if(o=r[t-a],!i)return o}let s=o;const l=i.split("/");for(const e of l)e&&(o=a._`${o}${(0,a.getProperty)((0,u.unescapeJsonPointer)(e))}`,s=a._`${s} && ${o}`);return s;function d(e,r){return`Cannot access ${e} ${r} levels up, current level is ${t}`}}return validate$2.getData=A,validate$2}resolve$a.getSchemaRefs=getSchemaRefs;var validation_error={},hasRequiredValidation_error;function requireValidation_error(){if(hasRequiredValidation_error)return validation_error;hasRequiredValidation_error=1,Object.defineProperty(validation_error,"__esModule",{value:!0});class e extends Error{constructor(e){super("validation failed"),this.errors=e,this.ajv=this.validation=!0}}return validation_error.default=e,validation_error}var ref_error={},hasRequiredRef_error;function requireRef_error(){if(hasRequiredRef_error)return ref_error;hasRequiredRef_error=1,Object.defineProperty(ref_error,"__esModule",{value:!0});const e=resolve$a;class t extends Error{constructor(t,r,n,i){super(i||`can't resolve reference ${n} from id ${r}`),this.missingRef=(0,e.resolveUrl)(t,r,n),this.missingSchema=(0,e.normalizeId)((0,e.getFullPath)(t,this.missingRef))}}return ref_error.default=t,ref_error}var compile$3={};Object.defineProperty(compile$3,"__esModule",{value:!0}),compile$3.resolveSchema=compile$3.getCompilingSchema=compile$3.resolveRef=compile$3.compileSchema=compile$3.SchemaEnv=void 0;const codegen_1$m=requireCodegen(),validation_error_1=requireValidation_error(),names_1$2=requireNames(),resolve_1$1=resolve$a,util_1$k=util$i,validate_1$1=requireValidate();class SchemaEnv{constructor(e){var t;let r;this.refs={},this.dynamicAnchors={},"object"==typeof e.schema&&(r=e.schema),this.schema=e.schema,this.schemaId=e.schemaId,this.root=e.root||this,this.baseId=null!==(t=e.baseId)&&void 0!==t?t:(0,resolve_1$1.normalizeId)(null==r?void 0:r[e.schemaId||"$id"]),this.schemaPath=e.schemaPath,this.localRefs=e.localRefs,this.meta=e.meta,this.$async=null==r?void 0:r.$async,this.refs={}}}function compileSchema$1(e){const t=getCompilingSchema.call(this,e);if(t)return t;const r=(0,resolve_1$1.getFullPath)(this.opts.uriResolver,e.root.baseId),{es5:n,lines:i}=this.opts.code,{ownProperties:o}=this.opts,s=new codegen_1$m.CodeGen(this.scope,{es5:n,lines:i,ownProperties:o});let a;e.$async&&(a=s.scopeValue("Error",{ref:validation_error_1.default,code:codegen_1$m._`require("ajv/dist/runtime/validation_error").default`}));const c=s.scopeName("validate");e.validateName=c;const l={gen:s,allErrors:this.opts.allErrors,data:names_1$2.default.data,parentData:names_1$2.default.parentData,parentDataProperty:names_1$2.default.parentDataProperty,dataNames:[names_1$2.default.data],dataPathArr:[codegen_1$m.nil],dataLevel:0,dataTypes:[],definedProperties:new Set,topSchemaRef:s.scopeValue("schema",!0===this.opts.code.source?{ref:e.schema,code:(0,codegen_1$m.stringify)(e.schema)}:{ref:e.schema}),validateName:c,ValidationError:a,schema:e.schema,schemaEnv:e,rootId:r,baseId:e.baseId||r,schemaPath:codegen_1$m.nil,errSchemaPath:e.schemaPath||(this.opts.jtd?"":"#"),errorPath:codegen_1$m._`""`,opts:this.opts,self:this};let u;try{this._compilations.add(e),(0,validate_1$1.validateFunctionCode)(l),s.optimize(this.opts.code.optimize);const t=s.toString();u=`${s.scopeRefs(names_1$2.default.scope)}return ${t}`,this.opts.code.process&&(u=this.opts.code.process(u,e));const r=new Function(`${names_1$2.default.self}`,`${names_1$2.default.scope}`,u)(this,this.scope.get());if(this.scope.value(c,{ref:r}),r.errors=null,r.schema=e.schema,r.schemaEnv=e,e.$async&&(r.$async=!0),!0===this.opts.code.source&&(r.source={validateName:c,validateCode:t,scopeValues:s._values}),this.opts.unevaluated){const{props:e,items:t}=l;r.evaluated={props:e instanceof codegen_1$m.Name?void 0:e,items:t instanceof codegen_1$m.Name?void 0:t,dynamicProps:e instanceof codegen_1$m.Name,dynamicItems:t instanceof codegen_1$m.Name},r.source&&(r.source.evaluated=(0,codegen_1$m.stringify)(r.evaluated))}return e.validate=r,e}catch(t){throw delete e.validate,delete e.validateName,u&&this.logger.error("Error compiling schema, function code:",u),t}finally{this._compilations.delete(e)}}function resolveRef(e,t,r){var n;r=(0,resolve_1$1.resolveUrl)(this.opts.uriResolver,t,r);const i=e.refs[r];if(i)return i;let o=resolve$9.call(this,e,r);if(void 0===o){const i=null===(n=e.localRefs)||void 0===n?void 0:n[r],{schemaId:s}=this.opts;i&&(o=new SchemaEnv({schema:i,schemaId:s,root:e,baseId:t}))}return void 0!==o?e.refs[r]=inlineOrCompile.call(this,o):void 0}function inlineOrCompile(e){return(0,resolve_1$1.inlineRef)(e.schema,this.opts.inlineRefs)?e.schema:e.validate?e:compileSchema$1.call(this,e)}function getCompilingSchema(e){for(const t of this._compilations)if(sameSchemaEnv(t,e))return t}function sameSchemaEnv(e,t){return e.schema===t.schema&&e.root===t.root&&e.baseId===t.baseId}function resolve$9(e,t){let r;for(;"string"==typeof(r=this.refs[t]);)t=r;return r||this.schemas[t]||resolveSchema$1.call(this,e,t)}function resolveSchema$1(e,t){const r=this.opts.uriResolver.parse(t),n=(0,resolve_1$1._getFullPath)(this.opts.uriResolver,r);let i=(0,resolve_1$1.getFullPath)(this.opts.uriResolver,e.baseId,void 0);if(Object.keys(e.schema).length>0&&n===i)return getJsonPointer$1.call(this,r,e);const o=(0,resolve_1$1.normalizeId)(n),s=this.refs[o]||this.schemas[o];if("string"==typeof s){const t=resolveSchema$1.call(this,e,s);if("object"!=typeof(null==t?void 0:t.schema))return;return getJsonPointer$1.call(this,r,t)}if("object"==typeof(null==s?void 0:s.schema)){if(s.validate||compileSchema$1.call(this,s),o===(0,resolve_1$1.normalizeId)(t)){const{schema:t}=s,{schemaId:r}=this.opts,n=t[r];return n&&(i=(0,resolve_1$1.resolveUrl)(this.opts.uriResolver,i,n)),new SchemaEnv({schema:t,schemaId:r,root:e,baseId:i})}return getJsonPointer$1.call(this,r,s)}}compile$3.SchemaEnv=SchemaEnv,compile$3.compileSchema=compileSchema$1,compile$3.resolveRef=resolveRef,compile$3.getCompilingSchema=getCompilingSchema,compile$3.resolveSchema=resolveSchema$1;const PREVENT_SCOPE_CHANGE$1=new Set(["properties","patternProperties","enum","dependencies","definitions"]);function getJsonPointer$1(e,{baseId:t,schema:r,root:n}){var i;if("/"!==(null===(i=e.fragment)||void 0===i?void 0:i[0]))return;for(const n of e.fragment.slice(1).split("/")){if("boolean"==typeof r)return;const e=r[(0,util_1$k.unescapeFragment)(n)];if(void 0===e)return;const i="object"==typeof(r=e)&&r[this.opts.schemaId];!PREVENT_SCOPE_CHANGE$1.has(n)&&i&&(t=(0,resolve_1$1.resolveUrl)(this.opts.uriResolver,t,i))}let o;if("boolean"!=typeof r&&r.$ref&&!(0,util_1$k.schemaHasRulesButRef)(r,this.RULES)){const e=(0,resolve_1$1.resolveUrl)(this.opts.uriResolver,t,r.$ref);o=resolveSchema$1.call(this,n,e)}const{schemaId:s}=this.opts;return o=o||new SchemaEnv({schema:r,schemaId:s,root:n,baseId:t}),o.schema!==o.root.schema?o:void 0}var $id$3="https://raw.githubusercontent.com/ajv-validator/ajv/master/lib/refs/data.json#",description$2="Meta-schema for $data reference (JSON AnySchema extension proposal)",type$4="object",required$3=["$data"],properties$5={$data:{type:"string",anyOf:[{format:"relative-json-pointer"},{format:"json-pointer"}]}},additionalProperties$2=!1,require$$9={$id:$id$3,description:description$2,type:type$4,required:required$3,properties:properties$5,additionalProperties:additionalProperties$2},uri$2={},fastUri$1={exports:{}};const HEX$1={0:0,1:1,2:2,3:3,4:4,5:5,6:6,7:7,8:8,9:9,a:10,A:10,b:11,B:11,c:12,C:12,d:13,D:13,e:14,E:14,f:15,F:15};var scopedChars={HEX:HEX$1};const{HEX:HEX}=scopedChars;function normalizeIPv4$1(e){if(findToken(e,".")<3)return{host:e,isIPV4:!1};const t=e.match(/^(?:(?:25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])\.){3}(?:25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])$/u)||[],[r]=t;return r?{host:stripLeadingZeros(r,"."),isIPV4:!0}:{host:e,isIPV4:!1}}function stringArrayToHexStripped(e,t=!1){let r="",n=!0;for(const t of e){if(void 0===HEX[t])return;"0"!==t&&!0===n&&(n=!1),n||(r+=t)}return t&&0===r.length&&(r="0"),r}function getIPV6(e){let t=0;const r={error:!1,address:"",zone:""},n=[],i=[];let o=!1,s=!1,a=!1;function c(){if(i.length){if(!1===o){const e=stringArrayToHexStripped(i);if(void 0===e)return r.error=!0,!1;n.push(e)}i.length=0}return!0}for(let l=0;l<e.length;l++){const u=e[l];if("["!==u&&"]"!==u)if(":"!==u)if("%"===u){if(!c())break;o=!0}else i.push(u);else{if(!0===s&&(a=!0),!c())break;if(t++,n.push(":"),t>7){r.error=!0;break}l-1>=0&&":"===e[l-1]&&(s=!0)}}return i.length&&(o?r.zone=i.join(""):a?n.push(i.join("")):n.push(stringArrayToHexStripped(i))),r.address=n.join(""),r}function normalizeIPv6$1(e,t={}){if(findToken(e,":")<2)return{host:e,isIPV6:!1};const r=getIPV6(e);if(r.error)return{host:e,isIPV6:!1};{let e=r.address,t=r.address;return r.zone&&(e+="%"+r.zone,t+="%25"+r.zone),{host:e,escapedHost:t,isIPV6:!0}}}function stripLeadingZeros(e,t){let r="",n=!0;const i=e.length;for(let o=0;o<i;o++){const s=e[o];"0"===s&&n?(o+1<=i&&e[o+1]===t||o+1===i)&&(r+=s,n=!1):(n=s===t,r+=s)}return r}function findToken(e,t){let r=0;for(let n=0;n<e.length;n++)e[n]===t&&r++;return r}const RDS1=/^\.\.?\//u,RDS2=/^\/\.(?:\/|$)/u,RDS3=/^\/\.\.(?:\/|$)/u,RDS5=/^\/?(?:.|\n)*?(?=\/|$)/u;function removeDotSegments$1(e){const t=[];for(;e.length;)if(e.match(RDS1))e=e.replace(RDS1,"");else if(e.match(RDS2))e=e.replace(RDS2,"/");else if(e.match(RDS3))e=e.replace(RDS3,"/"),t.pop();else if("."===e||".."===e)e="";else{const r=e.match(RDS5);if(!r)throw new Error("Unexpected dot segment condition");{const n=r[0];e=e.slice(n.length),t.push(n)}}return t.join("")}function normalizeComponentEncoding$1(e,t){const r=!0!==t?escape:unescape;return void 0!==e.scheme&&(e.scheme=r(e.scheme)),void 0!==e.userinfo&&(e.userinfo=r(e.userinfo)),void 0!==e.host&&(e.host=r(e.host)),void 0!==e.path&&(e.path=r(e.path)),void 0!==e.query&&(e.query=r(e.query)),void 0!==e.fragment&&(e.fragment=r(e.fragment)),e}function recomposeAuthority$1(e,t){const r=[];if(void 0!==e.userinfo&&(r.push(e.userinfo),r.push("@")),void 0!==e.host){let t=unescape(e.host);const n=normalizeIPv4$1(t);if(n.isIPV4)t=n.host;else{const r=normalizeIPv6$1(n.host,{isIPV4:!1});t=!0===r.isIPV6?`[${r.escapedHost}]`:e.host}r.push(t)}return"number"!=typeof e.port&&"string"!=typeof e.port||(r.push(":"),r.push(String(e.port))),r.length?r.join(""):void 0}var utils$3={recomposeAuthority:recomposeAuthority$1,normalizeComponentEncoding:normalizeComponentEncoding$1,removeDotSegments:removeDotSegments$1,normalizeIPv4:normalizeIPv4$1,normalizeIPv6:normalizeIPv6$1,stringArrayToHexStripped:stringArrayToHexStripped};const UUID_REG=/^[\da-f]{8}\b-[\da-f]{4}\b-[\da-f]{4}\b-[\da-f]{4}\b-[\da-f]{12}$/iu,URN_REG=/([\da-z][\d\-a-z]{0,31}):((?:[\w!$'()*+,\-.:;=@]|%[\da-f]{2})+)/iu;function isSecure(e){return"boolean"==typeof e.secure?e.secure:"wss"===String(e.scheme).toLowerCase()}function httpParse(e){return e.host||(e.error=e.error||"HTTP URIs must have a host."),e}function httpSerialize(e){const t="https"===String(e.scheme).toLowerCase();return e.port!==(t?443:80)&&""!==e.port||(e.port=void 0),e.path||(e.path="/"),e}function wsParse(e){return e.secure=isSecure(e),e.resourceName=(e.path||"/")+(e.query?"?"+e.query:""),e.path=void 0,e.query=void 0,e}function wsSerialize(e){if(e.port!==(isSecure(e)?443:80)&&""!==e.port||(e.port=void 0),"boolean"==typeof e.secure&&(e.scheme=e.secure?"wss":"ws",e.secure=void 0),e.resourceName){const[t,r]=e.resourceName.split("?");e.path=t&&"/"!==t?t:void 0,e.query=r,e.resourceName=void 0}return e.fragment=void 0,e}function urnParse(e,t){if(!e.path)return e.error="URN can not be parsed",e;const r=e.path.match(URN_REG);if(r){const n=t.scheme||e.scheme||"urn";e.nid=r[1].toLowerCase(),e.nss=r[2];const i=`${n}:${t.nid||e.nid}`,o=SCHEMES$1[i];e.path=void 0,o&&(e=o.parse(e,t))}else e.error=e.error||"URN can not be parsed.";return e}function urnSerialize(e,t){const r=t.scheme||e.scheme||"urn",n=e.nid.toLowerCase(),i=`${r}:${t.nid||n}`,o=SCHEMES$1[i];o&&(e=o.serialize(e,t));const s=e,a=e.nss;return s.path=`${n||t.nid}:${a}`,t.skipEscape=!0,s}function urnuuidParse(e,t){const r=e;return r.uuid=r.nss,r.nss=void 0,t.tolerant||r.uuid&&UUID_REG.test(r.uuid)||(r.error=r.error||"UUID is not valid."),r}function urnuuidSerialize(e){const t=e;return t.nss=(e.uuid||"").toLowerCase(),t}const http$6={scheme:"http",domainHost:!0,parse:httpParse,serialize:httpSerialize},https$2={scheme:"https",domainHost:http$6.domainHost,parse:httpParse,serialize:httpSerialize},ws={scheme:"ws",domainHost:!0,parse:wsParse,serialize:wsSerialize},wss={scheme:"wss",domainHost:ws.domainHost,parse:ws.parse,serialize:ws.serialize},urn={scheme:"urn",parse:urnParse,serialize:urnSerialize,skipNormalize:!0},urnuuid={scheme:"urn:uuid",parse:urnuuidParse,serialize:urnuuidSerialize,skipNormalize:!0},SCHEMES$1={http:http$6,https:https$2,ws:ws,wss:wss,urn:urn,"urn:uuid":urnuuid};var schemes=SCHEMES$1;const{normalizeIPv6:normalizeIPv6,normalizeIPv4:normalizeIPv4,removeDotSegments:removeDotSegments,recomposeAuthority:recomposeAuthority,normalizeComponentEncoding:normalizeComponentEncoding}=utils$3,SCHEMES=schemes;function normalize$3(e,t){return"string"==typeof e?e=serialize$1(parse$g(e,t),t):"object"==typeof e&&(e=parse$g(serialize$1(e,t),t)),e}function resolve$8(e,t,r){const n=Object.assign({scheme:"null"},r);return serialize$1(resolveComponents(parse$g(e,n),parse$g(t,n),n,!0),{...n,skipEscape:!0})}function resolveComponents(e,t,r,n){const i={};return n||(e=parse$g(serialize$1(e,r),r),t=parse$g(serialize$1(t,r),r)),!(r=r||{}).tolerant&&t.scheme?(i.scheme=t.scheme,i.userinfo=t.userinfo,i.host=t.host,i.port=t.port,i.path=removeDotSegments(t.path||""),i.query=t.query):(void 0!==t.userinfo||void 0!==t.host||void 0!==t.port?(i.userinfo=t.userinfo,i.host=t.host,i.port=t.port,i.path=removeDotSegments(t.path||""),i.query=t.query):(t.path?("/"===t.path.charAt(0)?i.path=removeDotSegments(t.path):(void 0===e.userinfo&&void 0===e.host&&void 0===e.port||e.path?e.path?i.path=e.path.slice(0,e.path.lastIndexOf("/")+1)+t.path:i.path=t.path:i.path="/"+t.path,i.path=removeDotSegments(i.path)),i.query=t.query):(i.path=e.path,void 0!==t.query?i.query=t.query:i.query=e.query),i.userinfo=e.userinfo,i.host=e.host,i.port=e.port),i.scheme=e.scheme),i.fragment=t.fragment,i}function equal$4(e,t,r){return"string"==typeof e?(e=unescape(e),e=serialize$1(normalizeComponentEncoding(parse$g(e,r),!0),{...r,skipEscape:!0})):"object"==typeof e&&(e=serialize$1(normalizeComponentEncoding(e,!0),{...r,skipEscape:!0})),"string"==typeof t?(t=unescape(t),t=serialize$1(normalizeComponentEncoding(parse$g(t,r),!0),{...r,skipEscape:!0})):"object"==typeof t&&(t=serialize$1(normalizeComponentEncoding(t,!0),{...r,skipEscape:!0})),e.toLowerCase()===t.toLowerCase()}function serialize$1(e,t){const r={host:e.host,scheme:e.scheme,userinfo:e.userinfo,port:e.port,path:e.path,query:e.query,nid:e.nid,nss:e.nss,uuid:e.uuid,fragment:e.fragment,reference:e.reference,resourceName:e.resourceName,secure:e.secure,error:""},n=Object.assign({},t),i=[],o=SCHEMES[(n.scheme||r.scheme||"").toLowerCase()];o&&o.serialize&&o.serialize(r,n),void 0!==r.path&&(n.skipEscape?r.path=unescape(r.path):(r.path=escape(r.path),void 0!==r.scheme&&(r.path=r.path.split("%3A").join(":")))),"suffix"!==n.reference&&r.scheme&&i.push(r.scheme,":");const s=recomposeAuthority(r,n);if(void 0!==s&&("suffix"!==n.reference&&i.push("//"),i.push(s),r.path&&"/"!==r.path.charAt(0)&&i.push("/")),void 0!==r.path){let e=r.path;n.absolutePath||o&&o.absolutePath||(e=removeDotSegments(e)),void 0===s&&(e=e.replace(/^\/\//u,"/%2F")),i.push(e)}return void 0!==r.query&&i.push("?",r.query),void 0!==r.fragment&&i.push("#",r.fragment),i.join("")}const hexLookUp=Array.from({length:127},((e,t)=>/[^!"$&'()*+,\-.;=_`a-z{}~]/u.test(String.fromCharCode(t))));function nonSimpleDomain(e){let t=0;for(let r=0,n=e.length;r<n;++r)if(t=e.charCodeAt(r),t>126||hexLookUp[t])return!0;return!1}const URI_PARSE=/^(?:([^#/:?]+):)?(?:\/\/((?:([^#/?@]*)@)?(\[[^#/?\]]+\]|[^#/:?]*)(?::(\d*))?))?([^#?]*)(?:\?([^#]*))?(?:#((?:.|[\n\r])*))?/u;function parse$g(e,t){const r=Object.assign({},t),n={scheme:void 0,userinfo:void 0,host:"",port:void 0,path:"",query:void 0,fragment:void 0},i=-1!==e.indexOf("%");let o=!1;"suffix"===r.reference&&(e=(r.scheme?r.scheme+":":"")+"//"+e);const s=e.match(URI_PARSE);if(s){if(n.scheme=s[1],n.userinfo=s[3],n.host=s[4],n.port=parseInt(s[5],10),n.path=s[6]||"",n.query=s[7],n.fragment=s[8],isNaN(n.port)&&(n.port=s[5]),n.host){const e=normalizeIPv4(n.host);if(!1===e.isIPV4){const t=normalizeIPv6(e.host,{isIPV4:!1});n.host=t.host.toLowerCase(),o=t.isIPV6}else n.host=e.host,o=!0}void 0!==n.scheme||void 0!==n.userinfo||void 0!==n.host||void 0!==n.port||n.path||void 0!==n.query?void 0===n.scheme?n.reference="relative":void 0===n.fragment?n.reference="absolute":n.reference="uri":n.reference="same-document",r.reference&&"suffix"!==r.reference&&r.reference!==n.reference&&(n.error=n.error||"URI is not a "+r.reference+" reference.");const e=SCHEMES[(r.scheme||n.scheme||"").toLowerCase()];if(!(r.unicodeSupport||e&&e.unicodeSupport)&&n.host&&(r.domainHost||e&&e.domainHost)&&!1===o&&nonSimpleDomain(n.host))try{n.host=URL.domainToASCII(n.host.toLowerCase())}catch(e){n.error=n.error||"Host's domain name can not be converted to ASCII: "+e}(!e||e&&!e.skipNormalize)&&(i&&void 0!==n.scheme&&(n.scheme=unescape(n.scheme)),i&&void 0!==n.host&&(n.host=unescape(n.host)),void 0!==n.path&&n.path.length&&(n.path=escape(unescape(n.path))),void 0!==n.fragment&&n.fragment.length&&(n.fragment=encodeURI(decodeURIComponent(n.fragment)))),e&&e.parse&&e.parse(n,r)}else n.error=n.error||"URI can not be parsed.";return n}const fastUri={SCHEMES:SCHEMES,normalize:normalize$3,resolve:resolve$8,resolveComponents:resolveComponents,equal:equal$4,serialize:serialize$1,parse:parse$g};fastUri$1.exports=fastUri,fastUri$1.exports.default=fastUri,fastUri$1.exports.fastUri=fastUri;var fastUriExports=fastUri$1.exports;Object.defineProperty(uri$2,"__esModule",{value:!0});const uri$1=fastUriExports;uri$1.code='require("ajv/dist/runtime/uri").default',uri$2.default=uri$1,function(e){Object.defineProperty(e,"__esModule",{value:!0}),e.CodeGen=e.Name=e.nil=e.stringify=e.str=e._=e.KeywordCxt=void 0;var t=requireValidate();Object.defineProperty(e,"KeywordCxt",{enumerable:!0,get:function(){return t.KeywordCxt}});var r=requireCodegen();Object.defineProperty(e,"_",{enumerable:!0,get:function(){return r._}}),Object.defineProperty(e,"str",{enumerable:!0,get:function(){return r.str}}),Object.defineProperty(e,"stringify",{enumerable:!0,get:function(){return r.stringify}}),Object.defineProperty(e,"nil",{enumerable:!0,get:function(){return r.nil}}),Object.defineProperty(e,"Name",{enumerable:!0,get:function(){return r.Name}}),Object.defineProperty(e,"CodeGen",{enumerable:!0,get:function(){return r.CodeGen}});const n=requireValidation_error(),i=requireRef_error(),o=rules$2,s=compile$3,a=requireCodegen(),c=resolve$a,l=dataType,u=util$i,d=require$$9,p=uri$2,h=(e,t)=>new RegExp(e,t);h.code="new RegExp";const f=["removeAdditional","useDefaults","coerceTypes"],m=new Set(["validate","serialize","parse","wrapper","root","schema","keyword","pattern","formats","validate$data","func","obj","Error"]),g={errorDataPath:"",format:"`validateFormats: false` can be used instead.",nullable:'"nullable" keyword is supported by default.',jsonPointers:"Deprecated jsPropertySyntax can be used instead.",extendRefs:"Deprecated ignoreKeywordsWithRef can be used instead.",missingRefs:"Pass empty schema with $id that should be ignored to ajv.addSchema.",processCode:"Use option `code: {process: (code, schemaEnv: object) => string}`",sourceCode:"Use option `code: {source: true}`",strictDefaults:"It is default now, see option `strict`.",strictKeywords:"It is default now, see option `strict`.",uniqueItems:'"uniqueItems" keyword is always validated.',unknownFormats:"Disable strict mode or pass `true` to `ajv.addFormat` (or `formats` option).",cache:"Map is used as cache, schema object as key.",serialize:"Map is used as cache, schema object as key.",ajvErrors:"It is default now."},y={ignoreKeywordsWithRef:"",jsPropertySyntax:"",unicode:'"minLength"/"maxLength" account for unicode characters by default.'};function v(e){var t,r,n,i,o,s,a,c,l,u,d,f,m,g,y,v,b,_,E,$,w,x,S,T,C;const R=e.strict,A=null===(t=e.code)||void 0===t?void 0:t.optimize,k=!0===A||void 0===A?1:A||0,D=null!==(n=null===(r=e.code)||void 0===r?void 0:r.regExp)&&void 0!==n?n:h,P=null!==(i=e.uriResolver)&&void 0!==i?i:p.default;return{strictSchema:null===(s=null!==(o=e.strictSchema)&&void 0!==o?o:R)||void 0===s||s,strictNumbers:null===(c=null!==(a=e.strictNumbers)&&void 0!==a?a:R)||void 0===c||c,strictTypes:null!==(u=null!==(l=e.strictTypes)&&void 0!==l?l:R)&&void 0!==u?u:"log",strictTuples:null!==(f=null!==(d=e.strictTuples)&&void 0!==d?d:R)&&void 0!==f?f:"log",strictRequired:null!==(g=null!==(m=e.strictRequired)&&void 0!==m?m:R)&&void 0!==g&&g,code:e.code?{...e.code,optimize:k,regExp:D}:{optimize:k,regExp:D},loopRequired:null!==(y=e.loopRequired)&&void 0!==y?y:200,loopEnum:null!==(v=e.loopEnum)&&void 0!==v?v:200,meta:null===(b=e.meta)||void 0===b||b,messages:null===(_=e.messages)||void 0===_||_,inlineRefs:null===(E=e.inlineRefs)||void 0===E||E,schemaId:null!==($=e.schemaId)&&void 0!==$?$:"$id",addUsedSchema:null===(w=e.addUsedSchema)||void 0===w||w,validateSchema:null===(x=e.validateSchema)||void 0===x||x,validateFormats:null===(S=e.validateFormats)||void 0===S||S,unicodeRegExp:null===(T=e.unicodeRegExp)||void 0===T||T,int32range:null===(C=e.int32range)||void 0===C||C,uriResolver:P}}class b{constructor(e={}){this.schemas={},this.refs={},this.formats={},this._compilations=new Set,this._loading={},this._cache=new Map,e=this.opts={...e,...v(e)};const{es5:t,lines:r}=this.opts.code;this.scope=new a.ValueScope({scope:{},prefixes:m,es5:t,lines:r}),this.logger=function(e){if(!1===e)return T;if(void 0===e)return console;if(e.log&&e.warn&&e.error)return e;throw new Error("logger must implement log, warn and error methods")}(e.logger);const n=e.validateFormats;e.validateFormats=!1,this.RULES=(0,o.getRules)(),_.call(this,g,e,"NOT SUPPORTED"),_.call(this,y,e,"DEPRECATED","warn"),this._metaOpts=S.call(this),e.formats&&w.call(this),this._addVocabularies(),this._addDefaultMetaSchema(),e.keywords&&x.call(this,e.keywords),"object"==typeof e.meta&&this.addMetaSchema(e.meta),$.call(this),e.validateFormats=n}_addVocabularies(){this.addKeyword("$async")}_addDefaultMetaSchema(){const{$data:e,meta:t,schemaId:r}=this.opts;let n=d;"id"===r&&(n={...d},n.id=n.$id,delete n.$id),t&&e&&this.addMetaSchema(n,n[r],!1)}defaultMeta(){const{meta:e,schemaId:t}=this.opts;return this.opts.defaultMeta="object"==typeof e?e[t]||e:void 0}validate(e,t){let r;if("string"==typeof e){if(r=this.getSchema(e),!r)throw new Error(`no schema with key or ref "${e}"`)}else r=this.compile(e);const n=r(t);return"$async"in r||(this.errors=r.errors),n}compile(e,t){const r=this._addSchema(e,t);return r.validate||this._compileSchemaEnv(r)}compileAsync(e,t){if("function"!=typeof this.opts.loadSchema)throw new Error("options.loadSchema should be a function");const{loadSchema:r}=this.opts;return n.call(this,e,t);async function n(e,t){await o.call(this,e.$schema);const r=this._addSchema(e,t);return r.validate||s.call(this,r)}async function o(e){e&&!this.getSchema(e)&&await n.call(this,{$ref:e},!0)}async function s(e){try{return this._compileSchemaEnv(e)}catch(t){if(!(t instanceof i.default))throw t;return a.call(this,t),await c.call(this,t.missingSchema),s.call(this,e)}}function a({missingSchema:e,missingRef:t}){if(this.refs[e])throw new Error(`AnySchema ${e} is loaded but ${t} cannot be resolved`)}async function c(e){const r=await l.call(this,e);this.refs[e]||await o.call(this,r.$schema),this.refs[e]||this.addSchema(r,e,t)}async function l(e){const t=this._loading[e];if(t)return t;try{return await(this._loading[e]=r(e))}finally{delete this._loading[e]}}}addSchema(e,t,r,n=this.opts.validateSchema){if(Array.isArray(e)){for(const t of e)this.addSchema(t,void 0,r,n);return this}let i;if("object"==typeof e){const{schemaId:t}=this.opts;if(i=e[t],void 0!==i&&"string"!=typeof i)throw new Error(`schema ${t} must be string`)}return t=(0,c.normalizeId)(t||i),this._checkUnique(t),this.schemas[t]=this._addSchema(e,r,t,n,!0),this}addMetaSchema(e,t,r=this.opts.validateSchema){return this.addSchema(e,t,!0,r),this}validateSchema(e,t){if("boolean"==typeof e)return!0;let r;if(r=e.$schema,void 0!==r&&"string"!=typeof r)throw new Error("$schema must be a string");if(r=r||this.opts.defaultMeta||this.defaultMeta(),!r)return this.logger.warn("meta-schema not available"),this.errors=null,!0;const n=this.validate(r,e);if(!n&&t){const e="schema is invalid: "+this.errorsText();if("log"!==this.opts.validateSchema)throw new Error(e);this.logger.error(e)}return n}getSchema(e){let t;for(;"string"==typeof(t=E.call(this,e));)e=t;if(void 0===t){const{schemaId:r}=this.opts,n=new s.SchemaEnv({schema:{},schemaId:r});if(t=s.resolveSchema.call(this,n,e),!t)return;this.refs[e]=t}return t.validate||this._compileSchemaEnv(t)}removeSchema(e){if(e instanceof RegExp)return this._removeAllSchemas(this.schemas,e),this._removeAllSchemas(this.refs,e),this;switch(typeof e){case"undefined":return this._removeAllSchemas(this.schemas),this._removeAllSchemas(this.refs),this._cache.clear(),this;case"string":{const t=E.call(this,e);return"object"==typeof t&&this._cache.delete(t.schema),delete this.schemas[e],delete this.refs[e],this}case"object":{const t=e;this._cache.delete(t);let r=e[this.opts.schemaId];return r&&(r=(0,c.normalizeId)(r),delete this.schemas[r],delete this.refs[r]),this}default:throw new Error("ajv.removeSchema: invalid parameter")}}addVocabulary(e){for(const t of e)this.addKeyword(t);return this}addKeyword(e,t){let r;if("string"==typeof e)r=e,"object"==typeof t&&(this.logger.warn("these parameters are deprecated, see docs for addKeyword"),t.keyword=r);else{if("object"!=typeof e||void 0!==t)throw new Error("invalid addKeywords parameters");if(r=(t=e).keyword,Array.isArray(r)&&!r.length)throw new Error("addKeywords: keyword must be string or non-empty array")}if(R.call(this,r,t),!t)return(0,u.eachItem)(r,(e=>A.call(this,e))),this;D.call(this,t);const n={...t,type:(0,l.getJSONTypes)(t.type),schemaType:(0,l.getJSONTypes)(t.schemaType)};return(0,u.eachItem)(r,0===n.type.length?e=>A.call(this,e,n):e=>n.type.forEach((t=>A.call(this,e,n,t)))),this}getKeyword(e){const t=this.RULES.all[e];return"object"==typeof t?t.definition:!!t}removeKeyword(e){const{RULES:t}=this;delete t.keywords[e],delete t.all[e];for(const r of t.rules){const t=r.rules.findIndex((t=>t.keyword===e));t>=0&&r.rules.splice(t,1)}return this}addFormat(e,t){return"string"==typeof t&&(t=new RegExp(t)),this.formats[e]=t,this}errorsText(e=this.errors,{separator:t=", ",dataVar:r="data"}={}){return e&&0!==e.length?e.map((e=>`${r}${e.instancePath} ${e.message}`)).reduce(((e,r)=>e+t+r)):"No errors"}$dataMetaSchema(e,t){const r=this.RULES.all;e=JSON.parse(JSON.stringify(e));for(const n of t){const t=n.split("/").slice(1);let i=e;for(const e of t)i=i[e];for(const e in r){const t=r[e];if("object"!=typeof t)continue;const{$data:n}=t.definition,o=i[e];n&&o&&(i[e]=O(o))}}return e}_removeAllSchemas(e,t){for(const r in e){const n=e[r];t&&!t.test(r)||("string"==typeof n?delete e[r]:n&&!n.meta&&(this._cache.delete(n.schema),delete e[r]))}}_addSchema(e,t,r,n=this.opts.validateSchema,i=this.opts.addUsedSchema){let o;const{schemaId:a}=this.opts;if("object"==typeof e)o=e[a];else{if(this.opts.jtd)throw new Error("schema must be object");if("boolean"!=typeof e)throw new Error("schema must be object or boolean")}let l=this._cache.get(e);if(void 0!==l)return l;r=(0,c.normalizeId)(o||r);const u=c.getSchemaRefs.call(this,e,r);return l=new s.SchemaEnv({schema:e,schemaId:a,meta:t,baseId:r,localRefs:u}),this._cache.set(l.schema,l),i&&!r.startsWith("#")&&(r&&this._checkUnique(r),this.refs[r]=l),n&&this.validateSchema(e,!0),l}_checkUnique(e){if(this.schemas[e]||this.refs[e])throw new Error(`schema with key or id "${e}" already exists`)}_compileSchemaEnv(e){if(e.meta?this._compileMetaSchema(e):s.compileSchema.call(this,e),!e.validate)throw new Error("ajv implementation error");return e.validate}_compileMetaSchema(e){const t=this.opts;this.opts=this._metaOpts;try{s.compileSchema.call(this,e)}finally{this.opts=t}}}function _(e,t,r,n="error"){for(const i in e){const o=i;o in t&&this.logger[n](`${r}: option ${i}. ${e[o]}`)}}function E(e){return e=(0,c.normalizeId)(e),this.schemas[e]||this.refs[e]}function $(){const e=this.opts.schemas;if(e)if(Array.isArray(e))this.addSchema(e);else for(const t in e)this.addSchema(e[t],t)}function w(){for(const e in this.opts.formats){const t=this.opts.formats[e];t&&this.addFormat(e,t)}}function x(e){if(Array.isArray(e))this.addVocabulary(e);else{this.logger.warn("keywords option as map is deprecated, pass array");for(const t in e){const r=e[t];r.keyword||(r.keyword=t),this.addKeyword(r)}}}function S(){const e={...this.opts};for(const t of f)delete e[t];return e}b.ValidationError=n.default,b.MissingRefError=i.default,e.default=b;const T={log(){},warn(){},error(){}};const C=/^[a-z_$][a-z0-9_$:-]*$/i;function R(e,t){const{RULES:r}=this;if((0,u.eachItem)(e,(e=>{if(r.keywords[e])throw new Error(`Keyword ${e} is already defined`);if(!C.test(e))throw new Error(`Keyword ${e} has invalid name`)})),t&&t.$data&&!("code"in t)&&!("validate"in t))throw new Error('$data keyword must have "code" or "validate" function')}function A(e,t,r){var n;const i=null==t?void 0:t.post;if(r&&i)throw new Error('keyword with "post" flag cannot have "type"');const{RULES:o}=this;let s=i?o.post:o.rules.find((({type:e})=>e===r));if(s||(s={type:r,rules:[]},o.rules.push(s)),o.keywords[e]=!0,!t)return;const a={keyword:e,definition:{...t,type:(0,l.getJSONTypes)(t.type),schemaType:(0,l.getJSONTypes)(t.schemaType)}};t.before?k.call(this,s,a,t.before):s.rules.push(a),o.all[e]=a,null===(n=t.implements)||void 0===n||n.forEach((e=>this.addKeyword(e)))}function k(e,t,r){const n=e.rules.findIndex((e=>e.keyword===r));n>=0?e.rules.splice(n,0,t):(e.rules.push(t),this.logger.warn(`rule ${r} is not defined`))}function D(e){let{metaSchema:t}=e;void 0!==t&&(e.$data&&this.opts.$data&&(t=O(t)),e.validateSchema=this.compile(t,!0))}const P={$ref:"https://raw.githubusercontent.com/ajv-validator/ajv/master/lib/refs/data.json#"};function O(e){return{anyOf:[e,P]}}}(core$4);var draft7={},core$3={},id$1={};Object.defineProperty(id$1,"__esModule",{value:!0});const def$s={keyword:"id",code(){throw new Error('NOT SUPPORTED: keyword "id", use "$id" for schema ID')}};id$1.default=def$s;var ref$1={};Object.defineProperty(ref$1,"__esModule",{value:!0}),ref$1.callRef=ref$1.getValidate=void 0;const ref_error_1$1=requireRef_error(),code_1$8=requireCode(),codegen_1$l=requireCodegen(),names_1$1=requireNames(),compile_1$2=compile$3,util_1$j=util$i,def$r={keyword:"$ref",schemaType:"string",code(e){const{gen:t,schema:r,it:n}=e,{baseId:i,schemaEnv:o,validateName:s,opts:a,self:c}=n,{root:l}=o;if(("#"===r||"#/"===r)&&i===l.baseId)return function(){if(o===l)return callRef(e,s,o,o.$async);const r=t.scopeValue("root",{ref:l});return callRef(e,codegen_1$l._`${r}.validate`,l,l.$async)}();const u=compile_1$2.resolveRef.call(c,l,i,r);if(void 0===u)throw new ref_error_1$1.default(n.opts.uriResolver,i,r);return u instanceof compile_1$2.SchemaEnv?function(t){const r=getValidate(e,t);callRef(e,r,t,t.$async)}(u):function(n){const i=t.scopeValue("schema",!0===a.code.source?{ref:n,code:(0,codegen_1$l.stringify)(n)}:{ref:n}),o=t.name("valid"),s=e.subschema({schema:n,dataTypes:[],schemaPath:codegen_1$l.nil,topSchemaRef:i,errSchemaPath:r},o);e.mergeEvaluated(s),e.ok(o)}(u)}};function getValidate(e,t){const{gen:r}=e;return t.validate?r.scopeValue("validate",{ref:t.validate}):codegen_1$l._`${r.scopeValue("wrapper",{ref:t})}.validate`}function callRef(e,t,r,n){const{gen:i,it:o}=e,{allErrors:s,schemaEnv:a,opts:c}=o,l=c.passContext?names_1$1.default.this:codegen_1$l.nil;function u(e){const t=codegen_1$l._`${e}.errors`;i.assign(names_1$1.default.vErrors,codegen_1$l._`${names_1$1.default.vErrors} === null ? ${t} : ${names_1$1.default.vErrors}.concat(${t})`),i.assign(names_1$1.default.errors,codegen_1$l._`${names_1$1.default.vErrors}.length`)}function d(e){var t;if(!o.opts.unevaluated)return;const n=null===(t=null==r?void 0:r.validate)||void 0===t?void 0:t.evaluated;if(!0!==o.props)if(n&&!n.dynamicProps)void 0!==n.props&&(o.props=util_1$j.mergeEvaluated.props(i,n.props,o.props));else{const t=i.var("props",codegen_1$l._`${e}.evaluated.props`);o.props=util_1$j.mergeEvaluated.props(i,t,o.props,codegen_1$l.Name)}if(!0!==o.items)if(n&&!n.dynamicItems)void 0!==n.items&&(o.items=util_1$j.mergeEvaluated.items(i,n.items,o.items));else{const t=i.var("items",codegen_1$l._`${e}.evaluated.items`);o.items=util_1$j.mergeEvaluated.items(i,t,o.items,codegen_1$l.Name)}}n?function(){if(!a.$async)throw new Error("async schema referenced by sync schema");const r=i.let("valid");i.try((()=>{i.code(codegen_1$l._`await ${(0,code_1$8.callValidateCode)(e,t,l)}`),d(t),s||i.assign(r,!0)}),(e=>{i.if(codegen_1$l._`!(${e} instanceof ${o.ValidationError})`,(()=>i.throw(e))),u(e),s||i.assign(r,!1)})),e.ok(r)}():e.result((0,code_1$8.callValidateCode)(e,t,l),(()=>d(t)),(()=>u(t)))}ref$1.getValidate=getValidate,ref$1.callRef=callRef,ref$1.default=def$r,Object.defineProperty(core$3,"__esModule",{value:!0});const id_1=id$1,ref_1=ref$1,core$2=["$schema","$id","$defs","$vocabulary",{keyword:"$comment"},"definitions",id_1.default,ref_1.default];core$3.default=core$2;var validation$2={},limitNumber={};Object.defineProperty(limitNumber,"__esModule",{value:!0});const codegen_1$k=requireCodegen(),ops=codegen_1$k.operators,KWDs={maximum:{okStr:"<=",ok:ops.LTE,fail:ops.GT},minimum:{okStr:">=",ok:ops.GTE,fail:ops.LT},exclusiveMaximum:{okStr:"<",ok:ops.LT,fail:ops.GTE},exclusiveMinimum:{okStr:">",ok:ops.GT,fail:ops.LTE}},error$i={message:({keyword:e,schemaCode:t})=>codegen_1$k.str`must be ${KWDs[e].okStr} ${t}`,params:({keyword:e,schemaCode:t})=>codegen_1$k._`{comparison: ${KWDs[e].okStr}, limit: ${t}}`},def$q={keyword:Object.keys(KWDs),type:"number",schemaType:"number",$data:!0,error:error$i,code(e){const{keyword:t,data:r,schemaCode:n}=e;e.fail$data(codegen_1$k._`${r} ${KWDs[t].fail} ${n} || isNaN(${r})`)}};limitNumber.default=def$q;var multipleOf$1={};Object.defineProperty(multipleOf$1,"__esModule",{value:!0});const codegen_1$j=requireCodegen(),error$h={message:({schemaCode:e})=>codegen_1$j.str`must be multiple of ${e}`,params:({schemaCode:e})=>codegen_1$j._`{multipleOf: ${e}}`},def$p={keyword:"multipleOf",type:"number",schemaType:"number",$data:!0,error:error$h,code(e){const{gen:t,data:r,schemaCode:n,it:i}=e,o=i.opts.multipleOfPrecision,s=t.let("res"),a=o?codegen_1$j._`Math.abs(Math.round(${s}) - ${s}) > 1e-${o}`:codegen_1$j._`${s} !== parseInt(${s})`;e.fail$data(codegen_1$j._`(${n} === 0 || (${s} = ${r}/${n}, ${a}))`)}};multipleOf$1.default=def$p;var limitLength={},ucs2length$3={};function ucs2length$2(e){const t=e.length;let r,n=0,i=0;for(;i<t;)n++,r=e.charCodeAt(i++),r>=55296&&r<=56319&&i<t&&(r=e.charCodeAt(i),56320==(64512&r)&&i++);return n}Object.defineProperty(ucs2length$3,"__esModule",{value:!0}),ucs2length$3.default=ucs2length$2,ucs2length$2.code='require("ajv/dist/runtime/ucs2length").default',Object.defineProperty(limitLength,"__esModule",{value:!0});const codegen_1$i=requireCodegen(),util_1$i=util$i,ucs2length_1=ucs2length$3,error$g={message({keyword:e,schemaCode:t}){const r="maxLength"===e?"more":"fewer";return codegen_1$i.str`must NOT have ${r} than ${t} characters`},params:({schemaCode:e})=>codegen_1$i._`{limit: ${e}}`},def$o={keyword:["maxLength","minLength"],type:"string",schemaType:"number",$data:!0,error:error$g,code(e){const{keyword:t,data:r,schemaCode:n,it:i}=e,o="maxLength"===t?codegen_1$i.operators.GT:codegen_1$i.operators.LT,s=!1===i.opts.unicode?codegen_1$i._`${r}.length`:codegen_1$i._`${(0,util_1$i.useFunc)(e.gen,ucs2length_1.default)}(${r})`;e.fail$data(codegen_1$i._`${s} ${o} ${n}`)}};limitLength.default=def$o;var pattern$1={};Object.defineProperty(pattern$1,"__esModule",{value:!0});const code_1$7=requireCode(),codegen_1$h=requireCodegen(),error$f={message:({schemaCode:e})=>codegen_1$h.str`must match pattern "${e}"`,params:({schemaCode:e})=>codegen_1$h._`{pattern: ${e}}`},def$n={keyword:"pattern",type:"string",schemaType:"string",$data:!0,error:error$f,code(e){const{data:t,$data:r,schema:n,schemaCode:i,it:o}=e,s=o.opts.unicodeRegExp?"u":"",a=r?codegen_1$h._`(new RegExp(${i}, ${s}))`:(0,code_1$7.usePattern)(e,n);e.fail$data(codegen_1$h._`!${a}.test(${t})`)}};pattern$1.default=def$n;var limitProperties={};Object.defineProperty(limitProperties,"__esModule",{value:!0});const codegen_1$g=requireCodegen(),error$e={message({keyword:e,schemaCode:t}){const r="maxProperties"===e?"more":"fewer";return codegen_1$g.str`must NOT have ${r} than ${t} properties`},params:({schemaCode:e})=>codegen_1$g._`{limit: ${e}}`},def$m={keyword:["maxProperties","minProperties"],type:"object",schemaType:"number",$data:!0,error:error$e,code(e){const{keyword:t,data:r,schemaCode:n}=e,i="maxProperties"===t?codegen_1$g.operators.GT:codegen_1$g.operators.LT;e.fail$data(codegen_1$g._`Object.keys(${r}).length ${i} ${n}`)}};limitProperties.default=def$m;var required$2={};Object.defineProperty(required$2,"__esModule",{value:!0});const code_1$6=requireCode(),codegen_1$f=requireCodegen(),util_1$h=util$i,error$d={message:({params:{missingProperty:e}})=>codegen_1$f.str`must have required property '${e}'`,params:({params:{missingProperty:e}})=>codegen_1$f._`{missingProperty: ${e}}`},def$l={keyword:"required",type:"object",schemaType:"array",$data:!0,error:error$d,code(e){const{gen:t,schema:r,schemaCode:n,data:i,$data:o,it:s}=e,{opts:a}=s;if(!o&&0===r.length)return;const c=r.length>=a.loopRequired;if(s.allErrors?function(){if(c||o)e.block$data(codegen_1$f.nil,l);else for(const t of r)(0,code_1$6.checkReportMissingProp)(e,t)}():function(){const s=t.let("missing");if(c||o){const r=t.let("valid",!0);e.block$data(r,(()=>function(r,o){e.setParams({missingProperty:r}),t.forOf(r,n,(()=>{t.assign(o,(0,code_1$6.propertyInData)(t,i,r,a.ownProperties)),t.if((0,codegen_1$f.not)(o),(()=>{e.error(),t.break()}))}),codegen_1$f.nil)}(s,r))),e.ok(r)}else t.if((0,code_1$6.checkMissingProp)(e,r,s)),(0,code_1$6.reportMissingProp)(e,s),t.else()}(),a.strictRequired){const t=e.parentSchema.properties,{definedProperties:n}=e.it;for(const e of r)if(void 0===(null==t?void 0:t[e])&&!n.has(e)){const t=`required property "${e}" is not defined at "${s.schemaEnv.baseId+s.errSchemaPath}" (strictRequired)`;(0,util_1$h.checkStrictMode)(s,t,s.opts.strictRequired)}}function l(){t.forOf("prop",n,(r=>{e.setParams({missingProperty:r}),t.if((0,code_1$6.noPropertyInData)(t,i,r,a.ownProperties),(()=>e.error()))}))}}};required$2.default=def$l;var limitItems={};Object.defineProperty(limitItems,"__esModule",{value:!0});const codegen_1$e=requireCodegen(),error$c={message({keyword:e,schemaCode:t}){const r="maxItems"===e?"more":"fewer";return codegen_1$e.str`must NOT have ${r} than ${t} items`},params:({schemaCode:e})=>codegen_1$e._`{limit: ${e}}`},def$k={keyword:["maxItems","minItems"],type:"array",schemaType:"number",$data:!0,error:error$c,code(e){const{keyword:t,data:r,schemaCode:n}=e,i="maxItems"===t?codegen_1$e.operators.GT:codegen_1$e.operators.LT;e.fail$data(codegen_1$e._`${r}.length ${i} ${n}`)}};limitItems.default=def$k;var uniqueItems$1={},equal$3={};Object.defineProperty(equal$3,"__esModule",{value:!0});const equal$2=fastDeepEqual;equal$2.code='require("ajv/dist/runtime/equal").default',equal$3.default=equal$2,Object.defineProperty(uniqueItems$1,"__esModule",{value:!0});const dataType_1=dataType,codegen_1$d=requireCodegen(),util_1$g=util$i,equal_1$2=equal$3,error$b={message:({params:{i:e,j:t}})=>codegen_1$d.str`must NOT have duplicate items (items ## ${t} and ${e} are identical)`,params:({params:{i:e,j:t}})=>codegen_1$d._`{i: ${e}, j: ${t}}`},def$j={keyword:"uniqueItems",type:"array",schemaType:"boolean",$data:!0,error:error$b,code(e){const{gen:t,data:r,$data:n,schema:i,parentSchema:o,schemaCode:s,it:a}=e;if(!n&&!i)return;const c=t.let("valid"),l=o.items?(0,dataType_1.getSchemaTypes)(o.items):[];function u(n,i){const o=t.name("item"),s=(0,dataType_1.checkDataTypes)(l,o,a.opts.strictNumbers,dataType_1.DataType.Wrong),u=t.const("indices",codegen_1$d._`{}`);t.for(codegen_1$d._`;${n}--;`,(()=>{t.let(o,codegen_1$d._`${r}[${n}]`),t.if(s,codegen_1$d._`continue`),l.length>1&&t.if(codegen_1$d._`typeof ${o} == "string"`,codegen_1$d._`${o} += "_"`),t.if(codegen_1$d._`typeof ${u}[${o}] == "number"`,(()=>{t.assign(i,codegen_1$d._`${u}[${o}]`),e.error(),t.assign(c,!1).break()})).code(codegen_1$d._`${u}[${o}] = ${n}`)}))}function d(n,i){const o=(0,util_1$g.useFunc)(t,equal_1$2.default),s=t.name("outer");t.label(s).for(codegen_1$d._`;${n}--;`,(()=>t.for(codegen_1$d._`${i} = ${n}; ${i}--;`,(()=>t.if(codegen_1$d._`${o}(${r}[${n}], ${r}[${i}])`,(()=>{e.error(),t.assign(c,!1).break(s)}))))))}e.block$data(c,(function(){const n=t.let("i",codegen_1$d._`${r}.length`),i=t.let("j");e.setParams({i:n,j:i}),t.assign(c,!0),t.if(codegen_1$d._`${n} > 1`,(()=>(l.length>0&&!l.some((e=>"object"===e||"array"===e))?u:d)(n,i)))}),codegen_1$d._`${s} === false`),e.ok(c)}};uniqueItems$1.default=def$j;var _const$1={};Object.defineProperty(_const$1,"__esModule",{value:!0});const codegen_1$c=requireCodegen(),util_1$f=util$i,equal_1$1=equal$3,error$a={message:"must be equal to constant",params:({schemaCode:e})=>codegen_1$c._`{allowedValue: ${e}}`},def$i={keyword:"const",$data:!0,error:error$a,code(e){const{gen:t,data:r,$data:n,schemaCode:i,schema:o}=e;n||o&&"object"==typeof o?e.fail$data(codegen_1$c._`!${(0,util_1$f.useFunc)(t,equal_1$1.default)}(${r}, ${i})`):e.fail(codegen_1$c._`${o} !== ${r}`)}};_const$1.default=def$i;var _enum$1={};Object.defineProperty(_enum$1,"__esModule",{value:!0});const codegen_1$b=requireCodegen(),util_1$e=util$i,equal_1=equal$3,error$9={message:"must be equal to one of the allowed values",params:({schemaCode:e})=>codegen_1$b._`{allowedValues: ${e}}`},def$h={keyword:"enum",schemaType:"array",$data:!0,error:error$9,code(e){const{gen:t,data:r,$data:n,schema:i,schemaCode:o,it:s}=e;if(!n&&0===i.length)throw new Error("enum must have non-empty array");const a=i.length>=s.opts.loopEnum;let c;const l=()=>null!=c?c:c=(0,util_1$e.useFunc)(t,equal_1.default);let u;if(a||n)u=t.let("valid"),e.block$data(u,(function(){t.assign(u,!1),t.forOf("v",o,(e=>t.if(codegen_1$b._`${l()}(${r}, ${e})`,(()=>t.assign(u,!0).break()))))}));else{if(!Array.isArray(i))throw new Error("ajv implementation error");const e=t.const("vSchema",o);u=(0,codegen_1$b.or)(...i.map(((t,n)=>function(e,t){const n=i[t];return"object"==typeof n&&null!==n?codegen_1$b._`${l()}(${r}, ${e}[${t}])`:codegen_1$b._`${r} === ${n}`}(e,n))))}e.pass(u)}};_enum$1.default=def$h,Object.defineProperty(validation$2,"__esModule",{value:!0});const limitNumber_1=limitNumber,multipleOf_1=multipleOf$1,limitLength_1=limitLength,pattern_1=pattern$1,limitProperties_1=limitProperties,required_1=required$2,limitItems_1=limitItems,uniqueItems_1=uniqueItems$1,const_1=_const$1,enum_1=_enum$1,validation$1=[limitNumber_1.default,multipleOf_1.default,limitLength_1.default,pattern_1.default,limitProperties_1.default,required_1.default,limitItems_1.default,uniqueItems_1.default,{keyword:"type",schemaType:["string","array"]},{keyword:"nullable",schemaType:"boolean"},const_1.default,enum_1.default];validation$2.default=validation$1;var applicator={},additionalItems={};Object.defineProperty(additionalItems,"__esModule",{value:!0}),additionalItems.validateAdditionalItems=void 0;const codegen_1$a=requireCodegen(),util_1$d=util$i,error$8={message:({params:{len:e}})=>codegen_1$a.str`must NOT have more than ${e} items`,params:({params:{len:e}})=>codegen_1$a._`{limit: ${e}}`},def$g={keyword:"additionalItems",type:"array",schemaType:["boolean","object"],before:"uniqueItems",error:error$8,code(e){const{parentSchema:t,it:r}=e,{items:n}=t;Array.isArray(n)?validateAdditionalItems(e,n):(0,util_1$d.checkStrictMode)(r,'"additionalItems" is ignored when "items" is not an array of schemas')}};function validateAdditionalItems(e,t){const{gen:r,schema:n,data:i,keyword:o,it:s}=e;s.items=!0;const a=r.const("len",codegen_1$a._`${i}.length`);if(!1===n)e.setParams({len:t.length}),e.pass(codegen_1$a._`${a} <= ${t.length}`);else if("object"==typeof n&&!(0,util_1$d.alwaysValidSchema)(s,n)){const n=r.var("valid",codegen_1$a._`${a} <= ${t.length}`);r.if((0,codegen_1$a.not)(n),(()=>function(n){r.forRange("i",t.length,a,(t=>{e.subschema({keyword:o,dataProp:t,dataPropType:util_1$d.Type.Num},n),s.allErrors||r.if((0,codegen_1$a.not)(n),(()=>r.break()))}))}(n))),e.ok(n)}}additionalItems.validateAdditionalItems=validateAdditionalItems,additionalItems.default=def$g;var prefixItems={},items$1={};Object.defineProperty(items$1,"__esModule",{value:!0}),items$1.validateTuple=void 0;const codegen_1$9=requireCodegen(),util_1$c=util$i,code_1$5=requireCode(),def$f={keyword:"items",type:"array",schemaType:["object","array","boolean"],before:"uniqueItems",code(e){const{schema:t,it:r}=e;if(Array.isArray(t))return validateTuple(e,"additionalItems",t);r.items=!0,(0,util_1$c.alwaysValidSchema)(r,t)||e.ok((0,code_1$5.validateArray)(e))}};function validateTuple(e,t,r=e.schema){const{gen:n,parentSchema:i,data:o,keyword:s,it:a}=e;!function(e){const{opts:n,errSchemaPath:i}=a,o=r.length,c=o===e.minItems&&(o===e.maxItems||!1===e[t]);if(n.strictTuples&&!c){const e=`"${s}" is ${o}-tuple, but minItems or maxItems/${t} are not specified or different at path "${i}"`;(0,util_1$c.checkStrictMode)(a,e,n.strictTuples)}}(i),a.opts.unevaluated&&r.length&&!0!==a.items&&(a.items=util_1$c.mergeEvaluated.items(n,r.length,a.items));const c=n.name("valid"),l=n.const("len",codegen_1$9._`${o}.length`);r.forEach(((t,r)=>{(0,util_1$c.alwaysValidSchema)(a,t)||(n.if(codegen_1$9._`${l} > ${r}`,(()=>e.subschema({keyword:s,schemaProp:r,dataProp:r},c))),e.ok(c))}))}items$1.validateTuple=validateTuple,items$1.default=def$f,Object.defineProperty(prefixItems,"__esModule",{value:!0});const items_1$1=items$1,def$e={keyword:"prefixItems",type:"array",schemaType:["array"],before:"uniqueItems",code:e=>(0,items_1$1.validateTuple)(e,"items")};prefixItems.default=def$e;var items2020={};Object.defineProperty(items2020,"__esModule",{value:!0});const codegen_1$8=requireCodegen(),util_1$b=util$i,code_1$4=requireCode(),additionalItems_1$1=additionalItems,error$7={message:({params:{len:e}})=>codegen_1$8.str`must NOT have more than ${e} items`,params:({params:{len:e}})=>codegen_1$8._`{limit: ${e}}`},def$d={keyword:"items",type:"array",schemaType:["object","boolean"],before:"uniqueItems",error:error$7,code(e){const{schema:t,parentSchema:r,it:n}=e,{prefixItems:i}=r;n.items=!0,(0,util_1$b.alwaysValidSchema)(n,t)||(i?(0,additionalItems_1$1.validateAdditionalItems)(e,i):e.ok((0,code_1$4.validateArray)(e)))}};items2020.default=def$d;var contains$1={};Object.defineProperty(contains$1,"__esModule",{value:!0});const codegen_1$7=requireCodegen(),util_1$a=util$i,error$6={message:({params:{min:e,max:t}})=>void 0===t?codegen_1$7.str`must contain at least ${e} valid item(s)`:codegen_1$7.str`must contain at least ${e} and no more than ${t} valid item(s)`,params:({params:{min:e,max:t}})=>void 0===t?codegen_1$7._`{minContains: ${e}}`:codegen_1$7._`{minContains: ${e}, maxContains: ${t}}`},def$c={keyword:"contains",type:"array",schemaType:["object","boolean"],before:"uniqueItems",trackErrors:!0,error:error$6,code(e){const{gen:t,schema:r,parentSchema:n,data:i,it:o}=e;let s,a;const{minContains:c,maxContains:l}=n;o.opts.next?(s=void 0===c?1:c,a=l):s=1;const u=t.const("len",codegen_1$7._`${i}.length`);if(e.setParams({min:s,max:a}),void 0===a&&0===s)return void(0,util_1$a.checkStrictMode)(o,'"minContains" == 0 without "maxContains": "contains" keyword ignored');if(void 0!==a&&s>a)return(0,util_1$a.checkStrictMode)(o,'"minContains" > "maxContains" is always invalid'),void e.fail();if((0,util_1$a.alwaysValidSchema)(o,r)){let t=codegen_1$7._`${u} >= ${s}`;return void 0!==a&&(t=codegen_1$7._`${t} && ${u} <= ${a}`),void e.pass(t)}o.items=!0;const d=t.name("valid");function p(){const e=t.name("_valid"),r=t.let("count",0);h(e,(()=>t.if(e,(()=>function(e){t.code(codegen_1$7._`${e}++`),void 0===a?t.if(codegen_1$7._`${e} >= ${s}`,(()=>t.assign(d,!0).break())):(t.if(codegen_1$7._`${e} > ${a}`,(()=>t.assign(d,!1).break())),1===s?t.assign(d,!0):t.if(codegen_1$7._`${e} >= ${s}`,(()=>t.assign(d,!0))))}(r)))))}function h(r,n){t.forRange("i",0,u,(t=>{e.subschema({keyword:"contains",dataProp:t,dataPropType:util_1$a.Type.Num,compositeRule:!0},r),n()}))}void 0===a&&1===s?h(d,(()=>t.if(d,(()=>t.break())))):0===s?(t.let(d,!0),void 0!==a&&t.if(codegen_1$7._`${i}.length > 0`,p)):(t.let(d,!1),p()),e.result(d,(()=>e.reset()))}};contains$1.default=def$c;var dependencies$2={};!function(e){Object.defineProperty(e,"__esModule",{value:!0}),e.validateSchemaDeps=e.validatePropertyDeps=e.error=void 0;const t=requireCodegen(),r=util$i,n=requireCode();e.error={message:({params:{property:e,depsCount:r,deps:n}})=>{const i=1===r?"property":"properties";return t.str`must have ${i} ${n} when property ${e} is present`},params:({params:{property:e,depsCount:r,deps:n,missingProperty:i}})=>t._`{property: ${e},
|
|
160
160
|
missingProperty: ${i},
|
|
161
161
|
depsCount: ${r},
|
|
162
|
-
deps: ${n}}`};const i={keyword:"dependencies",type:"object",schemaType:"object",error:e.error,code(e){const[t,r]=function({schema:e}){const t={},r={};for(const n in e){if("__proto__"===n)continue;(Array.isArray(e[n])?t:r)[n]=e[n]}return[t,r]}(e);o(e,t),s(e,r)}};function o(e,r=e.schema){const{gen:i,data:o,it:s}=e;if(0===Object.keys(r).length)return;const a=i.let("missing");for(const c in r){const l=r[c];if(0===l.length)continue;const u=(0,n.propertyInData)(i,o,c,s.opts.ownProperties);e.setParams({property:c,depsCount:l.length,deps:l.join(", ")}),s.allErrors?i.if(u,(()=>{for(const t of l)(0,n.checkReportMissingProp)(e,t)})):(i.if(t._`${u} && (${(0,n.checkMissingProp)(e,l,a)})`),(0,n.reportMissingProp)(e,a),i.else())}}function s(e,t=e.schema){const{gen:i,data:o,keyword:s,it:a}=e,c=i.name("valid");for(const l in t)(0,r.alwaysValidSchema)(a,t[l])||(i.if((0,n.propertyInData)(i,o,l,a.opts.ownProperties),(()=>{const t=e.subschema({keyword:s,schemaProp:l},c);e.mergeValidEvaluated(t,c)}),(()=>i.var(c,!0))),e.ok(c))}e.validatePropertyDeps=o,e.validateSchemaDeps=s,e.default=i}(dependencies$2);var propertyNames$1={};Object.defineProperty(propertyNames$1,"__esModule",{value:!0});const codegen_1$6=requireCodegen(),util_1$9=util$i,error$5={message:"property name must be valid",params:({params:e})=>codegen_1$6._`{propertyName: ${e.propertyName}}`},def$b={keyword:"propertyNames",type:"object",schemaType:["object","boolean"],error:error$5,code(e){const{gen:t,schema:r,data:n,it:i}=e;if((0,util_1$9.alwaysValidSchema)(i,r))return;const o=t.name("valid");t.forIn("key",n,(r=>{e.setParams({propertyName:r}),e.subschema({keyword:"propertyNames",data:r,dataTypes:["string"],propertyName:r,compositeRule:!0},o),t.if((0,codegen_1$6.not)(o),(()=>{e.error(!0),i.allErrors||t.break()}))})),e.ok(o)}};propertyNames$1.default=def$b;var additionalProperties$1={};Object.defineProperty(additionalProperties$1,"__esModule",{value:!0});const code_1$3=requireCode(),codegen_1$5=requireCodegen(),names_1=requireNames(),util_1$8=util$i,error$4={message:"must NOT have additional properties",params:({params:e})=>codegen_1$5._`{additionalProperty: ${e.additionalProperty}}`},def$a={keyword:"additionalProperties",type:["object"],schemaType:["boolean","object"],allowUndefined:!0,trackErrors:!0,error:error$4,code(e){const{gen:t,schema:r,parentSchema:n,data:i,errsCount:o,it:s}=e;if(!o)throw new Error("ajv implementation error");const{allErrors:a,opts:c}=s;if(s.props=!0,"all"!==c.removeAdditional&&(0,util_1$8.alwaysValidSchema)(s,r))return;const l=(0,code_1$3.allSchemaProperties)(n.properties),u=(0,code_1$3.allSchemaProperties)(n.patternProperties);function d(e){t.code(codegen_1$5._`delete ${i}[${e}]`)}function p(n){if("all"===c.removeAdditional||c.removeAdditional&&!1===r)d(n);else{if(!1===r)return e.setParams({additionalProperty:n}),e.error(),void(a||t.break());if("object"==typeof r&&!(0,util_1$8.alwaysValidSchema)(s,r)){const r=t.name("valid");"failing"===c.removeAdditional?(h(n,r,!1),t.if((0,codegen_1$5.not)(r),(()=>{e.reset(),d(n)}))):(h(n,r),a||t.if((0,codegen_1$5.not)(r),(()=>t.break())))}}}function h(t,r,n){const i={keyword:"additionalProperties",dataProp:t,dataPropType:util_1$8.Type.Str};!1===n&&Object.assign(i,{compositeRule:!0,createErrors:!1,allErrors:!1}),e.subschema(i,r)}t.forIn("key",i,(r=>{l.length||u.length?t.if(function(r){let i;if(l.length>8){const e=(0,util_1$8.schemaRefOrVal)(s,n.properties,"properties");i=(0,code_1$3.isOwnProperty)(t,e,r)}else i=l.length?(0,codegen_1$5.or)(...l.map((e=>codegen_1$5._`${r} === ${e}`))):codegen_1$5.nil;return u.length&&(i=(0,codegen_1$5.or)(i,...u.map((t=>codegen_1$5._`${(0,code_1$3.usePattern)(e,t)}.test(${r})`)))),(0,codegen_1$5.not)(i)}(r),(()=>p(r))):p(r)})),e.ok(codegen_1$5._`${o} === ${names_1.default.errors}`)}};additionalProperties$1.default=def$a;var properties$4={};Object.defineProperty(properties$4,"__esModule",{value:!0});const validate_1=requireValidate(),code_1$2=requireCode(),util_1$7=util$i,additionalProperties_1$1=additionalProperties$1,def$9={keyword:"properties",type:"object",schemaType:"object",code(e){const{gen:t,schema:r,parentSchema:n,data:i,it:o}=e;"all"===o.opts.removeAdditional&&void 0===n.additionalProperties&&additionalProperties_1$1.default.code(new validate_1.KeywordCxt(o,additionalProperties_1$1.default,"additionalProperties"));const s=(0,code_1$2.allSchemaProperties)(r);for(const e of s)o.definedProperties.add(e);o.opts.unevaluated&&s.length&&!0!==o.props&&(o.props=util_1$7.mergeEvaluated.props(t,(0,util_1$7.toHash)(s),o.props));const a=s.filter((e=>!(0,util_1$7.alwaysValidSchema)(o,r[e])));if(0===a.length)return;const c=t.name("valid");for(const r of a)l(r)?u(r):(t.if((0,code_1$2.propertyInData)(t,i,r,o.opts.ownProperties)),u(r),o.allErrors||t.else().var(c,!0),t.endIf()),e.it.definedProperties.add(r),e.ok(c);function l(e){return o.opts.useDefaults&&!o.compositeRule&&void 0!==r[e].default}function u(t){e.subschema({keyword:"properties",schemaProp:t,dataProp:t},c)}}};properties$4.default=def$9;var patternProperties={};Object.defineProperty(patternProperties,"__esModule",{value:!0});const code_1$1=requireCode(),codegen_1$4=requireCodegen(),util_1$6=util$i,util_2=util$i,def$8={keyword:"patternProperties",type:"object",schemaType:"object",code(e){const{gen:t,schema:r,data:n,parentSchema:i,it:o}=e,{opts:s}=o,a=(0,code_1$1.allSchemaProperties)(r),c=a.filter((e=>(0,util_1$6.alwaysValidSchema)(o,r[e])));if(0===a.length||c.length===a.length&&(!o.opts.unevaluated||!0===o.props))return;const l=s.strictSchema&&!s.allowMatchingProperties&&i.properties,u=t.name("valid");!0===o.props||o.props instanceof codegen_1$4.Name||(o.props=(0,util_2.evaluatedPropsToName)(t,o.props));const{props:d}=o;function p(e){for(const t in l)new RegExp(e).test(t)&&(0,util_1$6.checkStrictMode)(o,`property ${t} matches pattern ${e} (use allowMatchingProperties)`)}function h(r){t.forIn("key",n,(n=>{t.if(codegen_1$4._`${(0,code_1$1.usePattern)(e,r)}.test(${n})`,(()=>{const i=c.includes(r);i||e.subschema({keyword:"patternProperties",schemaProp:r,dataProp:n,dataPropType:util_2.Type.Str},u),o.opts.unevaluated&&!0!==d?t.assign(codegen_1$4._`${d}[${n}]`,!0):i||o.allErrors||t.if((0,codegen_1$4.not)(u),(()=>t.break()))}))}))}!function(){for(const e of a)l&&p(e),o.allErrors?h(e):(t.var(u,!0),h(e),t.if(u))}()}};patternProperties.default=def$8;var not$1={};Object.defineProperty(not$1,"__esModule",{value:!0});const util_1$5=util$i,def$7={keyword:"not",schemaType:["object","boolean"],trackErrors:!0,code(e){const{gen:t,schema:r,it:n}=e;if((0,util_1$5.alwaysValidSchema)(n,r))return void e.fail();const i=t.name("valid");e.subschema({keyword:"not",compositeRule:!0,createErrors:!1,allErrors:!1},i),e.failResult(i,(()=>e.reset()),(()=>e.error()))},error:{message:"must NOT be valid"}};not$1.default=def$7;var anyOf$1={};Object.defineProperty(anyOf$1,"__esModule",{value:!0});const code_1=requireCode(),def$6={keyword:"anyOf",schemaType:"array",trackErrors:!0,code:code_1.validateUnion,error:{message:"must match a schema in anyOf"}};anyOf$1.default=def$6;var oneOf$1={};Object.defineProperty(oneOf$1,"__esModule",{value:!0});const codegen_1$3=requireCodegen(),util_1$4=util$i,error$3={message:"must match exactly one schema in oneOf",params:({params:e})=>codegen_1$3._`{passingSchemas: ${e.passing}}`},def$5={keyword:"oneOf",schemaType:"array",trackErrors:!0,error:error$3,code(e){const{gen:t,schema:r,parentSchema:n,it:i}=e;if(!Array.isArray(r))throw new Error("ajv implementation error");if(i.opts.discriminator&&n.discriminator)return;const o=r,s=t.let("valid",!1),a=t.let("passing",null),c=t.name("_valid");e.setParams({passing:a}),t.block((function(){o.forEach(((r,n)=>{let o;(0,util_1$4.alwaysValidSchema)(i,r)?t.var(c,!0):o=e.subschema({keyword:"oneOf",schemaProp:n,compositeRule:!0},c),n>0&&t.if(codegen_1$3._`${c} && ${s}`).assign(s,!1).assign(a,codegen_1$3._`[${a}, ${n}]`).else(),t.if(c,(()=>{t.assign(s,!0),t.assign(a,n),o&&e.mergeEvaluated(o,codegen_1$3.Name)}))}))})),e.result(s,(()=>e.reset()),(()=>e.error(!0)))}};oneOf$1.default=def$5;var allOf$1={};Object.defineProperty(allOf$1,"__esModule",{value:!0});const util_1$3=util$i,def$4={keyword:"allOf",schemaType:"array",code(e){const{gen:t,schema:r,it:n}=e;if(!Array.isArray(r))throw new Error("ajv implementation error");const i=t.name("valid");r.forEach(((t,r)=>{if((0,util_1$3.alwaysValidSchema)(n,t))return;const o=e.subschema({keyword:"allOf",schemaProp:r},i);e.ok(i),e.mergeEvaluated(o)}))}};allOf$1.default=def$4;var _if$1={};Object.defineProperty(_if$1,"__esModule",{value:!0});const codegen_1$2=requireCodegen(),util_1$2=util$i,error$2={message:({params:e})=>codegen_1$2.str`must match "${e.ifClause}" schema`,params:({params:e})=>codegen_1$2._`{failingKeyword: ${e.ifClause}}`},def$3={keyword:"if",schemaType:["object","boolean"],trackErrors:!0,error:error$2,code(e){const{gen:t,parentSchema:r,it:n}=e;void 0===r.then&&void 0===r.else&&(0,util_1$2.checkStrictMode)(n,'"if" without "then" and "else" is ignored');const i=hasSchema(n,"then"),o=hasSchema(n,"else");if(!i&&!o)return;const s=t.let("valid",!0),a=t.name("_valid");if(function(){const t=e.subschema({keyword:"if",compositeRule:!0,createErrors:!1,allErrors:!1},a);e.mergeEvaluated(t)}(),e.reset(),i&&o){const r=t.let("ifClause");e.setParams({ifClause:r}),t.if(a,c("then",r),c("else",r))}else i?t.if(a,c("then")):t.if((0,codegen_1$2.not)(a),c("else"));function c(r,n){return()=>{const i=e.subschema({keyword:r},a);t.assign(s,a),e.mergeValidEvaluated(i,s),n?t.assign(n,codegen_1$2._`${r}`):e.setParams({ifClause:r})}}e.pass(s,(()=>e.error(!0)))}};function hasSchema(e,t){const r=e.schema[t];return void 0!==r&&!(0,util_1$2.alwaysValidSchema)(e,r)}_if$1.default=def$3;var thenElse={};Object.defineProperty(thenElse,"__esModule",{value:!0});const util_1$1=util$i,def$2={keyword:["then","else"],schemaType:["object","boolean"],code({keyword:e,parentSchema:t,it:r}){void 0===t.if&&(0,util_1$1.checkStrictMode)(r,`"${e}" without "if" is ignored`)}};thenElse.default=def$2,Object.defineProperty(applicator,"__esModule",{value:!0});const additionalItems_1=additionalItems,prefixItems_1=prefixItems,items_1=items$1,items2020_1=items2020,contains_1=contains$1,dependencies_1=dependencies$2,propertyNames_1=propertyNames$1,additionalProperties_1=additionalProperties$1,properties_1=properties$4,patternProperties_1=patternProperties,not_1=not$1,anyOf_1=anyOf$1,oneOf_1=oneOf$1,allOf_1=allOf$1,if_1=_if$1,thenElse_1=thenElse;function getApplicator(e=!1){const t=[not_1.default,anyOf_1.default,oneOf_1.default,allOf_1.default,if_1.default,thenElse_1.default,propertyNames_1.default,additionalProperties_1.default,dependencies_1.default,properties_1.default,patternProperties_1.default];return e?t.push(prefixItems_1.default,items2020_1.default):t.push(additionalItems_1.default,items_1.default),t.push(contains_1.default),t}applicator.default=getApplicator;var format$8={},format$7={};Object.defineProperty(format$7,"__esModule",{value:!0});const codegen_1$1=requireCodegen(),error$1={message:({schemaCode:e})=>codegen_1$1.str`must match format "${e}"`,params:({schemaCode:e})=>codegen_1$1._`{format: ${e}}`},def$1={keyword:"format",type:["number","string"],schemaType:"string",$data:!0,error:error$1,code(e,t){const{gen:r,data:n,$data:i,schema:o,schemaCode:s,it:a}=e,{opts:c,errSchemaPath:l,schemaEnv:u,self:d}=a;c.validateFormats&&(i?function(){const i=r.scopeValue("formats",{ref:d.formats,code:c.code.formats}),o=r.const("fDef",codegen_1$1._`${i}[${s}]`),a=r.let("fType"),l=r.let("format");r.if(codegen_1$1._`typeof ${o} == "object" && !(${o} instanceof RegExp)`,(()=>r.assign(a,codegen_1$1._`${o}.type || "string"`).assign(l,codegen_1$1._`${o}.validate`)),(()=>r.assign(a,codegen_1$1._`"string"`).assign(l,o))),e.fail$data((0,codegen_1$1.or)(!1===c.strictSchema?codegen_1$1.nil:codegen_1$1._`${s} && !${l}`,function(){const e=u.$async?codegen_1$1._`(${o}.async ? await ${l}(${n}) : ${l}(${n}))`:codegen_1$1._`${l}(${n})`,r=codegen_1$1._`(typeof ${l} == "function" ? ${e} : ${l}.test(${n}))`;return codegen_1$1._`${l} && ${l} !== true && ${a} === ${t} && !${r}`}()))}():function(){const i=d.formats[o];if(!i)return void function(){if(!1===c.strictSchema)return void d.logger.warn(e());throw new Error(e());function e(){return`unknown format "${o}" ignored in schema at path "${l}"`}}();if(!0===i)return;const[s,a,p]=function(e){const t=e instanceof RegExp?(0,codegen_1$1.regexpCode)(e):c.code.formats?codegen_1$1._`${c.code.formats}${(0,codegen_1$1.getProperty)(o)}`:void 0,n=r.scopeValue("formats",{key:o,ref:e,code:t});if("object"==typeof e&&!(e instanceof RegExp))return[e.type||"string",e.validate,codegen_1$1._`${n}.validate`];return["string",e,n]}(i);s===t&&e.pass(function(){if("object"==typeof i&&!(i instanceof RegExp)&&i.async){if(!u.$async)throw new Error("async format in sync schema");return codegen_1$1._`await ${p}(${n})`}return"function"==typeof a?codegen_1$1._`${p}(${n})`:codegen_1$1._`${p}.test(${n})`}())}())}};format$7.default=def$1,Object.defineProperty(format$8,"__esModule",{value:!0});const format_1$1=format$7,format$6=[format_1$1.default];format$8.default=format$6;var metadata={};Object.defineProperty(metadata,"__esModule",{value:!0}),metadata.contentVocabulary=metadata.metadataVocabulary=void 0,metadata.metadataVocabulary=["title","description","default","deprecated","readOnly","writeOnly","examples"],metadata.contentVocabulary=["contentMediaType","contentEncoding","contentSchema"],Object.defineProperty(draft7,"__esModule",{value:!0});const core_1=core$3,validation_1=validation$2,applicator_1=applicator,format_1=format$8,metadata_1=metadata,draft7Vocabularies=[core_1.default,validation_1.default,(0,applicator_1.default)(),format_1.default,metadata_1.metadataVocabulary,metadata_1.contentVocabulary];draft7.default=draft7Vocabularies;var discriminator={},types$1={},DiscrError;Object.defineProperty(types$1,"__esModule",{value:!0}),types$1.DiscrError=void 0,function(e){e.Tag="tag",e.Mapping="mapping"}(DiscrError||(types$1.DiscrError=DiscrError={})),Object.defineProperty(discriminator,"__esModule",{value:!0});const codegen_1=requireCodegen(),types_1=types$1,compile_1$1=compile$3,ref_error_1=requireRef_error(),util_1=util$i,error={message:({params:{discrError:e,tagName:t}})=>e===types_1.DiscrError.Tag?`tag "${t}" must be string`:`value of tag "${t}" must be in oneOf`,params:({params:{discrError:e,tag:t,tagName:r}})=>codegen_1._`{error: ${e}, tag: ${r}, tagValue: ${t}}`},def={keyword:"discriminator",type:"object",schemaType:"object",error:error,code(e){const{gen:t,data:r,schema:n,parentSchema:i,it:o}=e,{oneOf:s}=i;if(!o.opts.discriminator)throw new Error("discriminator: requires discriminator option");const a=n.propertyName;if("string"!=typeof a)throw new Error("discriminator: requires propertyName");if(n.mapping)throw new Error("discriminator: mapping is not supported");if(!s)throw new Error("discriminator: requires oneOf keyword");const c=t.let("valid",!1),l=t.const("tag",codegen_1._`${r}${(0,codegen_1.getProperty)(a)}`);function u(r){const n=t.name("valid"),i=e.subschema({keyword:"oneOf",schemaProp:r},n);return e.mergeEvaluated(i,codegen_1.Name),n}t.if(codegen_1._`typeof ${l} == "string"`,(()=>function(){const r=function(){var e;const t={},r=c(i);let n=!0;for(let t=0;t<s.length;t++){let i=s[t];if((null==i?void 0:i.$ref)&&!(0,util_1.schemaHasRulesButRef)(i,o.self.RULES)){const e=i.$ref;if(i=compile_1$1.resolveRef.call(o.self,o.schemaEnv.root,o.baseId,e),i instanceof compile_1$1.SchemaEnv&&(i=i.schema),void 0===i)throw new ref_error_1.default(o.opts.uriResolver,o.baseId,e)}const u=null===(e=null==i?void 0:i.properties)||void 0===e?void 0:e[a];if("object"!=typeof u)throw new Error(`discriminator: oneOf subschemas (or referenced schemas) must have "properties/${a}"`);n=n&&(r||c(i)),l(u,t)}if(!n)throw new Error(`discriminator: "${a}" must be required`);return t;function c({required:e}){return Array.isArray(e)&&e.includes(a)}function l(e,t){if(e.const)u(e.const,t);else{if(!e.enum)throw new Error(`discriminator: "properties/${a}" must have "const" or "enum"`);for(const r of e.enum)u(r,t)}}function u(e,r){if("string"!=typeof e||e in t)throw new Error(`discriminator: "${a}" values must be unique strings`);t[e]=r}}();t.if(!1);for(const e in r)t.elseIf(codegen_1._`${l} === ${e}`),t.assign(c,u(r[e]));t.else(),e.error(!1,{discrError:types_1.DiscrError.Mapping,tag:l,tagName:a}),t.endIf()}()),(()=>e.error(!1,{discrError:types_1.DiscrError.Tag,tag:l,tagName:a}))),e.ok(c)}};discriminator.default=def;var $schema$2="http://json-schema.org/draft-07/schema#",$id$2="http://json-schema.org/draft-07/schema#",title$1="Core schema meta-schema",definitions$1={schemaArray:{type:"array",minItems:1,items:{$ref:"#"}},nonNegativeInteger:{type:"integer",minimum:0},nonNegativeIntegerDefault0:{allOf:[{$ref:"#/definitions/nonNegativeInteger"},{default:0}]},simpleTypes:{enum:["array","boolean","integer","null","number","object","string"]},stringArray:{type:"array",items:{type:"string"},uniqueItems:!0,default:[]}},type$3=["object","boolean"],properties$3={$id:{type:"string",format:"uri-reference"},$schema:{type:"string",format:"uri"},$ref:{type:"string",format:"uri-reference"},$comment:{type:"string"},title:{type:"string"},description:{type:"string"},default:!0,readOnly:{type:"boolean",default:!1},examples:{type:"array",items:!0},multipleOf:{type:"number",exclusiveMinimum:0},maximum:{type:"number"},exclusiveMaximum:{type:"number"},minimum:{type:"number"},exclusiveMinimum:{type:"number"},maxLength:{$ref:"#/definitions/nonNegativeInteger"},minLength:{$ref:"#/definitions/nonNegativeIntegerDefault0"},pattern:{type:"string",format:"regex"},additionalItems:{$ref:"#"},items:{anyOf:[{$ref:"#"},{$ref:"#/definitions/schemaArray"}],default:!0},maxItems:{$ref:"#/definitions/nonNegativeInteger"},minItems:{$ref:"#/definitions/nonNegativeIntegerDefault0"},uniqueItems:{type:"boolean",default:!1},contains:{$ref:"#"},maxProperties:{$ref:"#/definitions/nonNegativeInteger"},minProperties:{$ref:"#/definitions/nonNegativeIntegerDefault0"},required:{$ref:"#/definitions/stringArray"},additionalProperties:{$ref:"#"},definitions:{type:"object",additionalProperties:{$ref:"#"},default:{}},properties:{type:"object",additionalProperties:{$ref:"#"},default:{}},patternProperties:{type:"object",additionalProperties:{$ref:"#"},propertyNames:{format:"regex"},default:{}},dependencies:{type:"object",additionalProperties:{anyOf:[{$ref:"#"},{$ref:"#/definitions/stringArray"}]}},propertyNames:{$ref:"#"},const:!0,enum:{type:"array",items:!0,minItems:1,uniqueItems:!0},type:{anyOf:[{$ref:"#/definitions/simpleTypes"},{type:"array",items:{$ref:"#/definitions/simpleTypes"},minItems:1,uniqueItems:!0}]},format:{type:"string"},contentMediaType:{type:"string"},contentEncoding:{type:"string"},if:{$ref:"#"},then:{$ref:"#"},else:{$ref:"#"},allOf:{$ref:"#/definitions/schemaArray"},anyOf:{$ref:"#/definitions/schemaArray"},oneOf:{$ref:"#/definitions/schemaArray"},not:{$ref:"#"}},require$$3$2={$schema:$schema$2,$id:$id$2,title:title$1,definitions:definitions$1,type:type$3,properties:properties$3,default:!0};!function(e,t){Object.defineProperty(t,"__esModule",{value:!0}),t.MissingRefError=t.ValidationError=t.CodeGen=t.Name=t.nil=t.stringify=t.str=t._=t.KeywordCxt=t.Ajv=void 0;const r=core$4,n=draft7,i=discriminator,o=require$$3$2,s=["/properties"],a="http://json-schema.org/draft-07/schema";class c extends r.default{_addVocabularies(){super._addVocabularies(),n.default.forEach((e=>this.addVocabulary(e))),this.opts.discriminator&&this.addKeyword(i.default)}_addDefaultMetaSchema(){if(super._addDefaultMetaSchema(),!this.opts.meta)return;const e=this.opts.$data?this.$dataMetaSchema(o,s):o;this.addMetaSchema(e,a,!1),this.refs["http://json-schema.org/schema"]=a}defaultMeta(){return this.opts.defaultMeta=super.defaultMeta()||(this.getSchema(a)?a:void 0)}}t.Ajv=c,e.exports=t=c,e.exports.Ajv=c,Object.defineProperty(t,"__esModule",{value:!0}),t.default=c;var l=requireValidate();Object.defineProperty(t,"KeywordCxt",{enumerable:!0,get:function(){return l.KeywordCxt}});var u=requireCodegen();Object.defineProperty(t,"_",{enumerable:!0,get:function(){return u._}}),Object.defineProperty(t,"str",{enumerable:!0,get:function(){return u.str}}),Object.defineProperty(t,"stringify",{enumerable:!0,get:function(){return u.stringify}}),Object.defineProperty(t,"nil",{enumerable:!0,get:function(){return u.nil}}),Object.defineProperty(t,"Name",{enumerable:!0,get:function(){return u.Name}}),Object.defineProperty(t,"CodeGen",{enumerable:!0,get:function(){return u.CodeGen}});var d=requireValidation_error();Object.defineProperty(t,"ValidationError",{enumerable:!0,get:function(){return d.default}});var p=requireRef_error();Object.defineProperty(t,"MissingRefError",{enumerable:!0,get:function(){return p.default}})}(ajv$2,ajv$2.exports);var ajvExports=ajv$2.exports;function extractAjvErrors(e){return e?.map((e=>`${e.instancePath} ${e.message}`)).join(";")??""}function createLSPErrorResponse(e,t){return new main$4.ResponseError(e,t,t)}async function getMetadata(e){const t=kernel.env.deviceId,r=closestSvnRoot(e);if(r){const{project:e,branch:n}=await getSvnRepoAndBranch(r);return{device:t,project:e,branch:n,uploadBasePath:r}}const[n,i]=await Promise.all([getRepoHostAndName(e),getRepoRootPath(e)]);if(n&&i){return{device:t,project:n,branch:await getCurrentBranch(e),uploadBasePath:i}}return{device:t,project:e,uploadBasePath:e}}function createHash$2(e){return crypto$5.createHash("sha1").update(e).digest("hex")}function computeRepoIdByMetadata(e){const{device:t,project:r,branch:n}=e;if(!t||!r)return;return createHash$2([t,r,n].filter((e=>!!e)).join("+"))}async function computeRepoId(e){try{if(!e)return;return computeRepoIdByMetadata(await getMetadata(e))}catch(e){return void kernel.logger.error("embedding(error)",`${e?.message}`)}}async function readFileContent(e){const t=kernel.env.workspaceInfo.rootPath;if(!t)return null;try{return await readFile$4(join$5(t,e),"utf-8")}catch{return null}}const IGNORED_KEYWORDS=new Set(["interface","interfaces","class","classes","method","methods","function","functions","constructor","constructors","property","properties","field","fields","definition","definitions","reference","references","keyword","keywords","instance","instances","const","for","while","if","else","then","switch","case","default","extends","implements","new","await","then"]);async function provideKeywordContext(e,t="",r={useRegexp:!1}){const n=_$G.compact([r?.useRegexp?void 0:"--fixed-strings","--line-number","--heading","--crlf","--word-regexp","--context=10","--max-columns=300","--max-columns-preview","--max-filesize=1M","--sort=path",`'${e}'`,t?`-g **/${t}/**`:"./"]);try{const e=getRipgrepPath();if(!e)return[];const t=kernel.env.workspaceInfo.rootPath,r=(await execRipgrep(e,n,t)).map((e=>{const r=e.beforeContext.concat(e.match).concat(e.afterContext).join(""),n=Math.max(e.startLine-e.beforeContext.length),i=Math.min(e.endLine+e.afterContext.length);return new CodeChunk(t,"keyword",relative$2(t,e.file),r,{line:n,column:0},{line:i,column:0})}));return r}catch(e){return[]}}const abstractKeywordFromQueries=e=>{const t=e.map((e=>Array.from(e.matchAll(/([a-zA-Z][-_]*){3,}\w*/g)))),r=[..._$G.flatten(t)].map((e=>e[0]));return _$G.uniq(r).filter((e=>!IGNORED_KEYWORDS.has(e)))};async function searchKeywords(e,t="",r){const n=r?.useRegexp?e:abstractKeywordFromQueries(e).slice(0,6),i=await Promise.all(n.map((async e=>({keyword:e,codeChunks:await provideKeywordContext(e,t,r)}))));return i}class RepoKeySearchTask{strategy;searchPath;constructor(e){this.strategy=e,this.searchPath=e.rule===IntentStrategyRule$1.REPO_KEY?"":e.context.id}async search(){return(await searchKeywords([this.strategy.query],this.searchPath)).map((e=>e.codeChunks)).flat()}}class RepoRegexSearchTask{strategy;searchPath;constructor(e){this.strategy=e,this.searchPath=e.rule===IntentStrategyRule$1.REPO_REGEX?"":e.context.id}async search(){if(this.strategy.pattern){return(await searchKeywords(this.strategy.pattern.file_content,this.searchPath,{useRegexp:!0})).map((e=>e.codeChunks)).flat()}return[]}}class RepoVectorSearchTask{strategy;searchPath;constructor(e){this.strategy=e,this.searchPath=e.rule===IntentStrategyRule$1.REPO_VECTOR?void 0:e.context.id}async search(){try{const{query:e}=this.strategy,t=this.searchPath,r=kernel.env.workspaceInfo.rootPath;setCurrentRootPath(r);const n=await processSearch({query:e,relativePathKeyword:t});return n.map((e=>{const{startRow:t,endRow:n,content:i,relativePath:o}=e;return new CodeChunk(r,"fullContent",o,i,{line:t,column:0},{line:n,column:0})}))}catch(e){return kernel.logger.info(`[ContextEngine] 向量检索失败:${e.message}`),[]}}}class FileReadSearchTask{strategy;isCurrentFile=!1;constructor(e){this.strategy=e,this.isCurrentFile=e.rule===IntentStrategyRule$1.CURRENT_FILE_READ}async search(){const e=await readFileContent(this.strategy.context.id);return e?this.isCurrentFile?[new CurrentFileCodeChunk(kernel.env.workspaceInfo.rootPath,this.strategy.context.id,e)]:[new FileCodeChunk(kernel.env.workspaceInfo.rootPath,this.strategy.context.id,e)]:[]}}class FolderReadSearchTask{strategy;constructor(e){this.strategy=e}async search(){const e=await getCodeChunksFromFolder(this.strategy.context.id,kernel.env.workspaceInfo.rootPath);return compressFileChunks(e,1e5)}}class ArchitectureReadSearchTask{strategy;constructor(e){this.strategy=e}async search(){const e=await readFileContent(this.strategy.context.id);return e?[new FileCodeChunk(kernel.env.workspaceInfo.rootPath,"README.md",e)]:[]}}const searchTaskMapping={[IntentStrategyRule$1.REPO_KEY]:RepoKeySearchTask,[IntentStrategyRule$1.REPO_REGEX]:RepoRegexSearchTask,[IntentStrategyRule$1.FOLDER_KEY]:RepoKeySearchTask,[IntentStrategyRule$1.FOLDER_REGEX]:RepoRegexSearchTask,[IntentStrategyRule$1.FOLDER_READ]:FolderReadSearchTask,[IntentStrategyRule$1.FILE_READ]:FileReadSearchTask,[IntentStrategyRule$1.CURRENT_FILE_READ]:FileReadSearchTask,[IntentStrategyRule$1.REPO_VECTOR]:RepoVectorSearchTask,[IntentStrategyRule$1.FOLDER_VECTOR]:RepoVectorSearchTask,[IntentStrategyRule$1.ARCHITECTURE_READ]:ArchitectureReadSearchTask},isValidCodeChunk=e=>0!==Object.keys(e).length,isKeywordIntentStrategySearch=e=>e.rule===IntentStrategyRule$1.REPO_KEY||e.rule===IntentStrategyRule$1.FOLDER_KEY,intentStrategy2SearchTask=e=>{const t=searchTaskMapping[e.rule];return t?new t(e).search():[]},searchIntentStrategy=async e=>{if(!e?.length)return{keywordSearchResult:[],otherSearchResult:[]};const[t,r]=_$G.partition(e,isKeywordIntentStrategySearch),n=new Promise((e=>{Promise.all(t.map((async e=>{const t=await intentStrategy2SearchTask(e);return{keyword:e.query,codeChunks:t?.filter(isValidCodeChunk)||[]}}))).then(e)})),i=Promise.all(r.filter((e=>!!searchTaskMapping[e.rule])).map(intentStrategy2SearchTask)),[o,s]=await Promise.all([n,i]);return{keywordSearchResult:o,otherSearchResult:s.flat().filter(isValidCodeChunk)}},realtimeIndexing=async e=>{try{kernel.logger.info("[ContextEngine] 实时索引任务开始");const t=Date.now(),{added:r,deleted:n,modified:i}=e,o=[...r,...i],s=o.length,{count:a,skipped:c,round:l}=await processIndexing({files:o,onProgress:()=>{}}),{repoId:u}=getCurrentMetadata(),d=await getDbInstance(),p=_$G.chunk(n,1e3);for(const e of p)d.versionedFiles.deleteByPath(u,e);kernel.logger.info(`[ContextEngine] 实时索引构建成功! 共 ${s} 个文件,处理 ${a} 个,跳过 ${c} 个,删除旧文件 ${n.length} 个,共 ${l} 轮。用时:${Date.now()-t}ms`)}catch(e){log$2("failed",`realtime: ${e?.message}`)}},initEmbeddingService=async()=>{if(kernel.connect.onRequest(KERNEL_EMBEDDING_RECREATE,(async()=>{updateCodebaseSearchConfig("true"),createEmbeddingJob()})),kernel.connect.onRequest(RECREATE_WORKSPACE_INDEX,(async e=>{e&&e.buildEmbedding&&(updateCodebaseSearchConfig("true"),createEmbeddingJob())})),kernel.connect.onRequest(GET_WORKSPACE_INDEX_PROGRESS,(async()=>getCurrentEmbeddingProgress())),kernel.connect.onRequest(KERNEL_WORKSPACE_CHANGE,(async e=>{if(!getCodebaseSearchConfig())return;await loadIndexConfig();const{rootPath:t}=e;setCurrentRootPath(t),await loadCurrentMetadata({rootPath:t}),createEmbeddingJob()})),kernel.connect.onRequest(KERNEL_FILE_CHANGE,(async e=>{realtimeIndexing(e)})),kernel.connect.onRequest(ZULU_CLI_EMBEDDING_CREATE,(async()=>{try{const e=kernel.env.workspaceInfo.rootPath;return setCurrentRootPath(e),await loadIndexConfig(),await loadCurrentMetadata({rootPath:e}),await createEmbeddingJob(),{success:!0}}catch(e){return{success:!1,message:e.message}}})),kernel.connect.onRequest(ZULU_CLI_EMBEDDING_SEARCH,(async e=>{try{const t=kernel.env.workspaceInfo.rootPath;setCurrentRootPath(t);const{query:r}=e;return(await processSearch({query:r})).map((({embedding:e,...t})=>({...t})))}catch(e){return{success:!1,message:e.message}}})),kernel.connect.onRequest(IDE_CHAT_INTENT_CODE_CHUNK_SEARCH_EVENT,(async e=>{const t=await searchIntentStrategy(e);return{keywordSearchResult:t.keywordSearchResult.map((e=>({keyword:e.keyword,codeChunks:e.codeChunks.map((e=>e.toJSON()))}))),otherSearchResult:t.otherSearchResult.map((e=>e.toJSON()))}})),kernel.connect.onRequest(IDE_CHAT_HAS_INDEXED,(async()=>{try{const e=kernel.env.workspaceInfo.rootPath,t=computeRepoIdByMetadata(await getMetadata(e));return(await getDbInstance()).indexStatus.hasIndexed(t)}catch{return!1}})),kernel.env.isVS||kernel.env.isXcode||kernel.env.isEclipse)return;await loadContextsConfig();getCodebaseSearchConfig()&&(process.env.IS_CLI||(setTimeout((async()=>{await loadIndexConfig();const e=getCurrentRootPath();await loadCurrentMetadata({rootPath:e}),createEmbeddingJob()}),1e3),setInterval((()=>{createEmbeddingJob()}),36e5)))};var __decorate$4=function(e,t,r,n){var i,o=arguments.length,s=o<3?t:null===n?n=Object.getOwnPropertyDescriptor(t,r):n;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)s=Reflect.decorate(e,t,r,n);else for(var a=e.length-1;a>=0;a--)(i=e[a])&&(s=(o<3?i(s):o>3?i(t,r,s):i(t,r))||s);return o>3&&s&&Object.defineProperty(t,r,s),s};const ajv$1=new ajvExports.Ajv,schema$1={type:"object",properties:{rootPath:{type:"string"}},required:["rootPath"]};let EmbeddingsController=class{listenConnection(){kernel.connect.onRequest(IDE_COMPUTE_REPO_ID,(async e=>{if(!ajv$1.validate(schema$1,e))return createLSPErrorResponse(LSP_ERROR_CODE$1.InvalidParams,extractAjvErrors(ajv$1.errors));try{const t=await computeRepoId(e.rootPath);return{code:SUCCESS_CODE,data:{repoId:t}}}catch(e){return createLSPErrorResponse(LSP_ERROR_CODE$1.InternalError,e.message??"unknown error")}}))}run(){this.listenConnection(),initEmbeddingService()}};EmbeddingsController=__decorate$4([injectable()],EmbeddingsController);var __decorate$3=function(e,t,r,n){var i,o=arguments.length,s=o<3?t:null===n?n=Object.getOwnPropertyDescriptor(t,r):n;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)s=Reflect.decorate(e,t,r,n);else for(var a=e.length-1;a>=0;a--)(i=e[a])&&(s=(o<3?i(s):o>3?i(t,r,s):i(t,r))||s);return o>3&&s&&Object.defineProperty(t,r,s),s},__metadata$3=function(e,t){if("object"==typeof Reflect&&"function"==typeof Reflect.metadata)return Reflect.metadata(e,t)};let PassthroughDemoService=class{disposables=[];intervalId=null;constructor(){this.disposables.push(kernel.connect.onWebviewMessage(PT_WEBVIEW_DEMO_REQUEST,this.handleMessage),kernel.connect.onWebviewStreamMessage(PT_WEBVIEW_STREAM_DEMO_REQUEST,this.handleStreamMessage))}start(){}handleMessage=async e=>(await kernel.config.updateExtensionConfig("username",e),"收到来自 webview 请求:"+kernel.config.username);handleStreamMessage=async function*(e){for(let e=1;e<=5;e++)await new Promise((e=>setTimeout(e,1e3))),yield e};dispose(){this.intervalId&&(clearInterval(this.intervalId),this.intervalId=null);for(const e of this.disposables)e();this.disposables.length=0}};PassthroughDemoService=__decorate$3([injectable(),__metadata$3("design:paramtypes",[])],PassthroughDemoService);var __decorate$2=function(e,t,r,n){var i,o=arguments.length,s=o<3?t:null===n?n=Object.getOwnPropertyDescriptor(t,r):n;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)s=Reflect.decorate(e,t,r,n);else for(var a=e.length-1;a>=0;a--)(i=e[a])&&(s=(o<3?i(s):o>3?i(t,r,s):i(t,r))||s);return o>3&&s&&Object.defineProperty(t,r,s),s},__metadata$2=function(e,t){if("object"==typeof Reflect&&"function"==typeof Reflect.metadata)return Reflect.metadata(e,t)},__param=function(e,t){return function(r,n){t(r,n,e)}};const uniqueArray=(e,t)=>e.filter(((e,r,n)=>n.findIndex((r=>r[t]===e[t]))===r));let PlusService=class{mediator;constructor(e){this.mediator=e}start(){kernel.connect.onRequest(ACTION_COMATE_PLUS_CHAT_QUERY,this.handleChatQuery),kernel.connect.onRequest(ACTION_COMATE_PLUS_CHAT_CANCEL,this.handleChatCancel),kernel.connect.onRequest(ACTION_COMATE_PLUS_CUSTOM_COMMAND,this.handleCustomCommand),kernel.connect.onRequest(ACTION_COMATE_PLUS_WEBVIEW_INIT_DATA,this.handleWebviewInitData),kernel.connect.onRequest(ACTION_QUERY_SELECTOR,this.handleQuerySelector),kernel.connect.onRequest(ACTION_COMATE_PLUS_DIAGNOSTIC_SCAN,this.handleDiagnosticScan),kernel.connect.onRequest(ACTION_SCAN_CACHE_COUNT,this.handleScanCacheCount)}handleChatQuery=async e=>{try{const t=this.mediator.userDetail(),r=this.mediator.getPluginCapabilityInfo();let n=e.context.query??"";const i=r.find((t=>t.name===e.capability));"PromptTemplate"!==e.pluginName&&e.context.query===i?.defaultUserMessage&&(n="");const o=(e.knowledgeList??[]).map((e=>["FILE","FOLDER","CURRENT_FILE",0,2,3].includes(e.type)?{...e,path:e.id}:e)),s={isRegenerated:e.isRegenerated,pluginName:e.pluginName,sessionUuid:e.sessionUuid,input:{messageId:e.messageId,capability:e.capability,query:e.query,data:e.data,informationList:o,enableSmartApply:i?.enableSmartApply},context:{query:n,selectedCode:e.context.selectedCode??"",selectedRange:e.context.selectedRange??[],activeFileContent:e.context.activeFileContent??"",activeFileLineContent:e.context.activeFileLineContent??"",activeFilePath:e.context.activeFilePath??"",activeFileName:e.context.activeFileName??"",activeFileLanguage:e.context.activeFileLanguage??""},systemInfo:{...e.systemInfo,userDetail:{name:t.name,license:t.license,displayName:t.displayName,email:t.email},userId:t.uid}};if("PromptTemplate"===e.pluginName){kernel.logger.uploader({category:LoggerUploaderCategoryType.PromptTemplate,action:"chat",content:"promptTemplate chat query"});for await(const t of this.mediator.promptTemplateChat(e.capability,s))kernel.logger.info("PromptTemplate message",t),await sendMessageToIde(kernel.logger,this.mediator,t)}else{const e=crypto$5.randomUUID();for await(const t of this.mediator.sendToPlugin(e,{action:ACTION_CHAT_QUERY,payload:s}))kernel.logger.info("message messagemessagemessage",t),!kernel.env.isJetBrains&&await sendMessageToIde(kernel.logger,this.mediator,t)}return await this.mediator.sendToIde(ACTION_COMATE_PLUS_DRAW_CHAT_FINISH,{messageId:e.messageId}),{status:"success",payload:"ok"}}catch(e){return kernel.logger.error("ERROR GET",ACTION_COMATE_PLUS_CHAT_QUERY,e instanceof Error?e.toString():e),{status:"error",payload:"not ok"}}};handleChatCancel=async e=>{try{const t=this.mediator.userDetail(),r={pluginName:e.pluginName,input:{messageId:e.messageId,capability:"",query:"",data:{chatCancleToken:e.chatCancleToken},informationList:[]},context:{query:"",selectedCode:"",selectedRange:[],activeFileContent:"",activeFileLineContent:"",activeFilePath:"",activeFileName:"",activeFileLanguage:""},systemInfo:{cwd:"",userDetail:{name:t.name,license:t.license,displayName:t.displayName,email:t.email},userId:t.uid}},n=crypto$5.randomUUID();for await(const e of this.mediator.sendToPlugin(n,{action:ACTION_CHAT_QUERY,payload:r}))kernel.logger.info("cancle message",e);return{status:"success",payload:"ok"}}catch(e){return kernel.logger.error("ERROR GET",ACTION_COMATE_PLUS_CHAT_CANCEL,e instanceof Error?e.toString():e),{status:"error",payload:"not ok"}}};handleCustomCommand=async e=>{try{const t=crypto$5.randomUUID();for await(const r of this.mediator.sendToPlugin(t,{action:ACTION_CUSTOM_COMMAND,payload:{...e.customCommandPayload,messageId:e.messageId,commandContext:e.context}}))r&&(r.data.payload.messageId=e.messageId),!kernel.env.isJetBrains&&await sendMessageToIde(kernel.logger,this.mediator,r);return await this.mediator.sendToIde(ACTION_COMATE_PLUS_DRAW_CHAT_FINISH,{messageId:e.messageId}),{status:"success",payload:"ok"}}catch(e){return kernel.logger.error("ERROR GET",ACTION_COMATE_PLUS_CUSTOM_COMMAND,e instanceof Error?e.toString():e),{status:"error",payload:"not ok"}}};handleWebviewInitData=async e=>{let t=[],r=[],n=[],i=[],o={};try{n=(await this.mediator.pluginConfigApi.getCurrentUserKnowledgeSet()).map((e=>({id:e.uuid,name:e.name,type:e.type,description:e.description,retrievalType:e.fileContentType||"TEXT"})))}catch(e){n=[],kernel.logger.error("ERROR GET",ACTION_COMATE_PLUS_WEBVIEW_INIT_DATA,e instanceof Error?e.toString():e)}try{i=await this.mediator.promptTemplateService.getAll()}catch(e){i=[],kernel.logger.error("ERROR GET",ACTION_COMATE_PLUS_WEBVIEW_INIT_DATA,e instanceof Error?e.toString():e)}try{const e=this.mediator.userDetail();o=await this.mediator.getPluginConfigAll();const n=Object.keys(o).filter((t=>(o[t]?.meta?.onlyBusinesses&&kernel.env.isSaaS&&(e.enterpriseConfig?.enterprise&&e.enterpriseConfig?.enableCodeSecurity||(o[t].enabled=!1)),o[t]?.enabled))),i=this.mediator.getPluginCapabilityInfo().filter((e=>n.includes(e.owner.name)));t=uniqueArray(i.map((e=>e.owner)),"name").map((e=>({...e,id:e.name}))),r=i.filter((e=>canShowToUser(e.type))).map((e=>({...e,id:e.name+"@"+e.owner.name})))}catch(e){return kernel.logger.error("ERROR GET",ACTION_COMATE_PLUS_WEBVIEW_INIT_DATA,e instanceof Error?e.toString():e),{status:"error",payload:[[[],[],[],[]],{}]}}return{status:"success",payload:[[t,r,n,i],o]}};handleQuerySelector=async e=>{try{const t=this.mediator.userDetail(),r=await this.mediator.getSuggestCapabilitiesByMatch({context:e.context,systemInfo:{...e.systemInfo,userDetail:{license:t.license,name:t.name,displayName:t.displayName,email:t.email},userId:t.uid}});this.mediator.sendToIde(ACTION_COMATE_PLUS_QUERY_SELECTOR,r)}catch(e){return kernel.logger.error("ERROR GET",ACTION_QUERY_SELECTOR,e instanceof Error?e.toString():e),{status:"error",payload:ACTION_QUERY_SELECTOR}}};handleDiagnosticScan=async e=>{try{const t=this.mediator.userDetail(),r=path__default.isAbsolute(e.context.activeFilePath)?e.context.activeFilePath:path__default.join(e.systemInfo.cwd,e.context.activeFilePath);return this.mediator.diagnosticCache.get({pluginName:e.pluginName,capabilityName:e.capability,systemInfo:{...e.systemInfo,userDetail:{name:t.name,license:t.license,displayName:t.displayName,email:t.email},userId:t.uid},context:{...e.context,activeFilePath:r}})}catch(e){return kernel.logger.error("ERROR GET",ACTION_COMATE_PLUS_DIAGNOSTIC_SCAN,e instanceof Error?e.toString():e),{}}};handleScanCacheCount=async e=>{const t=this.mediator.userDetail();return 0!==await this.mediator.diagnosticCache.getCount({...e.systemInfo,userDetail:{name:t.name,license:t.license,displayName:t.displayName,email:t.email},userId:t.uid})}};PlusService=__decorate$2([injectable(),__param(0,inject(Mediator)),__metadata$2("design:paramtypes",[Mediator])],PlusService);var __decorate$1=function(e,t,r,n){var i,o=arguments.length,s=o<3?t:null===n?n=Object.getOwnPropertyDescriptor(t,r):n;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)s=Reflect.decorate(e,t,r,n);else for(var a=e.length-1;a>=0;a--)(i=e[a])&&(s=(o<3?i(s):o>3?i(t,r,s):i(t,r))||s);return o>3&&s&&Object.defineProperty(t,r,s),s},__metadata$1=function(e,t){if("object"==typeof Reflect&&"function"==typeof Reflect.metadata)return Reflect.metadata(e,t)};const STORAGE_KEY$1="input_box_message_history";let HistoryService=class{constructor(){kernel.connect.onWebviewMessage(PT_WEBVIEW_INPUT_HISTORY_FETCH,this.fetchHistory.bind(this)),kernel.connect.onWebviewMessage(PT_WEBVIEW_INPUT_HISTORY_SAVE,this.saveHistory.bind(this))}async fetchHistory(){try{return kernel.storage.get(STORAGE_KEY$1,[])}catch(e){return kernel.logger.error("Failed to fetch history:",e),[]}}async saveHistory(e){const t=e.slice(0,100);kernel.logger.info("[history] Saving latest history:",t[0]),kernel.storage.update(STORAGE_KEY$1,t)}};HistoryService=__decorate$1([injectable(),__metadata$1("design:paramtypes",[])],HistoryService);var __decorate=function(e,t,r,n){var i,o=arguments.length,s=o<3?t:null===n?n=Object.getOwnPropertyDescriptor(t,r):n;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)s=Reflect.decorate(e,t,r,n);else for(var a=e.length-1;a>=0;a--)(i=e[a])&&(s=(o<3?i(s):o>3?i(t,r,s):i(t,r))||s);return o>3&&s&&Object.defineProperty(t,r,s),s},__metadata=function(e,t){if("object"==typeof Reflect&&"function"==typeof Reflect.metadata)return Reflect.metadata(e,t)};let PassthroughGitRepoService=class{disposables=[];constructor(){this.disposables.push(kernel.connect.onWebviewMessage(PT_WEBVIEW_GET_CURRENT_REPO,this.handleMessage))}handleMessage=async()=>{if(!kernel.env.workspaceInfo.rootPath)return kernel.logger.trace("[PassthroughGitRepoService] not in workspace"),"";return await getRepoNamePriortrizeICode(kernel.env.workspaceInfo.rootPath)||""};dispose(){for(const e of this.disposables)e();this.disposables.length=0}};function logInjection(e){return t=>e(t)}PassthroughGitRepoService=__decorate([injectable(),__metadata("design:paramtypes",[])],PassthroughGitRepoService);const iocContainer=new Container;iocContainer.applyMiddleware(logInjection);let serviceIsReady=!1;function updateServiceStatus(e){serviceIsReady=e}function active(){iocContainer.bind(EmbeddingsController).toSelf().inSingletonScope(),iocContainer.get(EmbeddingsController).run(),iocContainer.bind(PassthroughDemoService).toSelf().inSingletonScope(),iocContainer.get(PassthroughDemoService).start(),iocContainer.bind(PassthroughGitRepoService).toSelf().inSingletonScope(),iocContainer.get(PassthroughGitRepoService),iocContainer.bind(PlusService).toSelf().inSingletonScope(),iocContainer.get(PlusService).start(),iocContainer.bind(HistoryService).toSelf().inSingletonScope(),iocContainer.get(HistoryService),iocContainer.bind(QuotaService).toSelf().inSingletonScope(),iocContainer.get(QuotaService)}class ProjectAgent{rootPath;relativePath;metadata;content;static agentGlob=".comate/agents/**.md";id;constructor(e,t,r,n){this.rootPath=e,this.relativePath=t,this.metadata=r,this.content=n;try{const r=statSync$2(join$6(e,t));this.id=-1*r.birthtimeMs}catch{this.id=-1*Date.now()}}static pickTaskProperties(e,t){const r=_$G.keyBy(t,"serverName"),n=Array.isArray(e.mcpInfos)?e.mcpInfos.filter((e=>r[e])).map((e=>r[e])):[];return{..._$G.pick(e,["agentName","agentImage","description","strategy","agentPrompt","tools"]),isProjectAgent:!!e.isProjectAgent,agentId:e.isProjectAgent?void 0:e.agentId,mcpInfos:n}}toString(){return matter$1.stringify(this.content,_$G.pickBy(this.metadata,(e=>Array.isArray(e)?e.length>0:"boolean"==typeof e?!1===e:!!e)))}toJSON(){return{agentId:this.id,isProjectAgent:!0,enable:"boolean"!=typeof this.metadata.enable||this.metadata.enable,relativePath:this.relativePath,agentName:this.metadata.name.trim(),description:this.metadata.description,agentImage:this.metadata.icon,agentPrompt:this.content,visibility:"SELF",allowInvocation:!0,canInvokeAgents:!1,order:0,subAgents:[],strategy:this.metadata.strategy||"DEFAULT",tools:Array.isArray(this.metadata.tools)?this.metadata.tools:[],mcpInfos:Array.isArray(this.metadata.mcpServers)?this.metadata.mcpServers:[],parentAgents:Array.isArray(this.metadata.parentAgents)?this.metadata.parentAgents:[],reportAgentName:"PROJECT_AGENT",canUseMcp:!0}}async save(){const e=join$6(this.rootPath,this.relativePath);await lib$4.ensureDir(join$6(this.rootPath,".comate","agents")),await writeFile$2(e,this.toString()),this.id=-1*statSync$2(e).birthtimeMs}static async find(e,t){return(await this.readFromWorkspace(e)).find((e=>e.metadata.name===t))}static async write(e,t){const r=t.relativePath??join$6(".comate","agents",t.agentName+".md"),n=new ProjectAgent(e,r,{name:t.agentName,enable:"boolean"!=typeof t.enable||t.enable,description:t.description,icon:t.agentImage,strategy:t.strategy,tools:Array.isArray(t.tools)?t.tools:[],mcpServers:Array.isArray(t.mcpInfos)?t.mcpInfos:[],parentAgents:Array.isArray(t.parentAgents)?t.parentAgents:[]},t.agentPrompt);return await n.save(),n.toJSON()}static async delete(e,t){try{await rm$1(join$6(e,t))}catch{}}static async update(e,t,r){const n=await this.find(e,t.name);if(n)return n.update(t,r),await n.save(),n;{const n=join$6(".comate","agents",`${t.name}.md`),i=new ProjectAgent(e,n,t,r);return await i.save(),i}}static async readFromWorkspace(e){const t=await globby(this.agentGlob,{cwd:e});kernel.logger.info(`Found project agents in ${e}: ${t.join(",")}`);const r=await Promise.all(t.map((async t=>{try{const r=await readFile$4(join$6(e,t),"utf-8"),{data:n,content:i}=matter$1(r);return n.name?new ProjectAgent(e,t,n,i):null}catch(e){return kernel.logger.info(`Failed to read project agent ${t}: ${e}`),null}})));return r.filter((e=>null!==e)).sort(((e,t)=>t.id-e.id))}update(e,t){this.metadata=e,this.content=t}}const COMMON_COMMANDS=["python","python3","pip","pip3","go","docker","curl","ffmpeg","brew","pip","jq","nuget"];class E2EBotConversation extends ConversationThread{codeWrittenMetric;type=AgentConversationType.E2EBotConversation;inlineDiffView=!0;status=AgentConversationStatus.Ready;cancelTokenSource=createAxiosCancelTokenSource();mcpManager;previewProxyServerManager;quotaService;specEditor;constructor(e,t,r,n){super(e),this.codeWrittenMetric=n,this.quotaService=iocContainer.get(QuotaService),this.mcpManager=t,this.status=AgentConversationStatus.Running,this.previewProxyServerManager=r,this.specEditor=new SpecEditor(this.virtualEditor,this.roundtrips)}firstTokenStartTime=0;async startWork(e){this.firstTokenStartTime=performance.now();const t=await this.injectExtendParamsIfPreviousMessageExisted(e.request.payload);this.shouldIncludePreviousToolResult()?await this.createFollowupConversation(e,t):await this.createConversation(e,t)}async injectExtendParamsIfPreviousMessageExisted(e){const t=e.agent||{agentId:1,agentName:"Zulu",agentImage:"zulu",subagents:[]},r={fileOperate:{acceptedFiles:[],rejectedFiles:[]},contextMode:e.model?.mode,requestType:e.model?.requestType,promptENName:this.metrics?.function},n=[];for(const e of this.roundtrips){const t=(e.request.payload.knowledgeList??[]).filter((e=>e.type===ContextType.RULE));n.unshift(...t)}const i=_$G.uniqBy([...e.knowledgeList,...n],"id");if(this.previousRoundtrip){const t=this.previousRoundtrip,n=t.getComposerTasks();for(const e of n){const t=e.toAcceptedLabel();e.accepted!==AcceptState.ACCEPT||r.fileOperate.acceptedFiles.includes(t)?e.accepted!==AcceptState.REJECT||r.fileOperate.rejectedFiles.includes(t)||r.fileOperate.rejectedFiles.push(t):r.fileOperate.acceptedFiles.push(t)}return{query:e.query,agent:e.agent,taskId:t.context.taskId,conversationId:t.context.conversationId,knowledgeList:i,extend:r,selfDefineInstruction:e.selfDefineInstruction}}return{query:e.query,agent:t,knowledgeList:i,extend:r,selfDefineInstruction:e.selfDefineInstruction}}recreateCancelTokenSource(){return this.cancelTokenSource.cancel(),this.cancelTokenSource=createAxiosCancelTokenSource(),this.cancelTokenSource}getMcpServers(e){const t=this.mcpManager.getConnectionsForWebview().filter((({status:e,disabled:t})=>"connected"===e&&!t)).map((({name:e,tools:t})=>({serverName:e,tools:t?.map((({name:e,description:t,inputSchema:r})=>({name:e,description:t,inputSchema:r})))})));if(Array.isArray(e)){const r=e;return t.filter((({serverName:e})=>r.includes(e)))}return t}shouldIncludePreviousToolResult(){if(!this.previousRoundtrip)return!1;const e=this.previousRoundtrip.getLatestMessage();return!(!e||!isToolCallMessage(e))&&!0===e.workflow.includeInNextRoundtrip}async createFollowupConversation(e,t){this.logger.logUploader?.logUserAction({category:"zulu",action:"startFollowupConversation"}),this.recreateCancelTokenSource(),e.status=RoundtripStatus.Generating;const r=this.previousRoundtrip?.context.chatParams,n=this.previousRoundtrip.getLatestMessage();if(!r||!n||!isToolCallMessage(n))return this.createConversation(e,t);const{conversationId:i,messageId:o}=r;e.request.replaceUuidWithUserMessageId(String(o)),e.request.updateTraceId(this.previousRoundtrip.request.traceId),e.context.conversationId=i,e.context.taskId=r.analyze?.taskId,this.logger.info("E2EBot start followup roundtrip: "+i);const s={...r,cancelToken:this.cancelTokenSource.token};this.performanceLog("agent-readenv-end"),kernel.logger.info("[Zulu] start followup chat");const a=await n.workflow.getResultForNextRoundtrip(e.request.payload);await this.startChat(e,s,a?[a]:[])}async createConversation(e,t){this.logger.logUploader?.logUserAction({category:"zulu",action:"startConversation"});const r=this.recreateCancelTokenSource();e.status=RoundtripStatus.Analyzing;const n=e.request.payload?.model,i=this.getMcpServers(this.getAgentMcpServers(e));this.performanceLog("agent-start-analyze");const o=await analyze({username:this.repo.username,query:t.query,sessionId:this.id,cancelToken:r.token,conversationId:t?.conversationId,slash:"Composer",taskId:t?.taskId,contexts:[],mcpInfo:i,agentInfo:t.agent,traceId:this.id,modelKey:n?.modelId,extend:{contextMode:n?.mode,requestType:n?.requestType}});this.performanceLog("agent-end-analyze"),e.status=RoundtripStatus.Generating;const{conversationId:s,extend:a,messageId:c}=o;e.request.replaceUuidWithUserMessageId(String(c)),e.request.updateTraceId(o.traceId),e.context.taskId=o?.taskId,this.logger.info("E2EBot start new roundtrip: "+s);const l=await this.virtualEditor.getActiveDocument(),{existed:u,selections:d,absolutePath:p}=l,h=u?relative$2(this.repo.rootPath.replace(/\\/g,"/"),p.replace(/\\/g,"/")):void 0;t.knowledgeList=transformKnowledges(t.knowledgeList,{relativePath:h}),e.context.conversationId=s;const f=transformContexts(t.knowledgeList),m=await transformQuery(t.query,t.knowledgeList,this.mediator),g=await context2CodeChunks(f,l,this.repo.rootPath,this.virtualEditor);kernel.logger.info("[Zulu] start get system info");const y=await this.getSysInfo(),v=await getTraceRepoInfo(l,this.repo.rootPath),b=await getContextsConfigList(),_=this.getAgentInfo(e),E={messageId:c,username:this.repo.username,query:m,contexts:excludeIllegalContexts(f),conversationId:s,codeChunks:g,extend:{...t.extend,...a},analyze:o,sysInfo:y,cancelToken:this.cancelTokenSource.token,paths:[],mcpInfo:i,modelKey:n?.modelId,selfDefineInstruction:t.selfDefineInstruction,...v,..._,agentInfo:ProjectAgent.pickTaskProperties(t.agent,i),subAgents:t.agent.subagents.map((e=>ProjectAgent.pickTaskProperties(e,i))),configContexts:b};this.performanceLog("agent-readenv-end"),kernel.logger.info("[Zulu] start chat "),await this.startChat(e,E)}endConversation(){this.virtualEditor.endConversationEditSession({conversationId:this.id}),this.acceptLogOnEnd("end")}async onEndCheckQuota(e){const{exceeded:t,userActions:r}=await this.quotaService.checkQuota();t&&(this.quotaService.noQuotaNotifyFlag=!0,e.quotaTip(JSON.stringify(r)))}async startChat(e,t,r=[]){try{this.virtualEditor.startConversationEditSession({conversationId:this.id,source:this.type}),await this.recursivelyRegenerate(e,t,r),this.logger.logUploader?.logUserAction({category:"zulu",action:"endConversation"}),this.quotaService.noQuotaNotifyFlag||await this.onEndCheckQuota(e)}catch(e){throw e}finally{this.endConversation()}}async beforeStop(){if(this.cancelTokenSource){this.logger.logUploader?.logUserAction({category:"zulu",action:"cancelConveration"}),this.latestRoundtrip.status===RoundtripStatus.Analyzing&&(this.latestRoundtrip.appendTextResponse("您已主动终止本次会话。",{replace:!0}),this.latestRoundtrip.updateWebviewMessages({forceUpdate:!0})),this.cancelTokenSource.cancel();const e=this.latestRoundtrip.getLatestToolCallMessage();e&&e.workflow.type===WorkflowType.RunCommand&&e.workflow.status===WorkflowStatus.READY&&(e.workflow.cancel(),this.endConversation())}}sanitizeDiffString(e){const t=e=>e.filter((e=>!/@@(.*)@@/.test(e))),r=e.split(/\r?\n/);return r[0].startsWith("---")&&r[1].startsWith("+++")?t(r.slice(2)).join("\n"):t(r).join("\n")}get metrics(){const e=this.latestRoundtrip.request.metrics,t=this.latestRoundtrip.request.payload?.model?.modelId||"Auto",r=this.latestRoundtrip.request.metrics?.path;return{...e,path:r,modelKey:t}}async acceptLogOnEnd(e){if(!this.latestRoundtrip)return;const t=this.latestRoundtrip.updateAcceptSuggestions(this.codeWrittenMetric,this.metrics),r="CODE_EXPLAIN"===this.latestRoundtrip.request.payload.metrics?.function,n=this.latestRoundtrip.request.payload?.query?.trim(),i=this.latestRoundtrip.request.payload.knowledgeList?.map((e=>({id:e.id,name:e.type,type:e.type}))),o=this.latestRoundtrip.toolCallMessages.map((e=>({tool:e.workflow.type,params:e.workflow.type===WorkflowType.McpTool?{serverName:e.workflow.params.server_name,tools:e.workflow.params.tool_name}:{}}))),s=this.latestRoundtrip.textMessages.map((e=>e.content)).join("\n\n");if(r||t.length){if("end"===e){const e=await this.generateMessageId(this.metrics,t,n,s,i,o);this.logger.info("[Zulu] Roundtrip completed: uuid=",e),this.latestRoundtrip.reportedId=e}this.logger.info("[Zulu] Track roundtrip completed: reportedId=",this.latestRoundtrip.reportedId),this.acceptLog(this.metrics,this.latestRoundtrip.reportedId,t,!r)}this.onAcceptLog(t,e)}async onFileAcceptedChange(e,t,r){if(!this.latestRoundtrip)return;const n=this.latestRoundtrip.updateSuggestionsByPath(relative$2(this.repo.rootPath,e),t,r);return n.length&&(this.logger.info("[Zulu] Track file accepted: reportedId=",this.latestRoundtrip.reportedId),this.acceptLog(this.metrics,this.latestRoundtrip.reportedId,n)),this.onAcceptLog(n,"action"),n}acceptCodeBlock(e){if(!this.latestRoundtrip)return;const t=this.latestRoundtrip.updateCodeBlockSuggestion(e);t.length&&(this.logger.info("[Zulu] update code block acceptance"),this.acceptLog(this.metrics,this.latestRoundtrip.reportedId,t))}async acceptLog(e,t,r,n=!0){if(!t)return;const i={fileContent:r};await acceptCode({uuid:t,accepted:n,content:"",multiSuggestions:i})}async handleNewMessage(e){switch(e.action){case"execute-shell":{const{output:t}=await this.virtualEditor.executeTerminalShell({cmd:e.shell,cwd:this.repo.rootPath,duration:5e3,run:!0});if(e.id!==this.latestRoundtrip?.uuid)return;const r=extractLocalhostAddressFromOutput(t);if(r)try{const{port:t}=new URL(r);if(await isPortAvailable$1(Number(t))){const t=this.latestRoundtrip.getTextMessage(e.elementId);t?.composer.updatePreview(r)}}catch(e){this.logger.error("execute-shell failed, reason:",e)}break}case"insert-shell":await this.virtualEditor.executeTerminalShell({cmd:e.shell,cwd:this.repo.rootPath,duration:5e3,run:!1}),this.acceptCodeBlock(e.shell);break;case"copy-code":this.acceptCodeBlock(e.content);break;case"file-view":{if(this.specEditor.isSpec){await this.specEditor.openSpecEditor(e.elementId,this.status);break}const t=this.roundtrips.reduce(((t,r)=>{if(t)return t;return r.getTextMessage(e.elementId)||r.getToolCallMessage(e.elementId)?r:null}),null);if(!t)return;const r=this.roundtrips.at(-1)===t,n=t.getComposerTasks().filter(equalFilePathOrUniqKey(e.filePath)),i={stream:!1,elementId:e.elementId};if(1===n.length){const e=n[0];if(r){const{content:t}=await this.virtualEditor.getDocument({absolutePath:e.absolutePath});await e.openDiff({...i,content:e.originalContent||"",modified:t,acceptable:!0})}else await e.openDiff({stream:!1,content:e.originalContent||"",modified:e.content,acceptable:!1})}else if(n.length>1){const e=n[n.length-1],t=n[0].originalContent||"";if(r){const{content:r}=await this.virtualEditor.getDocument({absolutePath:e.absolutePath});await e.openDiff({...i,acceptable:!0,content:t,modified:r})}else{const r=n[n.length-1].content;await e.openDiff({stream:!1,acceptable:!1,content:t,modified:r})}}break}case"file-accept":{const t=this.latestRoundtrip.getComposerTasks()?.filter(equalFilePathOrUniqKey(e.filePath))||[];for(const e of t)await e.save();const r={filePath:e.filePath,modifiedContent:t.at(-1)?.content||"",originalContent:t[0].originalContent||""};this.codeWrittenMetric.agentEdit([r]),this.onFileAcceptedChange(e.filePath,AcceptState.ACCEPT);break}case"file-reject":{const t=this.latestRoundtrip.getComposerTasks()?.filter(equalFilePathOrUniqKey(e.filePath))||[];for(const e of t.reverse())await e.revert();const r={filePath:e.filePath,modifiedContent:t[0].originalContent||"",originalContent:t.at(-1)?.content||""};this.codeWrittenMetric.userEdit([r]),this.onFileAcceptedChange(e.filePath,AcceptState.REJECT);break}case"file-accept-block":{const t=this.latestRoundtrip.getComposerTasks()?.find(equalFilePathOrUniqKey(e.filePath));t?.accept();break}case"file-reject-block":{const t=this.latestRoundtrip.getComposerTasks()?.find(equalFilePathOrUniqKey(e.filePath));if(t&&"edit"===e.source){if(!e.acceptance)return void t.reject();const r=await this.onFileAcceptedChange(e.filePath,AcceptState.REJECT,e.acceptance);if(r){const n=r.find((t=>isFilePathEqual(relative$2(this.repo.rootPath,e.filePath),t.path)));(!1===e.accepted||n&&!n.accepted)&&t.reject()}}break}case"tool-call-accept":{const t=this.getToolMessage(e.elementId);t?.workflow.acceptToRunWorkflow();break}case"tool-call-reject":{const t=this.getToolMessage(e.elementId);t?.workflow.rejectToRunWorkflow();break}case"tool-call-action":{const t=this.getToolMessage(e.elementId);t?.workflow.executeCustomAction(e.params);break}case"file-accept-all":{const e=this.latestRoundtrip?.getComposerTasks()||[],t={};for(const r of e)r.completed&&(t[r.key]={originalContent:t[r.key]?.originalContent||r.originalContent||"",modifiedContent:r.content},await r.save({openDocument:!1}));this.codeWrittenMetric.agentEdit(Object.entries(t).map((([e,t])=>({filePath:e,...t})))),this.acceptLogOnEnd("action");break}case"file-reject-all":{const e=this.latestRoundtrip?.getComposerTasks()||[],t={};for(const r of e.reverse())r.completed&&(t[r.key]={originalContent:t[r.key]?.originalContent||r.content||"",modifiedContent:r.originalContent||""},await r.revert({openDocument:!1}));this.codeWrittenMetric.userEdit(Object.entries(t).map((([e,t])=>({filePath:e,...t})))),this.acceptLogOnEnd("action");break}case"regenerate-chat":{const e=this.latestRoundtrip;e&&super.startNewWork(e.request.payload);break}case"inquire-rollback-message":return(await this.getRollbackSummary(e.uuid)).map((e=>_$G.omit(e,"changes")));case"rollback-message":{const t=await this.executeRollback(e.uuid,e.selectedAbsolutePaths);return this.specEditor.rollback(),t}}}rebuildConversation(e){this.rebuildRoundtrips(e.messages),this.status=this.deriveConversationStatus(),this.specEditor.rebuild()}async recursivelyRegenerate(e,t,r,n,i){kernel.logger.info("[Zulu] start collect chat params");const o=await this.updateDynamicChatParams(e,t,r);if(!e.inProgress)return{content:"",taskId:0,sessionId:0,agentInfo:{}};kernel.logger.info("[Zulu] request chat response");try{const{sessionId:r,taskId:s,content:a,agentInfo:c}=await this.doRequestAndParseResponse(e,o,n,i);n||this.rememberSessionId(e,r);const{nextRequestResults:l,nextRoundtripResults:u}=await this.processNewAddedMessages(e,t),d=t.analyze.needMock,p="cancelled"===e.status,h={...t,taskInfo:void 0};return h.sessionId=h.sessionId||r,h.taskId=h.taskId||s,h.agentInfo=c,u.length>0&&(e.context.chatParams=_$G.omit(h,["cancelToken"])),!d&&!p&&l.length>0?this.recursivelyRegenerate(e,h,l,n):{sessionId:r,taskId:s,agentInfo:c,content:a}}catch(t){if(t instanceof ExceptionAbortedError){if(i)throw this.reportMessageRetryStatus(!1),t;const r=await this.recursivelyRegenerate(e,t.chatParams,t.chatParams.toolUseResults,n,t.retryMessageId);return this.reportMessageRetryStatus(!0),r}throw t}}performanceLog(e){if(this.firstTokenStartTime){const t=performance.now()-this.firstTokenStartTime;this.logger.logUploader?.performanceLog({plugin:this.metrics.modelKey,skill:this.metrics.function,duration:t,type:e}),this.logger.info(`[Performance] ${e} take ${t} ms`),"agent-first-token"===e&&(this.firstTokenStartTime=0)}}async doRequestAndParseResponse(e,t,r,n){this.performanceLog("agent-start-stream");const i=await chat({...t,extend:{...t.extend,retryMessageId:n}});let o="",s=0,a=0,c={};for await(const n of throttleAsyncIterator(i)){for(const i of n){if(a=i.taskId,c=i.agentInfo,this.performanceLog("agent-first-token"),i.sessionId&&!s&&(s=i.sessionId),i.taskId&&!a&&(a=i.taskId),"NOTIFICATION"===i.content.type){await e.appendNotificationResponse(i.content);continue}Array.isArray(i.content.uriMetas)&&await e.updateWebSearchResult(i.content.uriMetas),i.content.detail.planDelta&&await e.appendTodoResponse(i.messageId,i.content.detail.planDelta,!!i.content.detail.planEnd,r);const{type:n,detail:l,end:u}=i.content,{reasoningDelta:d="",reasoningEnd:p}=i.content.detail;if(await e.appendReasonResponse(i.messageId,d,p,r),"ANSWER"===n){const t=l.delta??"";o+=t,e.appendTextResponse(t,void 0,r);continue}const h=l.toolUse??[];for(const o of h){const{input:s,...a}=o,c={mcpManager:this.mcpManager,previewProxyServerManager:this.previewProxyServerManager,parentMessageId:r,specEditor:this.specEditor,requestInfo:{contexts:t.contexts,sessionId:t.sessionId,messageId:i.messageId,conversationId:i.conversationId}};await e.appendToolCallResponse({eventType:n.replace("FUNCTION_CALL","TOOL_CALL"),params:s,...a},c)}if(!0===u){o="";break}}e.updateWebviewMessages()}return{sessionId:s,taskId:a,agentInfo:c,content:o}}async processNewAddedMessages(e,t){const r=this.aggregateRelativeFilePathsFromContext(t.codeChunks),n=t.analyze.needMock,i=[],o=[],s=e.resolveNewAddedMessages();for(const a of s){if(isTextMessage(a)&&r.length>0)a.content=await replacePathTextInMarkdown(a.content,r);else if(isToolCallMessage(a)){if(a.workflow instanceof SubAgentWorkflow&&!n){const r=a.workflow.getSubAgentParams(),n=this.getMcpServers(this.getAgentMcpServers(e,r.subagent)),i={...t,sessionId:void 0,taskId:void 0,taskInfo:r,mcpInfo:n};try{const t=await this.recursivelyRegenerate(e,i,[],a.uuid);a.workflow.setResult(t)}catch(e){a.workflow.fail({sessionId:t.sessionId})}}await a.workflow.workflowPromise,a.workflow.result&&(a.workflow.includeInNextRoundtrip?o.push(a.workflow.result):a.workflow.includeInNextRequest&&i.push(a.workflow.result)),e.updateWebviewMessages()}a.end()}return{nextRequestResults:i,nextRoundtripResults:o}}async collectAllModifiedFiles(e){const t=new Map;for(const r of this.roundtrips){const n=r.getComposerTasks();for(const r of n){const n=r.absolutePath;if(e&&!e(n))continue;const i=r.originalContent||"";let o=r.content;if(!o){o=(await this.virtualEditor.getDocument({absolutePath:n})).content??""}const s=t.get(n);s?t.set(n,{absolutePath:n,source:s.source,content:o}):t.set(n,{absolutePath:n,source:i,content:o})}}return Array.from(t.values())}reportMessageRetryStatus(e){this.logger.logUploader?.logUserAction({category:"zulu",action:"retryAbortedMessage",label:e?"success":"failed"})}aggregateRelativeFilePathsFromContext(e){const t=this.latestRoundtrip;if(!t)return[];const r=new Set;for(const t of e)t.path&&t.path.length>=3&&r.add(t.path);for(const e of t.toolCallMessages)for(const t of e.workflow.paths)t.length>=3&&r.add(t);return Array.from(r)}aggregateFilePathsFromKnowledgeList(e){const t=new Set;for(const r of e)[ContextType.FILE,ContextType.CURRENT_FILE].includes(r.type)&&r.id&&t.add(r.id);const r=this.getConversationToolCallMessages();for(const e of r)for(const r of e.workflow.paths)t.add(r);return Array.from(t)}computeRecrusiveToolUse(e,t){if(t.length>0){const r=e.toolCallMessages,n=r[r.length-1],i=n?.workflow.type,o=[WorkflowType.ReadFile,WorkflowType.WriteFile,WorkflowType.ExtractContentBlocks,WorkflowType.PatchFile,WorkflowType.SearchFiles,WorkflowType.ListFiles,WorkflowType.RunCommand];if(r.length>2&&o.includes(i)){const r=[...e.toolCallMessages].reverse(),i=r.findIndex((e=>e.workflow.status!==WorkflowStatus.FAILED)),o=i>2?i:r.findIndex((e=>!n.workflow.isEqual(e.workflow))),s=-1===o?r.length:o;if(s>2){const e=r.slice(0,s).map((e=>({params:e.workflow.params,status:e.workflow.status===WorkflowStatus.SUCCESS})));return[{...t[0],prevToolUse:e},...t.slice(1)]}}}return t}async updateDynamicChatParams(e,t,r){kernel.logger.info("[Zulu] start collect command info");const n=e.toolCallMessages[e.toolCallMessages.length-1];let i=t.sysInfo.notInstalledCommands,o=t.sysInfo.installedCommands;if(!o||!i||n?.workflow.type===WorkflowType.RunCommand){const e=await filterSupportedCommand(COMMON_COMMANDS);i=e.notInstalledCommands,o=e.installedCommands}kernel.logger.info("[Zulu] start collect rule info");const s=e.request.payload?.knowledgeList??[],{ruleContent:a,ruleCodeBlocks:c}=await this.getAppliedWorkspaceRules(s);kernel.logger.info("[Zulu] start collect share memory info");const l=await this.getShareMemory(),u=isInternal()?await getRepoNamePriortrizeICode(kernel.env.workspaceInfo.rootPath):void 0;return{...t,toolUseResults:this.computeRecrusiveToolUse(e,r),sysInfo:{...t.sysInfo,notInstalledCommands:i,installedCommands:o},cancelToken:this.cancelTokenSource.token,codeChunks:[...t.codeChunks,...c],customRules:a,shareMemory:l,repoName:u}}async getSysInfo(){const e=getBaseSysInfo(),t=kernel.env.ideTerminalInfo?.defaultShell,[r,n,{installedCommands:i,notInstalledCommands:o}]=await Promise.all([streamingListEntries(this.repo.rootPath),getShellWithVersion(t??e.defaultShell),filterSupportedCommand(COMMON_COMMANDS)]);return{...e,installedCommands:i,notInstalledCommands:o,workspaceDirTree:r.tree,workspacePath:this.repo.rootPath,defaultShell:n}}async getAppliedWorkspaceRules(e){if(!this.repo.rootPath)return{ruleContent:"",ruleCodeBlocks:[]};const t=await getWorkspaceRules(this.repo.rootPath,this.virtualEditor),r=this.aggregateFilePathsFromKnowledgeList(e),n=t.filter((e=>filterActiveRule(e,r))).map(formatRuleWithCodeBlock).join("\n\n"),i=[],o=e.filter((e=>e.type===ContextType.RULE));for(const e of o){const r=t.find((t=>isFilePathEqual(t.path,e.id)));if(!r)continue;const n=formatRuleWithCodeBlock(r);i.push(new RuleCodeChunk(this.repo.rootPath,e.id,n))}return{ruleContent:n,ruleCodeBlocks:i}}getAgentInfo(e){const t=e.request.payload.agent,r=t?.agentId;if(!this.previousRoundtrip)return{agentId:r,sessionId:void 0};const n=this.previousRoundtrip.request.payload.agent;return n&&n.agentId===r?{agentId:r,sessionId:this.previousRoundtrip.context.sessionId}:{agentId:r,sessionId:void 0}}rememberSessionId(e,t){!e.context.sessionId&&t&&(e.context.sessionId=t)}async getShareMemory(){try{return await getAgentShareMemory(this.id,this.virtualEditor)}catch(e){return void this.logger.error("Failed to get agent share memory:",e)}}getAgentMcpServers(e,t){const r=e.request.payload.agent;if(r){if(t){const e=r.subagents?.find((e=>e.agentName===t));return e?e.mcpInfos:[]}return r.mcpInfos}}beforeStartWork(e){this.specEditor.beforeStartWork()}afterStartWork(){this.specEditor.afterStartWork()}afterGenerateQuerySummary(e,t){this.specEditor.afterGenerateQuerySummary(e,t)}onAcceptLog(e,t){}}const{isEmpty:isEmpty$1}=_$G,getQuery=e=>e.customPrompt?e.customPrompt:`请帮我分析终端的报错日志,并提供解决方案。只解决第一个报错\n${e.code??""}`;class DebugBotConversation extends E2EBotConversation{codeWrittenMetrics;type=AgentConversationType.DebugBotConversation;sendCustomEventToIde;constructor(e,t,r,n,i){super(e,t,n,i),this.codeWrittenMetrics=i,this.sendCustomEventToIde=r}async startWork(e){if(1===this.roundtrips.length)await this.startDebugConversation(e);else if(2===this.roundtrips.length){const t=await this.injectExtendParamsIfPreviousMessageExisted(e.request.payload);await this.createConversation(e,t)}else{const t=await this.injectExtendParamsIfPreviousMessageExisted(e.request.payload);await this.createConversation(e,t)}this.endConversation()}async afterStop(){this.latestRoundtrip.reportedId&&this.reportConversationStatusChange("ABORT")}async startDebugConversation(e){const t=e.request.payload,r=await this.analyze(e.uuid,t);e.appendTextResponse(r?.errorReason??"");const n=await this.searchCode(r),i=await this.buildParams(e.uuid,t,r,n);e.status=RoundtripStatus.Generating,await this.recursivelyChat(e,i,[])}async analyze(e,t){const{platform:r,cwd:n,contexts:i}=t;return await agenticAnalyze({userDetail:{...this.userDetail,username:this.repo.username},conversationId:this.id,taskId:e,query:getQuery(t),cwd:n,platform:r,contexts:"object"==typeof i?JSON.stringify(i):i})}async searchCode(e){return e&&!isEmpty$1(e.context)?await this.sendIdeAction("search",e.context):{}}async buildParams(e,t,r,n){const[i]=await listFiles(this.repo.rootPath,this.repo.rootPath,!0,200),o={...getBaseSysInfo(),workspaceFolder:this.repo.rootPath,workspaceFolderTrees:i.map((e=>"folder"===e.type?`${e.path}/`:e.path))};return{userDetail:{...this.userDetail,username:this.repo.username},query:getQuery(t),taskId:e,context:{...n,sysInfo:o},device:this.userDetail.device,recordId:r?.recordId,conversationId:this.id,queryType:r?.queryType,toolUseResults:[],type:"NORMAL"}}async recursivelyChat(e,t,r){try{this.virtualEditor.startConversationEditSession({conversationId:this.id,source:this.type}),await this.doRecursivelyChat(e,t,r),this.virtualEditor.endConversationEditSession({conversationId:this.id})}catch(e){throw this.virtualEditor.endConversationEditSession({conversationId:this.id}),e}}async doRecursivelyChat(e,t,r){const n=await agenticAutoDebugFix({...t,toolUseResults:r});let i="";const o=new SSEProcessor(n).processSSE();for await(const t of throttleAsyncIterator(o,200)){for(const r of t){!i&&r.requestId&&(i=r.requestId);const{data:t,code:n,message:o}=r;if(200!==n)throw new Error(o);if(t){if((t.content||t.result)&&e.appendTextResponse(t.content||t.result),Array.isArray(t.toolUse))for(const r of t.toolUse)await e.appendToolCallResponse(r);if(t.isEnd)break}}e.updateWebviewMessages()}const s=await this.getNewWorkflowResults(e);if(s.length>0){const r={...t,query:"",context:void 0,type:"NORMAL"};await this.doRecursivelyChat(e,r,s)}}async getNewWorkflowResults(e){const t=e.resolveNewAddedMessages(),r=t.filter(isToolCallMessage),n=await Promise.all(r.map((async t=>{const r=t.workflow;return await r.workflowPromise,e.updateWebviewMessages(),r.includeInNextRequest?r.result:null})));return t.forEach((e=>e.end())),"cancelled"===e.status?[]:n.filter((e=>null!==e))}sendIdeAction=(e,t)=>this.sendCustomEventToIde(AGENT_DEBUG_CUSTOM_ACTION,{action:e,data:t});onAcceptLog(e,t){this.latestRoundtrip&&this.latestRoundtrip.reportedId&&("end"===t?this.onCodeGenerated(this.latestRoundtrip.reportedId,e):"action"===t&&this.onCodeAccepted(e))}onCodeAccepted(e){const t=e.filter((e=>!0===e.accepted)).map((e=>e.generatedContent)).join("\n");codeAdopt({userDetail:{...this.userDetail,username:this.repo.username},conversationId:this.id,adoptedCode:t})}onCodeGenerated(e,t){const r=t.map((e=>e.generatedContent)).join("\n");codeGenerate({userDetail:{...this.userDetail,username:this.repo.username},uuid:e,generatedCode:r,conversationId:this.id})}reportConversationStatusChange(e){taskStatus({userDetail:{...this.userDetail,username:this.repo.username},conversationId:this.id,status:e})}}const subprocessMap=new Map;function killSubprocess(e){if(e&&subprocessMap.has(e)){const t=subprocessMap.get(e);return t.kill("SIGINT"),t}}const MIN_DETECOT_SIZE=100;class LongString{chunkSlice=[];get content(){return this.chunkSlice.join("")}is=e=>{const t=(()=>{try{return JsonRPC.findJsonRPC(e).parse().getParams()}catch(e){return null}})();return e.length>MIN_DETECOT_SIZE&&!t&&!JsonRPC.isMoreContent(e)};add(e){this.chunkSlice.push(e)}reset(){this.chunkSlice.length=0}size(){return this.chunkSlice.length}isInProcessing(){return this.size()&&!(()=>{try{return JsonRPC.isRealJson(JsonRPC.findJsonRPC(this.content).getFindedJsonString()??"")}catch{return!1}})()}}const resolveError=e=>{let t="";try{t="win32"===process.platform?"cmd":execSync("echo $0").toString().trim()}catch(e){t="unknown"}if("cmd"===t){if(e.includes("不是内部或外部命令")||e.includes("Not Recognized as"))return{code:BultinErrorCode.LaunchError,message:BultinErrorMessage.ENOENT};if(e.includes("拒绝访问")||e.includes("access denied"))return{code:BultinErrorCode.LaunchError,message:BultinErrorMessage.EACCES}}else if("/bin/sh"===t){if(e.includes("No such file or directory"))return{code:BultinErrorCode.LaunchError,message:BultinErrorMessage.ENOENT};if(e.includes("Permission denied"))return{code:BultinErrorCode.LaunchError,message:BultinErrorMessage.EACCES}}return{code:BultinErrorCode.UnknownError,message:e}};async function*execCommand(e,t,r,n,i){const{timeoutWait:o,...s}=n||{};let a;const c=spawn$5(t,r,s),l=new LongString;let u=!1,d=null,p=null,h="";for(c.stdout.on("data",(t=>{o&&(clearTimeout(a),a=setTimeout((()=>{killSubprocess(e),p?.(new Error(BultinErrorMessage.Timeout))}),o));const r=t.toString();if(i?.info("[UTAgent] Recive chunk from child process:",r),l.is(r)&&l.add(r),l.isInProcessing())i?.info("[UTAgent] Not all long string");else{h=l.content||r;try{d?.(h)}catch(e){e.code===BultinErrorCode.RunningError&&p?.(e)}finally{l.size()&&l.reset()}}})),c.stderr.on("data",(e=>{u=!0;const t=e.toString();i?.info(`[UTAgent] Error: ${t}`);const r=resolveError(t),n=new Error(r.message);n.code=r.code,p?.(n)})),c.on("close",(async()=>{if(u=!0,await sleep$5(500),l.size()){const e=l.content;l.reset(),d?.(e)}else d?.(h)})),subprocessMap.set(e,c),o&&(a=setTimeout((()=>{killSubprocess(e),p?.(new Error(BultinErrorMessage.Timeout))}),o));!u;){const e=await new Promise(((e,t)=>{d=e,p=t}));yield e}}function buildUTAgentParams(e){const{command:t,...r}=e;return Object.entries({command:t,...r}).map((([e,t])=>"command"===e?`${t}`:1===e.length?`-${e} ${"number"==typeof t?t:`"${t}"`}`:`--${e} ${"number"==typeof t?t:`"${t}"`}`))}function trimChar(e,t){if(!t)return t;const r=new RegExp(`^[${t}]+|[${t}]+$`,"g");return e.replace(r,"")}function mergeEnvPathVariable(e,t){return{...t,PATH:trimChar(""+((t?.PATH??"")+":"+(e.PATH??"")),":")||void 0}}function addAuthority(e,t){return new Promise((r=>{exec$1(`chmod +x ${e}`,((n,i)=>{n&&t?.error(`Add Authority failed in ${e}`,n),r(i)}))}))}async function*generateUnitTestByCommand(e,t,r,n,i){const o=r.resolveResource("UTAgent");if(!o)throw new Error("UTAgent not found");const s=buildUTAgentParams(t),a=join$5(o,"UTAgent"),c=["--logPath",`${os__default$1.tmpdir()}/comate-engine`],l=["--trigger","IDE","--saveCaseStrategy","canRun"],u=mergeEnvPathVariable(process.env,i);n.info(`Running command: ${a} ${s.concat(c,l).join(" ")}`),n.info(`Environment: ${JSON.stringify(u)}`);try{i?.MAVEN&&await addAuthority(`${i.MAVEN}/bin/mvn`,n);const t=await execCommand(e,a,s.concat(c,l),{shell:!0,timeoutWait:15e3,env:i},n);for await(const e of t)yield e}catch(e){const t=e;throw n.error(`Failed to run UT Agent: exit code ${t.code??"-"}, msg: ${t.message??"-"}`),e}}const semver=/^[v^~<>=]*?(\d+)(?:\.([x*]|\d+)(?:\.([x*]|\d+)(?:\.([x*]|\d+))?(?:-([\da-z\-]+(?:\.[\da-z\-]+)*))?(?:\+[\da-z\-]+(?:\.[\da-z\-]+)*)?)?)?$/i,validateAndParse=e=>{if("string"!=typeof e)throw new TypeError("Invalid argument expected string");const t=e.match(semver);if(!t)throw new Error(`Invalid argument not valid semver ('${e}' received)`);return t.shift(),t},isWildcard=e=>"*"===e||"x"===e||"X"===e,tryParse=e=>{const t=parseInt(e,10);return isNaN(t)?e:t},forceType=(e,t)=>typeof e!=typeof t?[String(e),String(t)]:[e,t],compareStrings=(e,t)=>{if(isWildcard(e)||isWildcard(t))return 0;const[r,n]=forceType(tryParse(e),tryParse(t));return r>n?1:r<n?-1:0},compareSegments=(e,t)=>{for(let r=0;r<Math.max(e.length,t.length);r++){const n=compareStrings(e[r]||"0",t[r]||"0");if(0!==n)return n}return 0},compareVersions=(e,t)=>{const r=validateAndParse(e),n=validateAndParse(t),i=r.pop(),o=n.pop(),s=compareSegments(r,n);return 0!==s?s:i&&o?compareSegments(i.split("."),o.split(".")):i||o?i?-1:1:0},compare=(e,t,r)=>{assertValidOperator(r);const n=compareVersions(e,t);return operatorResMap[r].includes(n)},operatorResMap={">":[1],">=":[0,1],"=":[0],"<=":[-1,0],"<":[-1],"!=":[-1,1]},allowedOperators=Object.keys(operatorResMap),assertValidOperator=e=>{if("string"!=typeof e)throw new TypeError("Invalid operator type, expected string but got "+typeof e);if(-1===allowedOperators.indexOf(e))throw new Error(`Invalid operator, expected one of ${allowedOperators.join("|")}`)},satisfies=(e,t)=>{if((t=t.replace(/([><=]+)\s+/g,"$1")).includes("||"))return t.split("||").some((t=>satisfies(e,t)));if(t.includes(" - ")){const[r,n]=t.split(" - ",2);return satisfies(e,`>=${r} <=${n}`)}if(t.includes(" "))return t.trim().replace(/\s{2,}/g," ").split(" ").every((t=>satisfies(e,t)));const r=t.match(/^([<>=~^]+)/),n=r?r[1]:"=";if("^"!==n&&"~"!==n)return compare(e,t,n);const[i,o,s,,a]=validateAndParse(e),[c,l,u,,d]=validateAndParse(t),p=[i,o,s],h=[c,null!=l?l:"x",null!=u?u:"x"];if(d){if(!a)return!1;if(0!==compareSegments(p,h))return!1;if(-1===compareSegments(a.split("."),d.split(".")))return!1}const f=h.findIndex((e=>"0"!==e))+1,m="~"===n?2:f>1?f:1;return 0===compareSegments(p.slice(0,m),h.slice(0,m))&&-1!==compareSegments(p.slice(m),h.slice(m))};var cryptoJs={exports:{}},core$1={exports:{}},hasRequiredCore;function requireCore(){return hasRequiredCore||(hasRequiredCore=1,core$1.exports=(e=e||function(e,t){var r;if("undefined"!=typeof window&&window.crypto&&(r=window.crypto),"undefined"!=typeof self&&self.crypto&&(r=self.crypto),"undefined"!=typeof globalThis&&globalThis.crypto&&(r=globalThis.crypto),!r&&"undefined"!=typeof window&&window.msCrypto&&(r=window.msCrypto),!r&&void 0!==commonjsGlobal&&commonjsGlobal.crypto&&(r=commonjsGlobal.crypto),!r&&"function"==typeof commonjsRequire)try{r=require("crypto")}catch(e){}var n=function(){if(r){if("function"==typeof r.getRandomValues)try{return r.getRandomValues(new Uint32Array(1))[0]}catch(e){}if("function"==typeof r.randomBytes)try{return r.randomBytes(4).readInt32LE()}catch(e){}}throw new Error("Native crypto module could not be used to get secure random number.")},i=Object.create||function(){function e(){}return function(t){var r;return e.prototype=t,r=new e,e.prototype=null,r}}(),o={},s=o.lib={},a=s.Base={extend:function(e){var t=i(this);return e&&t.mixIn(e),t.hasOwnProperty("init")&&this.init!==t.init||(t.init=function(){t.$super.init.apply(this,arguments)}),t.init.prototype=t,t.$super=this,t},create:function(){var e=this.extend();return e.init.apply(e,arguments),e},init:function(){},mixIn:function(e){for(var t in e)e.hasOwnProperty(t)&&(this[t]=e[t]);e.hasOwnProperty("toString")&&(this.toString=e.toString)},clone:function(){return this.init.prototype.extend(this)}},c=s.WordArray=a.extend({init:function(e,r){e=this.words=e||[],this.sigBytes=r!=t?r:4*e.length},toString:function(e){return(e||u).stringify(this)},concat:function(e){var t=this.words,r=e.words,n=this.sigBytes,i=e.sigBytes;if(this.clamp(),n%4)for(var o=0;o<i;o++){var s=r[o>>>2]>>>24-o%4*8&255;t[n+o>>>2]|=s<<24-(n+o)%4*8}else for(var a=0;a<i;a+=4)t[n+a>>>2]=r[a>>>2];return this.sigBytes+=i,this},clamp:function(){var t=this.words,r=this.sigBytes;t[r>>>2]&=4294967295<<32-r%4*8,t.length=e.ceil(r/4)},clone:function(){var e=a.clone.call(this);return e.words=this.words.slice(0),e},random:function(e){for(var t=[],r=0;r<e;r+=4)t.push(n());return new c.init(t,e)}}),l=o.enc={},u=l.Hex={stringify:function(e){for(var t=e.words,r=e.sigBytes,n=[],i=0;i<r;i++){var o=t[i>>>2]>>>24-i%4*8&255;n.push((o>>>4).toString(16)),n.push((15&o).toString(16))}return n.join("")},parse:function(e){for(var t=e.length,r=[],n=0;n<t;n+=2)r[n>>>3]|=parseInt(e.substr(n,2),16)<<24-n%8*4;return new c.init(r,t/2)}},d=l.Latin1={stringify:function(e){for(var t=e.words,r=e.sigBytes,n=[],i=0;i<r;i++){var o=t[i>>>2]>>>24-i%4*8&255;n.push(String.fromCharCode(o))}return n.join("")},parse:function(e){for(var t=e.length,r=[],n=0;n<t;n++)r[n>>>2]|=(255&e.charCodeAt(n))<<24-n%4*8;return new c.init(r,t)}},p=l.Utf8={stringify:function(e){try{return decodeURIComponent(escape(d.stringify(e)))}catch(e){throw new Error("Malformed UTF-8 data")}},parse:function(e){return d.parse(unescape(encodeURIComponent(e)))}},h=s.BufferedBlockAlgorithm=a.extend({reset:function(){this._data=new c.init,this._nDataBytes=0},_append:function(e){"string"==typeof e&&(e=p.parse(e)),this._data.concat(e),this._nDataBytes+=e.sigBytes},_process:function(t){var r,n=this._data,i=n.words,o=n.sigBytes,s=this.blockSize,a=o/(4*s),l=(a=t?e.ceil(a):e.max((0|a)-this._minBufferSize,0))*s,u=e.min(4*l,o);if(l){for(var d=0;d<l;d+=s)this._doProcessBlock(i,d);r=i.splice(0,l),n.sigBytes-=u}return new c.init(r,u)},clone:function(){var e=a.clone.call(this);return e._data=this._data.clone(),e},_minBufferSize:0});s.Hasher=h.extend({cfg:a.extend(),init:function(e){this.cfg=this.cfg.extend(e),this.reset()},reset:function(){h.reset.call(this),this._doReset()},update:function(e){return this._append(e),this._process(),this},finalize:function(e){return e&&this._append(e),this._doFinalize()},blockSize:16,_createHelper:function(e){return function(t,r){return new e.init(r).finalize(t)}},_createHmacHelper:function(e){return function(t,r){return new f.HMAC.init(e,r).finalize(t)}}});var f=o.algo={};return o}(Math),e)),core$1.exports;var e}var x64Core={exports:{}},hasRequiredX64Core;function requireX64Core(){return hasRequiredX64Core||(hasRequiredX64Core=1,x64Core.exports=(e=requireCore(),function(t){var r=e,n=r.lib,i=n.Base,o=n.WordArray,s=r.x64={};s.Word=i.extend({init:function(e,t){this.high=e,this.low=t}}),s.WordArray=i.extend({init:function(e,r){e=this.words=e||[],this.sigBytes=r!=t?r:8*e.length},toX32:function(){for(var e=this.words,t=e.length,r=[],n=0;n<t;n++){var i=e[n];r.push(i.high),r.push(i.low)}return o.create(r,this.sigBytes)},clone:function(){for(var e=i.clone.call(this),t=e.words=this.words.slice(0),r=t.length,n=0;n<r;n++)t[n]=t[n].clone();return e}})}(),e)),x64Core.exports;var e}var libTypedarrays={exports:{}},hasRequiredLibTypedarrays;function requireLibTypedarrays(){return hasRequiredLibTypedarrays||(hasRequiredLibTypedarrays=1,libTypedarrays.exports=(e=requireCore(),function(){if("function"==typeof ArrayBuffer){var t=e.lib.WordArray,r=t.init,n=t.init=function(e){if(e instanceof ArrayBuffer&&(e=new Uint8Array(e)),(e instanceof Int8Array||"undefined"!=typeof Uint8ClampedArray&&e instanceof Uint8ClampedArray||e instanceof Int16Array||e instanceof Uint16Array||e instanceof Int32Array||e instanceof Uint32Array||e instanceof Float32Array||e instanceof Float64Array)&&(e=new Uint8Array(e.buffer,e.byteOffset,e.byteLength)),e instanceof Uint8Array){for(var t=e.byteLength,n=[],i=0;i<t;i++)n[i>>>2]|=e[i]<<24-i%4*8;r.call(this,n,t)}else r.apply(this,arguments)};n.prototype=t}}(),e.lib.WordArray)),libTypedarrays.exports;var e}var encUtf16={exports:{}},hasRequiredEncUtf16;function requireEncUtf16(){return hasRequiredEncUtf16||(hasRequiredEncUtf16=1,encUtf16.exports=(e=requireCore(),function(){var t=e,r=t.lib.WordArray,n=t.enc;function i(e){return e<<8&4278255360|e>>>8&16711935}n.Utf16=n.Utf16BE={stringify:function(e){for(var t=e.words,r=e.sigBytes,n=[],i=0;i<r;i+=2){var o=t[i>>>2]>>>16-i%4*8&65535;n.push(String.fromCharCode(o))}return n.join("")},parse:function(e){for(var t=e.length,n=[],i=0;i<t;i++)n[i>>>1]|=e.charCodeAt(i)<<16-i%2*16;return r.create(n,2*t)}},n.Utf16LE={stringify:function(e){for(var t=e.words,r=e.sigBytes,n=[],o=0;o<r;o+=2){var s=i(t[o>>>2]>>>16-o%4*8&65535);n.push(String.fromCharCode(s))}return n.join("")},parse:function(e){for(var t=e.length,n=[],o=0;o<t;o++)n[o>>>1]|=i(e.charCodeAt(o)<<16-o%2*16);return r.create(n,2*t)}}}(),e.enc.Utf16)),encUtf16.exports;var e}var encBase64={exports:{}},hasRequiredEncBase64;function requireEncBase64(){return hasRequiredEncBase64||(hasRequiredEncBase64=1,encBase64.exports=(e=requireCore(),function(){var t=e,r=t.lib.WordArray;function n(e,t,n){for(var i=[],o=0,s=0;s<t;s++)if(s%4){var a=n[e.charCodeAt(s-1)]<<s%4*2|n[e.charCodeAt(s)]>>>6-s%4*2;i[o>>>2]|=a<<24-o%4*8,o++}return r.create(i,o)}t.enc.Base64={stringify:function(e){var t=e.words,r=e.sigBytes,n=this._map;e.clamp();for(var i=[],o=0;o<r;o+=3)for(var s=(t[o>>>2]>>>24-o%4*8&255)<<16|(t[o+1>>>2]>>>24-(o+1)%4*8&255)<<8|t[o+2>>>2]>>>24-(o+2)%4*8&255,a=0;a<4&&o+.75*a<r;a++)i.push(n.charAt(s>>>6*(3-a)&63));var c=n.charAt(64);if(c)for(;i.length%4;)i.push(c);return i.join("")},parse:function(e){var t=e.length,r=this._map,i=this._reverseMap;if(!i){i=this._reverseMap=[];for(var o=0;o<r.length;o++)i[r.charCodeAt(o)]=o}var s=r.charAt(64);if(s){var a=e.indexOf(s);-1!==a&&(t=a)}return n(e,t,i)},_map:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/="}}(),e.enc.Base64)),encBase64.exports;var e}var encBase64url={exports:{}},hasRequiredEncBase64url;function requireEncBase64url(){return hasRequiredEncBase64url||(hasRequiredEncBase64url=1,encBase64url.exports=(e=requireCore(),function(){var t=e,r=t.lib.WordArray;function n(e,t,n){for(var i=[],o=0,s=0;s<t;s++)if(s%4){var a=n[e.charCodeAt(s-1)]<<s%4*2|n[e.charCodeAt(s)]>>>6-s%4*2;i[o>>>2]|=a<<24-o%4*8,o++}return r.create(i,o)}t.enc.Base64url={stringify:function(e,t){void 0===t&&(t=!0);var r=e.words,n=e.sigBytes,i=t?this._safe_map:this._map;e.clamp();for(var o=[],s=0;s<n;s+=3)for(var a=(r[s>>>2]>>>24-s%4*8&255)<<16|(r[s+1>>>2]>>>24-(s+1)%4*8&255)<<8|r[s+2>>>2]>>>24-(s+2)%4*8&255,c=0;c<4&&s+.75*c<n;c++)o.push(i.charAt(a>>>6*(3-c)&63));var l=i.charAt(64);if(l)for(;o.length%4;)o.push(l);return o.join("")},parse:function(e,t){void 0===t&&(t=!0);var r=e.length,i=t?this._safe_map:this._map,o=this._reverseMap;if(!o){o=this._reverseMap=[];for(var s=0;s<i.length;s++)o[i.charCodeAt(s)]=s}var a=i.charAt(64);if(a){var c=e.indexOf(a);-1!==c&&(r=c)}return n(e,r,o)},_map:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=",_safe_map:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-_"}}(),e.enc.Base64url)),encBase64url.exports;var e}var md5={exports:{}},hasRequiredMd5;function requireMd5(){return hasRequiredMd5||(hasRequiredMd5=1,md5.exports=(e=requireCore(),function(t){var r=e,n=r.lib,i=n.WordArray,o=n.Hasher,s=r.algo,a=[];!function(){for(var e=0;e<64;e++)a[e]=4294967296*t.abs(t.sin(e+1))|0}();var c=s.MD5=o.extend({_doReset:function(){this._hash=new i.init([1732584193,4023233417,2562383102,271733878])},_doProcessBlock:function(e,t){for(var r=0;r<16;r++){var n=t+r,i=e[n];e[n]=16711935&(i<<8|i>>>24)|4278255360&(i<<24|i>>>8)}var o=this._hash.words,s=e[t+0],c=e[t+1],h=e[t+2],f=e[t+3],m=e[t+4],g=e[t+5],y=e[t+6],v=e[t+7],b=e[t+8],_=e[t+9],E=e[t+10],$=e[t+11],w=e[t+12],x=e[t+13],S=e[t+14],T=e[t+15],C=o[0],R=o[1],A=o[2],k=o[3];C=l(C,R,A,k,s,7,a[0]),k=l(k,C,R,A,c,12,a[1]),A=l(A,k,C,R,h,17,a[2]),R=l(R,A,k,C,f,22,a[3]),C=l(C,R,A,k,m,7,a[4]),k=l(k,C,R,A,g,12,a[5]),A=l(A,k,C,R,y,17,a[6]),R=l(R,A,k,C,v,22,a[7]),C=l(C,R,A,k,b,7,a[8]),k=l(k,C,R,A,_,12,a[9]),A=l(A,k,C,R,E,17,a[10]),R=l(R,A,k,C,$,22,a[11]),C=l(C,R,A,k,w,7,a[12]),k=l(k,C,R,A,x,12,a[13]),A=l(A,k,C,R,S,17,a[14]),C=u(C,R=l(R,A,k,C,T,22,a[15]),A,k,c,5,a[16]),k=u(k,C,R,A,y,9,a[17]),A=u(A,k,C,R,$,14,a[18]),R=u(R,A,k,C,s,20,a[19]),C=u(C,R,A,k,g,5,a[20]),k=u(k,C,R,A,E,9,a[21]),A=u(A,k,C,R,T,14,a[22]),R=u(R,A,k,C,m,20,a[23]),C=u(C,R,A,k,_,5,a[24]),k=u(k,C,R,A,S,9,a[25]),A=u(A,k,C,R,f,14,a[26]),R=u(R,A,k,C,b,20,a[27]),C=u(C,R,A,k,x,5,a[28]),k=u(k,C,R,A,h,9,a[29]),A=u(A,k,C,R,v,14,a[30]),C=d(C,R=u(R,A,k,C,w,20,a[31]),A,k,g,4,a[32]),k=d(k,C,R,A,b,11,a[33]),A=d(A,k,C,R,$,16,a[34]),R=d(R,A,k,C,S,23,a[35]),C=d(C,R,A,k,c,4,a[36]),k=d(k,C,R,A,m,11,a[37]),A=d(A,k,C,R,v,16,a[38]),R=d(R,A,k,C,E,23,a[39]),C=d(C,R,A,k,x,4,a[40]),k=d(k,C,R,A,s,11,a[41]),A=d(A,k,C,R,f,16,a[42]),R=d(R,A,k,C,y,23,a[43]),C=d(C,R,A,k,_,4,a[44]),k=d(k,C,R,A,w,11,a[45]),A=d(A,k,C,R,T,16,a[46]),C=p(C,R=d(R,A,k,C,h,23,a[47]),A,k,s,6,a[48]),k=p(k,C,R,A,v,10,a[49]),A=p(A,k,C,R,S,15,a[50]),R=p(R,A,k,C,g,21,a[51]),C=p(C,R,A,k,w,6,a[52]),k=p(k,C,R,A,f,10,a[53]),A=p(A,k,C,R,E,15,a[54]),R=p(R,A,k,C,c,21,a[55]),C=p(C,R,A,k,b,6,a[56]),k=p(k,C,R,A,T,10,a[57]),A=p(A,k,C,R,y,15,a[58]),R=p(R,A,k,C,x,21,a[59]),C=p(C,R,A,k,m,6,a[60]),k=p(k,C,R,A,$,10,a[61]),A=p(A,k,C,R,h,15,a[62]),R=p(R,A,k,C,_,21,a[63]),o[0]=o[0]+C|0,o[1]=o[1]+R|0,o[2]=o[2]+A|0,o[3]=o[3]+k|0},_doFinalize:function(){var e=this._data,r=e.words,n=8*this._nDataBytes,i=8*e.sigBytes;r[i>>>5]|=128<<24-i%32;var o=t.floor(n/4294967296),s=n;r[15+(i+64>>>9<<4)]=16711935&(o<<8|o>>>24)|4278255360&(o<<24|o>>>8),r[14+(i+64>>>9<<4)]=16711935&(s<<8|s>>>24)|4278255360&(s<<24|s>>>8),e.sigBytes=4*(r.length+1),this._process();for(var a=this._hash,c=a.words,l=0;l<4;l++){var u=c[l];c[l]=16711935&(u<<8|u>>>24)|4278255360&(u<<24|u>>>8)}return a},clone:function(){var e=o.clone.call(this);return e._hash=this._hash.clone(),e}});function l(e,t,r,n,i,o,s){var a=e+(t&r|~t&n)+i+s;return(a<<o|a>>>32-o)+t}function u(e,t,r,n,i,o,s){var a=e+(t&n|r&~n)+i+s;return(a<<o|a>>>32-o)+t}function d(e,t,r,n,i,o,s){var a=e+(t^r^n)+i+s;return(a<<o|a>>>32-o)+t}function p(e,t,r,n,i,o,s){var a=e+(r^(t|~n))+i+s;return(a<<o|a>>>32-o)+t}r.MD5=o._createHelper(c),r.HmacMD5=o._createHmacHelper(c)}(Math),e.MD5)),md5.exports;var e}var sha1={exports:{}},hasRequiredSha1;function requireSha1(){return hasRequiredSha1||(hasRequiredSha1=1,sha1.exports=(e=requireCore(),function(){var t=e,r=t.lib,n=r.WordArray,i=r.Hasher,o=t.algo,s=[],a=o.SHA1=i.extend({_doReset:function(){this._hash=new n.init([1732584193,4023233417,2562383102,271733878,3285377520])},_doProcessBlock:function(e,t){for(var r=this._hash.words,n=r[0],i=r[1],o=r[2],a=r[3],c=r[4],l=0;l<80;l++){if(l<16)s[l]=0|e[t+l];else{var u=s[l-3]^s[l-8]^s[l-14]^s[l-16];s[l]=u<<1|u>>>31}var d=(n<<5|n>>>27)+c+s[l];d+=l<20?1518500249+(i&o|~i&a):l<40?1859775393+(i^o^a):l<60?(i&o|i&a|o&a)-1894007588:(i^o^a)-899497514,c=a,a=o,o=i<<30|i>>>2,i=n,n=d}r[0]=r[0]+n|0,r[1]=r[1]+i|0,r[2]=r[2]+o|0,r[3]=r[3]+a|0,r[4]=r[4]+c|0},_doFinalize:function(){var e=this._data,t=e.words,r=8*this._nDataBytes,n=8*e.sigBytes;return t[n>>>5]|=128<<24-n%32,t[14+(n+64>>>9<<4)]=Math.floor(r/4294967296),t[15+(n+64>>>9<<4)]=r,e.sigBytes=4*t.length,this._process(),this._hash},clone:function(){var e=i.clone.call(this);return e._hash=this._hash.clone(),e}});t.SHA1=i._createHelper(a),t.HmacSHA1=i._createHmacHelper(a)}(),e.SHA1)),sha1.exports;var e}var sha256={exports:{}},hasRequiredSha256;function requireSha256(){return hasRequiredSha256||(hasRequiredSha256=1,sha256.exports=(e=requireCore(),function(t){var r=e,n=r.lib,i=n.WordArray,o=n.Hasher,s=r.algo,a=[],c=[];!function(){function e(e){for(var r=t.sqrt(e),n=2;n<=r;n++)if(!(e%n))return!1;return!0}function r(e){return 4294967296*(e-(0|e))|0}for(var n=2,i=0;i<64;)e(n)&&(i<8&&(a[i]=r(t.pow(n,.5))),c[i]=r(t.pow(n,1/3)),i++),n++}();var l=[],u=s.SHA256=o.extend({_doReset:function(){this._hash=new i.init(a.slice(0))},_doProcessBlock:function(e,t){for(var r=this._hash.words,n=r[0],i=r[1],o=r[2],s=r[3],a=r[4],u=r[5],d=r[6],p=r[7],h=0;h<64;h++){if(h<16)l[h]=0|e[t+h];else{var f=l[h-15],m=(f<<25|f>>>7)^(f<<14|f>>>18)^f>>>3,g=l[h-2],y=(g<<15|g>>>17)^(g<<13|g>>>19)^g>>>10;l[h]=m+l[h-7]+y+l[h-16]}var v=n&i^n&o^i&o,b=(n<<30|n>>>2)^(n<<19|n>>>13)^(n<<10|n>>>22),_=p+((a<<26|a>>>6)^(a<<21|a>>>11)^(a<<7|a>>>25))+(a&u^~a&d)+c[h]+l[h];p=d,d=u,u=a,a=s+_|0,s=o,o=i,i=n,n=_+(b+v)|0}r[0]=r[0]+n|0,r[1]=r[1]+i|0,r[2]=r[2]+o|0,r[3]=r[3]+s|0,r[4]=r[4]+a|0,r[5]=r[5]+u|0,r[6]=r[6]+d|0,r[7]=r[7]+p|0},_doFinalize:function(){var e=this._data,r=e.words,n=8*this._nDataBytes,i=8*e.sigBytes;return r[i>>>5]|=128<<24-i%32,r[14+(i+64>>>9<<4)]=t.floor(n/4294967296),r[15+(i+64>>>9<<4)]=n,e.sigBytes=4*r.length,this._process(),this._hash},clone:function(){var e=o.clone.call(this);return e._hash=this._hash.clone(),e}});r.SHA256=o._createHelper(u),r.HmacSHA256=o._createHmacHelper(u)}(Math),e.SHA256)),sha256.exports;var e}var sha224={exports:{}},hasRequiredSha224;function requireSha224(){return hasRequiredSha224||(hasRequiredSha224=1,sha224.exports=(o=requireCore(),requireSha256(),t=(e=o).lib.WordArray,r=e.algo,n=r.SHA256,i=r.SHA224=n.extend({_doReset:function(){this._hash=new t.init([3238371032,914150663,812702999,4144912697,4290775857,1750603025,1694076839,3204075428])},_doFinalize:function(){var e=n._doFinalize.call(this);return e.sigBytes-=4,e}}),e.SHA224=n._createHelper(i),e.HmacSHA224=n._createHmacHelper(i),o.SHA224)),sha224.exports;var e,t,r,n,i,o}var sha512={exports:{}},hasRequiredSha512;function requireSha512(){return hasRequiredSha512||(hasRequiredSha512=1,sha512.exports=(e=requireCore(),requireX64Core(),function(){var t=e,r=t.lib.Hasher,n=t.x64,i=n.Word,o=n.WordArray,s=t.algo;function a(){return i.create.apply(i,arguments)}var c=[a(1116352408,3609767458),a(1899447441,602891725),a(3049323471,3964484399),a(3921009573,2173295548),a(961987163,4081628472),a(1508970993,3053834265),a(2453635748,2937671579),a(2870763221,3664609560),a(3624381080,2734883394),a(310598401,1164996542),a(607225278,1323610764),a(1426881987,3590304994),a(1925078388,4068182383),a(2162078206,991336113),a(2614888103,633803317),a(3248222580,3479774868),a(3835390401,2666613458),a(4022224774,944711139),a(264347078,2341262773),a(604807628,2007800933),a(770255983,1495990901),a(1249150122,1856431235),a(1555081692,3175218132),a(1996064986,2198950837),a(2554220882,3999719339),a(2821834349,766784016),a(2952996808,2566594879),a(3210313671,3203337956),a(3336571891,1034457026),a(3584528711,2466948901),a(113926993,3758326383),a(338241895,168717936),a(666307205,1188179964),a(773529912,1546045734),a(1294757372,1522805485),a(1396182291,2643833823),a(1695183700,2343527390),a(1986661051,1014477480),a(2177026350,1206759142),a(2456956037,344077627),a(2730485921,1290863460),a(2820302411,3158454273),a(3259730800,3505952657),a(3345764771,106217008),a(3516065817,3606008344),a(3600352804,1432725776),a(4094571909,1467031594),a(275423344,851169720),a(430227734,3100823752),a(506948616,1363258195),a(659060556,3750685593),a(883997877,3785050280),a(958139571,3318307427),a(1322822218,3812723403),a(1537002063,2003034995),a(1747873779,3602036899),a(1955562222,1575990012),a(2024104815,1125592928),a(2227730452,2716904306),a(2361852424,442776044),a(2428436474,593698344),a(2756734187,3733110249),a(3204031479,2999351573),a(3329325298,3815920427),a(3391569614,3928383900),a(3515267271,566280711),a(3940187606,3454069534),a(4118630271,4000239992),a(116418474,1914138554),a(174292421,2731055270),a(289380356,3203993006),a(460393269,320620315),a(685471733,587496836),a(852142971,1086792851),a(1017036298,365543100),a(1126000580,2618297676),a(1288033470,3409855158),a(1501505948,4234509866),a(1607167915,987167468),a(1816402316,1246189591)],l=[];!function(){for(var e=0;e<80;e++)l[e]=a()}();var u=s.SHA512=r.extend({_doReset:function(){this._hash=new o.init([new i.init(1779033703,4089235720),new i.init(3144134277,2227873595),new i.init(1013904242,4271175723),new i.init(2773480762,1595750129),new i.init(1359893119,2917565137),new i.init(2600822924,725511199),new i.init(528734635,4215389547),new i.init(1541459225,327033209)])},_doProcessBlock:function(e,t){for(var r=this._hash.words,n=r[0],i=r[1],o=r[2],s=r[3],a=r[4],u=r[5],d=r[6],p=r[7],h=n.high,f=n.low,m=i.high,g=i.low,y=o.high,v=o.low,b=s.high,_=s.low,E=a.high,$=a.low,w=u.high,x=u.low,S=d.high,T=d.low,C=p.high,R=p.low,A=h,k=f,D=m,P=g,O=y,I=v,N=b,F=_,L=E,M=$,U=w,B=x,j=S,q=T,W=C,H=R,z=0;z<80;z++){var G,X,V=l[z];if(z<16)X=V.high=0|e[t+2*z],G=V.low=0|e[t+2*z+1];else{var K=l[z-15],Z=K.high,Y=K.low,Q=(Z>>>1|Y<<31)^(Z>>>8|Y<<24)^Z>>>7,J=(Y>>>1|Z<<31)^(Y>>>8|Z<<24)^(Y>>>7|Z<<25),ee=l[z-2],te=ee.high,re=ee.low,ne=(te>>>19|re<<13)^(te<<3|re>>>29)^te>>>6,ie=(re>>>19|te<<13)^(re<<3|te>>>29)^(re>>>6|te<<26),oe=l[z-7],se=oe.high,ae=oe.low,ce=l[z-16],le=ce.high,ue=ce.low;X=(X=(X=Q+se+((G=J+ae)>>>0<J>>>0?1:0))+ne+((G+=ie)>>>0<ie>>>0?1:0))+le+((G+=ue)>>>0<ue>>>0?1:0),V.high=X,V.low=G}var de,pe=L&U^~L&j,he=M&B^~M&q,fe=A&D^A&O^D&O,me=k&P^k&I^P&I,ge=(A>>>28|k<<4)^(A<<30|k>>>2)^(A<<25|k>>>7),ye=(k>>>28|A<<4)^(k<<30|A>>>2)^(k<<25|A>>>7),ve=(L>>>14|M<<18)^(L>>>18|M<<14)^(L<<23|M>>>9),be=(M>>>14|L<<18)^(M>>>18|L<<14)^(M<<23|L>>>9),_e=c[z],Ee=_e.high,$e=_e.low,we=W+ve+((de=H+be)>>>0<H>>>0?1:0),xe=ye+me;W=j,H=q,j=U,q=B,U=L,B=M,L=N+(we=(we=(we=we+pe+((de+=he)>>>0<he>>>0?1:0))+Ee+((de+=$e)>>>0<$e>>>0?1:0))+X+((de+=G)>>>0<G>>>0?1:0))+((M=F+de|0)>>>0<F>>>0?1:0)|0,N=O,F=I,O=D,I=P,D=A,P=k,A=we+(ge+fe+(xe>>>0<ye>>>0?1:0))+((k=de+xe|0)>>>0<de>>>0?1:0)|0}f=n.low=f+k,n.high=h+A+(f>>>0<k>>>0?1:0),g=i.low=g+P,i.high=m+D+(g>>>0<P>>>0?1:0),v=o.low=v+I,o.high=y+O+(v>>>0<I>>>0?1:0),_=s.low=_+F,s.high=b+N+(_>>>0<F>>>0?1:0),$=a.low=$+M,a.high=E+L+($>>>0<M>>>0?1:0),x=u.low=x+B,u.high=w+U+(x>>>0<B>>>0?1:0),T=d.low=T+q,d.high=S+j+(T>>>0<q>>>0?1:0),R=p.low=R+H,p.high=C+W+(R>>>0<H>>>0?1:0)},_doFinalize:function(){var e=this._data,t=e.words,r=8*this._nDataBytes,n=8*e.sigBytes;return t[n>>>5]|=128<<24-n%32,t[30+(n+128>>>10<<5)]=Math.floor(r/4294967296),t[31+(n+128>>>10<<5)]=r,e.sigBytes=4*t.length,this._process(),this._hash.toX32()},clone:function(){var e=r.clone.call(this);return e._hash=this._hash.clone(),e},blockSize:32});t.SHA512=r._createHelper(u),t.HmacSHA512=r._createHmacHelper(u)}(),e.SHA512)),sha512.exports;var e}var sha384={exports:{}},hasRequiredSha384;function requireSha384(){return hasRequiredSha384||(hasRequiredSha384=1,sha384.exports=(a=requireCore(),requireX64Core(),requireSha512(),t=(e=a).x64,r=t.Word,n=t.WordArray,i=e.algo,o=i.SHA512,s=i.SHA384=o.extend({_doReset:function(){this._hash=new n.init([new r.init(3418070365,3238371032),new r.init(1654270250,914150663),new r.init(2438529370,812702999),new r.init(355462360,4144912697),new r.init(1731405415,4290775857),new r.init(2394180231,1750603025),new r.init(3675008525,1694076839),new r.init(1203062813,3204075428)])},_doFinalize:function(){var e=o._doFinalize.call(this);return e.sigBytes-=16,e}}),e.SHA384=o._createHelper(s),e.HmacSHA384=o._createHmacHelper(s),a.SHA384)),sha384.exports;var e,t,r,n,i,o,s,a}var sha3={exports:{}},hasRequiredSha3;function requireSha3(){return hasRequiredSha3||(hasRequiredSha3=1,sha3.exports=(e=requireCore(),requireX64Core(),function(t){var r=e,n=r.lib,i=n.WordArray,o=n.Hasher,s=r.x64.Word,a=r.algo,c=[],l=[],u=[];!function(){for(var e=1,t=0,r=0;r<24;r++){c[e+5*t]=(r+1)*(r+2)/2%64;var n=(2*e+3*t)%5;e=t%5,t=n}for(e=0;e<5;e++)for(t=0;t<5;t++)l[e+5*t]=t+(2*e+3*t)%5*5;for(var i=1,o=0;o<24;o++){for(var a=0,d=0,p=0;p<7;p++){if(1&i){var h=(1<<p)-1;h<32?d^=1<<h:a^=1<<h-32}128&i?i=i<<1^113:i<<=1}u[o]=s.create(a,d)}}();var d=[];!function(){for(var e=0;e<25;e++)d[e]=s.create()}();var p=a.SHA3=o.extend({cfg:o.cfg.extend({outputLength:512}),_doReset:function(){for(var e=this._state=[],t=0;t<25;t++)e[t]=new s.init;this.blockSize=(1600-2*this.cfg.outputLength)/32},_doProcessBlock:function(e,t){for(var r=this._state,n=this.blockSize/2,i=0;i<n;i++){var o=e[t+2*i],s=e[t+2*i+1];o=16711935&(o<<8|o>>>24)|4278255360&(o<<24|o>>>8),s=16711935&(s<<8|s>>>24)|4278255360&(s<<24|s>>>8),(R=r[i]).high^=s,R.low^=o}for(var a=0;a<24;a++){for(var p=0;p<5;p++){for(var h=0,f=0,m=0;m<5;m++)h^=(R=r[p+5*m]).high,f^=R.low;var g=d[p];g.high=h,g.low=f}for(p=0;p<5;p++){var y=d[(p+4)%5],v=d[(p+1)%5],b=v.high,_=v.low;for(h=y.high^(b<<1|_>>>31),f=y.low^(_<<1|b>>>31),m=0;m<5;m++)(R=r[p+5*m]).high^=h,R.low^=f}for(var E=1;E<25;E++){var $=(R=r[E]).high,w=R.low,x=c[E];x<32?(h=$<<x|w>>>32-x,f=w<<x|$>>>32-x):(h=w<<x-32|$>>>64-x,f=$<<x-32|w>>>64-x);var S=d[l[E]];S.high=h,S.low=f}var T=d[0],C=r[0];for(T.high=C.high,T.low=C.low,p=0;p<5;p++)for(m=0;m<5;m++){var R=r[E=p+5*m],A=d[E],k=d[(p+1)%5+5*m],D=d[(p+2)%5+5*m];R.high=A.high^~k.high&D.high,R.low=A.low^~k.low&D.low}R=r[0];var P=u[a];R.high^=P.high,R.low^=P.low}},_doFinalize:function(){var e=this._data,r=e.words;this._nDataBytes;var n=8*e.sigBytes,o=32*this.blockSize;r[n>>>5]|=1<<24-n%32,r[(t.ceil((n+1)/o)*o>>>5)-1]|=128,e.sigBytes=4*r.length,this._process();for(var s=this._state,a=this.cfg.outputLength/8,c=a/8,l=[],u=0;u<c;u++){var d=s[u],p=d.high,h=d.low;p=16711935&(p<<8|p>>>24)|4278255360&(p<<24|p>>>8),h=16711935&(h<<8|h>>>24)|4278255360&(h<<24|h>>>8),l.push(h),l.push(p)}return new i.init(l,a)},clone:function(){for(var e=o.clone.call(this),t=e._state=this._state.slice(0),r=0;r<25;r++)t[r]=t[r].clone();return e}});r.SHA3=o._createHelper(p),r.HmacSHA3=o._createHmacHelper(p)}(Math),e.SHA3)),sha3.exports;var e}var ripemd160={exports:{}},hasRequiredRipemd160;function requireRipemd160(){return hasRequiredRipemd160||(hasRequiredRipemd160=1,ripemd160.exports=(e=requireCore(),
|
|
162
|
+
deps: ${n}}`};const i={keyword:"dependencies",type:"object",schemaType:"object",error:e.error,code(e){const[t,r]=function({schema:e}){const t={},r={};for(const n in e){if("__proto__"===n)continue;(Array.isArray(e[n])?t:r)[n]=e[n]}return[t,r]}(e);o(e,t),s(e,r)}};function o(e,r=e.schema){const{gen:i,data:o,it:s}=e;if(0===Object.keys(r).length)return;const a=i.let("missing");for(const c in r){const l=r[c];if(0===l.length)continue;const u=(0,n.propertyInData)(i,o,c,s.opts.ownProperties);e.setParams({property:c,depsCount:l.length,deps:l.join(", ")}),s.allErrors?i.if(u,(()=>{for(const t of l)(0,n.checkReportMissingProp)(e,t)})):(i.if(t._`${u} && (${(0,n.checkMissingProp)(e,l,a)})`),(0,n.reportMissingProp)(e,a),i.else())}}function s(e,t=e.schema){const{gen:i,data:o,keyword:s,it:a}=e,c=i.name("valid");for(const l in t)(0,r.alwaysValidSchema)(a,t[l])||(i.if((0,n.propertyInData)(i,o,l,a.opts.ownProperties),(()=>{const t=e.subschema({keyword:s,schemaProp:l},c);e.mergeValidEvaluated(t,c)}),(()=>i.var(c,!0))),e.ok(c))}e.validatePropertyDeps=o,e.validateSchemaDeps=s,e.default=i}(dependencies$2);var propertyNames$1={};Object.defineProperty(propertyNames$1,"__esModule",{value:!0});const codegen_1$6=requireCodegen(),util_1$9=util$i,error$5={message:"property name must be valid",params:({params:e})=>codegen_1$6._`{propertyName: ${e.propertyName}}`},def$b={keyword:"propertyNames",type:"object",schemaType:["object","boolean"],error:error$5,code(e){const{gen:t,schema:r,data:n,it:i}=e;if((0,util_1$9.alwaysValidSchema)(i,r))return;const o=t.name("valid");t.forIn("key",n,(r=>{e.setParams({propertyName:r}),e.subschema({keyword:"propertyNames",data:r,dataTypes:["string"],propertyName:r,compositeRule:!0},o),t.if((0,codegen_1$6.not)(o),(()=>{e.error(!0),i.allErrors||t.break()}))})),e.ok(o)}};propertyNames$1.default=def$b;var additionalProperties$1={};Object.defineProperty(additionalProperties$1,"__esModule",{value:!0});const code_1$3=requireCode(),codegen_1$5=requireCodegen(),names_1=requireNames(),util_1$8=util$i,error$4={message:"must NOT have additional properties",params:({params:e})=>codegen_1$5._`{additionalProperty: ${e.additionalProperty}}`},def$a={keyword:"additionalProperties",type:["object"],schemaType:["boolean","object"],allowUndefined:!0,trackErrors:!0,error:error$4,code(e){const{gen:t,schema:r,parentSchema:n,data:i,errsCount:o,it:s}=e;if(!o)throw new Error("ajv implementation error");const{allErrors:a,opts:c}=s;if(s.props=!0,"all"!==c.removeAdditional&&(0,util_1$8.alwaysValidSchema)(s,r))return;const l=(0,code_1$3.allSchemaProperties)(n.properties),u=(0,code_1$3.allSchemaProperties)(n.patternProperties);function d(e){t.code(codegen_1$5._`delete ${i}[${e}]`)}function p(n){if("all"===c.removeAdditional||c.removeAdditional&&!1===r)d(n);else{if(!1===r)return e.setParams({additionalProperty:n}),e.error(),void(a||t.break());if("object"==typeof r&&!(0,util_1$8.alwaysValidSchema)(s,r)){const r=t.name("valid");"failing"===c.removeAdditional?(h(n,r,!1),t.if((0,codegen_1$5.not)(r),(()=>{e.reset(),d(n)}))):(h(n,r),a||t.if((0,codegen_1$5.not)(r),(()=>t.break())))}}}function h(t,r,n){const i={keyword:"additionalProperties",dataProp:t,dataPropType:util_1$8.Type.Str};!1===n&&Object.assign(i,{compositeRule:!0,createErrors:!1,allErrors:!1}),e.subschema(i,r)}t.forIn("key",i,(r=>{l.length||u.length?t.if(function(r){let i;if(l.length>8){const e=(0,util_1$8.schemaRefOrVal)(s,n.properties,"properties");i=(0,code_1$3.isOwnProperty)(t,e,r)}else i=l.length?(0,codegen_1$5.or)(...l.map((e=>codegen_1$5._`${r} === ${e}`))):codegen_1$5.nil;return u.length&&(i=(0,codegen_1$5.or)(i,...u.map((t=>codegen_1$5._`${(0,code_1$3.usePattern)(e,t)}.test(${r})`)))),(0,codegen_1$5.not)(i)}(r),(()=>p(r))):p(r)})),e.ok(codegen_1$5._`${o} === ${names_1.default.errors}`)}};additionalProperties$1.default=def$a;var properties$4={};Object.defineProperty(properties$4,"__esModule",{value:!0});const validate_1=requireValidate(),code_1$2=requireCode(),util_1$7=util$i,additionalProperties_1$1=additionalProperties$1,def$9={keyword:"properties",type:"object",schemaType:"object",code(e){const{gen:t,schema:r,parentSchema:n,data:i,it:o}=e;"all"===o.opts.removeAdditional&&void 0===n.additionalProperties&&additionalProperties_1$1.default.code(new validate_1.KeywordCxt(o,additionalProperties_1$1.default,"additionalProperties"));const s=(0,code_1$2.allSchemaProperties)(r);for(const e of s)o.definedProperties.add(e);o.opts.unevaluated&&s.length&&!0!==o.props&&(o.props=util_1$7.mergeEvaluated.props(t,(0,util_1$7.toHash)(s),o.props));const a=s.filter((e=>!(0,util_1$7.alwaysValidSchema)(o,r[e])));if(0===a.length)return;const c=t.name("valid");for(const r of a)l(r)?u(r):(t.if((0,code_1$2.propertyInData)(t,i,r,o.opts.ownProperties)),u(r),o.allErrors||t.else().var(c,!0),t.endIf()),e.it.definedProperties.add(r),e.ok(c);function l(e){return o.opts.useDefaults&&!o.compositeRule&&void 0!==r[e].default}function u(t){e.subschema({keyword:"properties",schemaProp:t,dataProp:t},c)}}};properties$4.default=def$9;var patternProperties={};Object.defineProperty(patternProperties,"__esModule",{value:!0});const code_1$1=requireCode(),codegen_1$4=requireCodegen(),util_1$6=util$i,util_2=util$i,def$8={keyword:"patternProperties",type:"object",schemaType:"object",code(e){const{gen:t,schema:r,data:n,parentSchema:i,it:o}=e,{opts:s}=o,a=(0,code_1$1.allSchemaProperties)(r),c=a.filter((e=>(0,util_1$6.alwaysValidSchema)(o,r[e])));if(0===a.length||c.length===a.length&&(!o.opts.unevaluated||!0===o.props))return;const l=s.strictSchema&&!s.allowMatchingProperties&&i.properties,u=t.name("valid");!0===o.props||o.props instanceof codegen_1$4.Name||(o.props=(0,util_2.evaluatedPropsToName)(t,o.props));const{props:d}=o;function p(e){for(const t in l)new RegExp(e).test(t)&&(0,util_1$6.checkStrictMode)(o,`property ${t} matches pattern ${e} (use allowMatchingProperties)`)}function h(r){t.forIn("key",n,(n=>{t.if(codegen_1$4._`${(0,code_1$1.usePattern)(e,r)}.test(${n})`,(()=>{const i=c.includes(r);i||e.subschema({keyword:"patternProperties",schemaProp:r,dataProp:n,dataPropType:util_2.Type.Str},u),o.opts.unevaluated&&!0!==d?t.assign(codegen_1$4._`${d}[${n}]`,!0):i||o.allErrors||t.if((0,codegen_1$4.not)(u),(()=>t.break()))}))}))}!function(){for(const e of a)l&&p(e),o.allErrors?h(e):(t.var(u,!0),h(e),t.if(u))}()}};patternProperties.default=def$8;var not$1={};Object.defineProperty(not$1,"__esModule",{value:!0});const util_1$5=util$i,def$7={keyword:"not",schemaType:["object","boolean"],trackErrors:!0,code(e){const{gen:t,schema:r,it:n}=e;if((0,util_1$5.alwaysValidSchema)(n,r))return void e.fail();const i=t.name("valid");e.subschema({keyword:"not",compositeRule:!0,createErrors:!1,allErrors:!1},i),e.failResult(i,(()=>e.reset()),(()=>e.error()))},error:{message:"must NOT be valid"}};not$1.default=def$7;var anyOf$1={};Object.defineProperty(anyOf$1,"__esModule",{value:!0});const code_1=requireCode(),def$6={keyword:"anyOf",schemaType:"array",trackErrors:!0,code:code_1.validateUnion,error:{message:"must match a schema in anyOf"}};anyOf$1.default=def$6;var oneOf$1={};Object.defineProperty(oneOf$1,"__esModule",{value:!0});const codegen_1$3=requireCodegen(),util_1$4=util$i,error$3={message:"must match exactly one schema in oneOf",params:({params:e})=>codegen_1$3._`{passingSchemas: ${e.passing}}`},def$5={keyword:"oneOf",schemaType:"array",trackErrors:!0,error:error$3,code(e){const{gen:t,schema:r,parentSchema:n,it:i}=e;if(!Array.isArray(r))throw new Error("ajv implementation error");if(i.opts.discriminator&&n.discriminator)return;const o=r,s=t.let("valid",!1),a=t.let("passing",null),c=t.name("_valid");e.setParams({passing:a}),t.block((function(){o.forEach(((r,n)=>{let o;(0,util_1$4.alwaysValidSchema)(i,r)?t.var(c,!0):o=e.subschema({keyword:"oneOf",schemaProp:n,compositeRule:!0},c),n>0&&t.if(codegen_1$3._`${c} && ${s}`).assign(s,!1).assign(a,codegen_1$3._`[${a}, ${n}]`).else(),t.if(c,(()=>{t.assign(s,!0),t.assign(a,n),o&&e.mergeEvaluated(o,codegen_1$3.Name)}))}))})),e.result(s,(()=>e.reset()),(()=>e.error(!0)))}};oneOf$1.default=def$5;var allOf$1={};Object.defineProperty(allOf$1,"__esModule",{value:!0});const util_1$3=util$i,def$4={keyword:"allOf",schemaType:"array",code(e){const{gen:t,schema:r,it:n}=e;if(!Array.isArray(r))throw new Error("ajv implementation error");const i=t.name("valid");r.forEach(((t,r)=>{if((0,util_1$3.alwaysValidSchema)(n,t))return;const o=e.subschema({keyword:"allOf",schemaProp:r},i);e.ok(i),e.mergeEvaluated(o)}))}};allOf$1.default=def$4;var _if$1={};Object.defineProperty(_if$1,"__esModule",{value:!0});const codegen_1$2=requireCodegen(),util_1$2=util$i,error$2={message:({params:e})=>codegen_1$2.str`must match "${e.ifClause}" schema`,params:({params:e})=>codegen_1$2._`{failingKeyword: ${e.ifClause}}`},def$3={keyword:"if",schemaType:["object","boolean"],trackErrors:!0,error:error$2,code(e){const{gen:t,parentSchema:r,it:n}=e;void 0===r.then&&void 0===r.else&&(0,util_1$2.checkStrictMode)(n,'"if" without "then" and "else" is ignored');const i=hasSchema(n,"then"),o=hasSchema(n,"else");if(!i&&!o)return;const s=t.let("valid",!0),a=t.name("_valid");if(function(){const t=e.subschema({keyword:"if",compositeRule:!0,createErrors:!1,allErrors:!1},a);e.mergeEvaluated(t)}(),e.reset(),i&&o){const r=t.let("ifClause");e.setParams({ifClause:r}),t.if(a,c("then",r),c("else",r))}else i?t.if(a,c("then")):t.if((0,codegen_1$2.not)(a),c("else"));function c(r,n){return()=>{const i=e.subschema({keyword:r},a);t.assign(s,a),e.mergeValidEvaluated(i,s),n?t.assign(n,codegen_1$2._`${r}`):e.setParams({ifClause:r})}}e.pass(s,(()=>e.error(!0)))}};function hasSchema(e,t){const r=e.schema[t];return void 0!==r&&!(0,util_1$2.alwaysValidSchema)(e,r)}_if$1.default=def$3;var thenElse={};Object.defineProperty(thenElse,"__esModule",{value:!0});const util_1$1=util$i,def$2={keyword:["then","else"],schemaType:["object","boolean"],code({keyword:e,parentSchema:t,it:r}){void 0===t.if&&(0,util_1$1.checkStrictMode)(r,`"${e}" without "if" is ignored`)}};thenElse.default=def$2,Object.defineProperty(applicator,"__esModule",{value:!0});const additionalItems_1=additionalItems,prefixItems_1=prefixItems,items_1=items$1,items2020_1=items2020,contains_1=contains$1,dependencies_1=dependencies$2,propertyNames_1=propertyNames$1,additionalProperties_1=additionalProperties$1,properties_1=properties$4,patternProperties_1=patternProperties,not_1=not$1,anyOf_1=anyOf$1,oneOf_1=oneOf$1,allOf_1=allOf$1,if_1=_if$1,thenElse_1=thenElse;function getApplicator(e=!1){const t=[not_1.default,anyOf_1.default,oneOf_1.default,allOf_1.default,if_1.default,thenElse_1.default,propertyNames_1.default,additionalProperties_1.default,dependencies_1.default,properties_1.default,patternProperties_1.default];return e?t.push(prefixItems_1.default,items2020_1.default):t.push(additionalItems_1.default,items_1.default),t.push(contains_1.default),t}applicator.default=getApplicator;var format$8={},format$7={};Object.defineProperty(format$7,"__esModule",{value:!0});const codegen_1$1=requireCodegen(),error$1={message:({schemaCode:e})=>codegen_1$1.str`must match format "${e}"`,params:({schemaCode:e})=>codegen_1$1._`{format: ${e}}`},def$1={keyword:"format",type:["number","string"],schemaType:"string",$data:!0,error:error$1,code(e,t){const{gen:r,data:n,$data:i,schema:o,schemaCode:s,it:a}=e,{opts:c,errSchemaPath:l,schemaEnv:u,self:d}=a;c.validateFormats&&(i?function(){const i=r.scopeValue("formats",{ref:d.formats,code:c.code.formats}),o=r.const("fDef",codegen_1$1._`${i}[${s}]`),a=r.let("fType"),l=r.let("format");r.if(codegen_1$1._`typeof ${o} == "object" && !(${o} instanceof RegExp)`,(()=>r.assign(a,codegen_1$1._`${o}.type || "string"`).assign(l,codegen_1$1._`${o}.validate`)),(()=>r.assign(a,codegen_1$1._`"string"`).assign(l,o))),e.fail$data((0,codegen_1$1.or)(!1===c.strictSchema?codegen_1$1.nil:codegen_1$1._`${s} && !${l}`,function(){const e=u.$async?codegen_1$1._`(${o}.async ? await ${l}(${n}) : ${l}(${n}))`:codegen_1$1._`${l}(${n})`,r=codegen_1$1._`(typeof ${l} == "function" ? ${e} : ${l}.test(${n}))`;return codegen_1$1._`${l} && ${l} !== true && ${a} === ${t} && !${r}`}()))}():function(){const i=d.formats[o];if(!i)return void function(){if(!1===c.strictSchema)return void d.logger.warn(e());throw new Error(e());function e(){return`unknown format "${o}" ignored in schema at path "${l}"`}}();if(!0===i)return;const[s,a,p]=function(e){const t=e instanceof RegExp?(0,codegen_1$1.regexpCode)(e):c.code.formats?codegen_1$1._`${c.code.formats}${(0,codegen_1$1.getProperty)(o)}`:void 0,n=r.scopeValue("formats",{key:o,ref:e,code:t});if("object"==typeof e&&!(e instanceof RegExp))return[e.type||"string",e.validate,codegen_1$1._`${n}.validate`];return["string",e,n]}(i);s===t&&e.pass(function(){if("object"==typeof i&&!(i instanceof RegExp)&&i.async){if(!u.$async)throw new Error("async format in sync schema");return codegen_1$1._`await ${p}(${n})`}return"function"==typeof a?codegen_1$1._`${p}(${n})`:codegen_1$1._`${p}.test(${n})`}())}())}};format$7.default=def$1,Object.defineProperty(format$8,"__esModule",{value:!0});const format_1$1=format$7,format$6=[format_1$1.default];format$8.default=format$6;var metadata={};Object.defineProperty(metadata,"__esModule",{value:!0}),metadata.contentVocabulary=metadata.metadataVocabulary=void 0,metadata.metadataVocabulary=["title","description","default","deprecated","readOnly","writeOnly","examples"],metadata.contentVocabulary=["contentMediaType","contentEncoding","contentSchema"],Object.defineProperty(draft7,"__esModule",{value:!0});const core_1=core$3,validation_1=validation$2,applicator_1=applicator,format_1=format$8,metadata_1=metadata,draft7Vocabularies=[core_1.default,validation_1.default,(0,applicator_1.default)(),format_1.default,metadata_1.metadataVocabulary,metadata_1.contentVocabulary];draft7.default=draft7Vocabularies;var discriminator={},types$1={},DiscrError;Object.defineProperty(types$1,"__esModule",{value:!0}),types$1.DiscrError=void 0,function(e){e.Tag="tag",e.Mapping="mapping"}(DiscrError||(types$1.DiscrError=DiscrError={})),Object.defineProperty(discriminator,"__esModule",{value:!0});const codegen_1=requireCodegen(),types_1=types$1,compile_1$1=compile$3,ref_error_1=requireRef_error(),util_1=util$i,error={message:({params:{discrError:e,tagName:t}})=>e===types_1.DiscrError.Tag?`tag "${t}" must be string`:`value of tag "${t}" must be in oneOf`,params:({params:{discrError:e,tag:t,tagName:r}})=>codegen_1._`{error: ${e}, tag: ${r}, tagValue: ${t}}`},def={keyword:"discriminator",type:"object",schemaType:"object",error:error,code(e){const{gen:t,data:r,schema:n,parentSchema:i,it:o}=e,{oneOf:s}=i;if(!o.opts.discriminator)throw new Error("discriminator: requires discriminator option");const a=n.propertyName;if("string"!=typeof a)throw new Error("discriminator: requires propertyName");if(n.mapping)throw new Error("discriminator: mapping is not supported");if(!s)throw new Error("discriminator: requires oneOf keyword");const c=t.let("valid",!1),l=t.const("tag",codegen_1._`${r}${(0,codegen_1.getProperty)(a)}`);function u(r){const n=t.name("valid"),i=e.subschema({keyword:"oneOf",schemaProp:r},n);return e.mergeEvaluated(i,codegen_1.Name),n}t.if(codegen_1._`typeof ${l} == "string"`,(()=>function(){const r=function(){var e;const t={},r=c(i);let n=!0;for(let t=0;t<s.length;t++){let i=s[t];if((null==i?void 0:i.$ref)&&!(0,util_1.schemaHasRulesButRef)(i,o.self.RULES)){const e=i.$ref;if(i=compile_1$1.resolveRef.call(o.self,o.schemaEnv.root,o.baseId,e),i instanceof compile_1$1.SchemaEnv&&(i=i.schema),void 0===i)throw new ref_error_1.default(o.opts.uriResolver,o.baseId,e)}const u=null===(e=null==i?void 0:i.properties)||void 0===e?void 0:e[a];if("object"!=typeof u)throw new Error(`discriminator: oneOf subschemas (or referenced schemas) must have "properties/${a}"`);n=n&&(r||c(i)),l(u,t)}if(!n)throw new Error(`discriminator: "${a}" must be required`);return t;function c({required:e}){return Array.isArray(e)&&e.includes(a)}function l(e,t){if(e.const)u(e.const,t);else{if(!e.enum)throw new Error(`discriminator: "properties/${a}" must have "const" or "enum"`);for(const r of e.enum)u(r,t)}}function u(e,r){if("string"!=typeof e||e in t)throw new Error(`discriminator: "${a}" values must be unique strings`);t[e]=r}}();t.if(!1);for(const e in r)t.elseIf(codegen_1._`${l} === ${e}`),t.assign(c,u(r[e]));t.else(),e.error(!1,{discrError:types_1.DiscrError.Mapping,tag:l,tagName:a}),t.endIf()}()),(()=>e.error(!1,{discrError:types_1.DiscrError.Tag,tag:l,tagName:a}))),e.ok(c)}};discriminator.default=def;var $schema$2="http://json-schema.org/draft-07/schema#",$id$2="http://json-schema.org/draft-07/schema#",title$1="Core schema meta-schema",definitions$1={schemaArray:{type:"array",minItems:1,items:{$ref:"#"}},nonNegativeInteger:{type:"integer",minimum:0},nonNegativeIntegerDefault0:{allOf:[{$ref:"#/definitions/nonNegativeInteger"},{default:0}]},simpleTypes:{enum:["array","boolean","integer","null","number","object","string"]},stringArray:{type:"array",items:{type:"string"},uniqueItems:!0,default:[]}},type$3=["object","boolean"],properties$3={$id:{type:"string",format:"uri-reference"},$schema:{type:"string",format:"uri"},$ref:{type:"string",format:"uri-reference"},$comment:{type:"string"},title:{type:"string"},description:{type:"string"},default:!0,readOnly:{type:"boolean",default:!1},examples:{type:"array",items:!0},multipleOf:{type:"number",exclusiveMinimum:0},maximum:{type:"number"},exclusiveMaximum:{type:"number"},minimum:{type:"number"},exclusiveMinimum:{type:"number"},maxLength:{$ref:"#/definitions/nonNegativeInteger"},minLength:{$ref:"#/definitions/nonNegativeIntegerDefault0"},pattern:{type:"string",format:"regex"},additionalItems:{$ref:"#"},items:{anyOf:[{$ref:"#"},{$ref:"#/definitions/schemaArray"}],default:!0},maxItems:{$ref:"#/definitions/nonNegativeInteger"},minItems:{$ref:"#/definitions/nonNegativeIntegerDefault0"},uniqueItems:{type:"boolean",default:!1},contains:{$ref:"#"},maxProperties:{$ref:"#/definitions/nonNegativeInteger"},minProperties:{$ref:"#/definitions/nonNegativeIntegerDefault0"},required:{$ref:"#/definitions/stringArray"},additionalProperties:{$ref:"#"},definitions:{type:"object",additionalProperties:{$ref:"#"},default:{}},properties:{type:"object",additionalProperties:{$ref:"#"},default:{}},patternProperties:{type:"object",additionalProperties:{$ref:"#"},propertyNames:{format:"regex"},default:{}},dependencies:{type:"object",additionalProperties:{anyOf:[{$ref:"#"},{$ref:"#/definitions/stringArray"}]}},propertyNames:{$ref:"#"},const:!0,enum:{type:"array",items:!0,minItems:1,uniqueItems:!0},type:{anyOf:[{$ref:"#/definitions/simpleTypes"},{type:"array",items:{$ref:"#/definitions/simpleTypes"},minItems:1,uniqueItems:!0}]},format:{type:"string"},contentMediaType:{type:"string"},contentEncoding:{type:"string"},if:{$ref:"#"},then:{$ref:"#"},else:{$ref:"#"},allOf:{$ref:"#/definitions/schemaArray"},anyOf:{$ref:"#/definitions/schemaArray"},oneOf:{$ref:"#/definitions/schemaArray"},not:{$ref:"#"}},require$$3$2={$schema:$schema$2,$id:$id$2,title:title$1,definitions:definitions$1,type:type$3,properties:properties$3,default:!0};!function(e,t){Object.defineProperty(t,"__esModule",{value:!0}),t.MissingRefError=t.ValidationError=t.CodeGen=t.Name=t.nil=t.stringify=t.str=t._=t.KeywordCxt=t.Ajv=void 0;const r=core$4,n=draft7,i=discriminator,o=require$$3$2,s=["/properties"],a="http://json-schema.org/draft-07/schema";class c extends r.default{_addVocabularies(){super._addVocabularies(),n.default.forEach((e=>this.addVocabulary(e))),this.opts.discriminator&&this.addKeyword(i.default)}_addDefaultMetaSchema(){if(super._addDefaultMetaSchema(),!this.opts.meta)return;const e=this.opts.$data?this.$dataMetaSchema(o,s):o;this.addMetaSchema(e,a,!1),this.refs["http://json-schema.org/schema"]=a}defaultMeta(){return this.opts.defaultMeta=super.defaultMeta()||(this.getSchema(a)?a:void 0)}}t.Ajv=c,e.exports=t=c,e.exports.Ajv=c,Object.defineProperty(t,"__esModule",{value:!0}),t.default=c;var l=requireValidate();Object.defineProperty(t,"KeywordCxt",{enumerable:!0,get:function(){return l.KeywordCxt}});var u=requireCodegen();Object.defineProperty(t,"_",{enumerable:!0,get:function(){return u._}}),Object.defineProperty(t,"str",{enumerable:!0,get:function(){return u.str}}),Object.defineProperty(t,"stringify",{enumerable:!0,get:function(){return u.stringify}}),Object.defineProperty(t,"nil",{enumerable:!0,get:function(){return u.nil}}),Object.defineProperty(t,"Name",{enumerable:!0,get:function(){return u.Name}}),Object.defineProperty(t,"CodeGen",{enumerable:!0,get:function(){return u.CodeGen}});var d=requireValidation_error();Object.defineProperty(t,"ValidationError",{enumerable:!0,get:function(){return d.default}});var p=requireRef_error();Object.defineProperty(t,"MissingRefError",{enumerable:!0,get:function(){return p.default}})}(ajv$2,ajv$2.exports);var ajvExports=ajv$2.exports;function extractAjvErrors(e){return e?.map((e=>`${e.instancePath} ${e.message}`)).join(";")??""}function createLSPErrorResponse(e,t){return new main$4.ResponseError(e,t,t)}async function getMetadata(e){const t=kernel.env.deviceId,r=closestSvnRoot(e);if(r){const{project:e,branch:n}=await getSvnRepoAndBranch(r);return{device:t,project:e,branch:n,uploadBasePath:r}}const[n,i]=await Promise.all([getRepoHostAndName(e),getRepoRootPath(e)]);if(n&&i){return{device:t,project:n,branch:await getCurrentBranch(e),uploadBasePath:i}}return{device:t,project:e,uploadBasePath:e}}function createHash$2(e){return crypto$5.createHash("sha1").update(e).digest("hex")}function computeRepoIdByMetadata(e){const{device:t,project:r,branch:n}=e;if(!t||!r)return;return createHash$2([t,r,n].filter((e=>!!e)).join("+"))}async function computeRepoId(e){try{if(!e)return;return computeRepoIdByMetadata(await getMetadata(e))}catch(e){return void kernel.logger.error("embedding(error)",`${e?.message}`)}}async function readFileContent(e){const t=kernel.env.workspaceInfo.rootPath;if(!t)return null;try{return await readFile$4(join$5(t,e),"utf-8")}catch{return null}}const IGNORED_KEYWORDS=new Set(["interface","interfaces","class","classes","method","methods","function","functions","constructor","constructors","property","properties","field","fields","definition","definitions","reference","references","keyword","keywords","instance","instances","const","for","while","if","else","then","switch","case","default","extends","implements","new","await","then"]);async function provideKeywordContext(e,t="",r={useRegexp:!1}){const n=_$G.compact([r?.useRegexp?void 0:"--fixed-strings","--line-number","--heading","--crlf","--word-regexp","--context=10","--max-columns=300","--max-columns-preview","--max-filesize=1M","--sort=path",`'${e}'`,t?`-g **/${t}/**`:"./"]);try{const e=getRipgrepPath();if(!e)return[];const t=kernel.env.workspaceInfo.rootPath,r=(await execRipgrep(e,n,t)).map((e=>{const r=e.beforeContext.concat(e.match).concat(e.afterContext).join(""),n=Math.max(e.startLine-e.beforeContext.length),i=Math.min(e.endLine+e.afterContext.length);return new CodeChunk(t,"keyword",relative$2(t,e.file),r,{line:n,column:0},{line:i,column:0})}));return r}catch(e){return[]}}const abstractKeywordFromQueries=e=>{const t=e.map((e=>Array.from(e.matchAll(/([a-zA-Z][-_]*){3,}\w*/g)))),r=[..._$G.flatten(t)].map((e=>e[0]));return _$G.uniq(r).filter((e=>!IGNORED_KEYWORDS.has(e)))};async function searchKeywords(e,t="",r){const n=r?.useRegexp?e:abstractKeywordFromQueries(e).slice(0,6),i=await Promise.all(n.map((async e=>({keyword:e,codeChunks:await provideKeywordContext(e,t,r)}))));return i}class RepoKeySearchTask{strategy;searchPath;constructor(e){this.strategy=e,this.searchPath=e.rule===IntentStrategyRule$1.REPO_KEY?"":e.context.id}async search(){return(await searchKeywords([this.strategy.query],this.searchPath)).map((e=>e.codeChunks)).flat()}}class RepoRegexSearchTask{strategy;searchPath;constructor(e){this.strategy=e,this.searchPath=e.rule===IntentStrategyRule$1.REPO_REGEX?"":e.context.id}async search(){if(this.strategy.pattern){return(await searchKeywords(this.strategy.pattern.file_content,this.searchPath,{useRegexp:!0})).map((e=>e.codeChunks)).flat()}return[]}}class RepoVectorSearchTask{strategy;searchPath;constructor(e){this.strategy=e,this.searchPath=e.rule===IntentStrategyRule$1.REPO_VECTOR?void 0:e.context.id}async search(){try{const{query:e}=this.strategy,t=this.searchPath,r=kernel.env.workspaceInfo.rootPath;setCurrentRootPath(r);const n=await processSearch({query:e,relativePathKeyword:t});return n.map((e=>{const{startRow:t,endRow:n,content:i,relativePath:o}=e;return new CodeChunk(r,"fullContent",o,i,{line:t,column:0},{line:n,column:0})}))}catch(e){return kernel.logger.info(`[ContextEngine] 向量检索失败:${e.message}`),[]}}}class FileReadSearchTask{strategy;isCurrentFile=!1;constructor(e){this.strategy=e,this.isCurrentFile=e.rule===IntentStrategyRule$1.CURRENT_FILE_READ}async search(){const e=await readFileContent(this.strategy.context.id);return e?this.isCurrentFile?[new CurrentFileCodeChunk(kernel.env.workspaceInfo.rootPath,this.strategy.context.id,e)]:[new FileCodeChunk(kernel.env.workspaceInfo.rootPath,this.strategy.context.id,e)]:[]}}class FolderReadSearchTask{strategy;constructor(e){this.strategy=e}async search(){const e=await getCodeChunksFromFolder(this.strategy.context.id,kernel.env.workspaceInfo.rootPath);return compressFileChunks(e,1e5)}}class ArchitectureReadSearchTask{strategy;constructor(e){this.strategy=e}async search(){const e=await readFileContent(this.strategy.context.id);return e?[new FileCodeChunk(kernel.env.workspaceInfo.rootPath,"README.md",e)]:[]}}const searchTaskMapping={[IntentStrategyRule$1.REPO_KEY]:RepoKeySearchTask,[IntentStrategyRule$1.REPO_REGEX]:RepoRegexSearchTask,[IntentStrategyRule$1.FOLDER_KEY]:RepoKeySearchTask,[IntentStrategyRule$1.FOLDER_REGEX]:RepoRegexSearchTask,[IntentStrategyRule$1.FOLDER_READ]:FolderReadSearchTask,[IntentStrategyRule$1.FILE_READ]:FileReadSearchTask,[IntentStrategyRule$1.CURRENT_FILE_READ]:FileReadSearchTask,[IntentStrategyRule$1.REPO_VECTOR]:RepoVectorSearchTask,[IntentStrategyRule$1.FOLDER_VECTOR]:RepoVectorSearchTask,[IntentStrategyRule$1.ARCHITECTURE_READ]:ArchitectureReadSearchTask},isValidCodeChunk=e=>0!==Object.keys(e).length,isKeywordIntentStrategySearch=e=>e.rule===IntentStrategyRule$1.REPO_KEY||e.rule===IntentStrategyRule$1.FOLDER_KEY,intentStrategy2SearchTask=e=>{const t=searchTaskMapping[e.rule];return t?new t(e).search():[]},searchIntentStrategy=async e=>{if(!e?.length)return{keywordSearchResult:[],otherSearchResult:[]};const[t,r]=_$G.partition(e,isKeywordIntentStrategySearch),n=new Promise((e=>{Promise.all(t.map((async e=>{const t=await intentStrategy2SearchTask(e);return{keyword:e.query,codeChunks:t?.filter(isValidCodeChunk)||[]}}))).then(e)})),i=Promise.all(r.filter((e=>!!searchTaskMapping[e.rule])).map(intentStrategy2SearchTask)),[o,s]=await Promise.all([n,i]);return{keywordSearchResult:o,otherSearchResult:s.flat().filter(isValidCodeChunk)}},realtimeIndexing=async e=>{try{kernel.logger.info("[ContextEngine] 实时索引任务开始");const t=Date.now(),{added:r,deleted:n,modified:i}=e,o=[...r,...i],s=o.length,{count:a,skipped:c,round:l}=await processIndexing({files:o,onProgress:()=>{}}),{repoId:u}=getCurrentMetadata(),d=await getDbInstance(),p=_$G.chunk(n,1e3);for(const e of p)d.versionedFiles.deleteByPath(u,e);kernel.logger.info(`[ContextEngine] 实时索引构建成功! 共 ${s} 个文件,处理 ${a} 个,跳过 ${c} 个,删除旧文件 ${n.length} 个,共 ${l} 轮。用时:${Date.now()-t}ms`)}catch(e){log$2("failed",`realtime: ${e?.message}`)}},initEmbeddingService=async()=>{if(kernel.connect.onRequest(KERNEL_EMBEDDING_RECREATE,(async()=>{updateCodebaseSearchConfig("true"),createEmbeddingJob()})),kernel.connect.onRequest(RECREATE_WORKSPACE_INDEX,(async e=>{e&&e.buildEmbedding&&(updateCodebaseSearchConfig("true"),createEmbeddingJob())})),kernel.connect.onRequest(GET_WORKSPACE_INDEX_PROGRESS,(async()=>getCurrentEmbeddingProgress())),kernel.connect.onRequest(KERNEL_WORKSPACE_CHANGE,(async e=>{if(!getCodebaseSearchConfig())return;await loadIndexConfig();const{rootPath:t}=e;setCurrentRootPath(t),await loadCurrentMetadata({rootPath:t}),createEmbeddingJob()})),kernel.connect.onRequest(KERNEL_FILE_CHANGE,(async e=>{realtimeIndexing(e)})),kernel.connect.onRequest(ZULU_CLI_EMBEDDING_CREATE,(async()=>{try{const e=kernel.env.workspaceInfo.rootPath;return setCurrentRootPath(e),await loadIndexConfig(),await loadCurrentMetadata({rootPath:e}),await createEmbeddingJob(),{success:!0}}catch(e){return{success:!1,message:e.message}}})),kernel.connect.onRequest(ZULU_CLI_EMBEDDING_SEARCH,(async e=>{try{const t=kernel.env.workspaceInfo.rootPath;setCurrentRootPath(t);const{query:r}=e;return(await processSearch({query:r})).map((({embedding:e,...t})=>({...t})))}catch(e){return{success:!1,message:e.message}}})),kernel.connect.onRequest(IDE_CHAT_INTENT_CODE_CHUNK_SEARCH_EVENT,(async e=>{const t=await searchIntentStrategy(e);return{keywordSearchResult:t.keywordSearchResult.map((e=>({keyword:e.keyword,codeChunks:e.codeChunks.map((e=>e.toJSON()))}))),otherSearchResult:t.otherSearchResult.map((e=>e.toJSON()))}})),kernel.connect.onRequest(IDE_CHAT_HAS_INDEXED,(async()=>{try{const e=kernel.env.workspaceInfo.rootPath,t=computeRepoIdByMetadata(await getMetadata(e));return(await getDbInstance()).indexStatus.hasIndexed(t)}catch{return!1}})),kernel.env.isVS||kernel.env.isXcode||kernel.env.isEclipse)return;await loadContextsConfig();getCodebaseSearchConfig()&&(process.env.IS_CLI?await getDbInstance():(setTimeout((async()=>{await loadIndexConfig();const e=getCurrentRootPath();await loadCurrentMetadata({rootPath:e}),createEmbeddingJob()}),1e3),setInterval((()=>{createEmbeddingJob()}),36e5)))};var __decorate$4=function(e,t,r,n){var i,o=arguments.length,s=o<3?t:null===n?n=Object.getOwnPropertyDescriptor(t,r):n;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)s=Reflect.decorate(e,t,r,n);else for(var a=e.length-1;a>=0;a--)(i=e[a])&&(s=(o<3?i(s):o>3?i(t,r,s):i(t,r))||s);return o>3&&s&&Object.defineProperty(t,r,s),s};const ajv$1=new ajvExports.Ajv,schema$1={type:"object",properties:{rootPath:{type:"string"}},required:["rootPath"]};let EmbeddingsController=class{listenConnection(){kernel.connect.onRequest(IDE_COMPUTE_REPO_ID,(async e=>{if(!ajv$1.validate(schema$1,e))return createLSPErrorResponse(LSP_ERROR_CODE$1.InvalidParams,extractAjvErrors(ajv$1.errors));try{const t=await computeRepoId(e.rootPath);return{code:SUCCESS_CODE,data:{repoId:t}}}catch(e){return createLSPErrorResponse(LSP_ERROR_CODE$1.InternalError,e.message??"unknown error")}}))}run(){this.listenConnection(),initEmbeddingService()}};EmbeddingsController=__decorate$4([injectable()],EmbeddingsController);var __decorate$3=function(e,t,r,n){var i,o=arguments.length,s=o<3?t:null===n?n=Object.getOwnPropertyDescriptor(t,r):n;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)s=Reflect.decorate(e,t,r,n);else for(var a=e.length-1;a>=0;a--)(i=e[a])&&(s=(o<3?i(s):o>3?i(t,r,s):i(t,r))||s);return o>3&&s&&Object.defineProperty(t,r,s),s},__metadata$3=function(e,t){if("object"==typeof Reflect&&"function"==typeof Reflect.metadata)return Reflect.metadata(e,t)};let PassthroughDemoService=class{disposables=[];intervalId=null;constructor(){this.disposables.push(kernel.connect.onWebviewMessage(PT_WEBVIEW_DEMO_REQUEST,this.handleMessage),kernel.connect.onWebviewStreamMessage(PT_WEBVIEW_STREAM_DEMO_REQUEST,this.handleStreamMessage))}start(){}handleMessage=async e=>(await kernel.config.updateExtensionConfig("username",e),"收到来自 webview 请求:"+kernel.config.username);handleStreamMessage=async function*(e){for(let e=1;e<=5;e++)await new Promise((e=>setTimeout(e,1e3))),yield e};dispose(){this.intervalId&&(clearInterval(this.intervalId),this.intervalId=null);for(const e of this.disposables)e();this.disposables.length=0}};PassthroughDemoService=__decorate$3([injectable(),__metadata$3("design:paramtypes",[])],PassthroughDemoService);var __decorate$2=function(e,t,r,n){var i,o=arguments.length,s=o<3?t:null===n?n=Object.getOwnPropertyDescriptor(t,r):n;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)s=Reflect.decorate(e,t,r,n);else for(var a=e.length-1;a>=0;a--)(i=e[a])&&(s=(o<3?i(s):o>3?i(t,r,s):i(t,r))||s);return o>3&&s&&Object.defineProperty(t,r,s),s},__metadata$2=function(e,t){if("object"==typeof Reflect&&"function"==typeof Reflect.metadata)return Reflect.metadata(e,t)},__param=function(e,t){return function(r,n){t(r,n,e)}};const uniqueArray=(e,t)=>e.filter(((e,r,n)=>n.findIndex((r=>r[t]===e[t]))===r));let PlusService=class{mediator;constructor(e){this.mediator=e}start(){kernel.connect.onRequest(ACTION_COMATE_PLUS_CHAT_QUERY,this.handleChatQuery),kernel.connect.onRequest(ACTION_COMATE_PLUS_CHAT_CANCEL,this.handleChatCancel),kernel.connect.onRequest(ACTION_COMATE_PLUS_CUSTOM_COMMAND,this.handleCustomCommand),kernel.connect.onRequest(ACTION_COMATE_PLUS_WEBVIEW_INIT_DATA,this.handleWebviewInitData),kernel.connect.onRequest(ACTION_QUERY_SELECTOR,this.handleQuerySelector),kernel.connect.onRequest(ACTION_COMATE_PLUS_DIAGNOSTIC_SCAN,this.handleDiagnosticScan),kernel.connect.onRequest(ACTION_SCAN_CACHE_COUNT,this.handleScanCacheCount)}handleChatQuery=async e=>{try{const t=this.mediator.userDetail(),r=this.mediator.getPluginCapabilityInfo();let n=e.context.query??"";const i=r.find((t=>t.name===e.capability));"PromptTemplate"!==e.pluginName&&e.context.query===i?.defaultUserMessage&&(n="");const o=(e.knowledgeList??[]).map((e=>["FILE","FOLDER","CURRENT_FILE",0,2,3].includes(e.type)?{...e,path:e.id}:e)),s={isRegenerated:e.isRegenerated,pluginName:e.pluginName,sessionUuid:e.sessionUuid,input:{messageId:e.messageId,capability:e.capability,query:e.query,data:e.data,informationList:o,enableSmartApply:i?.enableSmartApply},context:{query:n,selectedCode:e.context.selectedCode??"",selectedRange:e.context.selectedRange??[],activeFileContent:e.context.activeFileContent??"",activeFileLineContent:e.context.activeFileLineContent??"",activeFilePath:e.context.activeFilePath??"",activeFileName:e.context.activeFileName??"",activeFileLanguage:e.context.activeFileLanguage??""},systemInfo:{...e.systemInfo,userDetail:{name:t.name,license:t.license,displayName:t.displayName,email:t.email},userId:t.uid}};if("PromptTemplate"===e.pluginName){kernel.logger.uploader({category:LoggerUploaderCategoryType.PromptTemplate,action:"chat",content:"promptTemplate chat query"});for await(const t of this.mediator.promptTemplateChat(e.capability,s))kernel.logger.info("PromptTemplate message",t),await sendMessageToIde(kernel.logger,this.mediator,t)}else{const e=crypto$5.randomUUID();for await(const t of this.mediator.sendToPlugin(e,{action:ACTION_CHAT_QUERY,payload:s}))kernel.logger.info("message messagemessagemessage",t),!kernel.env.isJetBrains&&await sendMessageToIde(kernel.logger,this.mediator,t)}return await this.mediator.sendToIde(ACTION_COMATE_PLUS_DRAW_CHAT_FINISH,{messageId:e.messageId}),{status:"success",payload:"ok"}}catch(e){return kernel.logger.error("ERROR GET",ACTION_COMATE_PLUS_CHAT_QUERY,e instanceof Error?e.toString():e),{status:"error",payload:"not ok"}}};handleChatCancel=async e=>{try{const t=this.mediator.userDetail(),r={pluginName:e.pluginName,input:{messageId:e.messageId,capability:"",query:"",data:{chatCancleToken:e.chatCancleToken},informationList:[]},context:{query:"",selectedCode:"",selectedRange:[],activeFileContent:"",activeFileLineContent:"",activeFilePath:"",activeFileName:"",activeFileLanguage:""},systemInfo:{cwd:"",userDetail:{name:t.name,license:t.license,displayName:t.displayName,email:t.email},userId:t.uid}},n=crypto$5.randomUUID();for await(const e of this.mediator.sendToPlugin(n,{action:ACTION_CHAT_QUERY,payload:r}))kernel.logger.info("cancle message",e);return{status:"success",payload:"ok"}}catch(e){return kernel.logger.error("ERROR GET",ACTION_COMATE_PLUS_CHAT_CANCEL,e instanceof Error?e.toString():e),{status:"error",payload:"not ok"}}};handleCustomCommand=async e=>{try{const t=crypto$5.randomUUID();for await(const r of this.mediator.sendToPlugin(t,{action:ACTION_CUSTOM_COMMAND,payload:{...e.customCommandPayload,messageId:e.messageId,commandContext:e.context}}))r&&(r.data.payload.messageId=e.messageId),!kernel.env.isJetBrains&&await sendMessageToIde(kernel.logger,this.mediator,r);return await this.mediator.sendToIde(ACTION_COMATE_PLUS_DRAW_CHAT_FINISH,{messageId:e.messageId}),{status:"success",payload:"ok"}}catch(e){return kernel.logger.error("ERROR GET",ACTION_COMATE_PLUS_CUSTOM_COMMAND,e instanceof Error?e.toString():e),{status:"error",payload:"not ok"}}};handleWebviewInitData=async e=>{let t=[],r=[],n=[],i=[],o={};try{n=(await this.mediator.pluginConfigApi.getCurrentUserKnowledgeSet()).map((e=>({id:e.uuid,name:e.name,type:e.type,description:e.description,retrievalType:e.fileContentType||"TEXT"})))}catch(e){n=[],kernel.logger.error("ERROR GET",ACTION_COMATE_PLUS_WEBVIEW_INIT_DATA,e instanceof Error?e.toString():e)}try{i=await this.mediator.promptTemplateService.getAll()}catch(e){i=[],kernel.logger.error("ERROR GET",ACTION_COMATE_PLUS_WEBVIEW_INIT_DATA,e instanceof Error?e.toString():e)}try{const e=this.mediator.userDetail();o=await this.mediator.getPluginConfigAll();const n=Object.keys(o).filter((t=>(o[t]?.meta?.onlyBusinesses&&kernel.env.isSaaS&&(e.enterpriseConfig?.enterprise&&e.enterpriseConfig?.enableCodeSecurity||(o[t].enabled=!1)),o[t]?.enabled))),i=this.mediator.getPluginCapabilityInfo().filter((e=>n.includes(e.owner.name)));t=uniqueArray(i.map((e=>e.owner)),"name").map((e=>({...e,id:e.name}))),r=i.filter((e=>canShowToUser(e.type))).map((e=>({...e,id:e.name+"@"+e.owner.name})))}catch(e){return kernel.logger.error("ERROR GET",ACTION_COMATE_PLUS_WEBVIEW_INIT_DATA,e instanceof Error?e.toString():e),{status:"error",payload:[[[],[],[],[]],{}]}}return{status:"success",payload:[[t,r,n,i],o]}};handleQuerySelector=async e=>{try{const t=this.mediator.userDetail(),r=await this.mediator.getSuggestCapabilitiesByMatch({context:e.context,systemInfo:{...e.systemInfo,userDetail:{license:t.license,name:t.name,displayName:t.displayName,email:t.email},userId:t.uid}});this.mediator.sendToIde(ACTION_COMATE_PLUS_QUERY_SELECTOR,r)}catch(e){return kernel.logger.error("ERROR GET",ACTION_QUERY_SELECTOR,e instanceof Error?e.toString():e),{status:"error",payload:ACTION_QUERY_SELECTOR}}};handleDiagnosticScan=async e=>{try{const t=this.mediator.userDetail(),r=path__default.isAbsolute(e.context.activeFilePath)?e.context.activeFilePath:path__default.join(e.systemInfo.cwd,e.context.activeFilePath);return this.mediator.diagnosticCache.get({pluginName:e.pluginName,capabilityName:e.capability,systemInfo:{...e.systemInfo,userDetail:{name:t.name,license:t.license,displayName:t.displayName,email:t.email},userId:t.uid},context:{...e.context,activeFilePath:r}})}catch(e){return kernel.logger.error("ERROR GET",ACTION_COMATE_PLUS_DIAGNOSTIC_SCAN,e instanceof Error?e.toString():e),{}}};handleScanCacheCount=async e=>{const t=this.mediator.userDetail();return 0!==await this.mediator.diagnosticCache.getCount({...e.systemInfo,userDetail:{name:t.name,license:t.license,displayName:t.displayName,email:t.email},userId:t.uid})}};PlusService=__decorate$2([injectable(),__param(0,inject(Mediator)),__metadata$2("design:paramtypes",[Mediator])],PlusService);var __decorate$1=function(e,t,r,n){var i,o=arguments.length,s=o<3?t:null===n?n=Object.getOwnPropertyDescriptor(t,r):n;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)s=Reflect.decorate(e,t,r,n);else for(var a=e.length-1;a>=0;a--)(i=e[a])&&(s=(o<3?i(s):o>3?i(t,r,s):i(t,r))||s);return o>3&&s&&Object.defineProperty(t,r,s),s},__metadata$1=function(e,t){if("object"==typeof Reflect&&"function"==typeof Reflect.metadata)return Reflect.metadata(e,t)};const STORAGE_KEY$1="input_box_message_history";let HistoryService=class{constructor(){kernel.connect.onWebviewMessage(PT_WEBVIEW_INPUT_HISTORY_FETCH,this.fetchHistory.bind(this)),kernel.connect.onWebviewMessage(PT_WEBVIEW_INPUT_HISTORY_SAVE,this.saveHistory.bind(this))}async fetchHistory(){try{return kernel.storage.get(STORAGE_KEY$1,[])}catch(e){return kernel.logger.error("Failed to fetch history:",e),[]}}async saveHistory(e){const t=e.slice(0,100);kernel.logger.info("[history] Saving latest history:",t[0]),kernel.storage.update(STORAGE_KEY$1,t)}};HistoryService=__decorate$1([injectable(),__metadata$1("design:paramtypes",[])],HistoryService);var __decorate=function(e,t,r,n){var i,o=arguments.length,s=o<3?t:null===n?n=Object.getOwnPropertyDescriptor(t,r):n;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)s=Reflect.decorate(e,t,r,n);else for(var a=e.length-1;a>=0;a--)(i=e[a])&&(s=(o<3?i(s):o>3?i(t,r,s):i(t,r))||s);return o>3&&s&&Object.defineProperty(t,r,s),s},__metadata=function(e,t){if("object"==typeof Reflect&&"function"==typeof Reflect.metadata)return Reflect.metadata(e,t)};let PassthroughGitRepoService=class{disposables=[];constructor(){this.disposables.push(kernel.connect.onWebviewMessage(PT_WEBVIEW_GET_CURRENT_REPO,this.handleMessage))}handleMessage=async()=>{if(!kernel.env.workspaceInfo.rootPath)return kernel.logger.trace("[PassthroughGitRepoService] not in workspace"),"";return await getRepoNamePriortrizeICode(kernel.env.workspaceInfo.rootPath)||""};dispose(){for(const e of this.disposables)e();this.disposables.length=0}};function logInjection(e){return t=>e(t)}PassthroughGitRepoService=__decorate([injectable(),__metadata("design:paramtypes",[])],PassthroughGitRepoService);const iocContainer=new Container;iocContainer.applyMiddleware(logInjection);let serviceIsReady=!1;function updateServiceStatus(e){serviceIsReady=e}function active(){iocContainer.bind(EmbeddingsController).toSelf().inSingletonScope(),iocContainer.get(EmbeddingsController).run(),iocContainer.bind(PassthroughDemoService).toSelf().inSingletonScope(),iocContainer.get(PassthroughDemoService).start(),iocContainer.bind(PassthroughGitRepoService).toSelf().inSingletonScope(),iocContainer.get(PassthroughGitRepoService),iocContainer.bind(PlusService).toSelf().inSingletonScope(),iocContainer.get(PlusService).start(),iocContainer.bind(HistoryService).toSelf().inSingletonScope(),iocContainer.get(HistoryService),iocContainer.bind(QuotaService).toSelf().inSingletonScope(),iocContainer.get(QuotaService)}class ProjectAgent{rootPath;relativePath;metadata;content;static agentGlob=".comate/agents/**.md";id;constructor(e,t,r,n){this.rootPath=e,this.relativePath=t,this.metadata=r,this.content=n;try{const r=statSync$2(join$6(e,t));this.id=-1*r.birthtimeMs}catch{this.id=-1*Date.now()}}static pickTaskProperties(e,t){const r=_$G.keyBy(t,"serverName"),n=Array.isArray(e.mcpInfos)?e.mcpInfos.filter((e=>r[e])).map((e=>r[e])):[];return{..._$G.pick(e,["agentName","agentImage","description","strategy","agentPrompt","tools"]),isProjectAgent:!!e.isProjectAgent,agentId:e.isProjectAgent?void 0:e.agentId,mcpInfos:n}}toString(){return matter$1.stringify(this.content,_$G.pickBy(this.metadata,(e=>Array.isArray(e)?e.length>0:"boolean"==typeof e?!1===e:!!e)))}toJSON(){return{agentId:this.id,isProjectAgent:!0,enable:"boolean"!=typeof this.metadata.enable||this.metadata.enable,relativePath:this.relativePath,agentName:this.metadata.name.trim(),description:this.metadata.description,agentImage:this.metadata.icon,agentPrompt:this.content,visibility:"SELF",allowInvocation:!0,canInvokeAgents:!1,order:0,subAgents:[],strategy:this.metadata.strategy||"DEFAULT",tools:Array.isArray(this.metadata.tools)?this.metadata.tools:[],mcpInfos:Array.isArray(this.metadata.mcpServers)?this.metadata.mcpServers:[],parentAgents:Array.isArray(this.metadata.parentAgents)?this.metadata.parentAgents:[],reportAgentName:"PROJECT_AGENT",canUseMcp:!0}}async save(){const e=join$6(this.rootPath,this.relativePath);await lib$4.ensureDir(join$6(this.rootPath,".comate","agents")),await writeFile$2(e,this.toString()),this.id=-1*statSync$2(e).birthtimeMs}static async find(e,t){return(await this.readFromWorkspace(e)).find((e=>e.metadata.name===t))}static async write(e,t){const r=t.relativePath??join$6(".comate","agents",t.agentName+".md"),n=new ProjectAgent(e,r,{name:t.agentName,enable:"boolean"!=typeof t.enable||t.enable,description:t.description,icon:t.agentImage,strategy:t.strategy,tools:Array.isArray(t.tools)?t.tools:[],mcpServers:Array.isArray(t.mcpInfos)?t.mcpInfos:[],parentAgents:Array.isArray(t.parentAgents)?t.parentAgents:[]},t.agentPrompt);return await n.save(),n.toJSON()}static async delete(e,t){try{await rm$1(join$6(e,t))}catch{}}static async update(e,t,r){const n=await this.find(e,t.name);if(n)return n.update(t,r),await n.save(),n;{const n=join$6(".comate","agents",`${t.name}.md`),i=new ProjectAgent(e,n,t,r);return await i.save(),i}}static async readFromWorkspace(e){const t=await globby(this.agentGlob,{cwd:e});kernel.logger.info(`Found project agents in ${e}: ${t.join(",")}`);const r=await Promise.all(t.map((async t=>{try{const r=await readFile$4(join$6(e,t),"utf-8"),{data:n,content:i}=matter$1(r);return n.name?new ProjectAgent(e,t,n,i):null}catch(e){return kernel.logger.info(`Failed to read project agent ${t}: ${e}`),null}})));return r.filter((e=>null!==e)).sort(((e,t)=>t.id-e.id))}update(e,t){this.metadata=e,this.content=t}}const COMMON_COMMANDS=["python","python3","pip","pip3","go","docker","curl","ffmpeg","brew","pip","jq","nuget"];class E2EBotConversation extends ConversationThread{codeWrittenMetric;type=AgentConversationType.E2EBotConversation;inlineDiffView=!0;status=AgentConversationStatus.Ready;cancelTokenSource=createAxiosCancelTokenSource();mcpManager;previewProxyServerManager;quotaService;specEditor;constructor(e,t,r,n){super(e),this.codeWrittenMetric=n,this.quotaService=iocContainer.get(QuotaService),this.mcpManager=t,this.status=AgentConversationStatus.Running,this.previewProxyServerManager=r,this.specEditor=new SpecEditor(this.virtualEditor,this.roundtrips)}firstTokenStartTime=0;async startWork(e){this.firstTokenStartTime=performance.now();const t=await this.injectExtendParamsIfPreviousMessageExisted(e.request.payload);this.shouldIncludePreviousToolResult()?await this.createFollowupConversation(e,t):await this.createConversation(e,t)}async injectExtendParamsIfPreviousMessageExisted(e){const t=e.agent||{agentId:1,agentName:"Zulu",agentImage:"zulu",subagents:[]},r={fileOperate:{acceptedFiles:[],rejectedFiles:[]},contextMode:e.model?.mode,requestType:e.model?.requestType,promptENName:this.metrics?.function},n=[];for(const e of this.roundtrips){const t=(e.request.payload.knowledgeList??[]).filter((e=>e.type===ContextType.RULE));n.unshift(...t)}const i=_$G.uniqBy([...e.knowledgeList,...n],"id");if(this.previousRoundtrip){const t=this.previousRoundtrip,n=t.getComposerTasks();for(const e of n){const t=e.toAcceptedLabel();e.accepted!==AcceptState.ACCEPT||r.fileOperate.acceptedFiles.includes(t)?e.accepted!==AcceptState.REJECT||r.fileOperate.rejectedFiles.includes(t)||r.fileOperate.rejectedFiles.push(t):r.fileOperate.acceptedFiles.push(t)}return{query:e.query,agent:e.agent,taskId:t.context.taskId,conversationId:t.context.conversationId,knowledgeList:i,extend:r,selfDefineInstruction:e.selfDefineInstruction}}return{query:e.query,agent:t,knowledgeList:i,extend:r,selfDefineInstruction:e.selfDefineInstruction}}recreateCancelTokenSource(){return this.cancelTokenSource.cancel(),this.cancelTokenSource=createAxiosCancelTokenSource(),this.cancelTokenSource}getMcpServers(e){const t=this.mcpManager.getConnectionsForWebview().filter((({status:e,disabled:t})=>"connected"===e&&!t)).map((({name:e,tools:t})=>({serverName:e,tools:t?.map((({name:e,description:t,inputSchema:r})=>({name:e,description:t,inputSchema:r})))})));if(Array.isArray(e)){const r=e;return t.filter((({serverName:e})=>r.includes(e)))}return t}shouldIncludePreviousToolResult(){if(!this.previousRoundtrip)return!1;const e=this.previousRoundtrip.getLatestMessage();return!(!e||!isToolCallMessage(e))&&!0===e.workflow.includeInNextRoundtrip}async createFollowupConversation(e,t){this.logger.logUploader?.logUserAction({category:"zulu",action:"startFollowupConversation"}),this.recreateCancelTokenSource(),e.status=RoundtripStatus.Generating;const r=this.previousRoundtrip?.context.chatParams,n=this.previousRoundtrip.getLatestMessage();if(!r||!n||!isToolCallMessage(n))return this.createConversation(e,t);const{conversationId:i,messageId:o}=r;e.request.replaceUuidWithUserMessageId(String(o)),e.request.updateTraceId(this.previousRoundtrip.request.traceId),e.context.conversationId=i,e.context.taskId=r.analyze?.taskId,this.logger.info("E2EBot start followup roundtrip: "+i);const s={...r,cancelToken:this.cancelTokenSource.token};this.performanceLog("agent-readenv-end"),kernel.logger.info("[Zulu] start followup chat");const a=await n.workflow.getResultForNextRoundtrip(e.request.payload);await this.startChat(e,s,a?[a]:[])}async createConversation(e,t){this.logger.logUploader?.logUserAction({category:"zulu",action:"startConversation"});const r=this.recreateCancelTokenSource();e.status=RoundtripStatus.Analyzing;const n=e.request.payload?.model,i=this.getMcpServers(this.getAgentMcpServers(e));this.performanceLog("agent-start-analyze");const o=await analyze({username:this.repo.username,query:t.query,sessionId:this.id,cancelToken:r.token,conversationId:t?.conversationId,slash:"Composer",taskId:t?.taskId,contexts:[],mcpInfo:i,agentInfo:t.agent,traceId:this.id,modelKey:n?.modelId,extend:{contextMode:n?.mode,requestType:n?.requestType}});this.performanceLog("agent-end-analyze"),e.status=RoundtripStatus.Generating;const{conversationId:s,extend:a,messageId:c}=o;e.request.replaceUuidWithUserMessageId(String(c)),e.request.updateTraceId(o.traceId),e.context.taskId=o?.taskId,this.logger.info("E2EBot start new roundtrip: "+s);const l=await this.virtualEditor.getActiveDocument(),{existed:u,selections:d,absolutePath:p}=l,h=u?relative$2(this.repo.rootPath.replace(/\\/g,"/"),p.replace(/\\/g,"/")):void 0;t.knowledgeList=transformKnowledges(t.knowledgeList,{relativePath:h}),e.context.conversationId=s;const f=transformContexts(t.knowledgeList),m=await transformQuery(t.query,t.knowledgeList,this.mediator),g=await context2CodeChunks(f,l,this.repo.rootPath,this.virtualEditor);kernel.logger.info("[Zulu] start get system info");const y=await this.getSysInfo(),v=await getTraceRepoInfo(l,this.repo.rootPath),b=await getContextsConfigList(),_=this.getAgentInfo(e),E={messageId:c,username:this.repo.username,query:m,contexts:excludeIllegalContexts(f),conversationId:s,codeChunks:g,extend:{...t.extend,...a},analyze:o,sysInfo:y,cancelToken:this.cancelTokenSource.token,paths:[],mcpInfo:i,modelKey:n?.modelId,selfDefineInstruction:t.selfDefineInstruction,...v,..._,agentInfo:ProjectAgent.pickTaskProperties(t.agent,i),subAgents:t.agent.subagents.map((e=>ProjectAgent.pickTaskProperties(e,i))),configContexts:b};this.performanceLog("agent-readenv-end"),kernel.logger.info("[Zulu] start chat "),await this.startChat(e,E)}endConversation(){this.virtualEditor.endConversationEditSession({conversationId:this.id}),this.acceptLogOnEnd("end")}async onEndCheckQuota(e){const{exceeded:t,userActions:r}=await this.quotaService.checkQuota();t&&(this.quotaService.noQuotaNotifyFlag=!0,e.quotaTip(JSON.stringify(r)))}async startChat(e,t,r=[]){try{this.virtualEditor.startConversationEditSession({conversationId:this.id,source:this.type}),await this.recursivelyRegenerate(e,t,r),this.logger.logUploader?.logUserAction({category:"zulu",action:"endConversation"}),this.quotaService.noQuotaNotifyFlag||await this.onEndCheckQuota(e)}catch(e){throw e}finally{this.endConversation()}}async beforeStop(){if(this.cancelTokenSource){this.logger.logUploader?.logUserAction({category:"zulu",action:"cancelConveration"}),this.latestRoundtrip.status===RoundtripStatus.Analyzing&&(this.latestRoundtrip.appendTextResponse("您已主动终止本次会话。",{replace:!0}),this.latestRoundtrip.updateWebviewMessages({forceUpdate:!0})),this.cancelTokenSource.cancel();const e=this.latestRoundtrip.getLatestToolCallMessage();e&&e.workflow.type===WorkflowType.RunCommand&&e.workflow.status===WorkflowStatus.READY&&(e.workflow.cancel(),this.endConversation())}}sanitizeDiffString(e){const t=e=>e.filter((e=>!/@@(.*)@@/.test(e))),r=e.split(/\r?\n/);return r[0].startsWith("---")&&r[1].startsWith("+++")?t(r.slice(2)).join("\n"):t(r).join("\n")}get metrics(){const e=this.latestRoundtrip.request.metrics,t=this.latestRoundtrip.request.payload?.model?.modelId||"Auto",r=this.latestRoundtrip.request.metrics?.path;return{...e,path:r,modelKey:t}}async acceptLogOnEnd(e){if(!this.latestRoundtrip)return;const t=this.latestRoundtrip.updateAcceptSuggestions(this.codeWrittenMetric,this.metrics),r="CODE_EXPLAIN"===this.latestRoundtrip.request.payload.metrics?.function,n=this.latestRoundtrip.request.payload?.query?.trim(),i=this.latestRoundtrip.request.payload.knowledgeList?.map((e=>({id:e.id,name:e.type,type:e.type}))),o=this.latestRoundtrip.toolCallMessages.map((e=>({tool:e.workflow.type,params:e.workflow.type===WorkflowType.McpTool?{serverName:e.workflow.params.server_name,tools:e.workflow.params.tool_name}:{}}))),s=this.latestRoundtrip.textMessages.map((e=>e.content)).join("\n\n");if(r||t.length){if("end"===e){const e=await this.generateMessageId(this.metrics,t,n,s,i,o);this.logger.info("[Zulu] Roundtrip completed: uuid=",e),this.latestRoundtrip.reportedId=e}this.logger.info("[Zulu] Track roundtrip completed: reportedId=",this.latestRoundtrip.reportedId),this.acceptLog(this.metrics,this.latestRoundtrip.reportedId,t,!r)}this.onAcceptLog(t,e)}async onFileAcceptedChange(e,t,r){if(!this.latestRoundtrip)return;const n=this.latestRoundtrip.updateSuggestionsByPath(relative$2(this.repo.rootPath,e),t,r);return n.length&&(this.logger.info("[Zulu] Track file accepted: reportedId=",this.latestRoundtrip.reportedId),this.acceptLog(this.metrics,this.latestRoundtrip.reportedId,n)),this.onAcceptLog(n,"action"),n}acceptCodeBlock(e){if(!this.latestRoundtrip)return;const t=this.latestRoundtrip.updateCodeBlockSuggestion(e);t.length&&(this.logger.info("[Zulu] update code block acceptance"),this.acceptLog(this.metrics,this.latestRoundtrip.reportedId,t))}async acceptLog(e,t,r,n=!0){if(!t)return;const i={fileContent:r};await acceptCode({uuid:t,accepted:n,content:"",multiSuggestions:i})}async handleNewMessage(e){switch(e.action){case"execute-shell":{const{output:t}=await this.virtualEditor.executeTerminalShell({cmd:e.shell,cwd:this.repo.rootPath,duration:5e3,run:!0});if(e.id!==this.latestRoundtrip?.uuid)return;const r=extractLocalhostAddressFromOutput(t);if(r)try{const{port:t}=new URL(r);if(await isPortAvailable$1(Number(t))){const t=this.latestRoundtrip.getTextMessage(e.elementId);t?.composer.updatePreview(r)}}catch(e){this.logger.error("execute-shell failed, reason:",e)}break}case"insert-shell":await this.virtualEditor.executeTerminalShell({cmd:e.shell,cwd:this.repo.rootPath,duration:5e3,run:!1}),this.acceptCodeBlock(e.shell);break;case"copy-code":this.acceptCodeBlock(e.content);break;case"file-view":{if(this.specEditor.isSpec){await this.specEditor.openSpecEditor(e.elementId,this.status);break}const t=this.roundtrips.reduce(((t,r)=>{if(t)return t;return r.getTextMessage(e.elementId)||r.getToolCallMessage(e.elementId)?r:null}),null);if(!t)return;const r=this.roundtrips.at(-1)===t,n=t.getComposerTasks().filter(equalFilePathOrUniqKey(e.filePath)),i={stream:!1,elementId:e.elementId};if(1===n.length){const e=n[0];if(r){const{content:t}=await this.virtualEditor.getDocument({absolutePath:e.absolutePath});await e.openDiff({...i,content:e.originalContent||"",modified:t,acceptable:!0})}else await e.openDiff({stream:!1,content:e.originalContent||"",modified:e.content,acceptable:!1})}else if(n.length>1){const e=n[n.length-1],t=n[0].originalContent||"";if(r){const{content:r}=await this.virtualEditor.getDocument({absolutePath:e.absolutePath});await e.openDiff({...i,acceptable:!0,content:t,modified:r})}else{const r=n[n.length-1].content;await e.openDiff({stream:!1,acceptable:!1,content:t,modified:r})}}break}case"file-accept":{const t=this.latestRoundtrip.getComposerTasks()?.filter(equalFilePathOrUniqKey(e.filePath))||[];for(const e of t)await e.save();const r={filePath:e.filePath,modifiedContent:t.at(-1)?.content||"",originalContent:t[0].originalContent||""};this.codeWrittenMetric.agentEdit([r]),this.onFileAcceptedChange(e.filePath,AcceptState.ACCEPT);break}case"file-reject":{const t=this.latestRoundtrip.getComposerTasks()?.filter(equalFilePathOrUniqKey(e.filePath))||[];for(const e of t.reverse())await e.revert();const r={filePath:e.filePath,modifiedContent:t[0].originalContent||"",originalContent:t.at(-1)?.content||""};this.codeWrittenMetric.userEdit([r]),this.onFileAcceptedChange(e.filePath,AcceptState.REJECT);break}case"file-accept-block":{const t=this.latestRoundtrip.getComposerTasks()?.find(equalFilePathOrUniqKey(e.filePath));t?.accept();break}case"file-reject-block":{const t=this.latestRoundtrip.getComposerTasks()?.find(equalFilePathOrUniqKey(e.filePath));if(t&&"edit"===e.source){if(!e.acceptance)return void t.reject();const r=await this.onFileAcceptedChange(e.filePath,AcceptState.REJECT,e.acceptance);if(r){const n=r.find((t=>isFilePathEqual(relative$2(this.repo.rootPath,e.filePath),t.path)));(!1===e.accepted||n&&!n.accepted)&&t.reject()}}break}case"tool-call-accept":{const t=this.getToolMessage(e.elementId);t?.workflow.acceptToRunWorkflow();break}case"tool-call-reject":{const t=this.getToolMessage(e.elementId);t?.workflow.rejectToRunWorkflow();break}case"tool-call-action":{const t=this.getToolMessage(e.elementId);t?.workflow.executeCustomAction(e.params);break}case"file-accept-all":{const e=this.latestRoundtrip?.getComposerTasks()||[],t={};for(const r of e)r.completed&&(t[r.key]={originalContent:t[r.key]?.originalContent||r.originalContent||"",modifiedContent:r.content},await r.save({openDocument:!1}));this.codeWrittenMetric.agentEdit(Object.entries(t).map((([e,t])=>({filePath:e,...t})))),this.acceptLogOnEnd("action");break}case"file-reject-all":{const e=this.latestRoundtrip?.getComposerTasks()||[],t={};for(const r of e.reverse())r.completed&&(t[r.key]={originalContent:t[r.key]?.originalContent||r.content||"",modifiedContent:r.originalContent||""},await r.revert({openDocument:!1}));this.codeWrittenMetric.userEdit(Object.entries(t).map((([e,t])=>({filePath:e,...t})))),this.acceptLogOnEnd("action");break}case"regenerate-chat":{const e=this.latestRoundtrip;e&&super.startNewWork(e.request.payload);break}case"inquire-rollback-message":return(await this.getRollbackSummary(e.uuid)).map((e=>_$G.omit(e,"changes")));case"rollback-message":{const t=await this.executeRollback(e.uuid,e.selectedAbsolutePaths);return this.specEditor.rollback(),t}}}rebuildConversation(e){this.rebuildRoundtrips(e.messages),this.status=this.deriveConversationStatus(),this.specEditor.rebuild()}async recursivelyRegenerate(e,t,r,n,i){kernel.logger.info("[Zulu] start collect chat params");const o=await this.updateDynamicChatParams(e,t,r);if(!e.inProgress)return{content:"",taskId:0,sessionId:0,agentInfo:{}};kernel.logger.info("[Zulu] request chat response");try{const{sessionId:r,taskId:s,content:a,agentInfo:c}=await this.doRequestAndParseResponse(e,o,n,i);n||this.rememberSessionId(e,r);const{nextRequestResults:l,nextRoundtripResults:u}=await this.processNewAddedMessages(e,t),d=t.analyze.needMock,p="cancelled"===e.status,h={...t,taskInfo:void 0};return h.sessionId=h.sessionId||r,h.taskId=h.taskId||s,h.agentInfo=c,u.length>0&&(e.context.chatParams=_$G.omit(h,["cancelToken"])),!d&&!p&&l.length>0?this.recursivelyRegenerate(e,h,l,n):{sessionId:r,taskId:s,agentInfo:c,content:a}}catch(t){if(t instanceof ExceptionAbortedError){if(i)throw this.reportMessageRetryStatus(!1),t;const r=await this.recursivelyRegenerate(e,t.chatParams,t.chatParams.toolUseResults,n,t.retryMessageId);return this.reportMessageRetryStatus(!0),r}throw t}}performanceLog(e){if(this.firstTokenStartTime){const t=performance.now()-this.firstTokenStartTime;this.logger.logUploader?.performanceLog({plugin:this.metrics.modelKey,skill:this.metrics.function,duration:t,type:e}),this.logger.info(`[Performance] ${e} take ${t} ms`),"agent-first-token"===e&&(this.firstTokenStartTime=0)}}async doRequestAndParseResponse(e,t,r,n){this.performanceLog("agent-start-stream");const i=await chat({...t,extend:{...t.extend,retryMessageId:n}});let o="",s=0,a=0,c={};for await(const n of throttleAsyncIterator(i)){for(const i of n){if(a=i.taskId,c=i.agentInfo,this.performanceLog("agent-first-token"),i.sessionId&&!s&&(s=i.sessionId),i.taskId&&!a&&(a=i.taskId),"NOTIFICATION"===i.content.type){await e.appendNotificationResponse(i.content);continue}Array.isArray(i.content.uriMetas)&&await e.updateWebSearchResult(i.content.uriMetas),i.content.detail.planDelta&&await e.appendTodoResponse(i.messageId,i.content.detail.planDelta,!!i.content.detail.planEnd,r);const{type:n,detail:l,end:u}=i.content,{reasoningDelta:d="",reasoningEnd:p}=i.content.detail;if(await e.appendReasonResponse(i.messageId,d,p,r),"ANSWER"===n){const t=l.delta??"";o+=t,e.appendTextResponse(t,void 0,r);continue}const h=l.toolUse??[];for(const o of h){const{input:s,...a}=o,c={mcpManager:this.mcpManager,previewProxyServerManager:this.previewProxyServerManager,parentMessageId:r,specEditor:this.specEditor,requestInfo:{contexts:t.contexts,sessionId:t.sessionId,messageId:i.messageId,conversationId:i.conversationId}};await e.appendToolCallResponse({eventType:n.replace("FUNCTION_CALL","TOOL_CALL"),params:s,...a},c)}if(!0===u){o="";break}}e.updateWebviewMessages()}return{sessionId:s,taskId:a,agentInfo:c,content:o}}async processNewAddedMessages(e,t){const r=this.aggregateRelativeFilePathsFromContext(t.codeChunks),n=t.analyze.needMock,i=[],o=[],s=e.resolveNewAddedMessages();for(const a of s){if(isTextMessage(a)&&r.length>0)a.content=await replacePathTextInMarkdown(a.content,r);else if(isToolCallMessage(a)){if(a.workflow instanceof SubAgentWorkflow&&!n){const r=a.workflow.getSubAgentParams(),n=this.getMcpServers(this.getAgentMcpServers(e,r.subagent)),i={...t,sessionId:void 0,taskId:void 0,taskInfo:r,mcpInfo:n};try{const t=await this.recursivelyRegenerate(e,i,[],a.uuid);a.workflow.setResult(t)}catch(e){a.workflow.fail({sessionId:t.sessionId})}}await a.workflow.workflowPromise,a.workflow.result&&(a.workflow.includeInNextRoundtrip?o.push(a.workflow.result):a.workflow.includeInNextRequest&&i.push(a.workflow.result)),e.updateWebviewMessages()}a.end()}return{nextRequestResults:i,nextRoundtripResults:o}}async collectAllModifiedFiles(e){const t=new Map;for(const r of this.roundtrips){const n=r.getComposerTasks();for(const r of n){const n=r.absolutePath;if(e&&!e(n))continue;const i=r.originalContent||"";let o=r.content;if(!o){o=(await this.virtualEditor.getDocument({absolutePath:n})).content??""}const s=t.get(n);s?t.set(n,{absolutePath:n,source:s.source,content:o}):t.set(n,{absolutePath:n,source:i,content:o})}}return Array.from(t.values())}reportMessageRetryStatus(e){this.logger.logUploader?.logUserAction({category:"zulu",action:"retryAbortedMessage",label:e?"success":"failed"})}aggregateRelativeFilePathsFromContext(e){const t=this.latestRoundtrip;if(!t)return[];const r=new Set;for(const t of e)t.path&&t.path.length>=3&&r.add(t.path);for(const e of t.toolCallMessages)for(const t of e.workflow.paths)t.length>=3&&r.add(t);return Array.from(r)}aggregateFilePathsFromKnowledgeList(e){const t=new Set;for(const r of e)[ContextType.FILE,ContextType.CURRENT_FILE].includes(r.type)&&r.id&&t.add(r.id);const r=this.getConversationToolCallMessages();for(const e of r)for(const r of e.workflow.paths)t.add(r);return Array.from(t)}computeRecrusiveToolUse(e,t){if(t.length>0){const r=e.toolCallMessages,n=r[r.length-1],i=n?.workflow.type,o=[WorkflowType.ReadFile,WorkflowType.WriteFile,WorkflowType.ExtractContentBlocks,WorkflowType.PatchFile,WorkflowType.SearchFiles,WorkflowType.ListFiles,WorkflowType.RunCommand];if(r.length>2&&o.includes(i)){const r=[...e.toolCallMessages].reverse(),i=r.findIndex((e=>e.workflow.status!==WorkflowStatus.FAILED)),o=i>2?i:r.findIndex((e=>!n.workflow.isEqual(e.workflow))),s=-1===o?r.length:o;if(s>2){const e=r.slice(0,s).map((e=>({params:e.workflow.params,status:e.workflow.status===WorkflowStatus.SUCCESS})));return[{...t[0],prevToolUse:e},...t.slice(1)]}}}return t}async updateDynamicChatParams(e,t,r){kernel.logger.info("[Zulu] start collect command info");const n=e.toolCallMessages[e.toolCallMessages.length-1];let i=t.sysInfo.notInstalledCommands,o=t.sysInfo.installedCommands;if(!o||!i||n?.workflow.type===WorkflowType.RunCommand){const e=await filterSupportedCommand(COMMON_COMMANDS);i=e.notInstalledCommands,o=e.installedCommands}kernel.logger.info("[Zulu] start collect rule info");const s=e.request.payload?.knowledgeList??[],{ruleContent:a,ruleCodeBlocks:c}=await this.getAppliedWorkspaceRules(s);kernel.logger.info("[Zulu] start collect share memory info");const l=await this.getShareMemory(),u=isInternal()?await getRepoNamePriortrizeICode(kernel.env.workspaceInfo.rootPath):void 0;return{...t,toolUseResults:this.computeRecrusiveToolUse(e,r),sysInfo:{...t.sysInfo,notInstalledCommands:i,installedCommands:o},cancelToken:this.cancelTokenSource.token,codeChunks:[...t.codeChunks,...c],customRules:a,shareMemory:l,repoName:u}}async getSysInfo(){const e=getBaseSysInfo(),t=kernel.env.ideTerminalInfo?.defaultShell,[r,n,{installedCommands:i,notInstalledCommands:o}]=await Promise.all([streamingListEntries(this.repo.rootPath),getShellWithVersion(t??e.defaultShell),filterSupportedCommand(COMMON_COMMANDS)]);return{...e,installedCommands:i,notInstalledCommands:o,workspaceDirTree:r.tree,workspacePath:this.repo.rootPath,defaultShell:n}}async getAppliedWorkspaceRules(e){if(!this.repo.rootPath)return{ruleContent:"",ruleCodeBlocks:[]};const t=await getWorkspaceRules(this.repo.rootPath,this.virtualEditor),r=this.aggregateFilePathsFromKnowledgeList(e),n=t.filter((e=>filterActiveRule(e,r))).map(formatRuleWithCodeBlock).join("\n\n"),i=[],o=e.filter((e=>e.type===ContextType.RULE));for(const e of o){const r=t.find((t=>isFilePathEqual(t.path,e.id)));if(!r)continue;const n=formatRuleWithCodeBlock(r);i.push(new RuleCodeChunk(this.repo.rootPath,e.id,n))}return{ruleContent:n,ruleCodeBlocks:i}}getAgentInfo(e){const t=e.request.payload.agent,r=t?.agentId;if(!this.previousRoundtrip)return{agentId:r,sessionId:void 0};const n=this.previousRoundtrip.request.payload.agent;return n&&n.agentId===r?{agentId:r,sessionId:this.previousRoundtrip.context.sessionId}:{agentId:r,sessionId:void 0}}rememberSessionId(e,t){!e.context.sessionId&&t&&(e.context.sessionId=t)}async getShareMemory(){try{return await getAgentShareMemory(this.id,this.virtualEditor)}catch(e){return void this.logger.error("Failed to get agent share memory:",e)}}getAgentMcpServers(e,t){const r=e.request.payload.agent;if(r){if(t){const e=r.subagents?.find((e=>e.agentName===t));return e?e.mcpInfos:[]}return r.mcpInfos}}beforeStartWork(e){this.specEditor.beforeStartWork()}afterStartWork(){this.specEditor.afterStartWork()}afterGenerateQuerySummary(e,t){this.specEditor.afterGenerateQuerySummary(e,t)}onAcceptLog(e,t){}}const{isEmpty:isEmpty$1}=_$G,getQuery=e=>e.customPrompt?e.customPrompt:`请帮我分析终端的报错日志,并提供解决方案。只解决第一个报错\n${e.code??""}`;class DebugBotConversation extends E2EBotConversation{codeWrittenMetrics;type=AgentConversationType.DebugBotConversation;sendCustomEventToIde;constructor(e,t,r,n,i){super(e,t,n,i),this.codeWrittenMetrics=i,this.sendCustomEventToIde=r}async startWork(e){if(1===this.roundtrips.length)await this.startDebugConversation(e);else if(2===this.roundtrips.length){const t=await this.injectExtendParamsIfPreviousMessageExisted(e.request.payload);await this.createConversation(e,t)}else{const t=await this.injectExtendParamsIfPreviousMessageExisted(e.request.payload);await this.createConversation(e,t)}this.endConversation()}async afterStop(){this.latestRoundtrip.reportedId&&this.reportConversationStatusChange("ABORT")}async startDebugConversation(e){const t=e.request.payload,r=await this.analyze(e.uuid,t);e.appendTextResponse(r?.errorReason??"");const n=await this.searchCode(r),i=await this.buildParams(e.uuid,t,r,n);e.status=RoundtripStatus.Generating,await this.recursivelyChat(e,i,[])}async analyze(e,t){const{platform:r,cwd:n,contexts:i}=t;return await agenticAnalyze({userDetail:{...this.userDetail,username:this.repo.username},conversationId:this.id,taskId:e,query:getQuery(t),cwd:n,platform:r,contexts:"object"==typeof i?JSON.stringify(i):i})}async searchCode(e){return e&&!isEmpty$1(e.context)?await this.sendIdeAction("search",e.context):{}}async buildParams(e,t,r,n){const[i]=await listFiles(this.repo.rootPath,this.repo.rootPath,!0,200),o={...getBaseSysInfo(),workspaceFolder:this.repo.rootPath,workspaceFolderTrees:i.map((e=>"folder"===e.type?`${e.path}/`:e.path))};return{userDetail:{...this.userDetail,username:this.repo.username},query:getQuery(t),taskId:e,context:{...n,sysInfo:o},device:this.userDetail.device,recordId:r?.recordId,conversationId:this.id,queryType:r?.queryType,toolUseResults:[],type:"NORMAL"}}async recursivelyChat(e,t,r){try{this.virtualEditor.startConversationEditSession({conversationId:this.id,source:this.type}),await this.doRecursivelyChat(e,t,r),this.virtualEditor.endConversationEditSession({conversationId:this.id})}catch(e){throw this.virtualEditor.endConversationEditSession({conversationId:this.id}),e}}async doRecursivelyChat(e,t,r){const n=await agenticAutoDebugFix({...t,toolUseResults:r});let i="";const o=new SSEProcessor(n).processSSE();for await(const t of throttleAsyncIterator(o,200)){for(const r of t){!i&&r.requestId&&(i=r.requestId);const{data:t,code:n,message:o}=r;if(200!==n)throw new Error(o);if(t){if((t.content||t.result)&&e.appendTextResponse(t.content||t.result),Array.isArray(t.toolUse))for(const r of t.toolUse)await e.appendToolCallResponse(r);if(t.isEnd)break}}e.updateWebviewMessages()}const s=await this.getNewWorkflowResults(e);if(s.length>0){const r={...t,query:"",context:void 0,type:"NORMAL"};await this.doRecursivelyChat(e,r,s)}}async getNewWorkflowResults(e){const t=e.resolveNewAddedMessages(),r=t.filter(isToolCallMessage),n=await Promise.all(r.map((async t=>{const r=t.workflow;return await r.workflowPromise,e.updateWebviewMessages(),r.includeInNextRequest?r.result:null})));return t.forEach((e=>e.end())),"cancelled"===e.status?[]:n.filter((e=>null!==e))}sendIdeAction=(e,t)=>this.sendCustomEventToIde(AGENT_DEBUG_CUSTOM_ACTION,{action:e,data:t});onAcceptLog(e,t){this.latestRoundtrip&&this.latestRoundtrip.reportedId&&("end"===t?this.onCodeGenerated(this.latestRoundtrip.reportedId,e):"action"===t&&this.onCodeAccepted(e))}onCodeAccepted(e){const t=e.filter((e=>!0===e.accepted)).map((e=>e.generatedContent)).join("\n");codeAdopt({userDetail:{...this.userDetail,username:this.repo.username},conversationId:this.id,adoptedCode:t})}onCodeGenerated(e,t){const r=t.map((e=>e.generatedContent)).join("\n");codeGenerate({userDetail:{...this.userDetail,username:this.repo.username},uuid:e,generatedCode:r,conversationId:this.id})}reportConversationStatusChange(e){taskStatus({userDetail:{...this.userDetail,username:this.repo.username},conversationId:this.id,status:e})}}const subprocessMap=new Map;function killSubprocess(e){if(e&&subprocessMap.has(e)){const t=subprocessMap.get(e);return t.kill("SIGINT"),t}}const MIN_DETECOT_SIZE=100;class LongString{chunkSlice=[];get content(){return this.chunkSlice.join("")}is=e=>{const t=(()=>{try{return JsonRPC.findJsonRPC(e).parse().getParams()}catch(e){return null}})();return e.length>MIN_DETECOT_SIZE&&!t&&!JsonRPC.isMoreContent(e)};add(e){this.chunkSlice.push(e)}reset(){this.chunkSlice.length=0}size(){return this.chunkSlice.length}isInProcessing(){return this.size()&&!(()=>{try{return JsonRPC.isRealJson(JsonRPC.findJsonRPC(this.content).getFindedJsonString()??"")}catch{return!1}})()}}const resolveError=e=>{let t="";try{t="win32"===process.platform?"cmd":execSync("echo $0").toString().trim()}catch(e){t="unknown"}if("cmd"===t){if(e.includes("不是内部或外部命令")||e.includes("Not Recognized as"))return{code:BultinErrorCode.LaunchError,message:BultinErrorMessage.ENOENT};if(e.includes("拒绝访问")||e.includes("access denied"))return{code:BultinErrorCode.LaunchError,message:BultinErrorMessage.EACCES}}else if("/bin/sh"===t){if(e.includes("No such file or directory"))return{code:BultinErrorCode.LaunchError,message:BultinErrorMessage.ENOENT};if(e.includes("Permission denied"))return{code:BultinErrorCode.LaunchError,message:BultinErrorMessage.EACCES}}return{code:BultinErrorCode.UnknownError,message:e}};async function*execCommand(e,t,r,n,i){const{timeoutWait:o,...s}=n||{};let a;const c=spawn$5(t,r,s),l=new LongString;let u=!1,d=null,p=null,h="";for(c.stdout.on("data",(t=>{o&&(clearTimeout(a),a=setTimeout((()=>{killSubprocess(e),p?.(new Error(BultinErrorMessage.Timeout))}),o));const r=t.toString();if(i?.info("[UTAgent] Recive chunk from child process:",r),l.is(r)&&l.add(r),l.isInProcessing())i?.info("[UTAgent] Not all long string");else{h=l.content||r;try{d?.(h)}catch(e){e.code===BultinErrorCode.RunningError&&p?.(e)}finally{l.size()&&l.reset()}}})),c.stderr.on("data",(e=>{u=!0;const t=e.toString();i?.info(`[UTAgent] Error: ${t}`);const r=resolveError(t),n=new Error(r.message);n.code=r.code,p?.(n)})),c.on("close",(async()=>{if(u=!0,await sleep$5(500),l.size()){const e=l.content;l.reset(),d?.(e)}else d?.(h)})),subprocessMap.set(e,c),o&&(a=setTimeout((()=>{killSubprocess(e),p?.(new Error(BultinErrorMessage.Timeout))}),o));!u;){const e=await new Promise(((e,t)=>{d=e,p=t}));yield e}}function buildUTAgentParams(e){const{command:t,...r}=e;return Object.entries({command:t,...r}).map((([e,t])=>"command"===e?`${t}`:1===e.length?`-${e} ${"number"==typeof t?t:`"${t}"`}`:`--${e} ${"number"==typeof t?t:`"${t}"`}`))}function trimChar(e,t){if(!t)return t;const r=new RegExp(`^[${t}]+|[${t}]+$`,"g");return e.replace(r,"")}function mergeEnvPathVariable(e,t){return{...t,PATH:trimChar(""+((t?.PATH??"")+":"+(e.PATH??"")),":")||void 0}}function addAuthority(e,t){return new Promise((r=>{exec$1(`chmod +x ${e}`,((n,i)=>{n&&t?.error(`Add Authority failed in ${e}`,n),r(i)}))}))}async function*generateUnitTestByCommand(e,t,r,n,i){const o=r.resolveResource("UTAgent");if(!o)throw new Error("UTAgent not found");const s=buildUTAgentParams(t),a=join$5(o,"UTAgent"),c=["--logPath",`${os__default$1.tmpdir()}/comate-engine`],l=["--trigger","IDE","--saveCaseStrategy","canRun"],u=mergeEnvPathVariable(process.env,i);n.info(`Running command: ${a} ${s.concat(c,l).join(" ")}`),n.info(`Environment: ${JSON.stringify(u)}`);try{i?.MAVEN&&await addAuthority(`${i.MAVEN}/bin/mvn`,n);const t=await execCommand(e,a,s.concat(c,l),{shell:!0,timeoutWait:15e3,env:i},n);for await(const e of t)yield e}catch(e){const t=e;throw n.error(`Failed to run UT Agent: exit code ${t.code??"-"}, msg: ${t.message??"-"}`),e}}const semver=/^[v^~<>=]*?(\d+)(?:\.([x*]|\d+)(?:\.([x*]|\d+)(?:\.([x*]|\d+))?(?:-([\da-z\-]+(?:\.[\da-z\-]+)*))?(?:\+[\da-z\-]+(?:\.[\da-z\-]+)*)?)?)?$/i,validateAndParse=e=>{if("string"!=typeof e)throw new TypeError("Invalid argument expected string");const t=e.match(semver);if(!t)throw new Error(`Invalid argument not valid semver ('${e}' received)`);return t.shift(),t},isWildcard=e=>"*"===e||"x"===e||"X"===e,tryParse=e=>{const t=parseInt(e,10);return isNaN(t)?e:t},forceType=(e,t)=>typeof e!=typeof t?[String(e),String(t)]:[e,t],compareStrings=(e,t)=>{if(isWildcard(e)||isWildcard(t))return 0;const[r,n]=forceType(tryParse(e),tryParse(t));return r>n?1:r<n?-1:0},compareSegments=(e,t)=>{for(let r=0;r<Math.max(e.length,t.length);r++){const n=compareStrings(e[r]||"0",t[r]||"0");if(0!==n)return n}return 0},compareVersions=(e,t)=>{const r=validateAndParse(e),n=validateAndParse(t),i=r.pop(),o=n.pop(),s=compareSegments(r,n);return 0!==s?s:i&&o?compareSegments(i.split("."),o.split(".")):i||o?i?-1:1:0},compare=(e,t,r)=>{assertValidOperator(r);const n=compareVersions(e,t);return operatorResMap[r].includes(n)},operatorResMap={">":[1],">=":[0,1],"=":[0],"<=":[-1,0],"<":[-1],"!=":[-1,1]},allowedOperators=Object.keys(operatorResMap),assertValidOperator=e=>{if("string"!=typeof e)throw new TypeError("Invalid operator type, expected string but got "+typeof e);if(-1===allowedOperators.indexOf(e))throw new Error(`Invalid operator, expected one of ${allowedOperators.join("|")}`)},satisfies=(e,t)=>{if((t=t.replace(/([><=]+)\s+/g,"$1")).includes("||"))return t.split("||").some((t=>satisfies(e,t)));if(t.includes(" - ")){const[r,n]=t.split(" - ",2);return satisfies(e,`>=${r} <=${n}`)}if(t.includes(" "))return t.trim().replace(/\s{2,}/g," ").split(" ").every((t=>satisfies(e,t)));const r=t.match(/^([<>=~^]+)/),n=r?r[1]:"=";if("^"!==n&&"~"!==n)return compare(e,t,n);const[i,o,s,,a]=validateAndParse(e),[c,l,u,,d]=validateAndParse(t),p=[i,o,s],h=[c,null!=l?l:"x",null!=u?u:"x"];if(d){if(!a)return!1;if(0!==compareSegments(p,h))return!1;if(-1===compareSegments(a.split("."),d.split(".")))return!1}const f=h.findIndex((e=>"0"!==e))+1,m="~"===n?2:f>1?f:1;return 0===compareSegments(p.slice(0,m),h.slice(0,m))&&-1!==compareSegments(p.slice(m),h.slice(m))};var cryptoJs={exports:{}},core$1={exports:{}},hasRequiredCore;function requireCore(){return hasRequiredCore||(hasRequiredCore=1,core$1.exports=(e=e||function(e,t){var r;if("undefined"!=typeof window&&window.crypto&&(r=window.crypto),"undefined"!=typeof self&&self.crypto&&(r=self.crypto),"undefined"!=typeof globalThis&&globalThis.crypto&&(r=globalThis.crypto),!r&&"undefined"!=typeof window&&window.msCrypto&&(r=window.msCrypto),!r&&void 0!==commonjsGlobal&&commonjsGlobal.crypto&&(r=commonjsGlobal.crypto),!r&&"function"==typeof commonjsRequire)try{r=require("crypto")}catch(e){}var n=function(){if(r){if("function"==typeof r.getRandomValues)try{return r.getRandomValues(new Uint32Array(1))[0]}catch(e){}if("function"==typeof r.randomBytes)try{return r.randomBytes(4).readInt32LE()}catch(e){}}throw new Error("Native crypto module could not be used to get secure random number.")},i=Object.create||function(){function e(){}return function(t){var r;return e.prototype=t,r=new e,e.prototype=null,r}}(),o={},s=o.lib={},a=s.Base={extend:function(e){var t=i(this);return e&&t.mixIn(e),t.hasOwnProperty("init")&&this.init!==t.init||(t.init=function(){t.$super.init.apply(this,arguments)}),t.init.prototype=t,t.$super=this,t},create:function(){var e=this.extend();return e.init.apply(e,arguments),e},init:function(){},mixIn:function(e){for(var t in e)e.hasOwnProperty(t)&&(this[t]=e[t]);e.hasOwnProperty("toString")&&(this.toString=e.toString)},clone:function(){return this.init.prototype.extend(this)}},c=s.WordArray=a.extend({init:function(e,r){e=this.words=e||[],this.sigBytes=r!=t?r:4*e.length},toString:function(e){return(e||u).stringify(this)},concat:function(e){var t=this.words,r=e.words,n=this.sigBytes,i=e.sigBytes;if(this.clamp(),n%4)for(var o=0;o<i;o++){var s=r[o>>>2]>>>24-o%4*8&255;t[n+o>>>2]|=s<<24-(n+o)%4*8}else for(var a=0;a<i;a+=4)t[n+a>>>2]=r[a>>>2];return this.sigBytes+=i,this},clamp:function(){var t=this.words,r=this.sigBytes;t[r>>>2]&=4294967295<<32-r%4*8,t.length=e.ceil(r/4)},clone:function(){var e=a.clone.call(this);return e.words=this.words.slice(0),e},random:function(e){for(var t=[],r=0;r<e;r+=4)t.push(n());return new c.init(t,e)}}),l=o.enc={},u=l.Hex={stringify:function(e){for(var t=e.words,r=e.sigBytes,n=[],i=0;i<r;i++){var o=t[i>>>2]>>>24-i%4*8&255;n.push((o>>>4).toString(16)),n.push((15&o).toString(16))}return n.join("")},parse:function(e){for(var t=e.length,r=[],n=0;n<t;n+=2)r[n>>>3]|=parseInt(e.substr(n,2),16)<<24-n%8*4;return new c.init(r,t/2)}},d=l.Latin1={stringify:function(e){for(var t=e.words,r=e.sigBytes,n=[],i=0;i<r;i++){var o=t[i>>>2]>>>24-i%4*8&255;n.push(String.fromCharCode(o))}return n.join("")},parse:function(e){for(var t=e.length,r=[],n=0;n<t;n++)r[n>>>2]|=(255&e.charCodeAt(n))<<24-n%4*8;return new c.init(r,t)}},p=l.Utf8={stringify:function(e){try{return decodeURIComponent(escape(d.stringify(e)))}catch(e){throw new Error("Malformed UTF-8 data")}},parse:function(e){return d.parse(unescape(encodeURIComponent(e)))}},h=s.BufferedBlockAlgorithm=a.extend({reset:function(){this._data=new c.init,this._nDataBytes=0},_append:function(e){"string"==typeof e&&(e=p.parse(e)),this._data.concat(e),this._nDataBytes+=e.sigBytes},_process:function(t){var r,n=this._data,i=n.words,o=n.sigBytes,s=this.blockSize,a=o/(4*s),l=(a=t?e.ceil(a):e.max((0|a)-this._minBufferSize,0))*s,u=e.min(4*l,o);if(l){for(var d=0;d<l;d+=s)this._doProcessBlock(i,d);r=i.splice(0,l),n.sigBytes-=u}return new c.init(r,u)},clone:function(){var e=a.clone.call(this);return e._data=this._data.clone(),e},_minBufferSize:0});s.Hasher=h.extend({cfg:a.extend(),init:function(e){this.cfg=this.cfg.extend(e),this.reset()},reset:function(){h.reset.call(this),this._doReset()},update:function(e){return this._append(e),this._process(),this},finalize:function(e){return e&&this._append(e),this._doFinalize()},blockSize:16,_createHelper:function(e){return function(t,r){return new e.init(r).finalize(t)}},_createHmacHelper:function(e){return function(t,r){return new f.HMAC.init(e,r).finalize(t)}}});var f=o.algo={};return o}(Math),e)),core$1.exports;var e}var x64Core={exports:{}},hasRequiredX64Core;function requireX64Core(){return hasRequiredX64Core||(hasRequiredX64Core=1,x64Core.exports=(e=requireCore(),function(t){var r=e,n=r.lib,i=n.Base,o=n.WordArray,s=r.x64={};s.Word=i.extend({init:function(e,t){this.high=e,this.low=t}}),s.WordArray=i.extend({init:function(e,r){e=this.words=e||[],this.sigBytes=r!=t?r:8*e.length},toX32:function(){for(var e=this.words,t=e.length,r=[],n=0;n<t;n++){var i=e[n];r.push(i.high),r.push(i.low)}return o.create(r,this.sigBytes)},clone:function(){for(var e=i.clone.call(this),t=e.words=this.words.slice(0),r=t.length,n=0;n<r;n++)t[n]=t[n].clone();return e}})}(),e)),x64Core.exports;var e}var libTypedarrays={exports:{}},hasRequiredLibTypedarrays;function requireLibTypedarrays(){return hasRequiredLibTypedarrays||(hasRequiredLibTypedarrays=1,libTypedarrays.exports=(e=requireCore(),function(){if("function"==typeof ArrayBuffer){var t=e.lib.WordArray,r=t.init,n=t.init=function(e){if(e instanceof ArrayBuffer&&(e=new Uint8Array(e)),(e instanceof Int8Array||"undefined"!=typeof Uint8ClampedArray&&e instanceof Uint8ClampedArray||e instanceof Int16Array||e instanceof Uint16Array||e instanceof Int32Array||e instanceof Uint32Array||e instanceof Float32Array||e instanceof Float64Array)&&(e=new Uint8Array(e.buffer,e.byteOffset,e.byteLength)),e instanceof Uint8Array){for(var t=e.byteLength,n=[],i=0;i<t;i++)n[i>>>2]|=e[i]<<24-i%4*8;r.call(this,n,t)}else r.apply(this,arguments)};n.prototype=t}}(),e.lib.WordArray)),libTypedarrays.exports;var e}var encUtf16={exports:{}},hasRequiredEncUtf16;function requireEncUtf16(){return hasRequiredEncUtf16||(hasRequiredEncUtf16=1,encUtf16.exports=(e=requireCore(),function(){var t=e,r=t.lib.WordArray,n=t.enc;function i(e){return e<<8&4278255360|e>>>8&16711935}n.Utf16=n.Utf16BE={stringify:function(e){for(var t=e.words,r=e.sigBytes,n=[],i=0;i<r;i+=2){var o=t[i>>>2]>>>16-i%4*8&65535;n.push(String.fromCharCode(o))}return n.join("")},parse:function(e){for(var t=e.length,n=[],i=0;i<t;i++)n[i>>>1]|=e.charCodeAt(i)<<16-i%2*16;return r.create(n,2*t)}},n.Utf16LE={stringify:function(e){for(var t=e.words,r=e.sigBytes,n=[],o=0;o<r;o+=2){var s=i(t[o>>>2]>>>16-o%4*8&65535);n.push(String.fromCharCode(s))}return n.join("")},parse:function(e){for(var t=e.length,n=[],o=0;o<t;o++)n[o>>>1]|=i(e.charCodeAt(o)<<16-o%2*16);return r.create(n,2*t)}}}(),e.enc.Utf16)),encUtf16.exports;var e}var encBase64={exports:{}},hasRequiredEncBase64;function requireEncBase64(){return hasRequiredEncBase64||(hasRequiredEncBase64=1,encBase64.exports=(e=requireCore(),function(){var t=e,r=t.lib.WordArray;function n(e,t,n){for(var i=[],o=0,s=0;s<t;s++)if(s%4){var a=n[e.charCodeAt(s-1)]<<s%4*2|n[e.charCodeAt(s)]>>>6-s%4*2;i[o>>>2]|=a<<24-o%4*8,o++}return r.create(i,o)}t.enc.Base64={stringify:function(e){var t=e.words,r=e.sigBytes,n=this._map;e.clamp();for(var i=[],o=0;o<r;o+=3)for(var s=(t[o>>>2]>>>24-o%4*8&255)<<16|(t[o+1>>>2]>>>24-(o+1)%4*8&255)<<8|t[o+2>>>2]>>>24-(o+2)%4*8&255,a=0;a<4&&o+.75*a<r;a++)i.push(n.charAt(s>>>6*(3-a)&63));var c=n.charAt(64);if(c)for(;i.length%4;)i.push(c);return i.join("")},parse:function(e){var t=e.length,r=this._map,i=this._reverseMap;if(!i){i=this._reverseMap=[];for(var o=0;o<r.length;o++)i[r.charCodeAt(o)]=o}var s=r.charAt(64);if(s){var a=e.indexOf(s);-1!==a&&(t=a)}return n(e,t,i)},_map:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/="}}(),e.enc.Base64)),encBase64.exports;var e}var encBase64url={exports:{}},hasRequiredEncBase64url;function requireEncBase64url(){return hasRequiredEncBase64url||(hasRequiredEncBase64url=1,encBase64url.exports=(e=requireCore(),function(){var t=e,r=t.lib.WordArray;function n(e,t,n){for(var i=[],o=0,s=0;s<t;s++)if(s%4){var a=n[e.charCodeAt(s-1)]<<s%4*2|n[e.charCodeAt(s)]>>>6-s%4*2;i[o>>>2]|=a<<24-o%4*8,o++}return r.create(i,o)}t.enc.Base64url={stringify:function(e,t){void 0===t&&(t=!0);var r=e.words,n=e.sigBytes,i=t?this._safe_map:this._map;e.clamp();for(var o=[],s=0;s<n;s+=3)for(var a=(r[s>>>2]>>>24-s%4*8&255)<<16|(r[s+1>>>2]>>>24-(s+1)%4*8&255)<<8|r[s+2>>>2]>>>24-(s+2)%4*8&255,c=0;c<4&&s+.75*c<n;c++)o.push(i.charAt(a>>>6*(3-c)&63));var l=i.charAt(64);if(l)for(;o.length%4;)o.push(l);return o.join("")},parse:function(e,t){void 0===t&&(t=!0);var r=e.length,i=t?this._safe_map:this._map,o=this._reverseMap;if(!o){o=this._reverseMap=[];for(var s=0;s<i.length;s++)o[i.charCodeAt(s)]=s}var a=i.charAt(64);if(a){var c=e.indexOf(a);-1!==c&&(r=c)}return n(e,r,o)},_map:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=",_safe_map:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-_"}}(),e.enc.Base64url)),encBase64url.exports;var e}var md5={exports:{}},hasRequiredMd5;function requireMd5(){return hasRequiredMd5||(hasRequiredMd5=1,md5.exports=(e=requireCore(),function(t){var r=e,n=r.lib,i=n.WordArray,o=n.Hasher,s=r.algo,a=[];!function(){for(var e=0;e<64;e++)a[e]=4294967296*t.abs(t.sin(e+1))|0}();var c=s.MD5=o.extend({_doReset:function(){this._hash=new i.init([1732584193,4023233417,2562383102,271733878])},_doProcessBlock:function(e,t){for(var r=0;r<16;r++){var n=t+r,i=e[n];e[n]=16711935&(i<<8|i>>>24)|4278255360&(i<<24|i>>>8)}var o=this._hash.words,s=e[t+0],c=e[t+1],h=e[t+2],f=e[t+3],m=e[t+4],g=e[t+5],y=e[t+6],v=e[t+7],b=e[t+8],_=e[t+9],E=e[t+10],$=e[t+11],w=e[t+12],x=e[t+13],S=e[t+14],T=e[t+15],C=o[0],R=o[1],A=o[2],k=o[3];C=l(C,R,A,k,s,7,a[0]),k=l(k,C,R,A,c,12,a[1]),A=l(A,k,C,R,h,17,a[2]),R=l(R,A,k,C,f,22,a[3]),C=l(C,R,A,k,m,7,a[4]),k=l(k,C,R,A,g,12,a[5]),A=l(A,k,C,R,y,17,a[6]),R=l(R,A,k,C,v,22,a[7]),C=l(C,R,A,k,b,7,a[8]),k=l(k,C,R,A,_,12,a[9]),A=l(A,k,C,R,E,17,a[10]),R=l(R,A,k,C,$,22,a[11]),C=l(C,R,A,k,w,7,a[12]),k=l(k,C,R,A,x,12,a[13]),A=l(A,k,C,R,S,17,a[14]),C=u(C,R=l(R,A,k,C,T,22,a[15]),A,k,c,5,a[16]),k=u(k,C,R,A,y,9,a[17]),A=u(A,k,C,R,$,14,a[18]),R=u(R,A,k,C,s,20,a[19]),C=u(C,R,A,k,g,5,a[20]),k=u(k,C,R,A,E,9,a[21]),A=u(A,k,C,R,T,14,a[22]),R=u(R,A,k,C,m,20,a[23]),C=u(C,R,A,k,_,5,a[24]),k=u(k,C,R,A,S,9,a[25]),A=u(A,k,C,R,f,14,a[26]),R=u(R,A,k,C,b,20,a[27]),C=u(C,R,A,k,x,5,a[28]),k=u(k,C,R,A,h,9,a[29]),A=u(A,k,C,R,v,14,a[30]),C=d(C,R=u(R,A,k,C,w,20,a[31]),A,k,g,4,a[32]),k=d(k,C,R,A,b,11,a[33]),A=d(A,k,C,R,$,16,a[34]),R=d(R,A,k,C,S,23,a[35]),C=d(C,R,A,k,c,4,a[36]),k=d(k,C,R,A,m,11,a[37]),A=d(A,k,C,R,v,16,a[38]),R=d(R,A,k,C,E,23,a[39]),C=d(C,R,A,k,x,4,a[40]),k=d(k,C,R,A,s,11,a[41]),A=d(A,k,C,R,f,16,a[42]),R=d(R,A,k,C,y,23,a[43]),C=d(C,R,A,k,_,4,a[44]),k=d(k,C,R,A,w,11,a[45]),A=d(A,k,C,R,T,16,a[46]),C=p(C,R=d(R,A,k,C,h,23,a[47]),A,k,s,6,a[48]),k=p(k,C,R,A,v,10,a[49]),A=p(A,k,C,R,S,15,a[50]),R=p(R,A,k,C,g,21,a[51]),C=p(C,R,A,k,w,6,a[52]),k=p(k,C,R,A,f,10,a[53]),A=p(A,k,C,R,E,15,a[54]),R=p(R,A,k,C,c,21,a[55]),C=p(C,R,A,k,b,6,a[56]),k=p(k,C,R,A,T,10,a[57]),A=p(A,k,C,R,y,15,a[58]),R=p(R,A,k,C,x,21,a[59]),C=p(C,R,A,k,m,6,a[60]),k=p(k,C,R,A,$,10,a[61]),A=p(A,k,C,R,h,15,a[62]),R=p(R,A,k,C,_,21,a[63]),o[0]=o[0]+C|0,o[1]=o[1]+R|0,o[2]=o[2]+A|0,o[3]=o[3]+k|0},_doFinalize:function(){var e=this._data,r=e.words,n=8*this._nDataBytes,i=8*e.sigBytes;r[i>>>5]|=128<<24-i%32;var o=t.floor(n/4294967296),s=n;r[15+(i+64>>>9<<4)]=16711935&(o<<8|o>>>24)|4278255360&(o<<24|o>>>8),r[14+(i+64>>>9<<4)]=16711935&(s<<8|s>>>24)|4278255360&(s<<24|s>>>8),e.sigBytes=4*(r.length+1),this._process();for(var a=this._hash,c=a.words,l=0;l<4;l++){var u=c[l];c[l]=16711935&(u<<8|u>>>24)|4278255360&(u<<24|u>>>8)}return a},clone:function(){var e=o.clone.call(this);return e._hash=this._hash.clone(),e}});function l(e,t,r,n,i,o,s){var a=e+(t&r|~t&n)+i+s;return(a<<o|a>>>32-o)+t}function u(e,t,r,n,i,o,s){var a=e+(t&n|r&~n)+i+s;return(a<<o|a>>>32-o)+t}function d(e,t,r,n,i,o,s){var a=e+(t^r^n)+i+s;return(a<<o|a>>>32-o)+t}function p(e,t,r,n,i,o,s){var a=e+(r^(t|~n))+i+s;return(a<<o|a>>>32-o)+t}r.MD5=o._createHelper(c),r.HmacMD5=o._createHmacHelper(c)}(Math),e.MD5)),md5.exports;var e}var sha1={exports:{}},hasRequiredSha1;function requireSha1(){return hasRequiredSha1||(hasRequiredSha1=1,sha1.exports=(e=requireCore(),function(){var t=e,r=t.lib,n=r.WordArray,i=r.Hasher,o=t.algo,s=[],a=o.SHA1=i.extend({_doReset:function(){this._hash=new n.init([1732584193,4023233417,2562383102,271733878,3285377520])},_doProcessBlock:function(e,t){for(var r=this._hash.words,n=r[0],i=r[1],o=r[2],a=r[3],c=r[4],l=0;l<80;l++){if(l<16)s[l]=0|e[t+l];else{var u=s[l-3]^s[l-8]^s[l-14]^s[l-16];s[l]=u<<1|u>>>31}var d=(n<<5|n>>>27)+c+s[l];d+=l<20?1518500249+(i&o|~i&a):l<40?1859775393+(i^o^a):l<60?(i&o|i&a|o&a)-1894007588:(i^o^a)-899497514,c=a,a=o,o=i<<30|i>>>2,i=n,n=d}r[0]=r[0]+n|0,r[1]=r[1]+i|0,r[2]=r[2]+o|0,r[3]=r[3]+a|0,r[4]=r[4]+c|0},_doFinalize:function(){var e=this._data,t=e.words,r=8*this._nDataBytes,n=8*e.sigBytes;return t[n>>>5]|=128<<24-n%32,t[14+(n+64>>>9<<4)]=Math.floor(r/4294967296),t[15+(n+64>>>9<<4)]=r,e.sigBytes=4*t.length,this._process(),this._hash},clone:function(){var e=i.clone.call(this);return e._hash=this._hash.clone(),e}});t.SHA1=i._createHelper(a),t.HmacSHA1=i._createHmacHelper(a)}(),e.SHA1)),sha1.exports;var e}var sha256={exports:{}},hasRequiredSha256;function requireSha256(){return hasRequiredSha256||(hasRequiredSha256=1,sha256.exports=(e=requireCore(),function(t){var r=e,n=r.lib,i=n.WordArray,o=n.Hasher,s=r.algo,a=[],c=[];!function(){function e(e){for(var r=t.sqrt(e),n=2;n<=r;n++)if(!(e%n))return!1;return!0}function r(e){return 4294967296*(e-(0|e))|0}for(var n=2,i=0;i<64;)e(n)&&(i<8&&(a[i]=r(t.pow(n,.5))),c[i]=r(t.pow(n,1/3)),i++),n++}();var l=[],u=s.SHA256=o.extend({_doReset:function(){this._hash=new i.init(a.slice(0))},_doProcessBlock:function(e,t){for(var r=this._hash.words,n=r[0],i=r[1],o=r[2],s=r[3],a=r[4],u=r[5],d=r[6],p=r[7],h=0;h<64;h++){if(h<16)l[h]=0|e[t+h];else{var f=l[h-15],m=(f<<25|f>>>7)^(f<<14|f>>>18)^f>>>3,g=l[h-2],y=(g<<15|g>>>17)^(g<<13|g>>>19)^g>>>10;l[h]=m+l[h-7]+y+l[h-16]}var v=n&i^n&o^i&o,b=(n<<30|n>>>2)^(n<<19|n>>>13)^(n<<10|n>>>22),_=p+((a<<26|a>>>6)^(a<<21|a>>>11)^(a<<7|a>>>25))+(a&u^~a&d)+c[h]+l[h];p=d,d=u,u=a,a=s+_|0,s=o,o=i,i=n,n=_+(b+v)|0}r[0]=r[0]+n|0,r[1]=r[1]+i|0,r[2]=r[2]+o|0,r[3]=r[3]+s|0,r[4]=r[4]+a|0,r[5]=r[5]+u|0,r[6]=r[6]+d|0,r[7]=r[7]+p|0},_doFinalize:function(){var e=this._data,r=e.words,n=8*this._nDataBytes,i=8*e.sigBytes;return r[i>>>5]|=128<<24-i%32,r[14+(i+64>>>9<<4)]=t.floor(n/4294967296),r[15+(i+64>>>9<<4)]=n,e.sigBytes=4*r.length,this._process(),this._hash},clone:function(){var e=o.clone.call(this);return e._hash=this._hash.clone(),e}});r.SHA256=o._createHelper(u),r.HmacSHA256=o._createHmacHelper(u)}(Math),e.SHA256)),sha256.exports;var e}var sha224={exports:{}},hasRequiredSha224;function requireSha224(){return hasRequiredSha224||(hasRequiredSha224=1,sha224.exports=(o=requireCore(),requireSha256(),t=(e=o).lib.WordArray,r=e.algo,n=r.SHA256,i=r.SHA224=n.extend({_doReset:function(){this._hash=new t.init([3238371032,914150663,812702999,4144912697,4290775857,1750603025,1694076839,3204075428])},_doFinalize:function(){var e=n._doFinalize.call(this);return e.sigBytes-=4,e}}),e.SHA224=n._createHelper(i),e.HmacSHA224=n._createHmacHelper(i),o.SHA224)),sha224.exports;var e,t,r,n,i,o}var sha512={exports:{}},hasRequiredSha512;function requireSha512(){return hasRequiredSha512||(hasRequiredSha512=1,sha512.exports=(e=requireCore(),requireX64Core(),function(){var t=e,r=t.lib.Hasher,n=t.x64,i=n.Word,o=n.WordArray,s=t.algo;function a(){return i.create.apply(i,arguments)}var c=[a(1116352408,3609767458),a(1899447441,602891725),a(3049323471,3964484399),a(3921009573,2173295548),a(961987163,4081628472),a(1508970993,3053834265),a(2453635748,2937671579),a(2870763221,3664609560),a(3624381080,2734883394),a(310598401,1164996542),a(607225278,1323610764),a(1426881987,3590304994),a(1925078388,4068182383),a(2162078206,991336113),a(2614888103,633803317),a(3248222580,3479774868),a(3835390401,2666613458),a(4022224774,944711139),a(264347078,2341262773),a(604807628,2007800933),a(770255983,1495990901),a(1249150122,1856431235),a(1555081692,3175218132),a(1996064986,2198950837),a(2554220882,3999719339),a(2821834349,766784016),a(2952996808,2566594879),a(3210313671,3203337956),a(3336571891,1034457026),a(3584528711,2466948901),a(113926993,3758326383),a(338241895,168717936),a(666307205,1188179964),a(773529912,1546045734),a(1294757372,1522805485),a(1396182291,2643833823),a(1695183700,2343527390),a(1986661051,1014477480),a(2177026350,1206759142),a(2456956037,344077627),a(2730485921,1290863460),a(2820302411,3158454273),a(3259730800,3505952657),a(3345764771,106217008),a(3516065817,3606008344),a(3600352804,1432725776),a(4094571909,1467031594),a(275423344,851169720),a(430227734,3100823752),a(506948616,1363258195),a(659060556,3750685593),a(883997877,3785050280),a(958139571,3318307427),a(1322822218,3812723403),a(1537002063,2003034995),a(1747873779,3602036899),a(1955562222,1575990012),a(2024104815,1125592928),a(2227730452,2716904306),a(2361852424,442776044),a(2428436474,593698344),a(2756734187,3733110249),a(3204031479,2999351573),a(3329325298,3815920427),a(3391569614,3928383900),a(3515267271,566280711),a(3940187606,3454069534),a(4118630271,4000239992),a(116418474,1914138554),a(174292421,2731055270),a(289380356,3203993006),a(460393269,320620315),a(685471733,587496836),a(852142971,1086792851),a(1017036298,365543100),a(1126000580,2618297676),a(1288033470,3409855158),a(1501505948,4234509866),a(1607167915,987167468),a(1816402316,1246189591)],l=[];!function(){for(var e=0;e<80;e++)l[e]=a()}();var u=s.SHA512=r.extend({_doReset:function(){this._hash=new o.init([new i.init(1779033703,4089235720),new i.init(3144134277,2227873595),new i.init(1013904242,4271175723),new i.init(2773480762,1595750129),new i.init(1359893119,2917565137),new i.init(2600822924,725511199),new i.init(528734635,4215389547),new i.init(1541459225,327033209)])},_doProcessBlock:function(e,t){for(var r=this._hash.words,n=r[0],i=r[1],o=r[2],s=r[3],a=r[4],u=r[5],d=r[6],p=r[7],h=n.high,f=n.low,m=i.high,g=i.low,y=o.high,v=o.low,b=s.high,_=s.low,E=a.high,$=a.low,w=u.high,x=u.low,S=d.high,T=d.low,C=p.high,R=p.low,A=h,k=f,D=m,P=g,O=y,I=v,N=b,F=_,L=E,M=$,U=w,B=x,j=S,q=T,W=C,H=R,z=0;z<80;z++){var G,X,V=l[z];if(z<16)X=V.high=0|e[t+2*z],G=V.low=0|e[t+2*z+1];else{var K=l[z-15],Z=K.high,Y=K.low,Q=(Z>>>1|Y<<31)^(Z>>>8|Y<<24)^Z>>>7,J=(Y>>>1|Z<<31)^(Y>>>8|Z<<24)^(Y>>>7|Z<<25),ee=l[z-2],te=ee.high,re=ee.low,ne=(te>>>19|re<<13)^(te<<3|re>>>29)^te>>>6,ie=(re>>>19|te<<13)^(re<<3|te>>>29)^(re>>>6|te<<26),oe=l[z-7],se=oe.high,ae=oe.low,ce=l[z-16],le=ce.high,ue=ce.low;X=(X=(X=Q+se+((G=J+ae)>>>0<J>>>0?1:0))+ne+((G+=ie)>>>0<ie>>>0?1:0))+le+((G+=ue)>>>0<ue>>>0?1:0),V.high=X,V.low=G}var de,pe=L&U^~L&j,he=M&B^~M&q,fe=A&D^A&O^D&O,me=k&P^k&I^P&I,ge=(A>>>28|k<<4)^(A<<30|k>>>2)^(A<<25|k>>>7),ye=(k>>>28|A<<4)^(k<<30|A>>>2)^(k<<25|A>>>7),ve=(L>>>14|M<<18)^(L>>>18|M<<14)^(L<<23|M>>>9),be=(M>>>14|L<<18)^(M>>>18|L<<14)^(M<<23|L>>>9),_e=c[z],Ee=_e.high,$e=_e.low,we=W+ve+((de=H+be)>>>0<H>>>0?1:0),xe=ye+me;W=j,H=q,j=U,q=B,U=L,B=M,L=N+(we=(we=(we=we+pe+((de+=he)>>>0<he>>>0?1:0))+Ee+((de+=$e)>>>0<$e>>>0?1:0))+X+((de+=G)>>>0<G>>>0?1:0))+((M=F+de|0)>>>0<F>>>0?1:0)|0,N=O,F=I,O=D,I=P,D=A,P=k,A=we+(ge+fe+(xe>>>0<ye>>>0?1:0))+((k=de+xe|0)>>>0<de>>>0?1:0)|0}f=n.low=f+k,n.high=h+A+(f>>>0<k>>>0?1:0),g=i.low=g+P,i.high=m+D+(g>>>0<P>>>0?1:0),v=o.low=v+I,o.high=y+O+(v>>>0<I>>>0?1:0),_=s.low=_+F,s.high=b+N+(_>>>0<F>>>0?1:0),$=a.low=$+M,a.high=E+L+($>>>0<M>>>0?1:0),x=u.low=x+B,u.high=w+U+(x>>>0<B>>>0?1:0),T=d.low=T+q,d.high=S+j+(T>>>0<q>>>0?1:0),R=p.low=R+H,p.high=C+W+(R>>>0<H>>>0?1:0)},_doFinalize:function(){var e=this._data,t=e.words,r=8*this._nDataBytes,n=8*e.sigBytes;return t[n>>>5]|=128<<24-n%32,t[30+(n+128>>>10<<5)]=Math.floor(r/4294967296),t[31+(n+128>>>10<<5)]=r,e.sigBytes=4*t.length,this._process(),this._hash.toX32()},clone:function(){var e=r.clone.call(this);return e._hash=this._hash.clone(),e},blockSize:32});t.SHA512=r._createHelper(u),t.HmacSHA512=r._createHmacHelper(u)}(),e.SHA512)),sha512.exports;var e}var sha384={exports:{}},hasRequiredSha384;function requireSha384(){return hasRequiredSha384||(hasRequiredSha384=1,sha384.exports=(a=requireCore(),requireX64Core(),requireSha512(),t=(e=a).x64,r=t.Word,n=t.WordArray,i=e.algo,o=i.SHA512,s=i.SHA384=o.extend({_doReset:function(){this._hash=new n.init([new r.init(3418070365,3238371032),new r.init(1654270250,914150663),new r.init(2438529370,812702999),new r.init(355462360,4144912697),new r.init(1731405415,4290775857),new r.init(2394180231,1750603025),new r.init(3675008525,1694076839),new r.init(1203062813,3204075428)])},_doFinalize:function(){var e=o._doFinalize.call(this);return e.sigBytes-=16,e}}),e.SHA384=o._createHelper(s),e.HmacSHA384=o._createHmacHelper(s),a.SHA384)),sha384.exports;var e,t,r,n,i,o,s,a}var sha3={exports:{}},hasRequiredSha3;function requireSha3(){return hasRequiredSha3||(hasRequiredSha3=1,sha3.exports=(e=requireCore(),requireX64Core(),function(t){var r=e,n=r.lib,i=n.WordArray,o=n.Hasher,s=r.x64.Word,a=r.algo,c=[],l=[],u=[];!function(){for(var e=1,t=0,r=0;r<24;r++){c[e+5*t]=(r+1)*(r+2)/2%64;var n=(2*e+3*t)%5;e=t%5,t=n}for(e=0;e<5;e++)for(t=0;t<5;t++)l[e+5*t]=t+(2*e+3*t)%5*5;for(var i=1,o=0;o<24;o++){for(var a=0,d=0,p=0;p<7;p++){if(1&i){var h=(1<<p)-1;h<32?d^=1<<h:a^=1<<h-32}128&i?i=i<<1^113:i<<=1}u[o]=s.create(a,d)}}();var d=[];!function(){for(var e=0;e<25;e++)d[e]=s.create()}();var p=a.SHA3=o.extend({cfg:o.cfg.extend({outputLength:512}),_doReset:function(){for(var e=this._state=[],t=0;t<25;t++)e[t]=new s.init;this.blockSize=(1600-2*this.cfg.outputLength)/32},_doProcessBlock:function(e,t){for(var r=this._state,n=this.blockSize/2,i=0;i<n;i++){var o=e[t+2*i],s=e[t+2*i+1];o=16711935&(o<<8|o>>>24)|4278255360&(o<<24|o>>>8),s=16711935&(s<<8|s>>>24)|4278255360&(s<<24|s>>>8),(R=r[i]).high^=s,R.low^=o}for(var a=0;a<24;a++){for(var p=0;p<5;p++){for(var h=0,f=0,m=0;m<5;m++)h^=(R=r[p+5*m]).high,f^=R.low;var g=d[p];g.high=h,g.low=f}for(p=0;p<5;p++){var y=d[(p+4)%5],v=d[(p+1)%5],b=v.high,_=v.low;for(h=y.high^(b<<1|_>>>31),f=y.low^(_<<1|b>>>31),m=0;m<5;m++)(R=r[p+5*m]).high^=h,R.low^=f}for(var E=1;E<25;E++){var $=(R=r[E]).high,w=R.low,x=c[E];x<32?(h=$<<x|w>>>32-x,f=w<<x|$>>>32-x):(h=w<<x-32|$>>>64-x,f=$<<x-32|w>>>64-x);var S=d[l[E]];S.high=h,S.low=f}var T=d[0],C=r[0];for(T.high=C.high,T.low=C.low,p=0;p<5;p++)for(m=0;m<5;m++){var R=r[E=p+5*m],A=d[E],k=d[(p+1)%5+5*m],D=d[(p+2)%5+5*m];R.high=A.high^~k.high&D.high,R.low=A.low^~k.low&D.low}R=r[0];var P=u[a];R.high^=P.high,R.low^=P.low}},_doFinalize:function(){var e=this._data,r=e.words;this._nDataBytes;var n=8*e.sigBytes,o=32*this.blockSize;r[n>>>5]|=1<<24-n%32,r[(t.ceil((n+1)/o)*o>>>5)-1]|=128,e.sigBytes=4*r.length,this._process();for(var s=this._state,a=this.cfg.outputLength/8,c=a/8,l=[],u=0;u<c;u++){var d=s[u],p=d.high,h=d.low;p=16711935&(p<<8|p>>>24)|4278255360&(p<<24|p>>>8),h=16711935&(h<<8|h>>>24)|4278255360&(h<<24|h>>>8),l.push(h),l.push(p)}return new i.init(l,a)},clone:function(){for(var e=o.clone.call(this),t=e._state=this._state.slice(0),r=0;r<25;r++)t[r]=t[r].clone();return e}});r.SHA3=o._createHelper(p),r.HmacSHA3=o._createHmacHelper(p)}(Math),e.SHA3)),sha3.exports;var e}var ripemd160={exports:{}},hasRequiredRipemd160;function requireRipemd160(){return hasRequiredRipemd160||(hasRequiredRipemd160=1,ripemd160.exports=(e=requireCore(),
|
|
163
163
|
/** @preserve
|
|
164
164
|
(c) 2012 by Cédric Mesnil. All rights reserved.
|
|
165
165
|
|