@fortemi/core 2026.9.3 → 2026.9.5
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/README.md +33 -6
- package/dist/aiwg-index-schema.js +1827 -0
- package/dist/aiwg-index-schema.js.map +1 -1
- package/dist/{aiwg-index-shard-BCdaz0X1.d.ts → aiwg-index-shard-jyT_f8H6.d.ts} +4 -4
- package/dist/aiwg-index-shard.d.ts +1 -1
- package/dist/aiwg-index-shard.js +2193 -23
- package/dist/aiwg-index-shard.js.map +1 -1
- package/dist/index.d.ts +996 -23
- package/dist/index.js +35412 -27898
- package/dist/index.js.map +1 -1
- package/package.json +9 -4
- package/schemas/dataset-execution-capabilities/validation/1.0.1/manifest.json +29 -0
- package/schemas/dataset-execution-capabilities/validation/1.0.1/negotiation-vectors.json +127 -0
- package/schemas/dataset-execution-capabilities/validation/1.0.1/schema.json +469 -0
- package/schemas/dataset-execution-capabilities/validation/1.0.1/wire-vectors.json +681 -0
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../schemas/aiwg-fortemi-index-export.schema.json","../src/aiwg-index-schema.ts"],"names":[],"mappings":"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","file":"aiwg-index-schema.js","sourcesContent":["{\n \"$schema\": \"https://json-schema.org/draft/2020-12/schema\",\n \"$id\": \"https://aiwg.io/schemas/aiwg-fortemi-index-export.json\",\n \"title\": \"AIWG Fortemi Index Export\",\n \"type\": \"object\",\n \"additionalProperties\": false,\n \"required\": [\"schema_version\", \"generated_at\", \"source\", \"items\"],\n \"properties\": {\n \"schema_version\": {\n \"enum\": [\"aiwg.fortemi.index.export.v1\", \"aiwg.fortemi.index.export.v2\"]\n },\n \"generated_at\": {\n \"type\": \"string\",\n \"format\": \"date-time\"\n },\n \"source\": {\n \"type\": \"object\",\n \"additionalProperties\": false,\n \"required\": [\"repo\", \"privacy\"],\n \"properties\": {\n \"repo\": {\n \"type\": \"string\",\n \"minLength\": 1\n },\n \"privacy\": {\n \"$ref\": \"#/$defs/privacy\"\n },\n \"graph\": {\n \"type\": \"string\",\n \"minLength\": 1\n }\n }\n },\n \"compatibility\": {\n \"type\": \"object\",\n \"additionalProperties\": false,\n \"required\": [\"previous_schema_version\", \"strategy\"],\n \"properties\": {\n \"previous_schema_version\": {\n \"const\": \"aiwg.fortemi.index.export.v1\"\n },\n \"strategy\": {\n \"const\": \"supported\"\n }\n }\n },\n \"items\": {\n \"type\": \"array\",\n \"items\": {\n \"$ref\": \"#/$defs/record\"\n }\n }\n },\n \"allOf\": [\n {\n \"if\": {\n \"properties\": {\n \"schema_version\": {\n \"const\": \"aiwg.fortemi.index.export.v1\"\n }\n }\n },\n \"then\": {\n \"not\": {\n \"required\": [\"compatibility\"]\n },\n \"properties\": {\n \"source\": {\n \"not\": {\n \"required\": [\"graph\"]\n }\n },\n \"items\": {\n \"items\": {\n \"allOf\": [\n {\n \"properties\": {\n \"schema_version\": {\n \"const\": \"aiwg.fortemi.index.record.v1\"\n }\n }\n },\n {\n \"$ref\": \"#/$defs/v1RecordCompatibility\"\n }\n ]\n }\n }\n }\n }\n },\n {\n \"if\": {\n \"properties\": {\n \"schema_version\": {\n \"const\": \"aiwg.fortemi.index.export.v2\"\n }\n }\n },\n \"then\": {\n \"required\": [\"compatibility\"],\n \"properties\": {\n \"source\": {\n \"required\": [\"graph\"]\n },\n \"items\": {\n \"items\": {\n \"properties\": {\n \"schema_version\": {\n \"const\": \"aiwg.fortemi.index.record.v2\"\n }\n }\n }\n }\n }\n }\n }\n ],\n \"$defs\": {\n \"privacy\": {\n \"enum\": [\"private\", \"sanitized\", \"public\"]\n },\n \"recordType\": {\n \"type\": \"string\",\n \"minLength\": 1\n },\n \"stringArray\": {\n \"type\": \"array\",\n \"items\": {\n \"type\": \"string\"\n }\n },\n \"numberArray\": {\n \"type\": \"array\",\n \"items\": {\n \"type\": \"number\"\n }\n },\n \"v1RecordCompatibility\": {\n \"type\": \"object\",\n \"not\": {\n \"anyOf\": [\n {\n \"required\": [\"name\"]\n },\n {\n \"required\": [\"summary\"]\n },\n {\n \"required\": [\"search\"]\n },\n {\n \"required\": [\"chunks\"]\n },\n {\n \"required\": [\"embeddings\"]\n },\n {\n \"required\": [\"compatibility\"]\n },\n {\n \"required\": [\"skos_concepts\"]\n },\n {\n \"required\": [\"skos_relations\"]\n },\n {\n \"required\": [\"provenance_events\"]\n },\n {\n \"required\": [\"operational_state\"]\n },\n {\n \"required\": [\"state_transfer\"]\n }\n ]\n },\n \"properties\": {\n \"source\": {\n \"not\": {\n \"anyOf\": [\n {\n \"required\": [\"origin\"]\n },\n {\n \"required\": [\"generated\"]\n },\n {\n \"required\": [\"checksum\"]\n },\n {\n \"required\": [\"updated_at\"]\n }\n ]\n }\n },\n \"relationships\": {\n \"items\": {\n \"not\": {\n \"anyOf\": [\n {\n \"required\": [\"target_path\"]\n },\n {\n \"required\": [\"direction\"]\n },\n {\n \"required\": [\"label\"]\n },\n {\n \"required\": [\"confidence\"]\n },\n {\n \"required\": [\"privacy\"]\n },\n {\n \"required\": [\"metadata\"]\n }\n ]\n }\n }\n },\n \"privacy\": {\n \"not\": {\n \"required\": [\"locality\"]\n }\n }\n }\n },\n \"record\": {\n \"type\": \"object\",\n \"additionalProperties\": false,\n \"required\": [\n \"schema_version\",\n \"id\",\n \"type\",\n \"source\",\n \"title\",\n \"text\",\n \"facets\",\n \"tags\",\n \"concepts\",\n \"relationships\",\n \"provenance\",\n \"privacy\",\n \"updated_at\"\n ],\n \"properties\": {\n \"schema_version\": {\n \"enum\": [\n \"aiwg.fortemi.index.record.v1\",\n \"aiwg.fortemi.index.record.v2\"\n ]\n },\n \"id\": {\n \"type\": \"string\",\n \"minLength\": 1\n },\n \"type\": {\n \"$ref\": \"#/$defs/recordType\"\n },\n \"source\": {\n \"type\": \"object\",\n \"additionalProperties\": false,\n \"required\": [\"path\", \"repo_relative_path\", \"locator\"],\n \"properties\": {\n \"path\": {\n \"type\": \"string\",\n \"minLength\": 1\n },\n \"repo_relative_path\": {\n \"type\": \"string\",\n \"minLength\": 1\n },\n \"locator\": {\n \"type\": \"string\",\n \"minLength\": 1\n },\n \"origin\": {\n \"type\": \"string\",\n \"minLength\": 1\n },\n \"generated\": {\n \"type\": \"boolean\"\n },\n \"checksum\": {\n \"type\": \"string\"\n },\n \"updated_at\": {\n \"type\": \"string\",\n \"format\": \"date-time\"\n }\n }\n },\n \"title\": {\n \"type\": \"string\"\n },\n \"name\": {\n \"type\": \"string\"\n },\n \"summary\": {\n \"type\": \"string\"\n },\n \"text\": {\n \"type\": \"string\"\n },\n \"search\": {\n \"type\": \"object\",\n \"additionalProperties\": false,\n \"required\": [\n \"title\",\n \"body\",\n \"triggers\",\n \"aliases\",\n \"tags\",\n \"frontmatter\"\n ],\n \"properties\": {\n \"title\": {\n \"type\": \"string\"\n },\n \"name\": {\n \"type\": \"string\"\n },\n \"summary\": {\n \"type\": \"string\"\n },\n \"body\": {\n \"type\": \"string\"\n },\n \"triggers\": {\n \"$ref\": \"#/$defs/stringArray\"\n },\n \"aliases\": {\n \"$ref\": \"#/$defs/stringArray\"\n },\n \"capability\": {\n \"type\": \"string\"\n },\n \"tags\": {\n \"$ref\": \"#/$defs/stringArray\"\n },\n \"phase\": {\n \"type\": \"string\"\n },\n \"type\": {\n \"type\": \"string\"\n },\n \"frontmatter\": {\n \"type\": \"object\"\n }\n }\n },\n \"facets\": {\n \"type\": \"object\",\n \"additionalProperties\": {\n \"$ref\": \"#/$defs/stringArray\"\n }\n },\n \"tags\": {\n \"$ref\": \"#/$defs/stringArray\"\n },\n \"concepts\": {\n \"$ref\": \"#/$defs/stringArray\"\n },\n \"relationships\": {\n \"type\": \"array\",\n \"items\": {\n \"type\": \"object\",\n \"additionalProperties\": false,\n \"required\": [\"type\", \"target_id\"],\n \"properties\": {\n \"type\": {\n \"type\": \"string\",\n \"minLength\": 1\n },\n \"target_id\": {\n \"type\": \"string\",\n \"minLength\": 1\n },\n \"source_path\": {\n \"type\": \"string\"\n },\n \"target_path\": {\n \"type\": \"string\"\n },\n \"direction\": {\n \"enum\": [\"upstream\", \"downstream\", \"related\"]\n },\n \"label\": {\n \"type\": \"string\"\n },\n \"confidence\": {\n \"type\": \"number\"\n },\n \"privacy\": {\n \"$ref\": \"#/$defs/privacy\"\n },\n \"metadata\": {\n \"type\": \"object\"\n }\n }\n }\n },\n \"provenance\": {\n \"type\": \"array\",\n \"minItems\": 1,\n \"items\": {\n \"type\": \"object\",\n \"additionalProperties\": false,\n \"required\": [\"field\", \"source\", \"path\", \"confidence\", \"privacy\"],\n \"properties\": {\n \"field\": {\n \"type\": \"string\",\n \"minLength\": 1\n },\n \"source\": {\n \"type\": \"string\",\n \"minLength\": 1\n },\n \"path\": {\n \"type\": \"string\",\n \"minLength\": 1\n },\n \"confidence\": {\n \"enum\": [\"source\", \"candidate\", \"reviewed\", \"rejected\"]\n },\n \"privacy\": {\n \"$ref\": \"#/$defs/privacy\"\n }\n }\n }\n },\n \"privacy\": {\n \"type\": \"object\",\n \"additionalProperties\": false,\n \"required\": [\"classification\", \"pii\"],\n \"properties\": {\n \"classification\": {\n \"$ref\": \"#/$defs/privacy\"\n },\n \"pii\": {\n \"type\": \"boolean\"\n },\n \"locality\": {\n \"enum\": [\"project\", \"framework\", \"external\"]\n }\n }\n },\n \"chunks\": {\n \"type\": \"array\",\n \"items\": {\n \"type\": \"object\",\n \"additionalProperties\": false,\n \"properties\": {\n \"id\": {\n \"type\": \"string\",\n \"minLength\": 1\n },\n \"text\": {\n \"type\": \"string\"\n },\n \"body\": {\n \"type\": \"string\"\n },\n \"summary\": {\n \"type\": \"string\"\n },\n \"source_path\": {\n \"type\": \"string\"\n },\n \"metadata\": {\n \"type\": \"object\"\n },\n \"checksum\": {\n \"type\": \"string\"\n }\n }\n }\n },\n \"embeddings\": {\n \"type\": \"array\",\n \"items\": {\n \"type\": \"object\",\n \"additionalProperties\": false,\n \"properties\": {\n \"id\": {\n \"type\": \"string\"\n },\n \"model\": {\n \"type\": \"string\"\n },\n \"embedding\": {\n \"$ref\": \"#/$defs/numberArray\"\n },\n \"vector\": {\n \"$ref\": \"#/$defs/numberArray\"\n },\n \"granularity\": {\n \"type\": \"string\"\n },\n \"source_path\": {\n \"type\": \"string\"\n },\n \"metadata\": {\n \"type\": \"object\"\n },\n \"chunk_id\": {\n \"type\": \"string\"\n },\n \"vector_ref\": {\n \"type\": \"string\"\n },\n \"input_hash\": {\n \"type\": \"string\"\n }\n }\n }\n },\n \"compatibility\": {\n \"type\": \"object\"\n },\n \"skos_concepts\": {\n \"type\": \"array\",\n \"items\": {\n \"type\": \"object\",\n \"additionalProperties\": false,\n \"required\": [\"id\", \"prefLabel\"],\n \"properties\": {\n \"id\": {\n \"type\": \"string\",\n \"minLength\": 1\n },\n \"prefLabel\": {\n \"type\": \"string\",\n \"minLength\": 1\n },\n \"definition\": {\n \"type\": \"string\"\n },\n \"scheme\": {\n \"type\": \"string\"\n },\n \"notation\": {\n \"type\": \"string\"\n },\n \"uri\": {\n \"type\": \"string\"\n },\n \"altLabels\": {\n \"$ref\": \"#/$defs/stringArray\"\n },\n \"metadata\": {\n \"type\": \"object\"\n }\n }\n }\n },\n \"skos_relations\": {\n \"type\": \"array\",\n \"items\": {\n \"type\": \"object\",\n \"additionalProperties\": false,\n \"required\": [\"type\", \"source_id\", \"target_id\"],\n \"properties\": {\n \"type\": {\n \"type\": \"string\",\n \"minLength\": 1\n },\n \"source_id\": {\n \"type\": \"string\",\n \"minLength\": 1\n },\n \"target_id\": {\n \"type\": \"string\",\n \"minLength\": 1\n },\n \"source_path\": {\n \"type\": \"string\"\n },\n \"metadata\": {\n \"type\": \"object\"\n }\n }\n }\n },\n \"provenance_events\": {\n \"type\": \"array\",\n \"items\": {\n \"type\": \"object\",\n \"additionalProperties\": false,\n \"required\": [\"activity\"],\n \"properties\": {\n \"id\": {\n \"type\": \"string\"\n },\n \"activity\": {\n \"type\": \"string\",\n \"minLength\": 1\n },\n \"agent\": {\n \"type\": \"string\"\n },\n \"started_at\": {\n \"type\": \"string\",\n \"format\": \"date-time\"\n },\n \"ended_at\": {\n \"type\": \"string\",\n \"format\": \"date-time\"\n },\n \"source\": {\n \"type\": \"string\"\n },\n \"path\": {\n \"type\": \"string\"\n },\n \"confidence\": {\n \"enum\": [\"source\", \"candidate\", \"reviewed\", \"rejected\"]\n },\n \"privacy\": {\n \"$ref\": \"#/$defs/privacy\"\n },\n \"attributes\": {\n \"type\": \"object\"\n }\n }\n }\n },\n \"operational_state\": {\n \"$ref\": \"#/$defs/operationalState\"\n },\n \"state_transfer\": {\n \"$ref\": \"#/$defs/stateTransfer\"\n },\n \"updated_at\": {\n \"type\": \"string\",\n \"format\": \"date-time\"\n }\n }\n },\n \"operationalState\": {\n \"type\": \"object\",\n \"additionalProperties\": false,\n \"required\": [\"classification\"],\n \"properties\": {\n \"source_repo\": { \"type\": \"string\", \"minLength\": 1 },\n \"source_kind\": { \"type\": \"string\", \"minLength\": 1 },\n \"source_id\": { \"type\": \"string\", \"minLength\": 1 },\n \"observed_state\": { \"type\": \"string\", \"minLength\": 1 },\n \"observed_at\": { \"type\": \"string\", \"format\": \"date-time\" },\n \"source_updated_at\": { \"type\": \"string\", \"format\": \"date-time\" },\n \"evidence_url\": { \"type\": \"string\", \"format\": \"uri\" },\n \"evidence_path\": { \"type\": \"string\", \"minLength\": 1 },\n \"observer\": { \"type\": \"string\", \"minLength\": 1 },\n \"supersedes\": { \"$ref\": \"#/$defs/stringArray\" },\n \"contradicts\": { \"$ref\": \"#/$defs/stringArray\" },\n \"stale_after\": { \"type\": \"string\", \"format\": \"date-time\" },\n \"classification\": {\n \"enum\": [\"fresh\", \"historical\", \"superseded\", \"contradicted\", \"needs-source\"]\n },\n \"confidence\": {\n \"enum\": [\"source\", \"candidate\", \"reviewed\", \"rejected\"]\n },\n \"current_action_selector\": { \"type\": \"boolean\" }\n }\n },\n \"stateTransfer\": {\n \"type\": \"object\",\n \"additionalProperties\": false,\n \"required\": [\"deleted_at\"],\n \"properties\": {\n \"deleted_at\": {\n \"type\": [\"string\", \"null\"],\n \"format\": \"date-time\"\n }\n }\n }\n }\n}\n","import Ajv2020 from 'ajv/dist/2020.js'\nimport type { ErrorObject, ValidateFunction } from 'ajv'\nimport schema from '../schemas/aiwg-fortemi-index-export.schema.json' with { type: 'json' }\n\nexport interface AiwgIndexSchemaValidationResult {\n valid: boolean\n errors: string[]\n}\n\nconst PROJECTED_FIELDS = [\n 'schema_version',\n 'id',\n 'type',\n 'title',\n 'text',\n 'facets',\n 'tags',\n 'concepts',\n 'privacy',\n] as const\n\nlet ajvInstance: Ajv2020 | undefined\nlet exportValidator: ValidateFunction | undefined\nlet projectedRecordValidator: ValidateFunction | undefined\n\nexport function getAiwgFortemiIndexExportSchema(): unknown {\n return schema\n}\n\nfunction getAjv(): Ajv2020 {\n if (!ajvInstance) {\n ajvInstance = new Ajv2020({\n allErrors: true,\n strict: false,\n validateFormats: false,\n })\n ajvInstance.addSchema(schema)\n }\n return ajvInstance\n}\n\nfunction formatErrors(errors: ErrorObject[] | null | undefined): string[] {\n return (errors ?? []).map((error) => {\n const path = error.instancePath || '(root)'\n return `${path} ${error.message ?? 'is invalid'}`\n })\n}\n\nfunction getExportValidator(): ValidateFunction {\n exportValidator ??= getAjv().getSchema(schema.$id) ?? getAjv().compile(schema)\n return exportValidator\n}\n\nfunction getProjectedRecordValidator(): ValidateFunction {\n if (!projectedRecordValidator) {\n const properties = Object.fromEntries(Object.keys(schema.$defs.record.properties).map((field) => [\n field,\n { $ref: `${schema.$id}#/$defs/record/properties/${field}` },\n ]))\n projectedRecordValidator = getAjv().compile({\n type: 'object',\n required: PROJECTED_FIELDS,\n properties,\n additionalProperties: true,\n allOf: [\n {\n if: {\n properties: {\n schema_version: { const: 'aiwg.fortemi.index.record.v1' },\n },\n },\n then: { $ref: `${schema.$id}#/$defs/v1RecordCompatibility` },\n },\n ],\n })\n }\n return projectedRecordValidator\n}\n\nexport function validateAiwgFortemiIndexExportSchema(value: unknown): AiwgIndexSchemaValidationResult {\n const validate = getExportValidator()\n // `binary_sources` is a documented fortemi-react attachment-text extension;\n // upstream intentionally omits it. Validate every upstream field against the\n // pinned authority while keeping that local extension out of the schema input.\n const schemaValue = value && typeof value === 'object' && Array.isArray((value as { items?: unknown }).items)\n ? {\n ...(value as Record<string, unknown>),\n items: (value as { items: unknown[] }).items.map((item) => {\n if (!item || typeof item !== 'object' || Array.isArray(item)) return item\n const schemaRecord = { ...(item as Record<string, unknown>) }\n Reflect.deleteProperty(schemaRecord, 'binary_sources')\n return schemaRecord\n }),\n }\n : value\n const valid = validate(schemaValue)\n return { valid, errors: formatErrors(validate.errors) }\n}\n\nexport function validateAiwgFortemiProjectedRecordSchema(value: unknown): AiwgIndexSchemaValidationResult {\n const validate = getProjectedRecordValidator()\n const valid = validate(value)\n return { valid, errors: formatErrors(validate.errors) }\n}\n"]}
|
|
1
|
+
{"version":3,"sources":["../../../node_modules/.pnpm/base64-js@1.5.1/node_modules/base64-js/index.js","../../../node_modules/.pnpm/ieee754@1.2.1/node_modules/ieee754/index.js","../../../node_modules/.pnpm/buffer@6.0.3/node_modules/buffer/index.js","../src/shard/geometry-buffer.ts","../src/aiwg-index-schema.ts","../schemas/aiwg-fortemi-index-export.schema.json"],"names":["exports","len","i","len2","Buffer","byteLength","BrowserBuffer"],"mappings":"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","file":"aiwg-index-schema.js","sourcesContent":["'use strict'\n\nexports.byteLength = byteLength\nexports.toByteArray = toByteArray\nexports.fromByteArray = fromByteArray\n\nvar lookup = []\nvar revLookup = []\nvar Arr = typeof Uint8Array !== 'undefined' ? Uint8Array : Array\n\nvar code = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/'\nfor (var i = 0, len = code.length; i < len; ++i) {\n lookup[i] = code[i]\n revLookup[code.charCodeAt(i)] = i\n}\n\n// Support decoding URL-safe base64 strings, as Node.js does.\n// See: https://en.wikipedia.org/wiki/Base64#URL_applications\nrevLookup['-'.charCodeAt(0)] = 62\nrevLookup['_'.charCodeAt(0)] = 63\n\nfunction getLens (b64) {\n var len = b64.length\n\n if (len % 4 > 0) {\n throw new Error('Invalid string. Length must be a multiple of 4')\n }\n\n // Trim off extra bytes after placeholder bytes are found\n // See: https://github.com/beatgammit/base64-js/issues/42\n var validLen = b64.indexOf('=')\n if (validLen === -1) validLen = len\n\n var placeHoldersLen = validLen === len\n ? 0\n : 4 - (validLen % 4)\n\n return [validLen, placeHoldersLen]\n}\n\n// base64 is 4/3 + up to two characters of the original data\nfunction byteLength (b64) {\n var lens = getLens(b64)\n var validLen = lens[0]\n var placeHoldersLen = lens[1]\n return ((validLen + placeHoldersLen) * 3 / 4) - placeHoldersLen\n}\n\nfunction _byteLength (b64, validLen, placeHoldersLen) {\n return ((validLen + placeHoldersLen) * 3 / 4) - placeHoldersLen\n}\n\nfunction toByteArray (b64) {\n var tmp\n var lens = getLens(b64)\n var validLen = lens[0]\n var placeHoldersLen = lens[1]\n\n var arr = new Arr(_byteLength(b64, validLen, placeHoldersLen))\n\n var curByte = 0\n\n // if there are placeholders, only get up to the last complete 4 chars\n var len = placeHoldersLen > 0\n ? validLen - 4\n : validLen\n\n var i\n for (i = 0; i < len; i += 4) {\n tmp =\n (revLookup[b64.charCodeAt(i)] << 18) |\n (revLookup[b64.charCodeAt(i + 1)] << 12) |\n (revLookup[b64.charCodeAt(i + 2)] << 6) |\n revLookup[b64.charCodeAt(i + 3)]\n arr[curByte++] = (tmp >> 16) & 0xFF\n arr[curByte++] = (tmp >> 8) & 0xFF\n arr[curByte++] = tmp & 0xFF\n }\n\n if (placeHoldersLen === 2) {\n tmp =\n (revLookup[b64.charCodeAt(i)] << 2) |\n (revLookup[b64.charCodeAt(i + 1)] >> 4)\n arr[curByte++] = tmp & 0xFF\n }\n\n if (placeHoldersLen === 1) {\n tmp =\n (revLookup[b64.charCodeAt(i)] << 10) |\n (revLookup[b64.charCodeAt(i + 1)] << 4) |\n (revLookup[b64.charCodeAt(i + 2)] >> 2)\n arr[curByte++] = (tmp >> 8) & 0xFF\n arr[curByte++] = tmp & 0xFF\n }\n\n return arr\n}\n\nfunction tripletToBase64 (num) {\n return lookup[num >> 18 & 0x3F] +\n lookup[num >> 12 & 0x3F] +\n lookup[num >> 6 & 0x3F] +\n lookup[num & 0x3F]\n}\n\nfunction encodeChunk (uint8, start, end) {\n var tmp\n var output = []\n for (var i = start; i < end; i += 3) {\n tmp =\n ((uint8[i] << 16) & 0xFF0000) +\n ((uint8[i + 1] << 8) & 0xFF00) +\n (uint8[i + 2] & 0xFF)\n output.push(tripletToBase64(tmp))\n }\n return output.join('')\n}\n\nfunction fromByteArray (uint8) {\n var tmp\n var len = uint8.length\n var extraBytes = len % 3 // if we have 1 byte left, pad 2 bytes\n var parts = []\n var maxChunkLength = 16383 // must be multiple of 3\n\n // go through the array every three bytes, we'll deal with trailing stuff later\n for (var i = 0, len2 = len - extraBytes; i < len2; i += maxChunkLength) {\n parts.push(encodeChunk(uint8, i, (i + maxChunkLength) > len2 ? len2 : (i + maxChunkLength)))\n }\n\n // pad the end with zeros, but make sure to not forget the extra bytes\n if (extraBytes === 1) {\n tmp = uint8[len - 1]\n parts.push(\n lookup[tmp >> 2] +\n lookup[(tmp << 4) & 0x3F] +\n '=='\n )\n } else if (extraBytes === 2) {\n tmp = (uint8[len - 2] << 8) + uint8[len - 1]\n parts.push(\n lookup[tmp >> 10] +\n lookup[(tmp >> 4) & 0x3F] +\n lookup[(tmp << 2) & 0x3F] +\n '='\n )\n }\n\n return parts.join('')\n}\n","/*! ieee754. BSD-3-Clause License. Feross Aboukhadijeh <https://feross.org/opensource> */\nexports.read = function (buffer, offset, isLE, mLen, nBytes) {\n var e, m\n var eLen = (nBytes * 8) - mLen - 1\n var eMax = (1 << eLen) - 1\n var eBias = eMax >> 1\n var nBits = -7\n var i = isLE ? (nBytes - 1) : 0\n var d = isLE ? -1 : 1\n var s = buffer[offset + i]\n\n i += d\n\n e = s & ((1 << (-nBits)) - 1)\n s >>= (-nBits)\n nBits += eLen\n for (; nBits > 0; e = (e * 256) + buffer[offset + i], i += d, nBits -= 8) {}\n\n m = e & ((1 << (-nBits)) - 1)\n e >>= (-nBits)\n nBits += mLen\n for (; nBits > 0; m = (m * 256) + buffer[offset + i], i += d, nBits -= 8) {}\n\n if (e === 0) {\n e = 1 - eBias\n } else if (e === eMax) {\n return m ? NaN : ((s ? -1 : 1) * Infinity)\n } else {\n m = m + Math.pow(2, mLen)\n e = e - eBias\n }\n return (s ? -1 : 1) * m * Math.pow(2, e - mLen)\n}\n\nexports.write = function (buffer, value, offset, isLE, mLen, nBytes) {\n var e, m, c\n var eLen = (nBytes * 8) - mLen - 1\n var eMax = (1 << eLen) - 1\n var eBias = eMax >> 1\n var rt = (mLen === 23 ? Math.pow(2, -24) - Math.pow(2, -77) : 0)\n var i = isLE ? 0 : (nBytes - 1)\n var d = isLE ? 1 : -1\n var s = value < 0 || (value === 0 && 1 / value < 0) ? 1 : 0\n\n value = Math.abs(value)\n\n if (isNaN(value) || value === Infinity) {\n m = isNaN(value) ? 1 : 0\n e = eMax\n } else {\n e = Math.floor(Math.log(value) / Math.LN2)\n if (value * (c = Math.pow(2, -e)) < 1) {\n e--\n c *= 2\n }\n if (e + eBias >= 1) {\n value += rt / c\n } else {\n value += rt * Math.pow(2, 1 - eBias)\n }\n if (value * c >= 2) {\n e++\n c /= 2\n }\n\n if (e + eBias >= eMax) {\n m = 0\n e = eMax\n } else if (e + eBias >= 1) {\n m = ((value * c) - 1) * Math.pow(2, mLen)\n e = e + eBias\n } else {\n m = value * Math.pow(2, eBias - 1) * Math.pow(2, mLen)\n e = 0\n }\n }\n\n for (; mLen >= 8; buffer[offset + i] = m & 0xff, i += d, m /= 256, mLen -= 8) {}\n\n e = (e << mLen) | m\n eLen += mLen\n for (; eLen > 0; buffer[offset + i] = e & 0xff, i += d, e /= 256, eLen -= 8) {}\n\n buffer[offset + i - d] |= s * 128\n}\n","/*!\n * The buffer module from node.js, for the browser.\n *\n * @author Feross Aboukhadijeh <https://feross.org>\n * @license MIT\n */\n/* eslint-disable no-proto */\n\n'use strict'\n\nconst base64 = require('base64-js')\nconst ieee754 = require('ieee754')\nconst customInspectSymbol =\n (typeof Symbol === 'function' && typeof Symbol['for'] === 'function') // eslint-disable-line dot-notation\n ? Symbol['for']('nodejs.util.inspect.custom') // eslint-disable-line dot-notation\n : null\n\nexports.Buffer = Buffer\nexports.SlowBuffer = SlowBuffer\nexports.INSPECT_MAX_BYTES = 50\n\nconst K_MAX_LENGTH = 0x7fffffff\nexports.kMaxLength = K_MAX_LENGTH\n\n/**\n * If `Buffer.TYPED_ARRAY_SUPPORT`:\n * === true Use Uint8Array implementation (fastest)\n * === false Print warning and recommend using `buffer` v4.x which has an Object\n * implementation (most compatible, even IE6)\n *\n * Browsers that support typed arrays are IE 10+, Firefox 4+, Chrome 7+, Safari 5.1+,\n * Opera 11.6+, iOS 4.2+.\n *\n * We report that the browser does not support typed arrays if the are not subclassable\n * using __proto__. Firefox 4-29 lacks support for adding new properties to `Uint8Array`\n * (See: https://bugzilla.mozilla.org/show_bug.cgi?id=695438). IE 10 lacks support\n * for __proto__ and has a buggy typed array implementation.\n */\nBuffer.TYPED_ARRAY_SUPPORT = typedArraySupport()\n\nif (!Buffer.TYPED_ARRAY_SUPPORT && typeof console !== 'undefined' &&\n typeof console.error === 'function') {\n console.error(\n 'This browser lacks typed array (Uint8Array) support which is required by ' +\n '`buffer` v5.x. Use `buffer` v4.x if you require old browser support.'\n )\n}\n\nfunction typedArraySupport () {\n // Can typed array instances can be augmented?\n try {\n const arr = new Uint8Array(1)\n const proto = { foo: function () { return 42 } }\n Object.setPrototypeOf(proto, Uint8Array.prototype)\n Object.setPrototypeOf(arr, proto)\n return arr.foo() === 42\n } catch (e) {\n return false\n }\n}\n\nObject.defineProperty(Buffer.prototype, 'parent', {\n enumerable: true,\n get: function () {\n if (!Buffer.isBuffer(this)) return undefined\n return this.buffer\n }\n})\n\nObject.defineProperty(Buffer.prototype, 'offset', {\n enumerable: true,\n get: function () {\n if (!Buffer.isBuffer(this)) return undefined\n return this.byteOffset\n }\n})\n\nfunction createBuffer (length) {\n if (length > K_MAX_LENGTH) {\n throw new RangeError('The value \"' + length + '\" is invalid for option \"size\"')\n }\n // Return an augmented `Uint8Array` instance\n const buf = new Uint8Array(length)\n Object.setPrototypeOf(buf, Buffer.prototype)\n return buf\n}\n\n/**\n * The Buffer constructor returns instances of `Uint8Array` that have their\n * prototype changed to `Buffer.prototype`. Furthermore, `Buffer` is a subclass of\n * `Uint8Array`, so the returned instances will have all the node `Buffer` methods\n * and the `Uint8Array` methods. Square bracket notation works as expected -- it\n * returns a single octet.\n *\n * The `Uint8Array` prototype remains unmodified.\n */\n\nfunction Buffer (arg, encodingOrOffset, length) {\n // Common case.\n if (typeof arg === 'number') {\n if (typeof encodingOrOffset === 'string') {\n throw new TypeError(\n 'The \"string\" argument must be of type string. Received type number'\n )\n }\n return allocUnsafe(arg)\n }\n return from(arg, encodingOrOffset, length)\n}\n\nBuffer.poolSize = 8192 // not used by this implementation\n\nfunction from (value, encodingOrOffset, length) {\n if (typeof value === 'string') {\n return fromString(value, encodingOrOffset)\n }\n\n if (ArrayBuffer.isView(value)) {\n return fromArrayView(value)\n }\n\n if (value == null) {\n throw new TypeError(\n 'The first argument must be one of type string, Buffer, ArrayBuffer, Array, ' +\n 'or Array-like Object. Received type ' + (typeof value)\n )\n }\n\n if (isInstance(value, ArrayBuffer) ||\n (value && isInstance(value.buffer, ArrayBuffer))) {\n return fromArrayBuffer(value, encodingOrOffset, length)\n }\n\n if (typeof SharedArrayBuffer !== 'undefined' &&\n (isInstance(value, SharedArrayBuffer) ||\n (value && isInstance(value.buffer, SharedArrayBuffer)))) {\n return fromArrayBuffer(value, encodingOrOffset, length)\n }\n\n if (typeof value === 'number') {\n throw new TypeError(\n 'The \"value\" argument must not be of type number. Received type number'\n )\n }\n\n const valueOf = value.valueOf && value.valueOf()\n if (valueOf != null && valueOf !== value) {\n return Buffer.from(valueOf, encodingOrOffset, length)\n }\n\n const b = fromObject(value)\n if (b) return b\n\n if (typeof Symbol !== 'undefined' && Symbol.toPrimitive != null &&\n typeof value[Symbol.toPrimitive] === 'function') {\n return Buffer.from(value[Symbol.toPrimitive]('string'), encodingOrOffset, length)\n }\n\n throw new TypeError(\n 'The first argument must be one of type string, Buffer, ArrayBuffer, Array, ' +\n 'or Array-like Object. Received type ' + (typeof value)\n )\n}\n\n/**\n * Functionally equivalent to Buffer(arg, encoding) but throws a TypeError\n * if value is a number.\n * Buffer.from(str[, encoding])\n * Buffer.from(array)\n * Buffer.from(buffer)\n * Buffer.from(arrayBuffer[, byteOffset[, length]])\n **/\nBuffer.from = function (value, encodingOrOffset, length) {\n return from(value, encodingOrOffset, length)\n}\n\n// Note: Change prototype *after* Buffer.from is defined to workaround Chrome bug:\n// https://github.com/feross/buffer/pull/148\nObject.setPrototypeOf(Buffer.prototype, Uint8Array.prototype)\nObject.setPrototypeOf(Buffer, Uint8Array)\n\nfunction assertSize (size) {\n if (typeof size !== 'number') {\n throw new TypeError('\"size\" argument must be of type number')\n } else if (size < 0) {\n throw new RangeError('The value \"' + size + '\" is invalid for option \"size\"')\n }\n}\n\nfunction alloc (size, fill, encoding) {\n assertSize(size)\n if (size <= 0) {\n return createBuffer(size)\n }\n if (fill !== undefined) {\n // Only pay attention to encoding if it's a string. This\n // prevents accidentally sending in a number that would\n // be interpreted as a start offset.\n return typeof encoding === 'string'\n ? createBuffer(size).fill(fill, encoding)\n : createBuffer(size).fill(fill)\n }\n return createBuffer(size)\n}\n\n/**\n * Creates a new filled Buffer instance.\n * alloc(size[, fill[, encoding]])\n **/\nBuffer.alloc = function (size, fill, encoding) {\n return alloc(size, fill, encoding)\n}\n\nfunction allocUnsafe (size) {\n assertSize(size)\n return createBuffer(size < 0 ? 0 : checked(size) | 0)\n}\n\n/**\n * Equivalent to Buffer(num), by default creates a non-zero-filled Buffer instance.\n * */\nBuffer.allocUnsafe = function (size) {\n return allocUnsafe(size)\n}\n/**\n * Equivalent to SlowBuffer(num), by default creates a non-zero-filled Buffer instance.\n */\nBuffer.allocUnsafeSlow = function (size) {\n return allocUnsafe(size)\n}\n\nfunction fromString (string, encoding) {\n if (typeof encoding !== 'string' || encoding === '') {\n encoding = 'utf8'\n }\n\n if (!Buffer.isEncoding(encoding)) {\n throw new TypeError('Unknown encoding: ' + encoding)\n }\n\n const length = byteLength(string, encoding) | 0\n let buf = createBuffer(length)\n\n const actual = buf.write(string, encoding)\n\n if (actual !== length) {\n // Writing a hex string, for example, that contains invalid characters will\n // cause everything after the first invalid character to be ignored. (e.g.\n // 'abxxcd' will be treated as 'ab')\n buf = buf.slice(0, actual)\n }\n\n return buf\n}\n\nfunction fromArrayLike (array) {\n const length = array.length < 0 ? 0 : checked(array.length) | 0\n const buf = createBuffer(length)\n for (let i = 0; i < length; i += 1) {\n buf[i] = array[i] & 255\n }\n return buf\n}\n\nfunction fromArrayView (arrayView) {\n if (isInstance(arrayView, Uint8Array)) {\n const copy = new Uint8Array(arrayView)\n return fromArrayBuffer(copy.buffer, copy.byteOffset, copy.byteLength)\n }\n return fromArrayLike(arrayView)\n}\n\nfunction fromArrayBuffer (array, byteOffset, length) {\n if (byteOffset < 0 || array.byteLength < byteOffset) {\n throw new RangeError('\"offset\" is outside of buffer bounds')\n }\n\n if (array.byteLength < byteOffset + (length || 0)) {\n throw new RangeError('\"length\" is outside of buffer bounds')\n }\n\n let buf\n if (byteOffset === undefined && length === undefined) {\n buf = new Uint8Array(array)\n } else if (length === undefined) {\n buf = new Uint8Array(array, byteOffset)\n } else {\n buf = new Uint8Array(array, byteOffset, length)\n }\n\n // Return an augmented `Uint8Array` instance\n Object.setPrototypeOf(buf, Buffer.prototype)\n\n return buf\n}\n\nfunction fromObject (obj) {\n if (Buffer.isBuffer(obj)) {\n const len = checked(obj.length) | 0\n const buf = createBuffer(len)\n\n if (buf.length === 0) {\n return buf\n }\n\n obj.copy(buf, 0, 0, len)\n return buf\n }\n\n if (obj.length !== undefined) {\n if (typeof obj.length !== 'number' || numberIsNaN(obj.length)) {\n return createBuffer(0)\n }\n return fromArrayLike(obj)\n }\n\n if (obj.type === 'Buffer' && Array.isArray(obj.data)) {\n return fromArrayLike(obj.data)\n }\n}\n\nfunction checked (length) {\n // Note: cannot use `length < K_MAX_LENGTH` here because that fails when\n // length is NaN (which is otherwise coerced to zero.)\n if (length >= K_MAX_LENGTH) {\n throw new RangeError('Attempt to allocate Buffer larger than maximum ' +\n 'size: 0x' + K_MAX_LENGTH.toString(16) + ' bytes')\n }\n return length | 0\n}\n\nfunction SlowBuffer (length) {\n if (+length != length) { // eslint-disable-line eqeqeq\n length = 0\n }\n return Buffer.alloc(+length)\n}\n\nBuffer.isBuffer = function isBuffer (b) {\n return b != null && b._isBuffer === true &&\n b !== Buffer.prototype // so Buffer.isBuffer(Buffer.prototype) will be false\n}\n\nBuffer.compare = function compare (a, b) {\n if (isInstance(a, Uint8Array)) a = Buffer.from(a, a.offset, a.byteLength)\n if (isInstance(b, Uint8Array)) b = Buffer.from(b, b.offset, b.byteLength)\n if (!Buffer.isBuffer(a) || !Buffer.isBuffer(b)) {\n throw new TypeError(\n 'The \"buf1\", \"buf2\" arguments must be one of type Buffer or Uint8Array'\n )\n }\n\n if (a === b) return 0\n\n let x = a.length\n let y = b.length\n\n for (let i = 0, len = Math.min(x, y); i < len; ++i) {\n if (a[i] !== b[i]) {\n x = a[i]\n y = b[i]\n break\n }\n }\n\n if (x < y) return -1\n if (y < x) return 1\n return 0\n}\n\nBuffer.isEncoding = function isEncoding (encoding) {\n switch (String(encoding).toLowerCase()) {\n case 'hex':\n case 'utf8':\n case 'utf-8':\n case 'ascii':\n case 'latin1':\n case 'binary':\n case 'base64':\n case 'ucs2':\n case 'ucs-2':\n case 'utf16le':\n case 'utf-16le':\n return true\n default:\n return false\n }\n}\n\nBuffer.concat = function concat (list, length) {\n if (!Array.isArray(list)) {\n throw new TypeError('\"list\" argument must be an Array of Buffers')\n }\n\n if (list.length === 0) {\n return Buffer.alloc(0)\n }\n\n let i\n if (length === undefined) {\n length = 0\n for (i = 0; i < list.length; ++i) {\n length += list[i].length\n }\n }\n\n const buffer = Buffer.allocUnsafe(length)\n let pos = 0\n for (i = 0; i < list.length; ++i) {\n let buf = list[i]\n if (isInstance(buf, Uint8Array)) {\n if (pos + buf.length > buffer.length) {\n if (!Buffer.isBuffer(buf)) buf = Buffer.from(buf)\n buf.copy(buffer, pos)\n } else {\n Uint8Array.prototype.set.call(\n buffer,\n buf,\n pos\n )\n }\n } else if (!Buffer.isBuffer(buf)) {\n throw new TypeError('\"list\" argument must be an Array of Buffers')\n } else {\n buf.copy(buffer, pos)\n }\n pos += buf.length\n }\n return buffer\n}\n\nfunction byteLength (string, encoding) {\n if (Buffer.isBuffer(string)) {\n return string.length\n }\n if (ArrayBuffer.isView(string) || isInstance(string, ArrayBuffer)) {\n return string.byteLength\n }\n if (typeof string !== 'string') {\n throw new TypeError(\n 'The \"string\" argument must be one of type string, Buffer, or ArrayBuffer. ' +\n 'Received type ' + typeof string\n )\n }\n\n const len = string.length\n const mustMatch = (arguments.length > 2 && arguments[2] === true)\n if (!mustMatch && len === 0) return 0\n\n // Use a for loop to avoid recursion\n let loweredCase = false\n for (;;) {\n switch (encoding) {\n case 'ascii':\n case 'latin1':\n case 'binary':\n return len\n case 'utf8':\n case 'utf-8':\n return utf8ToBytes(string).length\n case 'ucs2':\n case 'ucs-2':\n case 'utf16le':\n case 'utf-16le':\n return len * 2\n case 'hex':\n return len >>> 1\n case 'base64':\n return base64ToBytes(string).length\n default:\n if (loweredCase) {\n return mustMatch ? -1 : utf8ToBytes(string).length // assume utf8\n }\n encoding = ('' + encoding).toLowerCase()\n loweredCase = true\n }\n }\n}\nBuffer.byteLength = byteLength\n\nfunction slowToString (encoding, start, end) {\n let loweredCase = false\n\n // No need to verify that \"this.length <= MAX_UINT32\" since it's a read-only\n // property of a typed array.\n\n // This behaves neither like String nor Uint8Array in that we set start/end\n // to their upper/lower bounds if the value passed is out of range.\n // undefined is handled specially as per ECMA-262 6th Edition,\n // Section 13.3.3.7 Runtime Semantics: KeyedBindingInitialization.\n if (start === undefined || start < 0) {\n start = 0\n }\n // Return early if start > this.length. Done here to prevent potential uint32\n // coercion fail below.\n if (start > this.length) {\n return ''\n }\n\n if (end === undefined || end > this.length) {\n end = this.length\n }\n\n if (end <= 0) {\n return ''\n }\n\n // Force coercion to uint32. This will also coerce falsey/NaN values to 0.\n end >>>= 0\n start >>>= 0\n\n if (end <= start) {\n return ''\n }\n\n if (!encoding) encoding = 'utf8'\n\n while (true) {\n switch (encoding) {\n case 'hex':\n return hexSlice(this, start, end)\n\n case 'utf8':\n case 'utf-8':\n return utf8Slice(this, start, end)\n\n case 'ascii':\n return asciiSlice(this, start, end)\n\n case 'latin1':\n case 'binary':\n return latin1Slice(this, start, end)\n\n case 'base64':\n return base64Slice(this, start, end)\n\n case 'ucs2':\n case 'ucs-2':\n case 'utf16le':\n case 'utf-16le':\n return utf16leSlice(this, start, end)\n\n default:\n if (loweredCase) throw new TypeError('Unknown encoding: ' + encoding)\n encoding = (encoding + '').toLowerCase()\n loweredCase = true\n }\n }\n}\n\n// This property is used by `Buffer.isBuffer` (and the `is-buffer` npm package)\n// to detect a Buffer instance. It's not possible to use `instanceof Buffer`\n// reliably in a browserify context because there could be multiple different\n// copies of the 'buffer' package in use. This method works even for Buffer\n// instances that were created from another copy of the `buffer` package.\n// See: https://github.com/feross/buffer/issues/154\nBuffer.prototype._isBuffer = true\n\nfunction swap (b, n, m) {\n const i = b[n]\n b[n] = b[m]\n b[m] = i\n}\n\nBuffer.prototype.swap16 = function swap16 () {\n const len = this.length\n if (len % 2 !== 0) {\n throw new RangeError('Buffer size must be a multiple of 16-bits')\n }\n for (let i = 0; i < len; i += 2) {\n swap(this, i, i + 1)\n }\n return this\n}\n\nBuffer.prototype.swap32 = function swap32 () {\n const len = this.length\n if (len % 4 !== 0) {\n throw new RangeError('Buffer size must be a multiple of 32-bits')\n }\n for (let i = 0; i < len; i += 4) {\n swap(this, i, i + 3)\n swap(this, i + 1, i + 2)\n }\n return this\n}\n\nBuffer.prototype.swap64 = function swap64 () {\n const len = this.length\n if (len % 8 !== 0) {\n throw new RangeError('Buffer size must be a multiple of 64-bits')\n }\n for (let i = 0; i < len; i += 8) {\n swap(this, i, i + 7)\n swap(this, i + 1, i + 6)\n swap(this, i + 2, i + 5)\n swap(this, i + 3, i + 4)\n }\n return this\n}\n\nBuffer.prototype.toString = function toString () {\n const length = this.length\n if (length === 0) return ''\n if (arguments.length === 0) return utf8Slice(this, 0, length)\n return slowToString.apply(this, arguments)\n}\n\nBuffer.prototype.toLocaleString = Buffer.prototype.toString\n\nBuffer.prototype.equals = function equals (b) {\n if (!Buffer.isBuffer(b)) throw new TypeError('Argument must be a Buffer')\n if (this === b) return true\n return Buffer.compare(this, b) === 0\n}\n\nBuffer.prototype.inspect = function inspect () {\n let str = ''\n const max = exports.INSPECT_MAX_BYTES\n str = this.toString('hex', 0, max).replace(/(.{2})/g, '$1 ').trim()\n if (this.length > max) str += ' ... '\n return '<Buffer ' + str + '>'\n}\nif (customInspectSymbol) {\n Buffer.prototype[customInspectSymbol] = Buffer.prototype.inspect\n}\n\nBuffer.prototype.compare = function compare (target, start, end, thisStart, thisEnd) {\n if (isInstance(target, Uint8Array)) {\n target = Buffer.from(target, target.offset, target.byteLength)\n }\n if (!Buffer.isBuffer(target)) {\n throw new TypeError(\n 'The \"target\" argument must be one of type Buffer or Uint8Array. ' +\n 'Received type ' + (typeof target)\n )\n }\n\n if (start === undefined) {\n start = 0\n }\n if (end === undefined) {\n end = target ? target.length : 0\n }\n if (thisStart === undefined) {\n thisStart = 0\n }\n if (thisEnd === undefined) {\n thisEnd = this.length\n }\n\n if (start < 0 || end > target.length || thisStart < 0 || thisEnd > this.length) {\n throw new RangeError('out of range index')\n }\n\n if (thisStart >= thisEnd && start >= end) {\n return 0\n }\n if (thisStart >= thisEnd) {\n return -1\n }\n if (start >= end) {\n return 1\n }\n\n start >>>= 0\n end >>>= 0\n thisStart >>>= 0\n thisEnd >>>= 0\n\n if (this === target) return 0\n\n let x = thisEnd - thisStart\n let y = end - start\n const len = Math.min(x, y)\n\n const thisCopy = this.slice(thisStart, thisEnd)\n const targetCopy = target.slice(start, end)\n\n for (let i = 0; i < len; ++i) {\n if (thisCopy[i] !== targetCopy[i]) {\n x = thisCopy[i]\n y = targetCopy[i]\n break\n }\n }\n\n if (x < y) return -1\n if (y < x) return 1\n return 0\n}\n\n// Finds either the first index of `val` in `buffer` at offset >= `byteOffset`,\n// OR the last index of `val` in `buffer` at offset <= `byteOffset`.\n//\n// Arguments:\n// - buffer - a Buffer to search\n// - val - a string, Buffer, or number\n// - byteOffset - an index into `buffer`; will be clamped to an int32\n// - encoding - an optional encoding, relevant is val is a string\n// - dir - true for indexOf, false for lastIndexOf\nfunction bidirectionalIndexOf (buffer, val, byteOffset, encoding, dir) {\n // Empty buffer means no match\n if (buffer.length === 0) return -1\n\n // Normalize byteOffset\n if (typeof byteOffset === 'string') {\n encoding = byteOffset\n byteOffset = 0\n } else if (byteOffset > 0x7fffffff) {\n byteOffset = 0x7fffffff\n } else if (byteOffset < -0x80000000) {\n byteOffset = -0x80000000\n }\n byteOffset = +byteOffset // Coerce to Number.\n if (numberIsNaN(byteOffset)) {\n // byteOffset: it it's undefined, null, NaN, \"foo\", etc, search whole buffer\n byteOffset = dir ? 0 : (buffer.length - 1)\n }\n\n // Normalize byteOffset: negative offsets start from the end of the buffer\n if (byteOffset < 0) byteOffset = buffer.length + byteOffset\n if (byteOffset >= buffer.length) {\n if (dir) return -1\n else byteOffset = buffer.length - 1\n } else if (byteOffset < 0) {\n if (dir) byteOffset = 0\n else return -1\n }\n\n // Normalize val\n if (typeof val === 'string') {\n val = Buffer.from(val, encoding)\n }\n\n // Finally, search either indexOf (if dir is true) or lastIndexOf\n if (Buffer.isBuffer(val)) {\n // Special case: looking for empty string/buffer always fails\n if (val.length === 0) {\n return -1\n }\n return arrayIndexOf(buffer, val, byteOffset, encoding, dir)\n } else if (typeof val === 'number') {\n val = val & 0xFF // Search for a byte value [0-255]\n if (typeof Uint8Array.prototype.indexOf === 'function') {\n if (dir) {\n return Uint8Array.prototype.indexOf.call(buffer, val, byteOffset)\n } else {\n return Uint8Array.prototype.lastIndexOf.call(buffer, val, byteOffset)\n }\n }\n return arrayIndexOf(buffer, [val], byteOffset, encoding, dir)\n }\n\n throw new TypeError('val must be string, number or Buffer')\n}\n\nfunction arrayIndexOf (arr, val, byteOffset, encoding, dir) {\n let indexSize = 1\n let arrLength = arr.length\n let valLength = val.length\n\n if (encoding !== undefined) {\n encoding = String(encoding).toLowerCase()\n if (encoding === 'ucs2' || encoding === 'ucs-2' ||\n encoding === 'utf16le' || encoding === 'utf-16le') {\n if (arr.length < 2 || val.length < 2) {\n return -1\n }\n indexSize = 2\n arrLength /= 2\n valLength /= 2\n byteOffset /= 2\n }\n }\n\n function read (buf, i) {\n if (indexSize === 1) {\n return buf[i]\n } else {\n return buf.readUInt16BE(i * indexSize)\n }\n }\n\n let i\n if (dir) {\n let foundIndex = -1\n for (i = byteOffset; i < arrLength; i++) {\n if (read(arr, i) === read(val, foundIndex === -1 ? 0 : i - foundIndex)) {\n if (foundIndex === -1) foundIndex = i\n if (i - foundIndex + 1 === valLength) return foundIndex * indexSize\n } else {\n if (foundIndex !== -1) i -= i - foundIndex\n foundIndex = -1\n }\n }\n } else {\n if (byteOffset + valLength > arrLength) byteOffset = arrLength - valLength\n for (i = byteOffset; i >= 0; i--) {\n let found = true\n for (let j = 0; j < valLength; j++) {\n if (read(arr, i + j) !== read(val, j)) {\n found = false\n break\n }\n }\n if (found) return i\n }\n }\n\n return -1\n}\n\nBuffer.prototype.includes = function includes (val, byteOffset, encoding) {\n return this.indexOf(val, byteOffset, encoding) !== -1\n}\n\nBuffer.prototype.indexOf = function indexOf (val, byteOffset, encoding) {\n return bidirectionalIndexOf(this, val, byteOffset, encoding, true)\n}\n\nBuffer.prototype.lastIndexOf = function lastIndexOf (val, byteOffset, encoding) {\n return bidirectionalIndexOf(this, val, byteOffset, encoding, false)\n}\n\nfunction hexWrite (buf, string, offset, length) {\n offset = Number(offset) || 0\n const remaining = buf.length - offset\n if (!length) {\n length = remaining\n } else {\n length = Number(length)\n if (length > remaining) {\n length = remaining\n }\n }\n\n const strLen = string.length\n\n if (length > strLen / 2) {\n length = strLen / 2\n }\n let i\n for (i = 0; i < length; ++i) {\n const parsed = parseInt(string.substr(i * 2, 2), 16)\n if (numberIsNaN(parsed)) return i\n buf[offset + i] = parsed\n }\n return i\n}\n\nfunction utf8Write (buf, string, offset, length) {\n return blitBuffer(utf8ToBytes(string, buf.length - offset), buf, offset, length)\n}\n\nfunction asciiWrite (buf, string, offset, length) {\n return blitBuffer(asciiToBytes(string), buf, offset, length)\n}\n\nfunction base64Write (buf, string, offset, length) {\n return blitBuffer(base64ToBytes(string), buf, offset, length)\n}\n\nfunction ucs2Write (buf, string, offset, length) {\n return blitBuffer(utf16leToBytes(string, buf.length - offset), buf, offset, length)\n}\n\nBuffer.prototype.write = function write (string, offset, length, encoding) {\n // Buffer#write(string)\n if (offset === undefined) {\n encoding = 'utf8'\n length = this.length\n offset = 0\n // Buffer#write(string, encoding)\n } else if (length === undefined && typeof offset === 'string') {\n encoding = offset\n length = this.length\n offset = 0\n // Buffer#write(string, offset[, length][, encoding])\n } else if (isFinite(offset)) {\n offset = offset >>> 0\n if (isFinite(length)) {\n length = length >>> 0\n if (encoding === undefined) encoding = 'utf8'\n } else {\n encoding = length\n length = undefined\n }\n } else {\n throw new Error(\n 'Buffer.write(string, encoding, offset[, length]) is no longer supported'\n )\n }\n\n const remaining = this.length - offset\n if (length === undefined || length > remaining) length = remaining\n\n if ((string.length > 0 && (length < 0 || offset < 0)) || offset > this.length) {\n throw new RangeError('Attempt to write outside buffer bounds')\n }\n\n if (!encoding) encoding = 'utf8'\n\n let loweredCase = false\n for (;;) {\n switch (encoding) {\n case 'hex':\n return hexWrite(this, string, offset, length)\n\n case 'utf8':\n case 'utf-8':\n return utf8Write(this, string, offset, length)\n\n case 'ascii':\n case 'latin1':\n case 'binary':\n return asciiWrite(this, string, offset, length)\n\n case 'base64':\n // Warning: maxLength not taken into account in base64Write\n return base64Write(this, string, offset, length)\n\n case 'ucs2':\n case 'ucs-2':\n case 'utf16le':\n case 'utf-16le':\n return ucs2Write(this, string, offset, length)\n\n default:\n if (loweredCase) throw new TypeError('Unknown encoding: ' + encoding)\n encoding = ('' + encoding).toLowerCase()\n loweredCase = true\n }\n }\n}\n\nBuffer.prototype.toJSON = function toJSON () {\n return {\n type: 'Buffer',\n data: Array.prototype.slice.call(this._arr || this, 0)\n }\n}\n\nfunction base64Slice (buf, start, end) {\n if (start === 0 && end === buf.length) {\n return base64.fromByteArray(buf)\n } else {\n return base64.fromByteArray(buf.slice(start, end))\n }\n}\n\nfunction utf8Slice (buf, start, end) {\n end = Math.min(buf.length, end)\n const res = []\n\n let i = start\n while (i < end) {\n const firstByte = buf[i]\n let codePoint = null\n let bytesPerSequence = (firstByte > 0xEF)\n ? 4\n : (firstByte > 0xDF)\n ? 3\n : (firstByte > 0xBF)\n ? 2\n : 1\n\n if (i + bytesPerSequence <= end) {\n let secondByte, thirdByte, fourthByte, tempCodePoint\n\n switch (bytesPerSequence) {\n case 1:\n if (firstByte < 0x80) {\n codePoint = firstByte\n }\n break\n case 2:\n secondByte = buf[i + 1]\n if ((secondByte & 0xC0) === 0x80) {\n tempCodePoint = (firstByte & 0x1F) << 0x6 | (secondByte & 0x3F)\n if (tempCodePoint > 0x7F) {\n codePoint = tempCodePoint\n }\n }\n break\n case 3:\n secondByte = buf[i + 1]\n thirdByte = buf[i + 2]\n if ((secondByte & 0xC0) === 0x80 && (thirdByte & 0xC0) === 0x80) {\n tempCodePoint = (firstByte & 0xF) << 0xC | (secondByte & 0x3F) << 0x6 | (thirdByte & 0x3F)\n if (tempCodePoint > 0x7FF && (tempCodePoint < 0xD800 || tempCodePoint > 0xDFFF)) {\n codePoint = tempCodePoint\n }\n }\n break\n case 4:\n secondByte = buf[i + 1]\n thirdByte = buf[i + 2]\n fourthByte = buf[i + 3]\n if ((secondByte & 0xC0) === 0x80 && (thirdByte & 0xC0) === 0x80 && (fourthByte & 0xC0) === 0x80) {\n tempCodePoint = (firstByte & 0xF) << 0x12 | (secondByte & 0x3F) << 0xC | (thirdByte & 0x3F) << 0x6 | (fourthByte & 0x3F)\n if (tempCodePoint > 0xFFFF && tempCodePoint < 0x110000) {\n codePoint = tempCodePoint\n }\n }\n }\n }\n\n if (codePoint === null) {\n // we did not generate a valid codePoint so insert a\n // replacement char (U+FFFD) and advance only 1 byte\n codePoint = 0xFFFD\n bytesPerSequence = 1\n } else if (codePoint > 0xFFFF) {\n // encode to utf16 (surrogate pair dance)\n codePoint -= 0x10000\n res.push(codePoint >>> 10 & 0x3FF | 0xD800)\n codePoint = 0xDC00 | codePoint & 0x3FF\n }\n\n res.push(codePoint)\n i += bytesPerSequence\n }\n\n return decodeCodePointsArray(res)\n}\n\n// Based on http://stackoverflow.com/a/22747272/680742, the browser with\n// the lowest limit is Chrome, with 0x10000 args.\n// We go 1 magnitude less, for safety\nconst MAX_ARGUMENTS_LENGTH = 0x1000\n\nfunction decodeCodePointsArray (codePoints) {\n const len = codePoints.length\n if (len <= MAX_ARGUMENTS_LENGTH) {\n return String.fromCharCode.apply(String, codePoints) // avoid extra slice()\n }\n\n // Decode in chunks to avoid \"call stack size exceeded\".\n let res = ''\n let i = 0\n while (i < len) {\n res += String.fromCharCode.apply(\n String,\n codePoints.slice(i, i += MAX_ARGUMENTS_LENGTH)\n )\n }\n return res\n}\n\nfunction asciiSlice (buf, start, end) {\n let ret = ''\n end = Math.min(buf.length, end)\n\n for (let i = start; i < end; ++i) {\n ret += String.fromCharCode(buf[i] & 0x7F)\n }\n return ret\n}\n\nfunction latin1Slice (buf, start, end) {\n let ret = ''\n end = Math.min(buf.length, end)\n\n for (let i = start; i < end; ++i) {\n ret += String.fromCharCode(buf[i])\n }\n return ret\n}\n\nfunction hexSlice (buf, start, end) {\n const len = buf.length\n\n if (!start || start < 0) start = 0\n if (!end || end < 0 || end > len) end = len\n\n let out = ''\n for (let i = start; i < end; ++i) {\n out += hexSliceLookupTable[buf[i]]\n }\n return out\n}\n\nfunction utf16leSlice (buf, start, end) {\n const bytes = buf.slice(start, end)\n let res = ''\n // If bytes.length is odd, the last 8 bits must be ignored (same as node.js)\n for (let i = 0; i < bytes.length - 1; i += 2) {\n res += String.fromCharCode(bytes[i] + (bytes[i + 1] * 256))\n }\n return res\n}\n\nBuffer.prototype.slice = function slice (start, end) {\n const len = this.length\n start = ~~start\n end = end === undefined ? len : ~~end\n\n if (start < 0) {\n start += len\n if (start < 0) start = 0\n } else if (start > len) {\n start = len\n }\n\n if (end < 0) {\n end += len\n if (end < 0) end = 0\n } else if (end > len) {\n end = len\n }\n\n if (end < start) end = start\n\n const newBuf = this.subarray(start, end)\n // Return an augmented `Uint8Array` instance\n Object.setPrototypeOf(newBuf, Buffer.prototype)\n\n return newBuf\n}\n\n/*\n * Need to make sure that buffer isn't trying to write out of bounds.\n */\nfunction checkOffset (offset, ext, length) {\n if ((offset % 1) !== 0 || offset < 0) throw new RangeError('offset is not uint')\n if (offset + ext > length) throw new RangeError('Trying to access beyond buffer length')\n}\n\nBuffer.prototype.readUintLE =\nBuffer.prototype.readUIntLE = function readUIntLE (offset, byteLength, noAssert) {\n offset = offset >>> 0\n byteLength = byteLength >>> 0\n if (!noAssert) checkOffset(offset, byteLength, this.length)\n\n let val = this[offset]\n let mul = 1\n let i = 0\n while (++i < byteLength && (mul *= 0x100)) {\n val += this[offset + i] * mul\n }\n\n return val\n}\n\nBuffer.prototype.readUintBE =\nBuffer.prototype.readUIntBE = function readUIntBE (offset, byteLength, noAssert) {\n offset = offset >>> 0\n byteLength = byteLength >>> 0\n if (!noAssert) {\n checkOffset(offset, byteLength, this.length)\n }\n\n let val = this[offset + --byteLength]\n let mul = 1\n while (byteLength > 0 && (mul *= 0x100)) {\n val += this[offset + --byteLength] * mul\n }\n\n return val\n}\n\nBuffer.prototype.readUint8 =\nBuffer.prototype.readUInt8 = function readUInt8 (offset, noAssert) {\n offset = offset >>> 0\n if (!noAssert) checkOffset(offset, 1, this.length)\n return this[offset]\n}\n\nBuffer.prototype.readUint16LE =\nBuffer.prototype.readUInt16LE = function readUInt16LE (offset, noAssert) {\n offset = offset >>> 0\n if (!noAssert) checkOffset(offset, 2, this.length)\n return this[offset] | (this[offset + 1] << 8)\n}\n\nBuffer.prototype.readUint16BE =\nBuffer.prototype.readUInt16BE = function readUInt16BE (offset, noAssert) {\n offset = offset >>> 0\n if (!noAssert) checkOffset(offset, 2, this.length)\n return (this[offset] << 8) | this[offset + 1]\n}\n\nBuffer.prototype.readUint32LE =\nBuffer.prototype.readUInt32LE = function readUInt32LE (offset, noAssert) {\n offset = offset >>> 0\n if (!noAssert) checkOffset(offset, 4, this.length)\n\n return ((this[offset]) |\n (this[offset + 1] << 8) |\n (this[offset + 2] << 16)) +\n (this[offset + 3] * 0x1000000)\n}\n\nBuffer.prototype.readUint32BE =\nBuffer.prototype.readUInt32BE = function readUInt32BE (offset, noAssert) {\n offset = offset >>> 0\n if (!noAssert) checkOffset(offset, 4, this.length)\n\n return (this[offset] * 0x1000000) +\n ((this[offset + 1] << 16) |\n (this[offset + 2] << 8) |\n this[offset + 3])\n}\n\nBuffer.prototype.readBigUInt64LE = defineBigIntMethod(function readBigUInt64LE (offset) {\n offset = offset >>> 0\n validateNumber(offset, 'offset')\n const first = this[offset]\n const last = this[offset + 7]\n if (first === undefined || last === undefined) {\n boundsError(offset, this.length - 8)\n }\n\n const lo = first +\n this[++offset] * 2 ** 8 +\n this[++offset] * 2 ** 16 +\n this[++offset] * 2 ** 24\n\n const hi = this[++offset] +\n this[++offset] * 2 ** 8 +\n this[++offset] * 2 ** 16 +\n last * 2 ** 24\n\n return BigInt(lo) + (BigInt(hi) << BigInt(32))\n})\n\nBuffer.prototype.readBigUInt64BE = defineBigIntMethod(function readBigUInt64BE (offset) {\n offset = offset >>> 0\n validateNumber(offset, 'offset')\n const first = this[offset]\n const last = this[offset + 7]\n if (first === undefined || last === undefined) {\n boundsError(offset, this.length - 8)\n }\n\n const hi = first * 2 ** 24 +\n this[++offset] * 2 ** 16 +\n this[++offset] * 2 ** 8 +\n this[++offset]\n\n const lo = this[++offset] * 2 ** 24 +\n this[++offset] * 2 ** 16 +\n this[++offset] * 2 ** 8 +\n last\n\n return (BigInt(hi) << BigInt(32)) + BigInt(lo)\n})\n\nBuffer.prototype.readIntLE = function readIntLE (offset, byteLength, noAssert) {\n offset = offset >>> 0\n byteLength = byteLength >>> 0\n if (!noAssert) checkOffset(offset, byteLength, this.length)\n\n let val = this[offset]\n let mul = 1\n let i = 0\n while (++i < byteLength && (mul *= 0x100)) {\n val += this[offset + i] * mul\n }\n mul *= 0x80\n\n if (val >= mul) val -= Math.pow(2, 8 * byteLength)\n\n return val\n}\n\nBuffer.prototype.readIntBE = function readIntBE (offset, byteLength, noAssert) {\n offset = offset >>> 0\n byteLength = byteLength >>> 0\n if (!noAssert) checkOffset(offset, byteLength, this.length)\n\n let i = byteLength\n let mul = 1\n let val = this[offset + --i]\n while (i > 0 && (mul *= 0x100)) {\n val += this[offset + --i] * mul\n }\n mul *= 0x80\n\n if (val >= mul) val -= Math.pow(2, 8 * byteLength)\n\n return val\n}\n\nBuffer.prototype.readInt8 = function readInt8 (offset, noAssert) {\n offset = offset >>> 0\n if (!noAssert) checkOffset(offset, 1, this.length)\n if (!(this[offset] & 0x80)) return (this[offset])\n return ((0xff - this[offset] + 1) * -1)\n}\n\nBuffer.prototype.readInt16LE = function readInt16LE (offset, noAssert) {\n offset = offset >>> 0\n if (!noAssert) checkOffset(offset, 2, this.length)\n const val = this[offset] | (this[offset + 1] << 8)\n return (val & 0x8000) ? val | 0xFFFF0000 : val\n}\n\nBuffer.prototype.readInt16BE = function readInt16BE (offset, noAssert) {\n offset = offset >>> 0\n if (!noAssert) checkOffset(offset, 2, this.length)\n const val = this[offset + 1] | (this[offset] << 8)\n return (val & 0x8000) ? val | 0xFFFF0000 : val\n}\n\nBuffer.prototype.readInt32LE = function readInt32LE (offset, noAssert) {\n offset = offset >>> 0\n if (!noAssert) checkOffset(offset, 4, this.length)\n\n return (this[offset]) |\n (this[offset + 1] << 8) |\n (this[offset + 2] << 16) |\n (this[offset + 3] << 24)\n}\n\nBuffer.prototype.readInt32BE = function readInt32BE (offset, noAssert) {\n offset = offset >>> 0\n if (!noAssert) checkOffset(offset, 4, this.length)\n\n return (this[offset] << 24) |\n (this[offset + 1] << 16) |\n (this[offset + 2] << 8) |\n (this[offset + 3])\n}\n\nBuffer.prototype.readBigInt64LE = defineBigIntMethod(function readBigInt64LE (offset) {\n offset = offset >>> 0\n validateNumber(offset, 'offset')\n const first = this[offset]\n const last = this[offset + 7]\n if (first === undefined || last === undefined) {\n boundsError(offset, this.length - 8)\n }\n\n const val = this[offset + 4] +\n this[offset + 5] * 2 ** 8 +\n this[offset + 6] * 2 ** 16 +\n (last << 24) // Overflow\n\n return (BigInt(val) << BigInt(32)) +\n BigInt(first +\n this[++offset] * 2 ** 8 +\n this[++offset] * 2 ** 16 +\n this[++offset] * 2 ** 24)\n})\n\nBuffer.prototype.readBigInt64BE = defineBigIntMethod(function readBigInt64BE (offset) {\n offset = offset >>> 0\n validateNumber(offset, 'offset')\n const first = this[offset]\n const last = this[offset + 7]\n if (first === undefined || last === undefined) {\n boundsError(offset, this.length - 8)\n }\n\n const val = (first << 24) + // Overflow\n this[++offset] * 2 ** 16 +\n this[++offset] * 2 ** 8 +\n this[++offset]\n\n return (BigInt(val) << BigInt(32)) +\n BigInt(this[++offset] * 2 ** 24 +\n this[++offset] * 2 ** 16 +\n this[++offset] * 2 ** 8 +\n last)\n})\n\nBuffer.prototype.readFloatLE = function readFloatLE (offset, noAssert) {\n offset = offset >>> 0\n if (!noAssert) checkOffset(offset, 4, this.length)\n return ieee754.read(this, offset, true, 23, 4)\n}\n\nBuffer.prototype.readFloatBE = function readFloatBE (offset, noAssert) {\n offset = offset >>> 0\n if (!noAssert) checkOffset(offset, 4, this.length)\n return ieee754.read(this, offset, false, 23, 4)\n}\n\nBuffer.prototype.readDoubleLE = function readDoubleLE (offset, noAssert) {\n offset = offset >>> 0\n if (!noAssert) checkOffset(offset, 8, this.length)\n return ieee754.read(this, offset, true, 52, 8)\n}\n\nBuffer.prototype.readDoubleBE = function readDoubleBE (offset, noAssert) {\n offset = offset >>> 0\n if (!noAssert) checkOffset(offset, 8, this.length)\n return ieee754.read(this, offset, false, 52, 8)\n}\n\nfunction checkInt (buf, value, offset, ext, max, min) {\n if (!Buffer.isBuffer(buf)) throw new TypeError('\"buffer\" argument must be a Buffer instance')\n if (value > max || value < min) throw new RangeError('\"value\" argument is out of bounds')\n if (offset + ext > buf.length) throw new RangeError('Index out of range')\n}\n\nBuffer.prototype.writeUintLE =\nBuffer.prototype.writeUIntLE = function writeUIntLE (value, offset, byteLength, noAssert) {\n value = +value\n offset = offset >>> 0\n byteLength = byteLength >>> 0\n if (!noAssert) {\n const maxBytes = Math.pow(2, 8 * byteLength) - 1\n checkInt(this, value, offset, byteLength, maxBytes, 0)\n }\n\n let mul = 1\n let i = 0\n this[offset] = value & 0xFF\n while (++i < byteLength && (mul *= 0x100)) {\n this[offset + i] = (value / mul) & 0xFF\n }\n\n return offset + byteLength\n}\n\nBuffer.prototype.writeUintBE =\nBuffer.prototype.writeUIntBE = function writeUIntBE (value, offset, byteLength, noAssert) {\n value = +value\n offset = offset >>> 0\n byteLength = byteLength >>> 0\n if (!noAssert) {\n const maxBytes = Math.pow(2, 8 * byteLength) - 1\n checkInt(this, value, offset, byteLength, maxBytes, 0)\n }\n\n let i = byteLength - 1\n let mul = 1\n this[offset + i] = value & 0xFF\n while (--i >= 0 && (mul *= 0x100)) {\n this[offset + i] = (value / mul) & 0xFF\n }\n\n return offset + byteLength\n}\n\nBuffer.prototype.writeUint8 =\nBuffer.prototype.writeUInt8 = function writeUInt8 (value, offset, noAssert) {\n value = +value\n offset = offset >>> 0\n if (!noAssert) checkInt(this, value, offset, 1, 0xff, 0)\n this[offset] = (value & 0xff)\n return offset + 1\n}\n\nBuffer.prototype.writeUint16LE =\nBuffer.prototype.writeUInt16LE = function writeUInt16LE (value, offset, noAssert) {\n value = +value\n offset = offset >>> 0\n if (!noAssert) checkInt(this, value, offset, 2, 0xffff, 0)\n this[offset] = (value & 0xff)\n this[offset + 1] = (value >>> 8)\n return offset + 2\n}\n\nBuffer.prototype.writeUint16BE =\nBuffer.prototype.writeUInt16BE = function writeUInt16BE (value, offset, noAssert) {\n value = +value\n offset = offset >>> 0\n if (!noAssert) checkInt(this, value, offset, 2, 0xffff, 0)\n this[offset] = (value >>> 8)\n this[offset + 1] = (value & 0xff)\n return offset + 2\n}\n\nBuffer.prototype.writeUint32LE =\nBuffer.prototype.writeUInt32LE = function writeUInt32LE (value, offset, noAssert) {\n value = +value\n offset = offset >>> 0\n if (!noAssert) checkInt(this, value, offset, 4, 0xffffffff, 0)\n this[offset + 3] = (value >>> 24)\n this[offset + 2] = (value >>> 16)\n this[offset + 1] = (value >>> 8)\n this[offset] = (value & 0xff)\n return offset + 4\n}\n\nBuffer.prototype.writeUint32BE =\nBuffer.prototype.writeUInt32BE = function writeUInt32BE (value, offset, noAssert) {\n value = +value\n offset = offset >>> 0\n if (!noAssert) checkInt(this, value, offset, 4, 0xffffffff, 0)\n this[offset] = (value >>> 24)\n this[offset + 1] = (value >>> 16)\n this[offset + 2] = (value >>> 8)\n this[offset + 3] = (value & 0xff)\n return offset + 4\n}\n\nfunction wrtBigUInt64LE (buf, value, offset, min, max) {\n checkIntBI(value, min, max, buf, offset, 7)\n\n let lo = Number(value & BigInt(0xffffffff))\n buf[offset++] = lo\n lo = lo >> 8\n buf[offset++] = lo\n lo = lo >> 8\n buf[offset++] = lo\n lo = lo >> 8\n buf[offset++] = lo\n let hi = Number(value >> BigInt(32) & BigInt(0xffffffff))\n buf[offset++] = hi\n hi = hi >> 8\n buf[offset++] = hi\n hi = hi >> 8\n buf[offset++] = hi\n hi = hi >> 8\n buf[offset++] = hi\n return offset\n}\n\nfunction wrtBigUInt64BE (buf, value, offset, min, max) {\n checkIntBI(value, min, max, buf, offset, 7)\n\n let lo = Number(value & BigInt(0xffffffff))\n buf[offset + 7] = lo\n lo = lo >> 8\n buf[offset + 6] = lo\n lo = lo >> 8\n buf[offset + 5] = lo\n lo = lo >> 8\n buf[offset + 4] = lo\n let hi = Number(value >> BigInt(32) & BigInt(0xffffffff))\n buf[offset + 3] = hi\n hi = hi >> 8\n buf[offset + 2] = hi\n hi = hi >> 8\n buf[offset + 1] = hi\n hi = hi >> 8\n buf[offset] = hi\n return offset + 8\n}\n\nBuffer.prototype.writeBigUInt64LE = defineBigIntMethod(function writeBigUInt64LE (value, offset = 0) {\n return wrtBigUInt64LE(this, value, offset, BigInt(0), BigInt('0xffffffffffffffff'))\n})\n\nBuffer.prototype.writeBigUInt64BE = defineBigIntMethod(function writeBigUInt64BE (value, offset = 0) {\n return wrtBigUInt64BE(this, value, offset, BigInt(0), BigInt('0xffffffffffffffff'))\n})\n\nBuffer.prototype.writeIntLE = function writeIntLE (value, offset, byteLength, noAssert) {\n value = +value\n offset = offset >>> 0\n if (!noAssert) {\n const limit = Math.pow(2, (8 * byteLength) - 1)\n\n checkInt(this, value, offset, byteLength, limit - 1, -limit)\n }\n\n let i = 0\n let mul = 1\n let sub = 0\n this[offset] = value & 0xFF\n while (++i < byteLength && (mul *= 0x100)) {\n if (value < 0 && sub === 0 && this[offset + i - 1] !== 0) {\n sub = 1\n }\n this[offset + i] = ((value / mul) >> 0) - sub & 0xFF\n }\n\n return offset + byteLength\n}\n\nBuffer.prototype.writeIntBE = function writeIntBE (value, offset, byteLength, noAssert) {\n value = +value\n offset = offset >>> 0\n if (!noAssert) {\n const limit = Math.pow(2, (8 * byteLength) - 1)\n\n checkInt(this, value, offset, byteLength, limit - 1, -limit)\n }\n\n let i = byteLength - 1\n let mul = 1\n let sub = 0\n this[offset + i] = value & 0xFF\n while (--i >= 0 && (mul *= 0x100)) {\n if (value < 0 && sub === 0 && this[offset + i + 1] !== 0) {\n sub = 1\n }\n this[offset + i] = ((value / mul) >> 0) - sub & 0xFF\n }\n\n return offset + byteLength\n}\n\nBuffer.prototype.writeInt8 = function writeInt8 (value, offset, noAssert) {\n value = +value\n offset = offset >>> 0\n if (!noAssert) checkInt(this, value, offset, 1, 0x7f, -0x80)\n if (value < 0) value = 0xff + value + 1\n this[offset] = (value & 0xff)\n return offset + 1\n}\n\nBuffer.prototype.writeInt16LE = function writeInt16LE (value, offset, noAssert) {\n value = +value\n offset = offset >>> 0\n if (!noAssert) checkInt(this, value, offset, 2, 0x7fff, -0x8000)\n this[offset] = (value & 0xff)\n this[offset + 1] = (value >>> 8)\n return offset + 2\n}\n\nBuffer.prototype.writeInt16BE = function writeInt16BE (value, offset, noAssert) {\n value = +value\n offset = offset >>> 0\n if (!noAssert) checkInt(this, value, offset, 2, 0x7fff, -0x8000)\n this[offset] = (value >>> 8)\n this[offset + 1] = (value & 0xff)\n return offset + 2\n}\n\nBuffer.prototype.writeInt32LE = function writeInt32LE (value, offset, noAssert) {\n value = +value\n offset = offset >>> 0\n if (!noAssert) checkInt(this, value, offset, 4, 0x7fffffff, -0x80000000)\n this[offset] = (value & 0xff)\n this[offset + 1] = (value >>> 8)\n this[offset + 2] = (value >>> 16)\n this[offset + 3] = (value >>> 24)\n return offset + 4\n}\n\nBuffer.prototype.writeInt32BE = function writeInt32BE (value, offset, noAssert) {\n value = +value\n offset = offset >>> 0\n if (!noAssert) checkInt(this, value, offset, 4, 0x7fffffff, -0x80000000)\n if (value < 0) value = 0xffffffff + value + 1\n this[offset] = (value >>> 24)\n this[offset + 1] = (value >>> 16)\n this[offset + 2] = (value >>> 8)\n this[offset + 3] = (value & 0xff)\n return offset + 4\n}\n\nBuffer.prototype.writeBigInt64LE = defineBigIntMethod(function writeBigInt64LE (value, offset = 0) {\n return wrtBigUInt64LE(this, value, offset, -BigInt('0x8000000000000000'), BigInt('0x7fffffffffffffff'))\n})\n\nBuffer.prototype.writeBigInt64BE = defineBigIntMethod(function writeBigInt64BE (value, offset = 0) {\n return wrtBigUInt64BE(this, value, offset, -BigInt('0x8000000000000000'), BigInt('0x7fffffffffffffff'))\n})\n\nfunction checkIEEE754 (buf, value, offset, ext, max, min) {\n if (offset + ext > buf.length) throw new RangeError('Index out of range')\n if (offset < 0) throw new RangeError('Index out of range')\n}\n\nfunction writeFloat (buf, value, offset, littleEndian, noAssert) {\n value = +value\n offset = offset >>> 0\n if (!noAssert) {\n checkIEEE754(buf, value, offset, 4, 3.4028234663852886e+38, -3.4028234663852886e+38)\n }\n ieee754.write(buf, value, offset, littleEndian, 23, 4)\n return offset + 4\n}\n\nBuffer.prototype.writeFloatLE = function writeFloatLE (value, offset, noAssert) {\n return writeFloat(this, value, offset, true, noAssert)\n}\n\nBuffer.prototype.writeFloatBE = function writeFloatBE (value, offset, noAssert) {\n return writeFloat(this, value, offset, false, noAssert)\n}\n\nfunction writeDouble (buf, value, offset, littleEndian, noAssert) {\n value = +value\n offset = offset >>> 0\n if (!noAssert) {\n checkIEEE754(buf, value, offset, 8, 1.7976931348623157E+308, -1.7976931348623157E+308)\n }\n ieee754.write(buf, value, offset, littleEndian, 52, 8)\n return offset + 8\n}\n\nBuffer.prototype.writeDoubleLE = function writeDoubleLE (value, offset, noAssert) {\n return writeDouble(this, value, offset, true, noAssert)\n}\n\nBuffer.prototype.writeDoubleBE = function writeDoubleBE (value, offset, noAssert) {\n return writeDouble(this, value, offset, false, noAssert)\n}\n\n// copy(targetBuffer, targetStart=0, sourceStart=0, sourceEnd=buffer.length)\nBuffer.prototype.copy = function copy (target, targetStart, start, end) {\n if (!Buffer.isBuffer(target)) throw new TypeError('argument should be a Buffer')\n if (!start) start = 0\n if (!end && end !== 0) end = this.length\n if (targetStart >= target.length) targetStart = target.length\n if (!targetStart) targetStart = 0\n if (end > 0 && end < start) end = start\n\n // Copy 0 bytes; we're done\n if (end === start) return 0\n if (target.length === 0 || this.length === 0) return 0\n\n // Fatal error conditions\n if (targetStart < 0) {\n throw new RangeError('targetStart out of bounds')\n }\n if (start < 0 || start >= this.length) throw new RangeError('Index out of range')\n if (end < 0) throw new RangeError('sourceEnd out of bounds')\n\n // Are we oob?\n if (end > this.length) end = this.length\n if (target.length - targetStart < end - start) {\n end = target.length - targetStart + start\n }\n\n const len = end - start\n\n if (this === target && typeof Uint8Array.prototype.copyWithin === 'function') {\n // Use built-in when available, missing from IE11\n this.copyWithin(targetStart, start, end)\n } else {\n Uint8Array.prototype.set.call(\n target,\n this.subarray(start, end),\n targetStart\n )\n }\n\n return len\n}\n\n// Usage:\n// buffer.fill(number[, offset[, end]])\n// buffer.fill(buffer[, offset[, end]])\n// buffer.fill(string[, offset[, end]][, encoding])\nBuffer.prototype.fill = function fill (val, start, end, encoding) {\n // Handle string cases:\n if (typeof val === 'string') {\n if (typeof start === 'string') {\n encoding = start\n start = 0\n end = this.length\n } else if (typeof end === 'string') {\n encoding = end\n end = this.length\n }\n if (encoding !== undefined && typeof encoding !== 'string') {\n throw new TypeError('encoding must be a string')\n }\n if (typeof encoding === 'string' && !Buffer.isEncoding(encoding)) {\n throw new TypeError('Unknown encoding: ' + encoding)\n }\n if (val.length === 1) {\n const code = val.charCodeAt(0)\n if ((encoding === 'utf8' && code < 128) ||\n encoding === 'latin1') {\n // Fast path: If `val` fits into a single byte, use that numeric value.\n val = code\n }\n }\n } else if (typeof val === 'number') {\n val = val & 255\n } else if (typeof val === 'boolean') {\n val = Number(val)\n }\n\n // Invalid ranges are not set to a default, so can range check early.\n if (start < 0 || this.length < start || this.length < end) {\n throw new RangeError('Out of range index')\n }\n\n if (end <= start) {\n return this\n }\n\n start = start >>> 0\n end = end === undefined ? this.length : end >>> 0\n\n if (!val) val = 0\n\n let i\n if (typeof val === 'number') {\n for (i = start; i < end; ++i) {\n this[i] = val\n }\n } else {\n const bytes = Buffer.isBuffer(val)\n ? val\n : Buffer.from(val, encoding)\n const len = bytes.length\n if (len === 0) {\n throw new TypeError('The value \"' + val +\n '\" is invalid for argument \"value\"')\n }\n for (i = 0; i < end - start; ++i) {\n this[i + start] = bytes[i % len]\n }\n }\n\n return this\n}\n\n// CUSTOM ERRORS\n// =============\n\n// Simplified versions from Node, changed for Buffer-only usage\nconst errors = {}\nfunction E (sym, getMessage, Base) {\n errors[sym] = class NodeError extends Base {\n constructor () {\n super()\n\n Object.defineProperty(this, 'message', {\n value: getMessage.apply(this, arguments),\n writable: true,\n configurable: true\n })\n\n // Add the error code to the name to include it in the stack trace.\n this.name = `${this.name} [${sym}]`\n // Access the stack to generate the error message including the error code\n // from the name.\n this.stack // eslint-disable-line no-unused-expressions\n // Reset the name to the actual name.\n delete this.name\n }\n\n get code () {\n return sym\n }\n\n set code (value) {\n Object.defineProperty(this, 'code', {\n configurable: true,\n enumerable: true,\n value,\n writable: true\n })\n }\n\n toString () {\n return `${this.name} [${sym}]: ${this.message}`\n }\n }\n}\n\nE('ERR_BUFFER_OUT_OF_BOUNDS',\n function (name) {\n if (name) {\n return `${name} is outside of buffer bounds`\n }\n\n return 'Attempt to access memory outside buffer bounds'\n }, RangeError)\nE('ERR_INVALID_ARG_TYPE',\n function (name, actual) {\n return `The \"${name}\" argument must be of type number. Received type ${typeof actual}`\n }, TypeError)\nE('ERR_OUT_OF_RANGE',\n function (str, range, input) {\n let msg = `The value of \"${str}\" is out of range.`\n let received = input\n if (Number.isInteger(input) && Math.abs(input) > 2 ** 32) {\n received = addNumericalSeparator(String(input))\n } else if (typeof input === 'bigint') {\n received = String(input)\n if (input > BigInt(2) ** BigInt(32) || input < -(BigInt(2) ** BigInt(32))) {\n received = addNumericalSeparator(received)\n }\n received += 'n'\n }\n msg += ` It must be ${range}. Received ${received}`\n return msg\n }, RangeError)\n\nfunction addNumericalSeparator (val) {\n let res = ''\n let i = val.length\n const start = val[0] === '-' ? 1 : 0\n for (; i >= start + 4; i -= 3) {\n res = `_${val.slice(i - 3, i)}${res}`\n }\n return `${val.slice(0, i)}${res}`\n}\n\n// CHECK FUNCTIONS\n// ===============\n\nfunction checkBounds (buf, offset, byteLength) {\n validateNumber(offset, 'offset')\n if (buf[offset] === undefined || buf[offset + byteLength] === undefined) {\n boundsError(offset, buf.length - (byteLength + 1))\n }\n}\n\nfunction checkIntBI (value, min, max, buf, offset, byteLength) {\n if (value > max || value < min) {\n const n = typeof min === 'bigint' ? 'n' : ''\n let range\n if (byteLength > 3) {\n if (min === 0 || min === BigInt(0)) {\n range = `>= 0${n} and < 2${n} ** ${(byteLength + 1) * 8}${n}`\n } else {\n range = `>= -(2${n} ** ${(byteLength + 1) * 8 - 1}${n}) and < 2 ** ` +\n `${(byteLength + 1) * 8 - 1}${n}`\n }\n } else {\n range = `>= ${min}${n} and <= ${max}${n}`\n }\n throw new errors.ERR_OUT_OF_RANGE('value', range, value)\n }\n checkBounds(buf, offset, byteLength)\n}\n\nfunction validateNumber (value, name) {\n if (typeof value !== 'number') {\n throw new errors.ERR_INVALID_ARG_TYPE(name, 'number', value)\n }\n}\n\nfunction boundsError (value, length, type) {\n if (Math.floor(value) !== value) {\n validateNumber(value, type)\n throw new errors.ERR_OUT_OF_RANGE(type || 'offset', 'an integer', value)\n }\n\n if (length < 0) {\n throw new errors.ERR_BUFFER_OUT_OF_BOUNDS()\n }\n\n throw new errors.ERR_OUT_OF_RANGE(type || 'offset',\n `>= ${type ? 1 : 0} and <= ${length}`,\n value)\n}\n\n// HELPER FUNCTIONS\n// ================\n\nconst INVALID_BASE64_RE = /[^+/0-9A-Za-z-_]/g\n\nfunction base64clean (str) {\n // Node takes equal signs as end of the Base64 encoding\n str = str.split('=')[0]\n // Node strips out invalid characters like \\n and \\t from the string, base64-js does not\n str = str.trim().replace(INVALID_BASE64_RE, '')\n // Node converts strings with length < 2 to ''\n if (str.length < 2) return ''\n // Node allows for non-padded base64 strings (missing trailing ===), base64-js does not\n while (str.length % 4 !== 0) {\n str = str + '='\n }\n return str\n}\n\nfunction utf8ToBytes (string, units) {\n units = units || Infinity\n let codePoint\n const length = string.length\n let leadSurrogate = null\n const bytes = []\n\n for (let i = 0; i < length; ++i) {\n codePoint = string.charCodeAt(i)\n\n // is surrogate component\n if (codePoint > 0xD7FF && codePoint < 0xE000) {\n // last char was a lead\n if (!leadSurrogate) {\n // no lead yet\n if (codePoint > 0xDBFF) {\n // unexpected trail\n if ((units -= 3) > -1) bytes.push(0xEF, 0xBF, 0xBD)\n continue\n } else if (i + 1 === length) {\n // unpaired lead\n if ((units -= 3) > -1) bytes.push(0xEF, 0xBF, 0xBD)\n continue\n }\n\n // valid lead\n leadSurrogate = codePoint\n\n continue\n }\n\n // 2 leads in a row\n if (codePoint < 0xDC00) {\n if ((units -= 3) > -1) bytes.push(0xEF, 0xBF, 0xBD)\n leadSurrogate = codePoint\n continue\n }\n\n // valid surrogate pair\n codePoint = (leadSurrogate - 0xD800 << 10 | codePoint - 0xDC00) + 0x10000\n } else if (leadSurrogate) {\n // valid bmp char, but last char was a lead\n if ((units -= 3) > -1) bytes.push(0xEF, 0xBF, 0xBD)\n }\n\n leadSurrogate = null\n\n // encode utf8\n if (codePoint < 0x80) {\n if ((units -= 1) < 0) break\n bytes.push(codePoint)\n } else if (codePoint < 0x800) {\n if ((units -= 2) < 0) break\n bytes.push(\n codePoint >> 0x6 | 0xC0,\n codePoint & 0x3F | 0x80\n )\n } else if (codePoint < 0x10000) {\n if ((units -= 3) < 0) break\n bytes.push(\n codePoint >> 0xC | 0xE0,\n codePoint >> 0x6 & 0x3F | 0x80,\n codePoint & 0x3F | 0x80\n )\n } else if (codePoint < 0x110000) {\n if ((units -= 4) < 0) break\n bytes.push(\n codePoint >> 0x12 | 0xF0,\n codePoint >> 0xC & 0x3F | 0x80,\n codePoint >> 0x6 & 0x3F | 0x80,\n codePoint & 0x3F | 0x80\n )\n } else {\n throw new Error('Invalid code point')\n }\n }\n\n return bytes\n}\n\nfunction asciiToBytes (str) {\n const byteArray = []\n for (let i = 0; i < str.length; ++i) {\n // Node's code seems to be doing this and not & 0x7F..\n byteArray.push(str.charCodeAt(i) & 0xFF)\n }\n return byteArray\n}\n\nfunction utf16leToBytes (str, units) {\n let c, hi, lo\n const byteArray = []\n for (let i = 0; i < str.length; ++i) {\n if ((units -= 2) < 0) break\n\n c = str.charCodeAt(i)\n hi = c >> 8\n lo = c % 256\n byteArray.push(lo)\n byteArray.push(hi)\n }\n\n return byteArray\n}\n\nfunction base64ToBytes (str) {\n return base64.toByteArray(base64clean(str))\n}\n\nfunction blitBuffer (src, dst, offset, length) {\n let i\n for (i = 0; i < length; ++i) {\n if ((i + offset >= dst.length) || (i >= src.length)) break\n dst[i + offset] = src[i]\n }\n return i\n}\n\n// ArrayBuffer or Uint8Array objects from other contexts (i.e. iframes) do not pass\n// the `instanceof` check but they should be treated as of that type.\n// See: https://github.com/feross/buffer/issues/166\nfunction isInstance (obj, type) {\n return obj instanceof type ||\n (obj != null && obj.constructor != null && obj.constructor.name != null &&\n obj.constructor.name === type.name)\n}\nfunction numberIsNaN (obj) {\n // For IE11 support\n return obj !== obj // eslint-disable-line no-self-compare\n}\n\n// Create lookup table for `toString('hex')`\n// See: https://github.com/feross/buffer/issues/219\nconst hexSliceLookupTable = (function () {\n const alphabet = '0123456789abcdef'\n const table = new Array(256)\n for (let i = 0; i < 16; ++i) {\n const i16 = i * 16\n for (let j = 0; j < 16; ++j) {\n table[i16 + j] = alphabet[i] + alphabet[j]\n }\n }\n return table\n})()\n\n// Return not function with Error if BigInt not supported\nfunction defineBigIntMethod (fn) {\n return typeof BigInt === 'undefined' ? BufferBigIntNotDefined : fn\n}\n\nfunction BufferBigIntNotDefined () {\n throw new Error('BigInt not supported')\n}\n","import { Buffer as BrowserBuffer } from 'buffer/index.js'\n\n// wkx uses a module-local Buffer in browser bundles, without changing globals.\nexport const Buffer = typeof globalThis.Buffer === 'undefined' ? BrowserBuffer : globalThis.Buffer\n","import Ajv2020 from 'ajv/dist/2020.js'\nimport type { ErrorObject, ValidateFunction } from 'ajv'\nimport schema from '../schemas/aiwg-fortemi-index-export.schema.json' with { type: 'json' }\n\nexport interface AiwgIndexSchemaValidationResult {\n valid: boolean\n errors: string[]\n}\n\nconst PROJECTED_FIELDS = [\n 'schema_version',\n 'id',\n 'type',\n 'title',\n 'text',\n 'facets',\n 'tags',\n 'concepts',\n 'privacy',\n] as const\n\nlet ajvInstance: Ajv2020 | undefined\nlet exportValidator: ValidateFunction | undefined\nlet projectedRecordValidator: ValidateFunction | undefined\n\nexport function getAiwgFortemiIndexExportSchema(): unknown {\n return schema\n}\n\nfunction getAjv(): Ajv2020 {\n if (!ajvInstance) {\n ajvInstance = new Ajv2020({\n allErrors: true,\n strict: false,\n validateFormats: false,\n })\n ajvInstance.addSchema(schema)\n }\n return ajvInstance\n}\n\nfunction formatErrors(errors: ErrorObject[] | null | undefined): string[] {\n return (errors ?? []).map((error) => {\n const path = error.instancePath || '(root)'\n return `${path} ${error.message ?? 'is invalid'}`\n })\n}\n\nfunction getExportValidator(): ValidateFunction {\n exportValidator ??= getAjv().getSchema(schema.$id) ?? getAjv().compile(schema)\n return exportValidator\n}\n\nfunction getProjectedRecordValidator(): ValidateFunction {\n if (!projectedRecordValidator) {\n const properties = Object.fromEntries(Object.keys(schema.$defs.record.properties).map((field) => [\n field,\n { $ref: `${schema.$id}#/$defs/record/properties/${field}` },\n ]))\n projectedRecordValidator = getAjv().compile({\n type: 'object',\n required: PROJECTED_FIELDS,\n properties,\n additionalProperties: true,\n allOf: [\n {\n if: {\n properties: {\n schema_version: { const: 'aiwg.fortemi.index.record.v1' },\n },\n },\n then: { $ref: `${schema.$id}#/$defs/v1RecordCompatibility` },\n },\n ],\n })\n }\n return projectedRecordValidator\n}\n\nexport function validateAiwgFortemiIndexExportSchema(value: unknown): AiwgIndexSchemaValidationResult {\n const validate = getExportValidator()\n // `binary_sources` is a documented fortemi-react attachment-text extension;\n // upstream intentionally omits it. Validate every upstream field against the\n // pinned authority while keeping that local extension out of the schema input.\n const schemaValue = value && typeof value === 'object' && Array.isArray((value as { items?: unknown }).items)\n ? {\n ...(value as Record<string, unknown>),\n items: (value as { items: unknown[] }).items.map((item) => {\n if (!item || typeof item !== 'object' || Array.isArray(item)) return item\n const schemaRecord = { ...(item as Record<string, unknown>) }\n Reflect.deleteProperty(schemaRecord, 'binary_sources')\n return schemaRecord\n }),\n }\n : value\n const valid = validate(schemaValue)\n return { valid, errors: formatErrors(validate.errors) }\n}\n\nexport function validateAiwgFortemiProjectedRecordSchema(value: unknown): AiwgIndexSchemaValidationResult {\n const validate = getProjectedRecordValidator()\n const valid = validate(value)\n return { valid, errors: formatErrors(validate.errors) }\n}\n","{\n \"$schema\": \"https://json-schema.org/draft/2020-12/schema\",\n \"$id\": \"https://aiwg.io/schemas/aiwg-fortemi-index-export.json\",\n \"title\": \"AIWG Fortemi Index Export\",\n \"type\": \"object\",\n \"additionalProperties\": false,\n \"required\": [\"schema_version\", \"generated_at\", \"source\", \"items\"],\n \"properties\": {\n \"schema_version\": {\n \"enum\": [\"aiwg.fortemi.index.export.v1\", \"aiwg.fortemi.index.export.v2\"]\n },\n \"generated_at\": {\n \"type\": \"string\",\n \"format\": \"date-time\"\n },\n \"source\": {\n \"type\": \"object\",\n \"additionalProperties\": false,\n \"required\": [\"repo\", \"privacy\"],\n \"properties\": {\n \"repo\": {\n \"type\": \"string\",\n \"minLength\": 1\n },\n \"privacy\": {\n \"$ref\": \"#/$defs/privacy\"\n },\n \"graph\": {\n \"type\": \"string\",\n \"minLength\": 1\n }\n }\n },\n \"compatibility\": {\n \"type\": \"object\",\n \"additionalProperties\": false,\n \"required\": [\"previous_schema_version\", \"strategy\"],\n \"properties\": {\n \"previous_schema_version\": {\n \"const\": \"aiwg.fortemi.index.export.v1\"\n },\n \"strategy\": {\n \"const\": \"supported\"\n }\n }\n },\n \"items\": {\n \"type\": \"array\",\n \"items\": {\n \"$ref\": \"#/$defs/record\"\n }\n }\n },\n \"allOf\": [\n {\n \"if\": {\n \"properties\": {\n \"schema_version\": {\n \"const\": \"aiwg.fortemi.index.export.v1\"\n }\n }\n },\n \"then\": {\n \"not\": {\n \"required\": [\"compatibility\"]\n },\n \"properties\": {\n \"source\": {\n \"not\": {\n \"required\": [\"graph\"]\n }\n },\n \"items\": {\n \"items\": {\n \"allOf\": [\n {\n \"properties\": {\n \"schema_version\": {\n \"const\": \"aiwg.fortemi.index.record.v1\"\n }\n }\n },\n {\n \"$ref\": \"#/$defs/v1RecordCompatibility\"\n }\n ]\n }\n }\n }\n }\n },\n {\n \"if\": {\n \"properties\": {\n \"schema_version\": {\n \"const\": \"aiwg.fortemi.index.export.v2\"\n }\n }\n },\n \"then\": {\n \"required\": [\"compatibility\"],\n \"properties\": {\n \"source\": {\n \"required\": [\"graph\"]\n },\n \"items\": {\n \"items\": {\n \"properties\": {\n \"schema_version\": {\n \"const\": \"aiwg.fortemi.index.record.v2\"\n }\n }\n }\n }\n }\n }\n }\n ],\n \"$defs\": {\n \"privacy\": {\n \"enum\": [\"private\", \"sanitized\", \"public\"]\n },\n \"recordType\": {\n \"type\": \"string\",\n \"minLength\": 1\n },\n \"stringArray\": {\n \"type\": \"array\",\n \"items\": {\n \"type\": \"string\"\n }\n },\n \"numberArray\": {\n \"type\": \"array\",\n \"items\": {\n \"type\": \"number\"\n }\n },\n \"v1RecordCompatibility\": {\n \"type\": \"object\",\n \"not\": {\n \"anyOf\": [\n {\n \"required\": [\"name\"]\n },\n {\n \"required\": [\"summary\"]\n },\n {\n \"required\": [\"search\"]\n },\n {\n \"required\": [\"chunks\"]\n },\n {\n \"required\": [\"embeddings\"]\n },\n {\n \"required\": [\"compatibility\"]\n },\n {\n \"required\": [\"skos_concepts\"]\n },\n {\n \"required\": [\"skos_relations\"]\n },\n {\n \"required\": [\"provenance_events\"]\n },\n {\n \"required\": [\"operational_state\"]\n },\n {\n \"required\": [\"state_transfer\"]\n }\n ]\n },\n \"properties\": {\n \"source\": {\n \"not\": {\n \"anyOf\": [\n {\n \"required\": [\"origin\"]\n },\n {\n \"required\": [\"generated\"]\n },\n {\n \"required\": [\"checksum\"]\n },\n {\n \"required\": [\"updated_at\"]\n }\n ]\n }\n },\n \"relationships\": {\n \"items\": {\n \"not\": {\n \"anyOf\": [\n {\n \"required\": [\"target_path\"]\n },\n {\n \"required\": [\"direction\"]\n },\n {\n \"required\": [\"label\"]\n },\n {\n \"required\": [\"confidence\"]\n },\n {\n \"required\": [\"privacy\"]\n },\n {\n \"required\": [\"metadata\"]\n }\n ]\n }\n }\n },\n \"privacy\": {\n \"not\": {\n \"required\": [\"locality\"]\n }\n }\n }\n },\n \"record\": {\n \"type\": \"object\",\n \"additionalProperties\": false,\n \"required\": [\n \"schema_version\",\n \"id\",\n \"type\",\n \"source\",\n \"title\",\n \"text\",\n \"facets\",\n \"tags\",\n \"concepts\",\n \"relationships\",\n \"provenance\",\n \"privacy\",\n \"updated_at\"\n ],\n \"properties\": {\n \"schema_version\": {\n \"enum\": [\n \"aiwg.fortemi.index.record.v1\",\n \"aiwg.fortemi.index.record.v2\"\n ]\n },\n \"id\": {\n \"type\": \"string\",\n \"minLength\": 1\n },\n \"type\": {\n \"$ref\": \"#/$defs/recordType\"\n },\n \"source\": {\n \"type\": \"object\",\n \"additionalProperties\": false,\n \"required\": [\"path\", \"repo_relative_path\", \"locator\"],\n \"properties\": {\n \"path\": {\n \"type\": \"string\",\n \"minLength\": 1\n },\n \"repo_relative_path\": {\n \"type\": \"string\",\n \"minLength\": 1\n },\n \"locator\": {\n \"type\": \"string\",\n \"minLength\": 1\n },\n \"origin\": {\n \"type\": \"string\",\n \"minLength\": 1\n },\n \"generated\": {\n \"type\": \"boolean\"\n },\n \"checksum\": {\n \"type\": \"string\"\n },\n \"updated_at\": {\n \"type\": \"string\",\n \"format\": \"date-time\"\n }\n }\n },\n \"title\": {\n \"type\": \"string\"\n },\n \"name\": {\n \"type\": \"string\"\n },\n \"summary\": {\n \"type\": \"string\"\n },\n \"text\": {\n \"type\": \"string\"\n },\n \"search\": {\n \"type\": \"object\",\n \"additionalProperties\": false,\n \"required\": [\n \"title\",\n \"body\",\n \"triggers\",\n \"aliases\",\n \"tags\",\n \"frontmatter\"\n ],\n \"properties\": {\n \"title\": {\n \"type\": \"string\"\n },\n \"name\": {\n \"type\": \"string\"\n },\n \"summary\": {\n \"type\": \"string\"\n },\n \"body\": {\n \"type\": \"string\"\n },\n \"triggers\": {\n \"$ref\": \"#/$defs/stringArray\"\n },\n \"aliases\": {\n \"$ref\": \"#/$defs/stringArray\"\n },\n \"capability\": {\n \"type\": \"string\"\n },\n \"tags\": {\n \"$ref\": \"#/$defs/stringArray\"\n },\n \"phase\": {\n \"type\": \"string\"\n },\n \"type\": {\n \"type\": \"string\"\n },\n \"frontmatter\": {\n \"type\": \"object\"\n }\n }\n },\n \"facets\": {\n \"type\": \"object\",\n \"additionalProperties\": {\n \"$ref\": \"#/$defs/stringArray\"\n }\n },\n \"tags\": {\n \"$ref\": \"#/$defs/stringArray\"\n },\n \"concepts\": {\n \"$ref\": \"#/$defs/stringArray\"\n },\n \"relationships\": {\n \"type\": \"array\",\n \"items\": {\n \"type\": \"object\",\n \"additionalProperties\": false,\n \"required\": [\"type\", \"target_id\"],\n \"properties\": {\n \"type\": {\n \"type\": \"string\",\n \"minLength\": 1\n },\n \"target_id\": {\n \"type\": \"string\",\n \"minLength\": 1\n },\n \"source_path\": {\n \"type\": \"string\"\n },\n \"target_path\": {\n \"type\": \"string\"\n },\n \"direction\": {\n \"enum\": [\"upstream\", \"downstream\", \"related\"]\n },\n \"label\": {\n \"type\": \"string\"\n },\n \"confidence\": {\n \"type\": \"number\"\n },\n \"privacy\": {\n \"$ref\": \"#/$defs/privacy\"\n },\n \"metadata\": {\n \"type\": \"object\"\n }\n }\n }\n },\n \"provenance\": {\n \"type\": \"array\",\n \"minItems\": 1,\n \"items\": {\n \"type\": \"object\",\n \"additionalProperties\": false,\n \"required\": [\"field\", \"source\", \"path\", \"confidence\", \"privacy\"],\n \"properties\": {\n \"field\": {\n \"type\": \"string\",\n \"minLength\": 1\n },\n \"source\": {\n \"type\": \"string\",\n \"minLength\": 1\n },\n \"path\": {\n \"type\": \"string\",\n \"minLength\": 1\n },\n \"confidence\": {\n \"enum\": [\"source\", \"candidate\", \"reviewed\", \"rejected\"]\n },\n \"privacy\": {\n \"$ref\": \"#/$defs/privacy\"\n }\n }\n }\n },\n \"privacy\": {\n \"type\": \"object\",\n \"additionalProperties\": false,\n \"required\": [\"classification\", \"pii\"],\n \"properties\": {\n \"classification\": {\n \"$ref\": \"#/$defs/privacy\"\n },\n \"pii\": {\n \"type\": \"boolean\"\n },\n \"locality\": {\n \"enum\": [\"project\", \"framework\", \"external\"]\n }\n }\n },\n \"chunks\": {\n \"type\": \"array\",\n \"items\": {\n \"type\": \"object\",\n \"additionalProperties\": false,\n \"properties\": {\n \"id\": {\n \"type\": \"string\",\n \"minLength\": 1\n },\n \"text\": {\n \"type\": \"string\"\n },\n \"body\": {\n \"type\": \"string\"\n },\n \"summary\": {\n \"type\": \"string\"\n },\n \"source_path\": {\n \"type\": \"string\"\n },\n \"metadata\": {\n \"type\": \"object\"\n },\n \"checksum\": {\n \"type\": \"string\"\n }\n }\n }\n },\n \"embeddings\": {\n \"type\": \"array\",\n \"items\": {\n \"type\": \"object\",\n \"additionalProperties\": false,\n \"properties\": {\n \"id\": {\n \"type\": \"string\"\n },\n \"model\": {\n \"type\": \"string\"\n },\n \"embedding\": {\n \"$ref\": \"#/$defs/numberArray\"\n },\n \"vector\": {\n \"$ref\": \"#/$defs/numberArray\"\n },\n \"granularity\": {\n \"type\": \"string\"\n },\n \"source_path\": {\n \"type\": \"string\"\n },\n \"metadata\": {\n \"type\": \"object\"\n },\n \"chunk_id\": {\n \"type\": \"string\"\n },\n \"vector_ref\": {\n \"type\": \"string\"\n },\n \"input_hash\": {\n \"type\": \"string\"\n }\n }\n }\n },\n \"compatibility\": {\n \"type\": \"object\"\n },\n \"skos_concepts\": {\n \"type\": \"array\",\n \"items\": {\n \"type\": \"object\",\n \"additionalProperties\": false,\n \"required\": [\"id\", \"prefLabel\"],\n \"properties\": {\n \"id\": {\n \"type\": \"string\",\n \"minLength\": 1\n },\n \"prefLabel\": {\n \"type\": \"string\",\n \"minLength\": 1\n },\n \"definition\": {\n \"type\": \"string\"\n },\n \"scheme\": {\n \"type\": \"string\"\n },\n \"notation\": {\n \"type\": \"string\"\n },\n \"uri\": {\n \"type\": \"string\"\n },\n \"altLabels\": {\n \"$ref\": \"#/$defs/stringArray\"\n },\n \"metadata\": {\n \"type\": \"object\"\n }\n }\n }\n },\n \"skos_relations\": {\n \"type\": \"array\",\n \"items\": {\n \"type\": \"object\",\n \"additionalProperties\": false,\n \"required\": [\"type\", \"source_id\", \"target_id\"],\n \"properties\": {\n \"type\": {\n \"type\": \"string\",\n \"minLength\": 1\n },\n \"source_id\": {\n \"type\": \"string\",\n \"minLength\": 1\n },\n \"target_id\": {\n \"type\": \"string\",\n \"minLength\": 1\n },\n \"source_path\": {\n \"type\": \"string\"\n },\n \"metadata\": {\n \"type\": \"object\"\n }\n }\n }\n },\n \"provenance_events\": {\n \"type\": \"array\",\n \"items\": {\n \"type\": \"object\",\n \"additionalProperties\": false,\n \"required\": [\"activity\"],\n \"properties\": {\n \"id\": {\n \"type\": \"string\"\n },\n \"activity\": {\n \"type\": \"string\",\n \"minLength\": 1\n },\n \"agent\": {\n \"type\": \"string\"\n },\n \"started_at\": {\n \"type\": \"string\",\n \"format\": \"date-time\"\n },\n \"ended_at\": {\n \"type\": \"string\",\n \"format\": \"date-time\"\n },\n \"source\": {\n \"type\": \"string\"\n },\n \"path\": {\n \"type\": \"string\"\n },\n \"confidence\": {\n \"enum\": [\"source\", \"candidate\", \"reviewed\", \"rejected\"]\n },\n \"privacy\": {\n \"$ref\": \"#/$defs/privacy\"\n },\n \"attributes\": {\n \"type\": \"object\"\n }\n }\n }\n },\n \"operational_state\": {\n \"$ref\": \"#/$defs/operationalState\"\n },\n \"state_transfer\": {\n \"$ref\": \"#/$defs/stateTransfer\"\n },\n \"updated_at\": {\n \"type\": \"string\",\n \"format\": \"date-time\"\n }\n }\n },\n \"operationalState\": {\n \"type\": \"object\",\n \"additionalProperties\": false,\n \"required\": [\"classification\"],\n \"properties\": {\n \"source_repo\": { \"type\": \"string\", \"minLength\": 1 },\n \"source_kind\": { \"type\": \"string\", \"minLength\": 1 },\n \"source_id\": { \"type\": \"string\", \"minLength\": 1 },\n \"observed_state\": { \"type\": \"string\", \"minLength\": 1 },\n \"observed_at\": { \"type\": \"string\", \"format\": \"date-time\" },\n \"source_updated_at\": { \"type\": \"string\", \"format\": \"date-time\" },\n \"evidence_url\": { \"type\": \"string\", \"format\": \"uri\" },\n \"evidence_path\": { \"type\": \"string\", \"minLength\": 1 },\n \"observer\": { \"type\": \"string\", \"minLength\": 1 },\n \"supersedes\": { \"$ref\": \"#/$defs/stringArray\" },\n \"contradicts\": { \"$ref\": \"#/$defs/stringArray\" },\n \"stale_after\": { \"type\": \"string\", \"format\": \"date-time\" },\n \"classification\": {\n \"enum\": [\"fresh\", \"historical\", \"superseded\", \"contradicted\", \"needs-source\"]\n },\n \"confidence\": {\n \"enum\": [\"source\", \"candidate\", \"reviewed\", \"rejected\"]\n },\n \"current_action_selector\": { \"type\": \"boolean\" }\n }\n },\n \"stateTransfer\": {\n \"type\": \"object\",\n \"additionalProperties\": false,\n \"required\": [\"deleted_at\"],\n \"properties\": {\n \"deleted_at\": {\n \"type\": [\"string\", \"null\"],\n \"format\": \"date-time\"\n }\n }\n }\n }\n}\n"]}
|
|
@@ -375,11 +375,11 @@ interface ExportOptions {
|
|
|
375
375
|
/** Explicit authority schema tuple; 2.0.0 is opt-in until matrix receipts pass. */
|
|
376
376
|
schemaVersion?: '1.2.0' | '2.0.0';
|
|
377
377
|
includeEmbeddings?: boolean;
|
|
378
|
-
/** Filter to
|
|
378
|
+
/** Filter to one collection. full-v1 rejects an empty value or combination with tag. */
|
|
379
379
|
collectionId?: string;
|
|
380
|
-
/** Filter to notes with this tag
|
|
380
|
+
/** Filter to notes with this tag. full-v1 rejects an empty value or combination with collectionId. */
|
|
381
381
|
tag?: string;
|
|
382
|
-
/** Export only these
|
|
382
|
+
/** Export only these sets and their member/vector rows, not a note selector. full-v1 requires a nonempty list. */
|
|
383
383
|
embeddingSetIds?: string[];
|
|
384
384
|
/** Preserve virtual selector materialization metadata and virtual member rows. */
|
|
385
385
|
includeMaterializedSelectors?: boolean;
|
|
@@ -416,7 +416,7 @@ type ConflictStrategy = 'skip' | 'replace' | 'error';
|
|
|
416
416
|
/** Options for shard import. */
|
|
417
417
|
interface ImportOptions {
|
|
418
418
|
conflictStrategy?: ConflictStrategy;
|
|
419
|
-
/** Rows processed between cooperative yields. Defaults to 250. */
|
|
419
|
+
/** Rows processed between cooperative yields. Defaults to 250; 0 disables yields. */
|
|
420
420
|
batchSize?: number;
|
|
421
421
|
/** Progress callback for long-running import phases. */
|
|
422
422
|
onProgress?: (progress: ImportProgress) => void;
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
export { am as AiwgKnowledgeShardConversionResult, an as AiwgKnowledgeShardOptions, b8 as aiwgFortemiIndexFromKnowledgeShard, ba as aiwgFortemiIndexToKnowledgeShard, bb as aiwgFortemiIndexToKnowledgeShardWithReport } from './aiwg-index-shard-
|
|
1
|
+
export { am as AiwgKnowledgeShardConversionResult, an as AiwgKnowledgeShardOptions, b8 as aiwgFortemiIndexFromKnowledgeShard, ba as aiwgFortemiIndexToKnowledgeShard, bb as aiwgFortemiIndexToKnowledgeShardWithReport } from './aiwg-index-shard-jyT_f8H6.js';
|
|
2
2
|
import '@bytecask/core';
|