kg-ssot 4.31.0 → 4.32.0

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/kg.mjs CHANGED
@@ -652,7 +652,7 @@ export function indexTexts(items) {
652
652
  // ---------------------------------------------------------------- avisos (SHOULD)
653
653
 
654
654
  const ISO_PREFIX = /^[0-9]{4}(-[0-9]{2}(-[0-9]{2})?)?$/;
655
- const TESTIMONY_METHOD = /^testemunho: /;
655
+ const TESTIMONY_METHOD = /^(?:testimony|testemunho): /; // a canônica e o alias (v4.16)
656
656
  // Só espaço no sentido do str.isspace do Python (o strip da referência): o trim() do JS tira o U+FEFF, que o Python
657
657
  // não tira, e não tira \x1c a \x1f nem o \x85, que o Python tira
658
658
  const PY_BLANK = /^[\t-\r\x1c-\x20\x85\xa0\u1680\u2000-\u200a\u2028\u2029\u202f\u205f\u3000]*$/;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "kg-ssot",
3
- "version": "4.31.0",
3
+ "version": "4.32.0",
4
4
  "description": "JavaScript reader for the KG-SSOT verifiable knowledge graph contract (.kg.yaml and .kg.json): a precompiled validator, no eval, for Node and React Native/Expo.",
5
5
  "keywords": [
6
6
  "knowledge-graph",
package/should.mjs CHANGED
@@ -1 +1 @@
1
- "use strict";export const validate = validate20;export default validate20;const schema31 = {"$schema":"https://json-schema.org/draft/2020-12/schema","$id":"urn:kg-ssot:spec:kg-contract-v4.should.schema.json","title":"kg.yaml — contrato v4, nível SHOULD","description":"O contrato v4 do .kg.yaml, nível SHOULD (alerta, não reprova), o vigente. É o SHOULD v3 menos o que o v4 promoveu a MUST: a chave desconhecida sem x_ no topo, no meta, no nó e na aresta e o nó confirmed ou PROD sem provenance. Segue alertando: nome de chave que não é slug ([A-Za-z_][A-Za-z0-9_-]*), como form.pattern.<escopo>.key, que sem x_ também reprova no MUST; nó PROD sem verified_at; label do nó acima de 280 caracteres, form.range.node.label, porque a narrativa vai para narrative; a chave desconhecida dentro de provenance, fechada em source, locator, method e x_; e o grafo sem nós (nodes: []), como form.range.top.nodes: é válido, como o primeiro uso de um app, mas o aviso pega o parse que falhou em silêncio. No v4, provenance.method alerta (form.pattern.node.provenance.method) quando não segue a forma canônica '<classe>: <detalhe>', com a classe em medição, leitura, juízes, derivado, testemunho; reprova no v5. Medição feita por terceiro e lida pelo autor do grafo é testemunho. No v4.1 entram quatro avisos que o próprio arquivo decide. O schema acusa a claim com verified_at e sem verified_against (form.required.node.verified_against): carimbo sem alvo não distingue verificado de declarado. Só a claim: evidence é a própria âncora, artifact nomeia o alvo, question não afirma e a origem da decision é cobrada por integrity.untraced-decision. O leitor acusa três avisos que cruzam campos ou arestas, por isso não cabem no schema: integrity.testimony-in-prod (nó PROD cuja base é testemunho), integrity.verified-before-fact (verified_at anterior a valid_from) e integrity.untraced-decision (decision viva sem trace, sem provenance e sem aresta TRACES_TO saindo dela). No v4.2 entra provenance.locality, opcional, com o enum repo (arquivo versionado no próprio repo), web (endereço público), host (só existe numa máquina: journal local, caminho fora do repo) ou pessoa (relato de alguém): o valor fora do enum alerta como form.enum.node.provenance.locality. Serve para medir o que é reverificável por terceiros e para barrar host na publicação. No v4.4 entra o quarto aviso do leitor, integrity.refutes-unreconciled: nó que recebe REFUTES e segue vivo (nem superseded nem refuted; a question done já está respondida, e não alerta). O grafo afirma e refuta a mesma coisa; o radar do framework onde o formato nasceu reprova o caso como contradição. Aqui é SHOULD agora e vira MUST numa versão futura, depois que os adotantes medirem a própria dívida. No v4.5, provenance.locality ganha privado: documento fora do repo, não público e reverificável por quem tem acesso (Google Drive, wiki interna); o valor segue onde está a cópia lida, não a classificação do documento. Entra verified_scope, opcional, com o enum fato (o que o nó afirma foi conferido), mecanismo (só o mecanismo, como código ou configuração; o fato depende de outro ambiente) ou nenhum (conferido contra o repo na data, e nada ali sustenta nem refuta o fato): o valor fora do enum alerta como form.enum.node.verified_scope, e verified_scope sem verified_at alerta como form.required.node.verified_at. O leitor passa a contar para integrity.refutes-unreconciled a REFUTES que chega a um nó vivo pelas external_edges, quando tem o corpus. No v4.8, reverify_every e retain_for alertam fora da duração ISO 8601 só com data, ou zerada como P0D (form.pattern.node.reverify_every, form.pattern.node.retain_for), reverify_on vazio ou fora de texto alerta, e reverify_every sem verified_at alerta como form.required.node.verified_at: a cadência conta a partir do carimbo. No v4.9, reverify_every sem verified_at deixa de alertar: é o estado inicial de uma regra de coleta, cadência definida e nenhuma verificação ainda, e quem o lista é o relatório de vencimento (kg_validate.py --due, na lista unstamped), fora do veredito. O nó PROD sem verified_at segue alertando. No v4.11 entram os perfis canônicos das chaves x_ que se repetem nos adotantes, julgados só quando a chave está presente e nunca no MUST. No nó: x_term, o termo de um vocabulário de domínio, com pref (o termo preferido, o prefLabel do SKOS) e labels, a lista de sinônimos como objetos com literal, kind (alt ou hidden, o altLabel e o hiddenLabel do SKOS), source, locator, version (a versão do documento de onde veio), verified_at, reverify_every, scope (level domain ou case, com case quando o nível é case, e jurisdiction) e retired (booleano: o sinônimo aposentado); o termo aposentado é o nó com status superseded e a aresta SUPERSEDES do termo novo. x_mirror, a cópia de um registro de outro sistema (system, ref, state e synced_at, com resync_every e url opcionais). x_doc_cycle, o ciclo de vida de um documento externo (issuer e state em draft, enacted (publicado, com vigência futura em effective_from), in_force, suspended, revoked, expired ou superseded; ref, version, effective_from, effective_to, updated_at, checked_at e recheck_every opcionais). x_questionnaire, o elo com um questionário externo (name e questions não vazia; answer_draft, verdict em meets, partial, does_not_meet, not_applicable ou unknown, e answered_at; desde o v4.13, role em item (o padrão: a pergunta do questionário ou a resposta a ela) evidence_request (o pedido de evidência a uma pessoa, que cita os itens a que serve) ou evidence_requirement (a evidência que os itens exigem)). x_severity, em critical, high, medium, low ou info. Na aresta: x_confidence, de 0 a 1, e x_provisional, booleano. Dentro de um perfil, a chave desconhecida sem x_ alerta como form.unknown-key, e um item de lista dentro do nó leva o caminho no código (form.type.node.x_term.labels.item). No meta, o slug fora da forma em minúsculas com hífen alerta como form.pattern.meta.slug. Os valores de enum são códigos, em inglês, em qualquer língua da saída. Nenhum perfil usa a chave status aninhada: o radar do framework onde o formato nasceu lê status em qualquer nível como o status do nó, e o sinônimo aposentado é retired: true. No v4.12 entram os dois perfis do critério pré-registrado, que fazem da troca da régua depois de ver o dado uma emenda datada em vez de uma reescrita. x_criterion, no nó do critério (um nó por versão): id (o id estável entre as versões), version (texto ou inteiro), registered_at (data, ou data-hora RFC 3339 com fuso), sha256 (64 hex minúsculos) e ref ou text, nunca os dois; com amends (o id do nó da versão anterior), reason é obrigatório, e round (texto) é a rodada que motivou a emenda. x_measured_under, no resultado: measured_at (data ou data-hora), criteria (lista não vazia de {criterion, sha256}, em que criterion é o id de um nó com x_criterion ou <caminho>#<id>), e subject (mapa), verdict e round (texto) opcionais. ref e text juntos alertam form.exclusive.node.x_criterion. O leitor não calcula hash: a coerência entre os nós (integrity.criterion-unknown, integrity.criterion-sha-mismatch, integrity.criterion-amends-mismatch, integrity.measured-post-hoc e integrity.measured-order-unknown) é dele, e o sha256 contra o texto ou o arquivo é do kg_criterion.py. No v4.14, o x_term ganha scheme, o esquema do vocabulário (o skos:inScheme), em forma de slug (minúsculas, dígitos e hífen); sem ele, o esquema é o próprio grafo, cujo nome é o meta.id (o esquema declarado igual ao meta.id é o mesmo). E o aviso integrity.term-notation-duplicate, do leitor: dois nós vivos (status que não é superseded nem refuted) com x_term, no mesmo esquema e com a mesma notation (comparada exata), só entre nós do mesmo grafo, como a convenção do SKOS (§6.5.3). O corpus inteiro e o código na prosa são do kg_vocab.py lint.","type":"object","propertyNames":{"pattern":"^[A-Za-z_][A-Za-z0-9_-]*$"},"properties":{"meta":{"type":"object","propertyNames":{"pattern":"^[A-Za-z_][A-Za-z0-9_-]*$"},"properties":{"slug":{"type":"string","pattern":"^[a-z0-9]+(?:-[a-z0-9]+)*$"}}},"nodes":{"type":"array","items":{"type":"object","propertyNames":{"pattern":"^[A-Za-z_][A-Za-z0-9_-]*$"},"properties":{"label":{"maxLength":280},"provenance":{"propertyNames":{"allOf":[{"pattern":"^[A-Za-z_][A-Za-z0-9_-]*$"},{"anyOf":[{"enum":["locality","locator","method","source"]},{"pattern":"^x_"}]}]},"properties":{"method":{"pattern":"^(?:medição|leitura|juízes|derivado|testemunho): [^ \t\n\r]"},"locality":{"enum":["host","pessoa","privado","repo","web"]}}},"verified_scope":{"enum":["fato","mecanismo","nenhum"]},"reverify_every":{"type":"string","allOf":[{"pattern":"^P(?:[0-9]+Y(?:[0-9]+M)?(?:[0-9]+W)?(?:[0-9]+D)?|[0-9]+M(?:[0-9]+W)?(?:[0-9]+D)?|[0-9]+W(?:[0-9]+D)?|[0-9]+D)$"},{"not":{"type":"string","pattern":"^P(?:0+[YMWD])+$"}}]},"reverify_on":{"type":"string","minLength":1},"retain_for":{"type":"string","allOf":[{"pattern":"^P(?:[0-9]+Y(?:[0-9]+M)?(?:[0-9]+W)?(?:[0-9]+D)?|[0-9]+M(?:[0-9]+W)?(?:[0-9]+D)?|[0-9]+W(?:[0-9]+D)?|[0-9]+D)$"},{"not":{"type":"string","pattern":"^P(?:0+[YMWD])+$"}}]},"x_term":{"type":"object","required":["pref"],"propertyNames":{"allOf":[{"pattern":"^[A-Za-z_][A-Za-z0-9_-]*$"},{"anyOf":[{"enum":["definition","labels","lang","notation","pref","scheme"]},{"pattern":"^x_"}]}]},"properties":{"pref":{"type":"string","minLength":1},"lang":{"type":"string","pattern":"^[A-Za-z]{2,3}(?:-[A-Za-z0-9]{1,8})*$"},"definition":{"type":"string","minLength":1},"notation":{"type":"string","minLength":1},"labels":{"type":"array","items":{"$ref":"#/$defs/termLabel"}},"scheme":{"type":"string","pattern":"^[a-z0-9][a-z0-9-]*$"}}},"x_mirror":{"type":"object","required":["system","ref","state","synced_at"],"propertyNames":{"allOf":[{"pattern":"^[A-Za-z_][A-Za-z0-9_-]*$"},{"anyOf":[{"enum":["ref","resync_every","state","synced_at","system","url"]},{"pattern":"^x_"}]}]},"properties":{"system":{"type":"string","minLength":1},"ref":{"type":"string","minLength":1},"synced_at":{"type":"string","format":"date"},"url":{"type":"string","minLength":1},"resync_every":{"type":"string","allOf":[{"pattern":"^P(?:[0-9]+Y(?:[0-9]+M)?(?:[0-9]+W)?(?:[0-9]+D)?|[0-9]+M(?:[0-9]+W)?(?:[0-9]+D)?|[0-9]+W(?:[0-9]+D)?|[0-9]+D)$"},{"not":{"type":"string","pattern":"^P(?:0+[YMWD])+$"}}]},"state":{"type":"string","minLength":1}}},"x_doc_cycle":{"type":"object","required":["issuer","state"],"propertyNames":{"allOf":[{"pattern":"^[A-Za-z_][A-Za-z0-9_-]*$"},{"anyOf":[{"enum":["checked_at","effective_from","effective_to","issuer","recheck_every","ref","state","updated_at","version"]},{"pattern":"^x_"}]}]},"properties":{"issuer":{"type":"string","minLength":1},"ref":{"type":"string","minLength":1},"version":{"type":"string","minLength":1},"state":{"enum":["draft","enacted","expired","in_force","revoked","superseded","suspended"]},"effective_from":{"type":"string","format":"date"},"effective_to":{"type":"string","format":"date"},"updated_at":{"type":"string","format":"date"},"checked_at":{"type":"string","format":"date"},"recheck_every":{"type":"string","allOf":[{"pattern":"^P(?:[0-9]+Y(?:[0-9]+M)?(?:[0-9]+W)?(?:[0-9]+D)?|[0-9]+M(?:[0-9]+W)?(?:[0-9]+D)?|[0-9]+W(?:[0-9]+D)?|[0-9]+D)$"},{"not":{"type":"string","pattern":"^P(?:0+[YMWD])+$"}}]}},"allOf":[{"if":{"required":["recheck_every"]},"then":{"required":["checked_at"]}}]},"x_questionnaire":{"type":"object","required":["name","questions"],"propertyNames":{"allOf":[{"pattern":"^[A-Za-z_][A-Za-z0-9_-]*$"},{"anyOf":[{"enum":["answer_draft","answered_at","name","questions","role","verdict"]},{"pattern":"^x_"}]}]},"properties":{"name":{"type":"string","minLength":1},"questions":{"type":"array","minItems":1,"items":{"type":"string","minLength":1}},"answer_draft":{"type":"string","minLength":1},"verdict":{"enum":["does_not_meet","meets","not_applicable","partial","unknown"]},"answered_at":{"type":"string","format":"date"},"role":{"enum":["evidence_request","evidence_requirement","item"]}}},"x_severity":{"enum":["critical","high","info","low","medium"]},"x_criterion":{"type":"object","required":["id","version","registered_at","sha256"],"propertyNames":{"allOf":[{"pattern":"^[A-Za-z_][A-Za-z0-9_-]*$"},{"anyOf":[{"enum":["amends","id","reason","ref","registered_at","round","sha256","text","version"]},{"pattern":"^x_"}]}]},"properties":{"id":{"type":"string","minLength":1},"version":{"type":["string","integer"],"minLength":1},"registered_at":{"type":"string","pattern":"^[0-9]{4}-(?:0[1-9]|1[0-2])-(?:0[1-9]|[12][0-9]|3[01])(?:[Tt](?:[01][0-9]|2[0-3]):[0-5][0-9]:(?:[0-5][0-9]|60)(?:\\.[0-9]+)?(?:[Zz]|[+-](?:[01][0-9]|2[0-3]):[0-5][0-9]))?$"},"sha256":{"type":"string","pattern":"^[0-9a-f]{64}$"},"ref":{"type":"string","minLength":1},"text":{"type":"string","minLength":1},"amends":{"type":"string","minLength":1},"reason":{"type":"string","minLength":1},"round":{"type":"string","minLength":1}},"allOf":[{"if":{"type":"object","required":["ref"]},"then":{"not":{"required":["text"]}}},{"if":{"type":"object","not":{"required":["ref"]}},"then":{"required":["text"]}},{"if":{"type":"object","required":["amends"]},"then":{"required":["reason"]}}]},"x_measured_under":{"type":"object","required":["measured_at","criteria"],"propertyNames":{"allOf":[{"pattern":"^[A-Za-z_][A-Za-z0-9_-]*$"},{"anyOf":[{"enum":["criteria","measured_at","round","subject","verdict"]},{"pattern":"^x_"}]}]},"properties":{"measured_at":{"type":"string","pattern":"^[0-9]{4}-(?:0[1-9]|1[0-2])-(?:0[1-9]|[12][0-9]|3[01])(?:[Tt](?:[01][0-9]|2[0-3]):[0-5][0-9]:(?:[0-5][0-9]|60)(?:\\.[0-9]+)?(?:[Zz]|[+-](?:[01][0-9]|2[0-3]):[0-5][0-9]))?$"},"criteria":{"type":"array","minItems":1,"items":{"type":"object","required":["criterion","sha256"],"propertyNames":{"allOf":[{"pattern":"^[A-Za-z_][A-Za-z0-9_-]*$"},{"anyOf":[{"enum":["criterion","sha256"]},{"pattern":"^x_"}]}]},"properties":{"criterion":{"type":"string","minLength":1},"sha256":{"type":"string","pattern":"^[0-9a-f]{64}$"}}}},"subject":{"type":"object"},"verdict":{"type":"string","minLength":1},"round":{"type":"string","minLength":1}}}},"allOf":[{"if":{"anyOf":[{"properties":{"plane":{"const":"PROD"}},"required":["plane"]},{"required":["verified_scope"]}]},"then":{"required":["verified_at"]}},{"if":{"properties":{"node_type":{"const":"claim"}},"required":["node_type","verified_at"]},"then":{"required":["verified_against"]}}]},"minItems":1},"edges":{"type":"array","items":{"type":"object","propertyNames":{"pattern":"^[A-Za-z_][A-Za-z0-9_-]*$"},"properties":{"x_confidence":{"type":"number","minimum":0,"maximum":1},"x_provisional":{"type":"boolean"}}}}},"$defs":{"termLabel":{"type":"object","required":["literal","kind","source"],"propertyNames":{"allOf":[{"pattern":"^[A-Za-z_][A-Za-z0-9_-]*$"},{"anyOf":[{"enum":["kind","lang","literal","locator","retired","reverify_every","scope","source","verified_at","version"]},{"pattern":"^x_"}]}]},"properties":{"literal":{"type":"string","minLength":1},"kind":{"enum":["alt","hidden"]},"lang":{"type":"string","pattern":"^[A-Za-z]{2,3}(?:-[A-Za-z0-9]{1,8})*$"},"scope":{"type":"object","required":["level"],"propertyNames":{"allOf":[{"pattern":"^[A-Za-z_][A-Za-z0-9_-]*$"},{"anyOf":[{"enum":["case","jurisdiction","level"]},{"pattern":"^x_"}]}]},"properties":{"level":{"enum":["case","domain"]},"case":{"type":"string","minLength":1},"jurisdiction":{"type":"string","minLength":1}},"allOf":[{"if":{"properties":{"level":{"const":"case"}},"required":["level"]},"then":{"required":["case"]}}]},"source":{"type":"string","minLength":1},"locator":{"type":"string","minLength":1},"version":{"type":"string","minLength":1},"verified_at":{"type":"string","format":"date"},"reverify_every":{"type":"string","allOf":[{"pattern":"^P(?:[0-9]+Y(?:[0-9]+M)?(?:[0-9]+W)?(?:[0-9]+D)?|[0-9]+M(?:[0-9]+W)?(?:[0-9]+D)?|[0-9]+W(?:[0-9]+D)?|[0-9]+D)$"},{"not":{"type":"string","pattern":"^P(?:0+[YMWD])+$"}}]},"retired":{"type":"boolean"}},"allOf":[{"if":{"required":["reverify_every"]},"then":{"required":["verified_at"]}}]}}};const schema32 = {"type":"object","required":["literal","kind","source"],"propertyNames":{"allOf":[{"pattern":"^[A-Za-z_][A-Za-z0-9_-]*$"},{"anyOf":[{"enum":["kind","lang","literal","locator","retired","reverify_every","scope","source","verified_at","version"]},{"pattern":"^x_"}]}]},"properties":{"literal":{"type":"string","minLength":1},"kind":{"enum":["alt","hidden"]},"lang":{"type":"string","pattern":"^[A-Za-z]{2,3}(?:-[A-Za-z0-9]{1,8})*$"},"scope":{"type":"object","required":["level"],"propertyNames":{"allOf":[{"pattern":"^[A-Za-z_][A-Za-z0-9_-]*$"},{"anyOf":[{"enum":["case","jurisdiction","level"]},{"pattern":"^x_"}]}]},"properties":{"level":{"enum":["case","domain"]},"case":{"type":"string","minLength":1},"jurisdiction":{"type":"string","minLength":1}},"allOf":[{"if":{"properties":{"level":{"const":"case"}},"required":["level"]},"then":{"required":["case"]}}]},"source":{"type":"string","minLength":1},"locator":{"type":"string","minLength":1},"version":{"type":"string","minLength":1},"verified_at":{"type":"string","format":"date"},"reverify_every":{"type":"string","allOf":[{"pattern":"^P(?:[0-9]+Y(?:[0-9]+M)?(?:[0-9]+W)?(?:[0-9]+D)?|[0-9]+M(?:[0-9]+W)?(?:[0-9]+D)?|[0-9]+W(?:[0-9]+D)?|[0-9]+D)$"},{"not":{"type":"string","pattern":"^P(?:0+[YMWD])+$"}}]},"retired":{"type":"boolean"}},"allOf":[{"if":{"required":["reverify_every"]},"then":{"required":["verified_at"]}}]};const pattern4 = new RegExp("^[A-Za-z_][A-Za-z0-9_-]*$", "u");const pattern6 = new RegExp("^[a-z0-9]+(?:-[a-z0-9]+)*$", "u");const pattern9 = new RegExp("^x_", "u");const pattern10 = new RegExp("^(?:medição|leitura|juízes|derivado|testemunho): [^ \t\n\r]", "u");const pattern11 = new RegExp("^P(?:[0-9]+Y(?:[0-9]+M)?(?:[0-9]+W)?(?:[0-9]+D)?|[0-9]+M(?:[0-9]+W)?(?:[0-9]+D)?|[0-9]+W(?:[0-9]+D)?|[0-9]+D)$", "u");const pattern12 = new RegExp("^P(?:0+[YMWD])+$", "u");const pattern17 = new RegExp("^[A-Za-z]{2,3}(?:-[A-Za-z0-9]{1,8})*$", "u");const pattern25 = new RegExp("^[a-z0-9][a-z0-9-]*$", "u");const pattern38 = new RegExp("^[0-9]{4}-(?:0[1-9]|1[0-2])-(?:0[1-9]|[12][0-9]|3[01])(?:[Tt](?:[01][0-9]|2[0-3]):[0-5][0-9]:(?:[0-5][0-9]|60)(?:\\.[0-9]+)?(?:[Zz]|[+-](?:[01][0-9]|2[0-3]):[0-5][0-9]))?$", "u");const pattern39 = new RegExp("^[0-9a-f]{64}$", "u");import func1_mod from "ajv/dist/runtime/ucs2length.js";const func1 = func1_mod.default;const formats0 = /^(?:(?!0000)[0-9]{4}-(?:(?:0[1-9]|1[0-2])-(?:0[1-9]|1[0-9]|2[0-8])|(?:0[13-9]|1[0-2])-(?:29|30)|(?:0[13578]|1[02])-31)|(?:[0-9]{2}(?:0[48]|[2468][048]|[13579][26])|(?:0[48]|[2468][048]|[13579][26])00)-02-29)$/;function validate20(data, {instancePath="", parentData, parentDataProperty, rootData=data, dynamicAnchors={}}={}){/*# sourceURL="urn:kg-ssot:spec:kg-contract-v4.should.schema.json" */;let vErrors = null;let errors = 0;const evaluated0 = validate20.evaluated;if(evaluated0.dynamicProps){evaluated0.props = undefined;}if(evaluated0.dynamicItems){evaluated0.items = undefined;}if(data && typeof data == "object" && !Array.isArray(data)){for(const key0 in data){const _errs1 = errors;if(typeof key0 === "string"){if(!pattern4.test(key0)){const err0 = {instancePath,schemaPath:"#/propertyNames/pattern",keyword:"pattern",params:{pattern: "^[A-Za-z_][A-Za-z0-9_-]*$"},message:"must match pattern \""+"^[A-Za-z_][A-Za-z0-9_-]*$"+"\"",schema:"^[A-Za-z_][A-Za-z0-9_-]*$",parentSchema:schema31.propertyNames,data:key0,propertyName:key0};if(vErrors === null){vErrors = [err0];}else {vErrors.push(err0);}errors++;}}var valid0 = _errs1 === errors;if(!valid0){const err1 = {instancePath,schemaPath:"#/propertyNames",keyword:"propertyNames",params:{propertyName: key0},message:"property name must be valid",schema:schema31.propertyNames,parentSchema:schema31,data};if(vErrors === null){vErrors = [err1];}else {vErrors.push(err1);}errors++;}}if(data.meta !== undefined){let data0 = data.meta;if(data0 && typeof data0 == "object" && !Array.isArray(data0)){for(const key1 in data0){const _errs4 = errors;if(typeof key1 === "string"){if(!pattern4.test(key1)){const err2 = {instancePath:instancePath+"/meta",schemaPath:"#/properties/meta/propertyNames/pattern",keyword:"pattern",params:{pattern: "^[A-Za-z_][A-Za-z0-9_-]*$"},message:"must match pattern \""+"^[A-Za-z_][A-Za-z0-9_-]*$"+"\"",schema:"^[A-Za-z_][A-Za-z0-9_-]*$",parentSchema:schema31.properties.meta.propertyNames,data:key1,propertyName:key1};if(vErrors === null){vErrors = [err2];}else {vErrors.push(err2);}errors++;}}var valid2 = _errs4 === errors;if(!valid2){const err3 = {instancePath:instancePath+"/meta",schemaPath:"#/properties/meta/propertyNames",keyword:"propertyNames",params:{propertyName: key1},message:"property name must be valid",schema:schema31.properties.meta.propertyNames,parentSchema:schema31.properties.meta,data:data0};if(vErrors === null){vErrors = [err3];}else {vErrors.push(err3);}errors++;}}if(data0.slug !== undefined){let data1 = data0.slug;if(typeof data1 === "string"){if(!pattern6.test(data1)){const err4 = {instancePath:instancePath+"/meta/slug",schemaPath:"#/properties/meta/properties/slug/pattern",keyword:"pattern",params:{pattern: "^[a-z0-9]+(?:-[a-z0-9]+)*$"},message:"must match pattern \""+"^[a-z0-9]+(?:-[a-z0-9]+)*$"+"\"",schema:"^[a-z0-9]+(?:-[a-z0-9]+)*$",parentSchema:schema31.properties.meta.properties.slug,data:data1};if(vErrors === null){vErrors = [err4];}else {vErrors.push(err4);}errors++;}}else {const err5 = {instancePath:instancePath+"/meta/slug",schemaPath:"#/properties/meta/properties/slug/type",keyword:"type",params:{type: "string"},message:"must be string",schema:schema31.properties.meta.properties.slug.type,parentSchema:schema31.properties.meta.properties.slug,data:data1};if(vErrors === null){vErrors = [err5];}else {vErrors.push(err5);}errors++;}}}else {const err6 = {instancePath:instancePath+"/meta",schemaPath:"#/properties/meta/type",keyword:"type",params:{type: "object"},message:"must be object",schema:schema31.properties.meta.type,parentSchema:schema31.properties.meta,data:data0};if(vErrors === null){vErrors = [err6];}else {vErrors.push(err6);}errors++;}}if(data.nodes !== undefined){let data2 = data.nodes;if(Array.isArray(data2)){if(data2.length < 1){const err7 = {instancePath:instancePath+"/nodes",schemaPath:"#/properties/nodes/minItems",keyword:"minItems",params:{limit: 1},message:"must NOT have fewer than 1 items",schema:1,parentSchema:schema31.properties.nodes,data:data2};if(vErrors === null){vErrors = [err7];}else {vErrors.push(err7);}errors++;}const len0 = data2.length;for(let i0=0; i0<len0; i0++){let data3 = data2[i0];const _errs12 = errors;let valid7 = true;const _errs13 = errors;const _errs14 = errors;let valid8 = false;const _errs15 = errors;if(data3 && typeof data3 == "object" && !Array.isArray(data3)){let missing0;if((data3.plane === undefined) && (missing0 = "plane")){const err8 = {};if(vErrors === null){vErrors = [err8];}else {vErrors.push(err8);}errors++;}else {if(data3.plane !== undefined){if("PROD" !== data3.plane){const err9 = {};if(vErrors === null){vErrors = [err9];}else {vErrors.push(err9);}errors++;}}}}var _valid1 = _errs15 === errors;valid8 = valid8 || _valid1;if(_valid1){var props0 = {};props0.plane = true;}const _errs17 = errors;if(data3 && typeof data3 == "object" && !Array.isArray(data3)){let missing1;if((data3.verified_scope === undefined) && (missing1 = "verified_scope")){const err10 = {};if(vErrors === null){vErrors = [err10];}else {vErrors.push(err10);}errors++;}}var _valid1 = _errs17 === errors;valid8 = valid8 || _valid1;if(!valid8){const err11 = {};if(vErrors === null){vErrors = [err11];}else {vErrors.push(err11);}errors++;}else {errors = _errs14;if(vErrors !== null){if(_errs14){vErrors.length = _errs14;}else {vErrors = null;}}}var _valid0 = _errs13 === errors;errors = _errs12;if(vErrors !== null){if(_errs12){vErrors.length = _errs12;}else {vErrors = null;}}if(_valid0){const _errs18 = errors;if(data3 && typeof data3 == "object" && !Array.isArray(data3)){if(data3.verified_at === undefined){const err12 = {instancePath:instancePath+"/nodes/" + i0,schemaPath:"#/properties/nodes/items/allOf/0/then/required",keyword:"required",params:{missingProperty: "verified_at"},message:"must have required property '"+"verified_at"+"'",schema:schema31.properties.nodes.items.allOf[0].then.required,parentSchema:schema31.properties.nodes.items.allOf[0].then,data:data3};if(vErrors === null){vErrors = [err12];}else {vErrors.push(err12);}errors++;}}var _valid0 = _errs18 === errors;valid7 = _valid0;}if(!valid7){const err13 = {instancePath:instancePath+"/nodes/" + i0,schemaPath:"#/properties/nodes/items/allOf/0/if",keyword:"if",params:{failingKeyword: "then"},message:"must match \"then\" schema",schema:schema31.properties.nodes.items.allOf[0].if,parentSchema:schema31.properties.nodes.items.allOf[0],data:data3};if(vErrors === null){vErrors = [err13];}else {vErrors.push(err13);}errors++;}const _errs20 = errors;let valid10 = true;const _errs21 = errors;if(data3 && typeof data3 == "object" && !Array.isArray(data3)){let missing2;if(((data3.node_type === undefined) && (missing2 = "node_type")) || ((data3.verified_at === undefined) && (missing2 = "verified_at"))){const err14 = {};if(vErrors === null){vErrors = [err14];}else {vErrors.push(err14);}errors++;}else {if(data3.node_type !== undefined){if("claim" !== data3.node_type){const err15 = {};if(vErrors === null){vErrors = [err15];}else {vErrors.push(err15);}errors++;}}}}var _valid2 = _errs21 === errors;errors = _errs20;if(vErrors !== null){if(_errs20){vErrors.length = _errs20;}else {vErrors = null;}}if(_valid2){const _errs23 = errors;if(data3 && typeof data3 == "object" && !Array.isArray(data3)){if(data3.verified_against === undefined){const err16 = {instancePath:instancePath+"/nodes/" + i0,schemaPath:"#/properties/nodes/items/allOf/1/then/required",keyword:"required",params:{missingProperty: "verified_against"},message:"must have required property '"+"verified_against"+"'",schema:schema31.properties.nodes.items.allOf[1].then.required,parentSchema:schema31.properties.nodes.items.allOf[1].then,data:data3};if(vErrors === null){vErrors = [err16];}else {vErrors.push(err16);}errors++;}}var _valid2 = _errs23 === errors;valid10 = _valid2;}if(!valid10){const err17 = {instancePath:instancePath+"/nodes/" + i0,schemaPath:"#/properties/nodes/items/allOf/1/if",keyword:"if",params:{failingKeyword: "then"},message:"must match \"then\" schema",schema:schema31.properties.nodes.items.allOf[1].if,parentSchema:schema31.properties.nodes.items.allOf[1],data:data3};if(vErrors === null){vErrors = [err17];}else {vErrors.push(err17);}errors++;}if(props0 !== true){props0 = props0 || {};props0.node_type = true;}if(data3 && typeof data3 == "object" && !Array.isArray(data3)){for(const key2 in data3){const _errs24 = errors;if(typeof key2 === "string"){if(!pattern4.test(key2)){const err18 = {instancePath:instancePath+"/nodes/" + i0,schemaPath:"#/properties/nodes/items/propertyNames/pattern",keyword:"pattern",params:{pattern: "^[A-Za-z_][A-Za-z0-9_-]*$"},message:"must match pattern \""+"^[A-Za-z_][A-Za-z0-9_-]*$"+"\"",schema:"^[A-Za-z_][A-Za-z0-9_-]*$",parentSchema:schema31.properties.nodes.items.propertyNames,data:key2,propertyName:key2};if(vErrors === null){vErrors = [err18];}else {vErrors.push(err18);}errors++;}}var valid12 = _errs24 === errors;if(!valid12){const err19 = {instancePath:instancePath+"/nodes/" + i0,schemaPath:"#/properties/nodes/items/propertyNames",keyword:"propertyNames",params:{propertyName: key2},message:"property name must be valid",schema:schema31.properties.nodes.items.propertyNames,parentSchema:schema31.properties.nodes.items,data:data3};if(vErrors === null){vErrors = [err19];}else {vErrors.push(err19);}errors++;}}if(props0 !== true){props0 = props0 || {};props0.label = true;props0.provenance = true;props0.verified_scope = true;props0.reverify_every = true;props0.reverify_on = true;props0.retain_for = true;props0.x_term = true;props0.x_mirror = true;props0.x_doc_cycle = true;props0.x_questionnaire = true;props0.x_severity = true;props0.x_criterion = true;props0.x_measured_under = true;}if(data3.label !== undefined){let data6 = data3.label;if(typeof data6 === "string"){if(func1(data6) > 280){const err20 = {instancePath:instancePath+"/nodes/" + i0+"/label",schemaPath:"#/properties/nodes/items/properties/label/maxLength",keyword:"maxLength",params:{limit: 280},message:"must NOT have more than 280 characters",schema:280,parentSchema:schema31.properties.nodes.items.properties.label,data:data6};if(vErrors === null){vErrors = [err20];}else {vErrors.push(err20);}errors++;}}}if(data3.provenance !== undefined){let data7 = data3.provenance;if(data7 && typeof data7 == "object" && !Array.isArray(data7)){for(const key3 in data7){const _errs27 = errors;if(typeof key3 === "string"){if(!pattern4.test(key3)){const err21 = {instancePath:instancePath+"/nodes/" + i0+"/provenance",schemaPath:"#/properties/nodes/items/properties/provenance/propertyNames/allOf/0/pattern",keyword:"pattern",params:{pattern: "^[A-Za-z_][A-Za-z0-9_-]*$"},message:"must match pattern \""+"^[A-Za-z_][A-Za-z0-9_-]*$"+"\"",schema:"^[A-Za-z_][A-Za-z0-9_-]*$",parentSchema:schema31.properties.nodes.items.properties.provenance.propertyNames.allOf[0],data:key3,propertyName:key3};if(vErrors === null){vErrors = [err21];}else {vErrors.push(err21);}errors++;}}const _errs30 = errors;let valid16 = false;const _errs31 = errors;if(!((((key3 === "locality") || (key3 === "locator")) || (key3 === "method")) || (key3 === "source"))){const err22 = {instancePath:instancePath+"/nodes/" + i0+"/provenance",schemaPath:"#/properties/nodes/items/properties/provenance/propertyNames/allOf/1/anyOf/0/enum",keyword:"enum",params:{allowedValues: schema31.properties.nodes.items.properties.provenance.propertyNames.allOf[1].anyOf[0].enum},message:"must be equal to one of the allowed values",schema:schema31.properties.nodes.items.properties.provenance.propertyNames.allOf[1].anyOf[0].enum,parentSchema:schema31.properties.nodes.items.properties.provenance.propertyNames.allOf[1].anyOf[0],data:key3,propertyName:key3};if(vErrors === null){vErrors = [err22];}else {vErrors.push(err22);}errors++;}var _valid3 = _errs31 === errors;valid16 = valid16 || _valid3;const _errs32 = errors;if(typeof key3 === "string"){if(!pattern9.test(key3)){const err23 = {instancePath:instancePath+"/nodes/" + i0+"/provenance",schemaPath:"#/properties/nodes/items/properties/provenance/propertyNames/allOf/1/anyOf/1/pattern",keyword:"pattern",params:{pattern: "^x_"},message:"must match pattern \""+"^x_"+"\"",schema:"^x_",parentSchema:schema31.properties.nodes.items.properties.provenance.propertyNames.allOf[1].anyOf[1],data:key3,propertyName:key3};if(vErrors === null){vErrors = [err23];}else {vErrors.push(err23);}errors++;}}var _valid3 = _errs32 === errors;valid16 = valid16 || _valid3;if(!valid16){const err24 = {instancePath:instancePath+"/nodes/" + i0+"/provenance",schemaPath:"#/properties/nodes/items/properties/provenance/propertyNames/allOf/1/anyOf",keyword:"anyOf",params:{},message:"must match a schema in anyOf",schema:schema31.properties.nodes.items.properties.provenance.propertyNames.allOf[1].anyOf,parentSchema:schema31.properties.nodes.items.properties.provenance.propertyNames.allOf[1],data:key3,propertyName:key3};if(vErrors === null){vErrors = [err24];}else {vErrors.push(err24);}errors++;}else {errors = _errs30;if(vErrors !== null){if(_errs30){vErrors.length = _errs30;}else {vErrors = null;}}}var valid14 = _errs27 === errors;if(!valid14){const err25 = {instancePath:instancePath+"/nodes/" + i0+"/provenance",schemaPath:"#/properties/nodes/items/properties/provenance/propertyNames",keyword:"propertyNames",params:{propertyName: key3},message:"property name must be valid",schema:schema31.properties.nodes.items.properties.provenance.propertyNames,parentSchema:schema31.properties.nodes.items.properties.provenance,data:data7};if(vErrors === null){vErrors = [err25];}else {vErrors.push(err25);}errors++;}}if(data7.method !== undefined){let data8 = data7.method;if(typeof data8 === "string"){if(!pattern10.test(data8)){const err26 = {instancePath:instancePath+"/nodes/" + i0+"/provenance/method",schemaPath:"#/properties/nodes/items/properties/provenance/properties/method/pattern",keyword:"pattern",params:{pattern: "^(?:medição|leitura|juízes|derivado|testemunho): [^ \t\n\r]"},message:"must match pattern \""+"^(?:medição|leitura|juízes|derivado|testemunho): [^ \t\n\r]"+"\"",schema:"^(?:medição|leitura|juízes|derivado|testemunho): [^ \t\n\r]",parentSchema:schema31.properties.nodes.items.properties.provenance.properties.method,data:data8};if(vErrors === null){vErrors = [err26];}else {vErrors.push(err26);}errors++;}}}if(data7.locality !== undefined){let data9 = data7.locality;if(!(((((data9 === "host") || (data9 === "pessoa")) || (data9 === "privado")) || (data9 === "repo")) || (data9 === "web"))){const err27 = {instancePath:instancePath+"/nodes/" + i0+"/provenance/locality",schemaPath:"#/properties/nodes/items/properties/provenance/properties/locality/enum",keyword:"enum",params:{allowedValues: schema31.properties.nodes.items.properties.provenance.properties.locality.enum},message:"must be equal to one of the allowed values",schema:schema31.properties.nodes.items.properties.provenance.properties.locality.enum,parentSchema:schema31.properties.nodes.items.properties.provenance.properties.locality,data:data9};if(vErrors === null){vErrors = [err27];}else {vErrors.push(err27);}errors++;}}}}if(data3.verified_scope !== undefined){let data10 = data3.verified_scope;if(!(((data10 === "fato") || (data10 === "mecanismo")) || (data10 === "nenhum"))){const err28 = {instancePath:instancePath+"/nodes/" + i0+"/verified_scope",schemaPath:"#/properties/nodes/items/properties/verified_scope/enum",keyword:"enum",params:{allowedValues: schema31.properties.nodes.items.properties.verified_scope.enum},message:"must be equal to one of the allowed values",schema:schema31.properties.nodes.items.properties.verified_scope.enum,parentSchema:schema31.properties.nodes.items.properties.verified_scope,data:data10};if(vErrors === null){vErrors = [err28];}else {vErrors.push(err28);}errors++;}}if(data3.reverify_every !== undefined){let data11 = data3.reverify_every;if(typeof data11 !== "string"){const err29 = {instancePath:instancePath+"/nodes/" + i0+"/reverify_every",schemaPath:"#/properties/nodes/items/properties/reverify_every/type",keyword:"type",params:{type: "string"},message:"must be string",schema:schema31.properties.nodes.items.properties.reverify_every.type,parentSchema:schema31.properties.nodes.items.properties.reverify_every,data:data11};if(vErrors === null){vErrors = [err29];}else {vErrors.push(err29);}errors++;}if(typeof data11 === "string"){if(!pattern11.test(data11)){const err30 = {instancePath:instancePath+"/nodes/" + i0+"/reverify_every",schemaPath:"#/properties/nodes/items/properties/reverify_every/allOf/0/pattern",keyword:"pattern",params:{pattern: "^P(?:[0-9]+Y(?:[0-9]+M)?(?:[0-9]+W)?(?:[0-9]+D)?|[0-9]+M(?:[0-9]+W)?(?:[0-9]+D)?|[0-9]+W(?:[0-9]+D)?|[0-9]+D)$"},message:"must match pattern \""+"^P(?:[0-9]+Y(?:[0-9]+M)?(?:[0-9]+W)?(?:[0-9]+D)?|[0-9]+M(?:[0-9]+W)?(?:[0-9]+D)?|[0-9]+W(?:[0-9]+D)?|[0-9]+D)$"+"\"",schema:"^P(?:[0-9]+Y(?:[0-9]+M)?(?:[0-9]+W)?(?:[0-9]+D)?|[0-9]+M(?:[0-9]+W)?(?:[0-9]+D)?|[0-9]+W(?:[0-9]+D)?|[0-9]+D)$",parentSchema:schema31.properties.nodes.items.properties.reverify_every.allOf[0],data:data11};if(vErrors === null){vErrors = [err30];}else {vErrors.push(err30);}errors++;}}const _errs40 = errors;const _errs41 = errors;if(errors === _errs41){if(typeof data11 === "string"){if(!pattern12.test(data11)){const err31 = {};if(vErrors === null){vErrors = [err31];}else {vErrors.push(err31);}errors++;}}else {const err32 = {};if(vErrors === null){vErrors = [err32];}else {vErrors.push(err32);}errors++;}}var valid19 = _errs41 === errors;if(valid19){const err33 = {instancePath:instancePath+"/nodes/" + i0+"/reverify_every",schemaPath:"#/properties/nodes/items/properties/reverify_every/allOf/1/not",keyword:"not",params:{},message:"must NOT be valid",schema:schema31.properties.nodes.items.properties.reverify_every.allOf[1].not,parentSchema:schema31.properties.nodes.items.properties.reverify_every.allOf[1],data:data11};if(vErrors === null){vErrors = [err33];}else {vErrors.push(err33);}errors++;}else {errors = _errs40;if(vErrors !== null){if(_errs40){vErrors.length = _errs40;}else {vErrors = null;}}}}if(data3.reverify_on !== undefined){let data12 = data3.reverify_on;if(typeof data12 === "string"){if(func1(data12) < 1){const err34 = {instancePath:instancePath+"/nodes/" + i0+"/reverify_on",schemaPath:"#/properties/nodes/items/properties/reverify_on/minLength",keyword:"minLength",params:{limit: 1},message:"must NOT have fewer than 1 characters",schema:1,parentSchema:schema31.properties.nodes.items.properties.reverify_on,data:data12};if(vErrors === null){vErrors = [err34];}else {vErrors.push(err34);}errors++;}}else {const err35 = {instancePath:instancePath+"/nodes/" + i0+"/reverify_on",schemaPath:"#/properties/nodes/items/properties/reverify_on/type",keyword:"type",params:{type: "string"},message:"must be string",schema:schema31.properties.nodes.items.properties.reverify_on.type,parentSchema:schema31.properties.nodes.items.properties.reverify_on,data:data12};if(vErrors === null){vErrors = [err35];}else {vErrors.push(err35);}errors++;}}if(data3.retain_for !== undefined){let data13 = data3.retain_for;if(typeof data13 !== "string"){const err36 = {instancePath:instancePath+"/nodes/" + i0+"/retain_for",schemaPath:"#/properties/nodes/items/properties/retain_for/type",keyword:"type",params:{type: "string"},message:"must be string",schema:schema31.properties.nodes.items.properties.retain_for.type,parentSchema:schema31.properties.nodes.items.properties.retain_for,data:data13};if(vErrors === null){vErrors = [err36];}else {vErrors.push(err36);}errors++;}if(typeof data13 === "string"){if(!pattern11.test(data13)){const err37 = {instancePath:instancePath+"/nodes/" + i0+"/retain_for",schemaPath:"#/properties/nodes/items/properties/retain_for/allOf/0/pattern",keyword:"pattern",params:{pattern: "^P(?:[0-9]+Y(?:[0-9]+M)?(?:[0-9]+W)?(?:[0-9]+D)?|[0-9]+M(?:[0-9]+W)?(?:[0-9]+D)?|[0-9]+W(?:[0-9]+D)?|[0-9]+D)$"},message:"must match pattern \""+"^P(?:[0-9]+Y(?:[0-9]+M)?(?:[0-9]+W)?(?:[0-9]+D)?|[0-9]+M(?:[0-9]+W)?(?:[0-9]+D)?|[0-9]+W(?:[0-9]+D)?|[0-9]+D)$"+"\"",schema:"^P(?:[0-9]+Y(?:[0-9]+M)?(?:[0-9]+W)?(?:[0-9]+D)?|[0-9]+M(?:[0-9]+W)?(?:[0-9]+D)?|[0-9]+W(?:[0-9]+D)?|[0-9]+D)$",parentSchema:schema31.properties.nodes.items.properties.retain_for.allOf[0],data:data13};if(vErrors === null){vErrors = [err37];}else {vErrors.push(err37);}errors++;}}const _errs49 = errors;const _errs50 = errors;if(errors === _errs50){if(typeof data13 === "string"){if(!pattern12.test(data13)){const err38 = {};if(vErrors === null){vErrors = [err38];}else {vErrors.push(err38);}errors++;}}else {const err39 = {};if(vErrors === null){vErrors = [err39];}else {vErrors.push(err39);}errors++;}}var valid21 = _errs50 === errors;if(valid21){const err40 = {instancePath:instancePath+"/nodes/" + i0+"/retain_for",schemaPath:"#/properties/nodes/items/properties/retain_for/allOf/1/not",keyword:"not",params:{},message:"must NOT be valid",schema:schema31.properties.nodes.items.properties.retain_for.allOf[1].not,parentSchema:schema31.properties.nodes.items.properties.retain_for.allOf[1],data:data13};if(vErrors === null){vErrors = [err40];}else {vErrors.push(err40);}errors++;}else {errors = _errs49;if(vErrors !== null){if(_errs49){vErrors.length = _errs49;}else {vErrors = null;}}}}if(data3.x_term !== undefined){let data14 = data3.x_term;if(data14 && typeof data14 == "object" && !Array.isArray(data14)){if(data14.pref === undefined){const err41 = {instancePath:instancePath+"/nodes/" + i0+"/x_term",schemaPath:"#/properties/nodes/items/properties/x_term/required",keyword:"required",params:{missingProperty: "pref"},message:"must have required property '"+"pref"+"'",schema:schema31.properties.nodes.items.properties.x_term.required,parentSchema:schema31.properties.nodes.items.properties.x_term,data:data14};if(vErrors === null){vErrors = [err41];}else {vErrors.push(err41);}errors++;}for(const key4 in data14){const _errs54 = errors;if(typeof key4 === "string"){if(!pattern4.test(key4)){const err42 = {instancePath:instancePath+"/nodes/" + i0+"/x_term",schemaPath:"#/properties/nodes/items/properties/x_term/propertyNames/allOf/0/pattern",keyword:"pattern",params:{pattern: "^[A-Za-z_][A-Za-z0-9_-]*$"},message:"must match pattern \""+"^[A-Za-z_][A-Za-z0-9_-]*$"+"\"",schema:"^[A-Za-z_][A-Za-z0-9_-]*$",parentSchema:schema31.properties.nodes.items.properties.x_term.propertyNames.allOf[0],data:key4,propertyName:key4};if(vErrors === null){vErrors = [err42];}else {vErrors.push(err42);}errors++;}}const _errs57 = errors;let valid24 = false;const _errs58 = errors;if(!((((((key4 === "definition") || (key4 === "labels")) || (key4 === "lang")) || (key4 === "notation")) || (key4 === "pref")) || (key4 === "scheme"))){const err43 = {instancePath:instancePath+"/nodes/" + i0+"/x_term",schemaPath:"#/properties/nodes/items/properties/x_term/propertyNames/allOf/1/anyOf/0/enum",keyword:"enum",params:{allowedValues: schema31.properties.nodes.items.properties.x_term.propertyNames.allOf[1].anyOf[0].enum},message:"must be equal to one of the allowed values",schema:schema31.properties.nodes.items.properties.x_term.propertyNames.allOf[1].anyOf[0].enum,parentSchema:schema31.properties.nodes.items.properties.x_term.propertyNames.allOf[1].anyOf[0],data:key4,propertyName:key4};if(vErrors === null){vErrors = [err43];}else {vErrors.push(err43);}errors++;}var _valid4 = _errs58 === errors;valid24 = valid24 || _valid4;const _errs59 = errors;if(typeof key4 === "string"){if(!pattern9.test(key4)){const err44 = {instancePath:instancePath+"/nodes/" + i0+"/x_term",schemaPath:"#/properties/nodes/items/properties/x_term/propertyNames/allOf/1/anyOf/1/pattern",keyword:"pattern",params:{pattern: "^x_"},message:"must match pattern \""+"^x_"+"\"",schema:"^x_",parentSchema:schema31.properties.nodes.items.properties.x_term.propertyNames.allOf[1].anyOf[1],data:key4,propertyName:key4};if(vErrors === null){vErrors = [err44];}else {vErrors.push(err44);}errors++;}}var _valid4 = _errs59 === errors;valid24 = valid24 || _valid4;if(!valid24){const err45 = {instancePath:instancePath+"/nodes/" + i0+"/x_term",schemaPath:"#/properties/nodes/items/properties/x_term/propertyNames/allOf/1/anyOf",keyword:"anyOf",params:{},message:"must match a schema in anyOf",schema:schema31.properties.nodes.items.properties.x_term.propertyNames.allOf[1].anyOf,parentSchema:schema31.properties.nodes.items.properties.x_term.propertyNames.allOf[1],data:key4,propertyName:key4};if(vErrors === null){vErrors = [err45];}else {vErrors.push(err45);}errors++;}else {errors = _errs57;if(vErrors !== null){if(_errs57){vErrors.length = _errs57;}else {vErrors = null;}}}var valid22 = _errs54 === errors;if(!valid22){const err46 = {instancePath:instancePath+"/nodes/" + i0+"/x_term",schemaPath:"#/properties/nodes/items/properties/x_term/propertyNames",keyword:"propertyNames",params:{propertyName: key4},message:"property name must be valid",schema:schema31.properties.nodes.items.properties.x_term.propertyNames,parentSchema:schema31.properties.nodes.items.properties.x_term,data:data14};if(vErrors === null){vErrors = [err46];}else {vErrors.push(err46);}errors++;}}if(data14.pref !== undefined){let data15 = data14.pref;if(typeof data15 === "string"){if(func1(data15) < 1){const err47 = {instancePath:instancePath+"/nodes/" + i0+"/x_term/pref",schemaPath:"#/properties/nodes/items/properties/x_term/properties/pref/minLength",keyword:"minLength",params:{limit: 1},message:"must NOT have fewer than 1 characters",schema:1,parentSchema:schema31.properties.nodes.items.properties.x_term.properties.pref,data:data15};if(vErrors === null){vErrors = [err47];}else {vErrors.push(err47);}errors++;}}else {const err48 = {instancePath:instancePath+"/nodes/" + i0+"/x_term/pref",schemaPath:"#/properties/nodes/items/properties/x_term/properties/pref/type",keyword:"type",params:{type: "string"},message:"must be string",schema:schema31.properties.nodes.items.properties.x_term.properties.pref.type,parentSchema:schema31.properties.nodes.items.properties.x_term.properties.pref,data:data15};if(vErrors === null){vErrors = [err48];}else {vErrors.push(err48);}errors++;}}if(data14.lang !== undefined){let data16 = data14.lang;if(typeof data16 === "string"){if(!pattern17.test(data16)){const err49 = {instancePath:instancePath+"/nodes/" + i0+"/x_term/lang",schemaPath:"#/properties/nodes/items/properties/x_term/properties/lang/pattern",keyword:"pattern",params:{pattern: "^[A-Za-z]{2,3}(?:-[A-Za-z0-9]{1,8})*$"},message:"must match pattern \""+"^[A-Za-z]{2,3}(?:-[A-Za-z0-9]{1,8})*$"+"\"",schema:"^[A-Za-z]{2,3}(?:-[A-Za-z0-9]{1,8})*$",parentSchema:schema31.properties.nodes.items.properties.x_term.properties.lang,data:data16};if(vErrors === null){vErrors = [err49];}else {vErrors.push(err49);}errors++;}}else {const err50 = {instancePath:instancePath+"/nodes/" + i0+"/x_term/lang",schemaPath:"#/properties/nodes/items/properties/x_term/properties/lang/type",keyword:"type",params:{type: "string"},message:"must be string",schema:schema31.properties.nodes.items.properties.x_term.properties.lang.type,parentSchema:schema31.properties.nodes.items.properties.x_term.properties.lang,data:data16};if(vErrors === null){vErrors = [err50];}else {vErrors.push(err50);}errors++;}}if(data14.definition !== undefined){let data17 = data14.definition;if(typeof data17 === "string"){if(func1(data17) < 1){const err51 = {instancePath:instancePath+"/nodes/" + i0+"/x_term/definition",schemaPath:"#/properties/nodes/items/properties/x_term/properties/definition/minLength",keyword:"minLength",params:{limit: 1},message:"must NOT have fewer than 1 characters",schema:1,parentSchema:schema31.properties.nodes.items.properties.x_term.properties.definition,data:data17};if(vErrors === null){vErrors = [err51];}else {vErrors.push(err51);}errors++;}}else {const err52 = {instancePath:instancePath+"/nodes/" + i0+"/x_term/definition",schemaPath:"#/properties/nodes/items/properties/x_term/properties/definition/type",keyword:"type",params:{type: "string"},message:"must be string",schema:schema31.properties.nodes.items.properties.x_term.properties.definition.type,parentSchema:schema31.properties.nodes.items.properties.x_term.properties.definition,data:data17};if(vErrors === null){vErrors = [err52];}else {vErrors.push(err52);}errors++;}}if(data14.notation !== undefined){let data18 = data14.notation;if(typeof data18 === "string"){if(func1(data18) < 1){const err53 = {instancePath:instancePath+"/nodes/" + i0+"/x_term/notation",schemaPath:"#/properties/nodes/items/properties/x_term/properties/notation/minLength",keyword:"minLength",params:{limit: 1},message:"must NOT have fewer than 1 characters",schema:1,parentSchema:schema31.properties.nodes.items.properties.x_term.properties.notation,data:data18};if(vErrors === null){vErrors = [err53];}else {vErrors.push(err53);}errors++;}}else {const err54 = {instancePath:instancePath+"/nodes/" + i0+"/x_term/notation",schemaPath:"#/properties/nodes/items/properties/x_term/properties/notation/type",keyword:"type",params:{type: "string"},message:"must be string",schema:schema31.properties.nodes.items.properties.x_term.properties.notation.type,parentSchema:schema31.properties.nodes.items.properties.x_term.properties.notation,data:data18};if(vErrors === null){vErrors = [err54];}else {vErrors.push(err54);}errors++;}}if(data14.labels !== undefined){let data19 = data14.labels;if(Array.isArray(data19)){const len1 = data19.length;for(let i1=0; i1<len1; i1++){let data20 = data19[i1];const _errs74 = errors;let valid30 = true;const _errs75 = errors;if(data20 && typeof data20 == "object" && !Array.isArray(data20)){let missing3;if((data20.reverify_every === undefined) && (missing3 = "reverify_every")){const err55 = {};if(vErrors === null){vErrors = [err55];}else {vErrors.push(err55);}errors++;}}var _valid5 = _errs75 === errors;errors = _errs74;if(vErrors !== null){if(_errs74){vErrors.length = _errs74;}else {vErrors = null;}}if(_valid5){const _errs76 = errors;if(data20 && typeof data20 == "object" && !Array.isArray(data20)){if(data20.verified_at === undefined){const err56 = {instancePath:instancePath+"/nodes/" + i0+"/x_term/labels/" + i1,schemaPath:"#/$defs/termLabel/allOf/0/then/required",keyword:"required",params:{missingProperty: "verified_at"},message:"must have required property '"+"verified_at"+"'",schema:schema32.allOf[0].then.required,parentSchema:schema32.allOf[0].then,data:data20};if(vErrors === null){vErrors = [err56];}else {vErrors.push(err56);}errors++;}}var _valid5 = _errs76 === errors;valid30 = _valid5;}if(!valid30){const err57 = {instancePath:instancePath+"/nodes/" + i0+"/x_term/labels/" + i1,schemaPath:"#/$defs/termLabel/allOf/0/if",keyword:"if",params:{failingKeyword: "then"},message:"must match \"then\" schema",schema:schema32.allOf[0].if,parentSchema:schema32.allOf[0],data:data20};if(vErrors === null){vErrors = [err57];}else {vErrors.push(err57);}errors++;}if(data20 && typeof data20 == "object" && !Array.isArray(data20)){if(data20.literal === undefined){const err58 = {instancePath:instancePath+"/nodes/" + i0+"/x_term/labels/" + i1,schemaPath:"#/$defs/termLabel/required",keyword:"required",params:{missingProperty: "literal"},message:"must have required property '"+"literal"+"'",schema:schema32.required,parentSchema:schema32,data:data20};if(vErrors === null){vErrors = [err58];}else {vErrors.push(err58);}errors++;}if(data20.kind === undefined){const err59 = {instancePath:instancePath+"/nodes/" + i0+"/x_term/labels/" + i1,schemaPath:"#/$defs/termLabel/required",keyword:"required",params:{missingProperty: "kind"},message:"must have required property '"+"kind"+"'",schema:schema32.required,parentSchema:schema32,data:data20};if(vErrors === null){vErrors = [err59];}else {vErrors.push(err59);}errors++;}if(data20.source === undefined){const err60 = {instancePath:instancePath+"/nodes/" + i0+"/x_term/labels/" + i1,schemaPath:"#/$defs/termLabel/required",keyword:"required",params:{missingProperty: "source"},message:"must have required property '"+"source"+"'",schema:schema32.required,parentSchema:schema32,data:data20};if(vErrors === null){vErrors = [err60];}else {vErrors.push(err60);}errors++;}for(const key5 in data20){const _errs77 = errors;if(typeof key5 === "string"){if(!pattern4.test(key5)){const err61 = {instancePath:instancePath+"/nodes/" + i0+"/x_term/labels/" + i1,schemaPath:"#/$defs/termLabel/propertyNames/allOf/0/pattern",keyword:"pattern",params:{pattern: "^[A-Za-z_][A-Za-z0-9_-]*$"},message:"must match pattern \""+"^[A-Za-z_][A-Za-z0-9_-]*$"+"\"",schema:"^[A-Za-z_][A-Za-z0-9_-]*$",parentSchema:schema32.propertyNames.allOf[0],data:key5,propertyName:key5};if(vErrors === null){vErrors = [err61];}else {vErrors.push(err61);}errors++;}}const _errs80 = errors;let valid33 = false;const _errs81 = errors;if(!((((((((((key5 === "kind") || (key5 === "lang")) || (key5 === "literal")) || (key5 === "locator")) || (key5 === "retired")) || (key5 === "reverify_every")) || (key5 === "scope")) || (key5 === "source")) || (key5 === "verified_at")) || (key5 === "version"))){const err62 = {instancePath:instancePath+"/nodes/" + i0+"/x_term/labels/" + i1,schemaPath:"#/$defs/termLabel/propertyNames/allOf/1/anyOf/0/enum",keyword:"enum",params:{allowedValues: schema32.propertyNames.allOf[1].anyOf[0].enum},message:"must be equal to one of the allowed values",schema:schema32.propertyNames.allOf[1].anyOf[0].enum,parentSchema:schema32.propertyNames.allOf[1].anyOf[0],data:key5,propertyName:key5};if(vErrors === null){vErrors = [err62];}else {vErrors.push(err62);}errors++;}var _valid6 = _errs81 === errors;valid33 = valid33 || _valid6;const _errs82 = errors;if(typeof key5 === "string"){if(!pattern9.test(key5)){const err63 = {instancePath:instancePath+"/nodes/" + i0+"/x_term/labels/" + i1,schemaPath:"#/$defs/termLabel/propertyNames/allOf/1/anyOf/1/pattern",keyword:"pattern",params:{pattern: "^x_"},message:"must match pattern \""+"^x_"+"\"",schema:"^x_",parentSchema:schema32.propertyNames.allOf[1].anyOf[1],data:key5,propertyName:key5};if(vErrors === null){vErrors = [err63];}else {vErrors.push(err63);}errors++;}}var _valid6 = _errs82 === errors;valid33 = valid33 || _valid6;if(!valid33){const err64 = {instancePath:instancePath+"/nodes/" + i0+"/x_term/labels/" + i1,schemaPath:"#/$defs/termLabel/propertyNames/allOf/1/anyOf",keyword:"anyOf",params:{},message:"must match a schema in anyOf",schema:schema32.propertyNames.allOf[1].anyOf,parentSchema:schema32.propertyNames.allOf[1],data:key5,propertyName:key5};if(vErrors === null){vErrors = [err64];}else {vErrors.push(err64);}errors++;}else {errors = _errs80;if(vErrors !== null){if(_errs80){vErrors.length = _errs80;}else {vErrors = null;}}}var valid31 = _errs77 === errors;if(!valid31){const err65 = {instancePath:instancePath+"/nodes/" + i0+"/x_term/labels/" + i1,schemaPath:"#/$defs/termLabel/propertyNames",keyword:"propertyNames",params:{propertyName: key5},message:"property name must be valid",schema:schema32.propertyNames,parentSchema:schema32,data:data20};if(vErrors === null){vErrors = [err65];}else {vErrors.push(err65);}errors++;}}if(data20.literal !== undefined){let data21 = data20.literal;if(typeof data21 === "string"){if(func1(data21) < 1){const err66 = {instancePath:instancePath+"/nodes/" + i0+"/x_term/labels/" + i1+"/literal",schemaPath:"#/$defs/termLabel/properties/literal/minLength",keyword:"minLength",params:{limit: 1},message:"must NOT have fewer than 1 characters",schema:1,parentSchema:schema32.properties.literal,data:data21};if(vErrors === null){vErrors = [err66];}else {vErrors.push(err66);}errors++;}}else {const err67 = {instancePath:instancePath+"/nodes/" + i0+"/x_term/labels/" + i1+"/literal",schemaPath:"#/$defs/termLabel/properties/literal/type",keyword:"type",params:{type: "string"},message:"must be string",schema:schema32.properties.literal.type,parentSchema:schema32.properties.literal,data:data21};if(vErrors === null){vErrors = [err67];}else {vErrors.push(err67);}errors++;}}if(data20.kind !== undefined){let data22 = data20.kind;if(!((data22 === "alt") || (data22 === "hidden"))){const err68 = {instancePath:instancePath+"/nodes/" + i0+"/x_term/labels/" + i1+"/kind",schemaPath:"#/$defs/termLabel/properties/kind/enum",keyword:"enum",params:{allowedValues: schema32.properties.kind.enum},message:"must be equal to one of the allowed values",schema:schema32.properties.kind.enum,parentSchema:schema32.properties.kind,data:data22};if(vErrors === null){vErrors = [err68];}else {vErrors.push(err68);}errors++;}}if(data20.lang !== undefined){let data23 = data20.lang;if(typeof data23 === "string"){if(!pattern17.test(data23)){const err69 = {instancePath:instancePath+"/nodes/" + i0+"/x_term/labels/" + i1+"/lang",schemaPath:"#/$defs/termLabel/properties/lang/pattern",keyword:"pattern",params:{pattern: "^[A-Za-z]{2,3}(?:-[A-Za-z0-9]{1,8})*$"},message:"must match pattern \""+"^[A-Za-z]{2,3}(?:-[A-Za-z0-9]{1,8})*$"+"\"",schema:"^[A-Za-z]{2,3}(?:-[A-Za-z0-9]{1,8})*$",parentSchema:schema32.properties.lang,data:data23};if(vErrors === null){vErrors = [err69];}else {vErrors.push(err69);}errors++;}}else {const err70 = {instancePath:instancePath+"/nodes/" + i0+"/x_term/labels/" + i1+"/lang",schemaPath:"#/$defs/termLabel/properties/lang/type",keyword:"type",params:{type: "string"},message:"must be string",schema:schema32.properties.lang.type,parentSchema:schema32.properties.lang,data:data23};if(vErrors === null){vErrors = [err70];}else {vErrors.push(err70);}errors++;}}if(data20.scope !== undefined){let data24 = data20.scope;const _errs91 = errors;let valid36 = true;const _errs92 = errors;if(data24 && typeof data24 == "object" && !Array.isArray(data24)){let missing4;if((data24.level === undefined) && (missing4 = "level")){const err71 = {};if(vErrors === null){vErrors = [err71];}else {vErrors.push(err71);}errors++;}else {if(data24.level !== undefined){if("case" !== data24.level){const err72 = {};if(vErrors === null){vErrors = [err72];}else {vErrors.push(err72);}errors++;}}}}var _valid7 = _errs92 === errors;errors = _errs91;if(vErrors !== null){if(_errs91){vErrors.length = _errs91;}else {vErrors = null;}}if(_valid7){const _errs94 = errors;if(data24 && typeof data24 == "object" && !Array.isArray(data24)){if(data24.case === undefined){const err73 = {instancePath:instancePath+"/nodes/" + i0+"/x_term/labels/" + i1+"/scope",schemaPath:"#/$defs/termLabel/properties/scope/allOf/0/then/required",keyword:"required",params:{missingProperty: "case"},message:"must have required property '"+"case"+"'",schema:schema32.properties.scope.allOf[0].then.required,parentSchema:schema32.properties.scope.allOf[0].then,data:data24};if(vErrors === null){vErrors = [err73];}else {vErrors.push(err73);}errors++;}}var _valid7 = _errs94 === errors;valid36 = _valid7;}if(!valid36){const err74 = {instancePath:instancePath+"/nodes/" + i0+"/x_term/labels/" + i1+"/scope",schemaPath:"#/$defs/termLabel/properties/scope/allOf/0/if",keyword:"if",params:{failingKeyword: "then"},message:"must match \"then\" schema",schema:schema32.properties.scope.allOf[0].if,parentSchema:schema32.properties.scope.allOf[0],data:data24};if(vErrors === null){vErrors = [err74];}else {vErrors.push(err74);}errors++;}if(data24 && typeof data24 == "object" && !Array.isArray(data24)){if(data24.level === undefined){const err75 = {instancePath:instancePath+"/nodes/" + i0+"/x_term/labels/" + i1+"/scope",schemaPath:"#/$defs/termLabel/properties/scope/required",keyword:"required",params:{missingProperty: "level"},message:"must have required property '"+"level"+"'",schema:schema32.properties.scope.required,parentSchema:schema32.properties.scope,data:data24};if(vErrors === null){vErrors = [err75];}else {vErrors.push(err75);}errors++;}for(const key6 in data24){const _errs95 = errors;if(typeof key6 === "string"){if(!pattern4.test(key6)){const err76 = {instancePath:instancePath+"/nodes/" + i0+"/x_term/labels/" + i1+"/scope",schemaPath:"#/$defs/termLabel/properties/scope/propertyNames/allOf/0/pattern",keyword:"pattern",params:{pattern: "^[A-Za-z_][A-Za-z0-9_-]*$"},message:"must match pattern \""+"^[A-Za-z_][A-Za-z0-9_-]*$"+"\"",schema:"^[A-Za-z_][A-Za-z0-9_-]*$",parentSchema:schema32.properties.scope.propertyNames.allOf[0],data:key6,propertyName:key6};if(vErrors === null){vErrors = [err76];}else {vErrors.push(err76);}errors++;}}const _errs98 = errors;let valid40 = false;const _errs99 = errors;if(!(((key6 === "case") || (key6 === "jurisdiction")) || (key6 === "level"))){const err77 = {instancePath:instancePath+"/nodes/" + i0+"/x_term/labels/" + i1+"/scope",schemaPath:"#/$defs/termLabel/properties/scope/propertyNames/allOf/1/anyOf/0/enum",keyword:"enum",params:{allowedValues: schema32.properties.scope.propertyNames.allOf[1].anyOf[0].enum},message:"must be equal to one of the allowed values",schema:schema32.properties.scope.propertyNames.allOf[1].anyOf[0].enum,parentSchema:schema32.properties.scope.propertyNames.allOf[1].anyOf[0],data:key6,propertyName:key6};if(vErrors === null){vErrors = [err77];}else {vErrors.push(err77);}errors++;}var _valid8 = _errs99 === errors;valid40 = valid40 || _valid8;const _errs100 = errors;if(typeof key6 === "string"){if(!pattern9.test(key6)){const err78 = {instancePath:instancePath+"/nodes/" + i0+"/x_term/labels/" + i1+"/scope",schemaPath:"#/$defs/termLabel/properties/scope/propertyNames/allOf/1/anyOf/1/pattern",keyword:"pattern",params:{pattern: "^x_"},message:"must match pattern \""+"^x_"+"\"",schema:"^x_",parentSchema:schema32.properties.scope.propertyNames.allOf[1].anyOf[1],data:key6,propertyName:key6};if(vErrors === null){vErrors = [err78];}else {vErrors.push(err78);}errors++;}}var _valid8 = _errs100 === errors;valid40 = valid40 || _valid8;if(!valid40){const err79 = {instancePath:instancePath+"/nodes/" + i0+"/x_term/labels/" + i1+"/scope",schemaPath:"#/$defs/termLabel/properties/scope/propertyNames/allOf/1/anyOf",keyword:"anyOf",params:{},message:"must match a schema in anyOf",schema:schema32.properties.scope.propertyNames.allOf[1].anyOf,parentSchema:schema32.properties.scope.propertyNames.allOf[1],data:key6,propertyName:key6};if(vErrors === null){vErrors = [err79];}else {vErrors.push(err79);}errors++;}else {errors = _errs98;if(vErrors !== null){if(_errs98){vErrors.length = _errs98;}else {vErrors = null;}}}var valid38 = _errs95 === errors;if(!valid38){const err80 = {instancePath:instancePath+"/nodes/" + i0+"/x_term/labels/" + i1+"/scope",schemaPath:"#/$defs/termLabel/properties/scope/propertyNames",keyword:"propertyNames",params:{propertyName: key6},message:"property name must be valid",schema:schema32.properties.scope.propertyNames,parentSchema:schema32.properties.scope,data:data24};if(vErrors === null){vErrors = [err80];}else {vErrors.push(err80);}errors++;}}if(data24.level !== undefined){let data26 = data24.level;if(!((data26 === "case") || (data26 === "domain"))){const err81 = {instancePath:instancePath+"/nodes/" + i0+"/x_term/labels/" + i1+"/scope/level",schemaPath:"#/$defs/termLabel/properties/scope/properties/level/enum",keyword:"enum",params:{allowedValues: schema32.properties.scope.properties.level.enum},message:"must be equal to one of the allowed values",schema:schema32.properties.scope.properties.level.enum,parentSchema:schema32.properties.scope.properties.level,data:data26};if(vErrors === null){vErrors = [err81];}else {vErrors.push(err81);}errors++;}}if(data24.case !== undefined){let data27 = data24.case;if(typeof data27 === "string"){if(func1(data27) < 1){const err82 = {instancePath:instancePath+"/nodes/" + i0+"/x_term/labels/" + i1+"/scope/case",schemaPath:"#/$defs/termLabel/properties/scope/properties/case/minLength",keyword:"minLength",params:{limit: 1},message:"must NOT have fewer than 1 characters",schema:1,parentSchema:schema32.properties.scope.properties.case,data:data27};if(vErrors === null){vErrors = [err82];}else {vErrors.push(err82);}errors++;}}else {const err83 = {instancePath:instancePath+"/nodes/" + i0+"/x_term/labels/" + i1+"/scope/case",schemaPath:"#/$defs/termLabel/properties/scope/properties/case/type",keyword:"type",params:{type: "string"},message:"must be string",schema:schema32.properties.scope.properties.case.type,parentSchema:schema32.properties.scope.properties.case,data:data27};if(vErrors === null){vErrors = [err83];}else {vErrors.push(err83);}errors++;}}if(data24.jurisdiction !== undefined){let data28 = data24.jurisdiction;if(typeof data28 === "string"){if(func1(data28) < 1){const err84 = {instancePath:instancePath+"/nodes/" + i0+"/x_term/labels/" + i1+"/scope/jurisdiction",schemaPath:"#/$defs/termLabel/properties/scope/properties/jurisdiction/minLength",keyword:"minLength",params:{limit: 1},message:"must NOT have fewer than 1 characters",schema:1,parentSchema:schema32.properties.scope.properties.jurisdiction,data:data28};if(vErrors === null){vErrors = [err84];}else {vErrors.push(err84);}errors++;}}else {const err85 = {instancePath:instancePath+"/nodes/" + i0+"/x_term/labels/" + i1+"/scope/jurisdiction",schemaPath:"#/$defs/termLabel/properties/scope/properties/jurisdiction/type",keyword:"type",params:{type: "string"},message:"must be string",schema:schema32.properties.scope.properties.jurisdiction.type,parentSchema:schema32.properties.scope.properties.jurisdiction,data:data28};if(vErrors === null){vErrors = [err85];}else {vErrors.push(err85);}errors++;}}}else {const err86 = {instancePath:instancePath+"/nodes/" + i0+"/x_term/labels/" + i1+"/scope",schemaPath:"#/$defs/termLabel/properties/scope/type",keyword:"type",params:{type: "object"},message:"must be object",schema:schema32.properties.scope.type,parentSchema:schema32.properties.scope,data:data24};if(vErrors === null){vErrors = [err86];}else {vErrors.push(err86);}errors++;}}if(data20.source !== undefined){let data29 = data20.source;if(typeof data29 === "string"){if(func1(data29) < 1){const err87 = {instancePath:instancePath+"/nodes/" + i0+"/x_term/labels/" + i1+"/source",schemaPath:"#/$defs/termLabel/properties/source/minLength",keyword:"minLength",params:{limit: 1},message:"must NOT have fewer than 1 characters",schema:1,parentSchema:schema32.properties.source,data:data29};if(vErrors === null){vErrors = [err87];}else {vErrors.push(err87);}errors++;}}else {const err88 = {instancePath:instancePath+"/nodes/" + i0+"/x_term/labels/" + i1+"/source",schemaPath:"#/$defs/termLabel/properties/source/type",keyword:"type",params:{type: "string"},message:"must be string",schema:schema32.properties.source.type,parentSchema:schema32.properties.source,data:data29};if(vErrors === null){vErrors = [err88];}else {vErrors.push(err88);}errors++;}}if(data20.locator !== undefined){let data30 = data20.locator;if(typeof data30 === "string"){if(func1(data30) < 1){const err89 = {instancePath:instancePath+"/nodes/" + i0+"/x_term/labels/" + i1+"/locator",schemaPath:"#/$defs/termLabel/properties/locator/minLength",keyword:"minLength",params:{limit: 1},message:"must NOT have fewer than 1 characters",schema:1,parentSchema:schema32.properties.locator,data:data30};if(vErrors === null){vErrors = [err89];}else {vErrors.push(err89);}errors++;}}else {const err90 = {instancePath:instancePath+"/nodes/" + i0+"/x_term/labels/" + i1+"/locator",schemaPath:"#/$defs/termLabel/properties/locator/type",keyword:"type",params:{type: "string"},message:"must be string",schema:schema32.properties.locator.type,parentSchema:schema32.properties.locator,data:data30};if(vErrors === null){vErrors = [err90];}else {vErrors.push(err90);}errors++;}}if(data20.version !== undefined){let data31 = data20.version;if(typeof data31 === "string"){if(func1(data31) < 1){const err91 = {instancePath:instancePath+"/nodes/" + i0+"/x_term/labels/" + i1+"/version",schemaPath:"#/$defs/termLabel/properties/version/minLength",keyword:"minLength",params:{limit: 1},message:"must NOT have fewer than 1 characters",schema:1,parentSchema:schema32.properties.version,data:data31};if(vErrors === null){vErrors = [err91];}else {vErrors.push(err91);}errors++;}}else {const err92 = {instancePath:instancePath+"/nodes/" + i0+"/x_term/labels/" + i1+"/version",schemaPath:"#/$defs/termLabel/properties/version/type",keyword:"type",params:{type: "string"},message:"must be string",schema:schema32.properties.version.type,parentSchema:schema32.properties.version,data:data31};if(vErrors === null){vErrors = [err92];}else {vErrors.push(err92);}errors++;}}if(data20.verified_at !== undefined){let data32 = data20.verified_at;if(typeof data32 === "string"){if(!(formats0.test(data32))){const err93 = {instancePath:instancePath+"/nodes/" + i0+"/x_term/labels/" + i1+"/verified_at",schemaPath:"#/$defs/termLabel/properties/verified_at/format",keyword:"format",params:{format: "date"},message:"must match format \""+"date"+"\"",schema:"date",parentSchema:schema32.properties.verified_at,data:data32};if(vErrors === null){vErrors = [err93];}else {vErrors.push(err93);}errors++;}}else {const err94 = {instancePath:instancePath+"/nodes/" + i0+"/x_term/labels/" + i1+"/verified_at",schemaPath:"#/$defs/termLabel/properties/verified_at/type",keyword:"type",params:{type: "string"},message:"must be string",schema:schema32.properties.verified_at.type,parentSchema:schema32.properties.verified_at,data:data32};if(vErrors === null){vErrors = [err94];}else {vErrors.push(err94);}errors++;}}if(data20.reverify_every !== undefined){let data33 = data20.reverify_every;if(typeof data33 !== "string"){const err95 = {instancePath:instancePath+"/nodes/" + i0+"/x_term/labels/" + i1+"/reverify_every",schemaPath:"#/$defs/termLabel/properties/reverify_every/type",keyword:"type",params:{type: "string"},message:"must be string",schema:schema32.properties.reverify_every.type,parentSchema:schema32.properties.reverify_every,data:data33};if(vErrors === null){vErrors = [err95];}else {vErrors.push(err95);}errors++;}if(typeof data33 === "string"){if(!pattern11.test(data33)){const err96 = {instancePath:instancePath+"/nodes/" + i0+"/x_term/labels/" + i1+"/reverify_every",schemaPath:"#/$defs/termLabel/properties/reverify_every/allOf/0/pattern",keyword:"pattern",params:{pattern: "^P(?:[0-9]+Y(?:[0-9]+M)?(?:[0-9]+W)?(?:[0-9]+D)?|[0-9]+M(?:[0-9]+W)?(?:[0-9]+D)?|[0-9]+W(?:[0-9]+D)?|[0-9]+D)$"},message:"must match pattern \""+"^P(?:[0-9]+Y(?:[0-9]+M)?(?:[0-9]+W)?(?:[0-9]+D)?|[0-9]+M(?:[0-9]+W)?(?:[0-9]+D)?|[0-9]+W(?:[0-9]+D)?|[0-9]+D)$"+"\"",schema:"^P(?:[0-9]+Y(?:[0-9]+M)?(?:[0-9]+W)?(?:[0-9]+D)?|[0-9]+M(?:[0-9]+W)?(?:[0-9]+D)?|[0-9]+W(?:[0-9]+D)?|[0-9]+D)$",parentSchema:schema32.properties.reverify_every.allOf[0],data:data33};if(vErrors === null){vErrors = [err96];}else {vErrors.push(err96);}errors++;}}const _errs118 = errors;const _errs119 = errors;if(errors === _errs119){if(typeof data33 === "string"){if(!pattern12.test(data33)){const err97 = {};if(vErrors === null){vErrors = [err97];}else {vErrors.push(err97);}errors++;}}else {const err98 = {};if(vErrors === null){vErrors = [err98];}else {vErrors.push(err98);}errors++;}}var valid43 = _errs119 === errors;if(valid43){const err99 = {instancePath:instancePath+"/nodes/" + i0+"/x_term/labels/" + i1+"/reverify_every",schemaPath:"#/$defs/termLabel/properties/reverify_every/allOf/1/not",keyword:"not",params:{},message:"must NOT be valid",schema:schema32.properties.reverify_every.allOf[1].not,parentSchema:schema32.properties.reverify_every.allOf[1],data:data33};if(vErrors === null){vErrors = [err99];}else {vErrors.push(err99);}errors++;}else {errors = _errs118;if(vErrors !== null){if(_errs118){vErrors.length = _errs118;}else {vErrors = null;}}}}if(data20.retired !== undefined){let data34 = data20.retired;if(typeof data34 !== "boolean"){const err100 = {instancePath:instancePath+"/nodes/" + i0+"/x_term/labels/" + i1+"/retired",schemaPath:"#/$defs/termLabel/properties/retired/type",keyword:"type",params:{type: "boolean"},message:"must be boolean",schema:schema32.properties.retired.type,parentSchema:schema32.properties.retired,data:data34};if(vErrors === null){vErrors = [err100];}else {vErrors.push(err100);}errors++;}}}else {const err101 = {instancePath:instancePath+"/nodes/" + i0+"/x_term/labels/" + i1,schemaPath:"#/$defs/termLabel/type",keyword:"type",params:{type: "object"},message:"must be object",schema:schema32.type,parentSchema:schema32,data:data20};if(vErrors === null){vErrors = [err101];}else {vErrors.push(err101);}errors++;}}}else {const err102 = {instancePath:instancePath+"/nodes/" + i0+"/x_term/labels",schemaPath:"#/properties/nodes/items/properties/x_term/properties/labels/type",keyword:"type",params:{type: "array"},message:"must be array",schema:schema31.properties.nodes.items.properties.x_term.properties.labels.type,parentSchema:schema31.properties.nodes.items.properties.x_term.properties.labels,data:data19};if(vErrors === null){vErrors = [err102];}else {vErrors.push(err102);}errors++;}}if(data14.scheme !== undefined){let data35 = data14.scheme;if(typeof data35 === "string"){if(!pattern25.test(data35)){const err103 = {instancePath:instancePath+"/nodes/" + i0+"/x_term/scheme",schemaPath:"#/properties/nodes/items/properties/x_term/properties/scheme/pattern",keyword:"pattern",params:{pattern: "^[a-z0-9][a-z0-9-]*$"},message:"must match pattern \""+"^[a-z0-9][a-z0-9-]*$"+"\"",schema:"^[a-z0-9][a-z0-9-]*$",parentSchema:schema31.properties.nodes.items.properties.x_term.properties.scheme,data:data35};if(vErrors === null){vErrors = [err103];}else {vErrors.push(err103);}errors++;}}else {const err104 = {instancePath:instancePath+"/nodes/" + i0+"/x_term/scheme",schemaPath:"#/properties/nodes/items/properties/x_term/properties/scheme/type",keyword:"type",params:{type: "string"},message:"must be string",schema:schema31.properties.nodes.items.properties.x_term.properties.scheme.type,parentSchema:schema31.properties.nodes.items.properties.x_term.properties.scheme,data:data35};if(vErrors === null){vErrors = [err104];}else {vErrors.push(err104);}errors++;}}}else {const err105 = {instancePath:instancePath+"/nodes/" + i0+"/x_term",schemaPath:"#/properties/nodes/items/properties/x_term/type",keyword:"type",params:{type: "object"},message:"must be object",schema:schema31.properties.nodes.items.properties.x_term.type,parentSchema:schema31.properties.nodes.items.properties.x_term,data:data14};if(vErrors === null){vErrors = [err105];}else {vErrors.push(err105);}errors++;}}if(data3.x_mirror !== undefined){let data36 = data3.x_mirror;if(data36 && typeof data36 == "object" && !Array.isArray(data36)){if(data36.system === undefined){const err106 = {instancePath:instancePath+"/nodes/" + i0+"/x_mirror",schemaPath:"#/properties/nodes/items/properties/x_mirror/required",keyword:"required",params:{missingProperty: "system"},message:"must have required property '"+"system"+"'",schema:schema31.properties.nodes.items.properties.x_mirror.required,parentSchema:schema31.properties.nodes.items.properties.x_mirror,data:data36};if(vErrors === null){vErrors = [err106];}else {vErrors.push(err106);}errors++;}if(data36.ref === undefined){const err107 = {instancePath:instancePath+"/nodes/" + i0+"/x_mirror",schemaPath:"#/properties/nodes/items/properties/x_mirror/required",keyword:"required",params:{missingProperty: "ref"},message:"must have required property '"+"ref"+"'",schema:schema31.properties.nodes.items.properties.x_mirror.required,parentSchema:schema31.properties.nodes.items.properties.x_mirror,data:data36};if(vErrors === null){vErrors = [err107];}else {vErrors.push(err107);}errors++;}if(data36.state === undefined){const err108 = {instancePath:instancePath+"/nodes/" + i0+"/x_mirror",schemaPath:"#/properties/nodes/items/properties/x_mirror/required",keyword:"required",params:{missingProperty: "state"},message:"must have required property '"+"state"+"'",schema:schema31.properties.nodes.items.properties.x_mirror.required,parentSchema:schema31.properties.nodes.items.properties.x_mirror,data:data36};if(vErrors === null){vErrors = [err108];}else {vErrors.push(err108);}errors++;}if(data36.synced_at === undefined){const err109 = {instancePath:instancePath+"/nodes/" + i0+"/x_mirror",schemaPath:"#/properties/nodes/items/properties/x_mirror/required",keyword:"required",params:{missingProperty: "synced_at"},message:"must have required property '"+"synced_at"+"'",schema:schema31.properties.nodes.items.properties.x_mirror.required,parentSchema:schema31.properties.nodes.items.properties.x_mirror,data:data36};if(vErrors === null){vErrors = [err109];}else {vErrors.push(err109);}errors++;}for(const key7 in data36){const _errs127 = errors;if(typeof key7 === "string"){if(!pattern4.test(key7)){const err110 = {instancePath:instancePath+"/nodes/" + i0+"/x_mirror",schemaPath:"#/properties/nodes/items/properties/x_mirror/propertyNames/allOf/0/pattern",keyword:"pattern",params:{pattern: "^[A-Za-z_][A-Za-z0-9_-]*$"},message:"must match pattern \""+"^[A-Za-z_][A-Za-z0-9_-]*$"+"\"",schema:"^[A-Za-z_][A-Za-z0-9_-]*$",parentSchema:schema31.properties.nodes.items.properties.x_mirror.propertyNames.allOf[0],data:key7,propertyName:key7};if(vErrors === null){vErrors = [err110];}else {vErrors.push(err110);}errors++;}}const _errs130 = errors;let valid46 = false;const _errs131 = errors;if(!((((((key7 === "ref") || (key7 === "resync_every")) || (key7 === "state")) || (key7 === "synced_at")) || (key7 === "system")) || (key7 === "url"))){const err111 = {instancePath:instancePath+"/nodes/" + i0+"/x_mirror",schemaPath:"#/properties/nodes/items/properties/x_mirror/propertyNames/allOf/1/anyOf/0/enum",keyword:"enum",params:{allowedValues: schema31.properties.nodes.items.properties.x_mirror.propertyNames.allOf[1].anyOf[0].enum},message:"must be equal to one of the allowed values",schema:schema31.properties.nodes.items.properties.x_mirror.propertyNames.allOf[1].anyOf[0].enum,parentSchema:schema31.properties.nodes.items.properties.x_mirror.propertyNames.allOf[1].anyOf[0],data:key7,propertyName:key7};if(vErrors === null){vErrors = [err111];}else {vErrors.push(err111);}errors++;}var _valid9 = _errs131 === errors;valid46 = valid46 || _valid9;const _errs132 = errors;if(typeof key7 === "string"){if(!pattern9.test(key7)){const err112 = {instancePath:instancePath+"/nodes/" + i0+"/x_mirror",schemaPath:"#/properties/nodes/items/properties/x_mirror/propertyNames/allOf/1/anyOf/1/pattern",keyword:"pattern",params:{pattern: "^x_"},message:"must match pattern \""+"^x_"+"\"",schema:"^x_",parentSchema:schema31.properties.nodes.items.properties.x_mirror.propertyNames.allOf[1].anyOf[1],data:key7,propertyName:key7};if(vErrors === null){vErrors = [err112];}else {vErrors.push(err112);}errors++;}}var _valid9 = _errs132 === errors;valid46 = valid46 || _valid9;if(!valid46){const err113 = {instancePath:instancePath+"/nodes/" + i0+"/x_mirror",schemaPath:"#/properties/nodes/items/properties/x_mirror/propertyNames/allOf/1/anyOf",keyword:"anyOf",params:{},message:"must match a schema in anyOf",schema:schema31.properties.nodes.items.properties.x_mirror.propertyNames.allOf[1].anyOf,parentSchema:schema31.properties.nodes.items.properties.x_mirror.propertyNames.allOf[1],data:key7,propertyName:key7};if(vErrors === null){vErrors = [err113];}else {vErrors.push(err113);}errors++;}else {errors = _errs130;if(vErrors !== null){if(_errs130){vErrors.length = _errs130;}else {vErrors = null;}}}var valid44 = _errs127 === errors;if(!valid44){const err114 = {instancePath:instancePath+"/nodes/" + i0+"/x_mirror",schemaPath:"#/properties/nodes/items/properties/x_mirror/propertyNames",keyword:"propertyNames",params:{propertyName: key7},message:"property name must be valid",schema:schema31.properties.nodes.items.properties.x_mirror.propertyNames,parentSchema:schema31.properties.nodes.items.properties.x_mirror,data:data36};if(vErrors === null){vErrors = [err114];}else {vErrors.push(err114);}errors++;}}if(data36.system !== undefined){let data37 = data36.system;if(typeof data37 === "string"){if(func1(data37) < 1){const err115 = {instancePath:instancePath+"/nodes/" + i0+"/x_mirror/system",schemaPath:"#/properties/nodes/items/properties/x_mirror/properties/system/minLength",keyword:"minLength",params:{limit: 1},message:"must NOT have fewer than 1 characters",schema:1,parentSchema:schema31.properties.nodes.items.properties.x_mirror.properties.system,data:data37};if(vErrors === null){vErrors = [err115];}else {vErrors.push(err115);}errors++;}}else {const err116 = {instancePath:instancePath+"/nodes/" + i0+"/x_mirror/system",schemaPath:"#/properties/nodes/items/properties/x_mirror/properties/system/type",keyword:"type",params:{type: "string"},message:"must be string",schema:schema31.properties.nodes.items.properties.x_mirror.properties.system.type,parentSchema:schema31.properties.nodes.items.properties.x_mirror.properties.system,data:data37};if(vErrors === null){vErrors = [err116];}else {vErrors.push(err116);}errors++;}}if(data36.ref !== undefined){let data38 = data36.ref;if(typeof data38 === "string"){if(func1(data38) < 1){const err117 = {instancePath:instancePath+"/nodes/" + i0+"/x_mirror/ref",schemaPath:"#/properties/nodes/items/properties/x_mirror/properties/ref/minLength",keyword:"minLength",params:{limit: 1},message:"must NOT have fewer than 1 characters",schema:1,parentSchema:schema31.properties.nodes.items.properties.x_mirror.properties.ref,data:data38};if(vErrors === null){vErrors = [err117];}else {vErrors.push(err117);}errors++;}}else {const err118 = {instancePath:instancePath+"/nodes/" + i0+"/x_mirror/ref",schemaPath:"#/properties/nodes/items/properties/x_mirror/properties/ref/type",keyword:"type",params:{type: "string"},message:"must be string",schema:schema31.properties.nodes.items.properties.x_mirror.properties.ref.type,parentSchema:schema31.properties.nodes.items.properties.x_mirror.properties.ref,data:data38};if(vErrors === null){vErrors = [err118];}else {vErrors.push(err118);}errors++;}}if(data36.synced_at !== undefined){let data39 = data36.synced_at;if(typeof data39 === "string"){if(!(formats0.test(data39))){const err119 = {instancePath:instancePath+"/nodes/" + i0+"/x_mirror/synced_at",schemaPath:"#/properties/nodes/items/properties/x_mirror/properties/synced_at/format",keyword:"format",params:{format: "date"},message:"must match format \""+"date"+"\"",schema:"date",parentSchema:schema31.properties.nodes.items.properties.x_mirror.properties.synced_at,data:data39};if(vErrors === null){vErrors = [err119];}else {vErrors.push(err119);}errors++;}}else {const err120 = {instancePath:instancePath+"/nodes/" + i0+"/x_mirror/synced_at",schemaPath:"#/properties/nodes/items/properties/x_mirror/properties/synced_at/type",keyword:"type",params:{type: "string"},message:"must be string",schema:schema31.properties.nodes.items.properties.x_mirror.properties.synced_at.type,parentSchema:schema31.properties.nodes.items.properties.x_mirror.properties.synced_at,data:data39};if(vErrors === null){vErrors = [err120];}else {vErrors.push(err120);}errors++;}}if(data36.url !== undefined){let data40 = data36.url;if(typeof data40 === "string"){if(func1(data40) < 1){const err121 = {instancePath:instancePath+"/nodes/" + i0+"/x_mirror/url",schemaPath:"#/properties/nodes/items/properties/x_mirror/properties/url/minLength",keyword:"minLength",params:{limit: 1},message:"must NOT have fewer than 1 characters",schema:1,parentSchema:schema31.properties.nodes.items.properties.x_mirror.properties.url,data:data40};if(vErrors === null){vErrors = [err121];}else {vErrors.push(err121);}errors++;}}else {const err122 = {instancePath:instancePath+"/nodes/" + i0+"/x_mirror/url",schemaPath:"#/properties/nodes/items/properties/x_mirror/properties/url/type",keyword:"type",params:{type: "string"},message:"must be string",schema:schema31.properties.nodes.items.properties.x_mirror.properties.url.type,parentSchema:schema31.properties.nodes.items.properties.x_mirror.properties.url,data:data40};if(vErrors === null){vErrors = [err122];}else {vErrors.push(err122);}errors++;}}if(data36.resync_every !== undefined){let data41 = data36.resync_every;if(typeof data41 !== "string"){const err123 = {instancePath:instancePath+"/nodes/" + i0+"/x_mirror/resync_every",schemaPath:"#/properties/nodes/items/properties/x_mirror/properties/resync_every/type",keyword:"type",params:{type: "string"},message:"must be string",schema:schema31.properties.nodes.items.properties.x_mirror.properties.resync_every.type,parentSchema:schema31.properties.nodes.items.properties.x_mirror.properties.resync_every,data:data41};if(vErrors === null){vErrors = [err123];}else {vErrors.push(err123);}errors++;}if(typeof data41 === "string"){if(!pattern11.test(data41)){const err124 = {instancePath:instancePath+"/nodes/" + i0+"/x_mirror/resync_every",schemaPath:"#/properties/nodes/items/properties/x_mirror/properties/resync_every/allOf/0/pattern",keyword:"pattern",params:{pattern: "^P(?:[0-9]+Y(?:[0-9]+M)?(?:[0-9]+W)?(?:[0-9]+D)?|[0-9]+M(?:[0-9]+W)?(?:[0-9]+D)?|[0-9]+W(?:[0-9]+D)?|[0-9]+D)$"},message:"must match pattern \""+"^P(?:[0-9]+Y(?:[0-9]+M)?(?:[0-9]+W)?(?:[0-9]+D)?|[0-9]+M(?:[0-9]+W)?(?:[0-9]+D)?|[0-9]+W(?:[0-9]+D)?|[0-9]+D)$"+"\"",schema:"^P(?:[0-9]+Y(?:[0-9]+M)?(?:[0-9]+W)?(?:[0-9]+D)?|[0-9]+M(?:[0-9]+W)?(?:[0-9]+D)?|[0-9]+W(?:[0-9]+D)?|[0-9]+D)$",parentSchema:schema31.properties.nodes.items.properties.x_mirror.properties.resync_every.allOf[0],data:data41};if(vErrors === null){vErrors = [err124];}else {vErrors.push(err124);}errors++;}}const _errs145 = errors;const _errs146 = errors;if(errors === _errs146){if(typeof data41 === "string"){if(!pattern12.test(data41)){const err125 = {};if(vErrors === null){vErrors = [err125];}else {vErrors.push(err125);}errors++;}}else {const err126 = {};if(vErrors === null){vErrors = [err126];}else {vErrors.push(err126);}errors++;}}var valid49 = _errs146 === errors;if(valid49){const err127 = {instancePath:instancePath+"/nodes/" + i0+"/x_mirror/resync_every",schemaPath:"#/properties/nodes/items/properties/x_mirror/properties/resync_every/allOf/1/not",keyword:"not",params:{},message:"must NOT be valid",schema:schema31.properties.nodes.items.properties.x_mirror.properties.resync_every.allOf[1].not,parentSchema:schema31.properties.nodes.items.properties.x_mirror.properties.resync_every.allOf[1],data:data41};if(vErrors === null){vErrors = [err127];}else {vErrors.push(err127);}errors++;}else {errors = _errs145;if(vErrors !== null){if(_errs145){vErrors.length = _errs145;}else {vErrors = null;}}}}if(data36.state !== undefined){let data42 = data36.state;if(typeof data42 === "string"){if(func1(data42) < 1){const err128 = {instancePath:instancePath+"/nodes/" + i0+"/x_mirror/state",schemaPath:"#/properties/nodes/items/properties/x_mirror/properties/state/minLength",keyword:"minLength",params:{limit: 1},message:"must NOT have fewer than 1 characters",schema:1,parentSchema:schema31.properties.nodes.items.properties.x_mirror.properties.state,data:data42};if(vErrors === null){vErrors = [err128];}else {vErrors.push(err128);}errors++;}}else {const err129 = {instancePath:instancePath+"/nodes/" + i0+"/x_mirror/state",schemaPath:"#/properties/nodes/items/properties/x_mirror/properties/state/type",keyword:"type",params:{type: "string"},message:"must be string",schema:schema31.properties.nodes.items.properties.x_mirror.properties.state.type,parentSchema:schema31.properties.nodes.items.properties.x_mirror.properties.state,data:data42};if(vErrors === null){vErrors = [err129];}else {vErrors.push(err129);}errors++;}}}else {const err130 = {instancePath:instancePath+"/nodes/" + i0+"/x_mirror",schemaPath:"#/properties/nodes/items/properties/x_mirror/type",keyword:"type",params:{type: "object"},message:"must be object",schema:schema31.properties.nodes.items.properties.x_mirror.type,parentSchema:schema31.properties.nodes.items.properties.x_mirror,data:data36};if(vErrors === null){vErrors = [err130];}else {vErrors.push(err130);}errors++;}}if(data3.x_doc_cycle !== undefined){let data43 = data3.x_doc_cycle;const _errs153 = errors;let valid51 = true;const _errs154 = errors;if(data43 && typeof data43 == "object" && !Array.isArray(data43)){let missing5;if((data43.recheck_every === undefined) && (missing5 = "recheck_every")){const err131 = {};if(vErrors === null){vErrors = [err131];}else {vErrors.push(err131);}errors++;}}var _valid10 = _errs154 === errors;errors = _errs153;if(vErrors !== null){if(_errs153){vErrors.length = _errs153;}else {vErrors = null;}}if(_valid10){const _errs155 = errors;if(data43 && typeof data43 == "object" && !Array.isArray(data43)){if(data43.checked_at === undefined){const err132 = {instancePath:instancePath+"/nodes/" + i0+"/x_doc_cycle",schemaPath:"#/properties/nodes/items/properties/x_doc_cycle/allOf/0/then/required",keyword:"required",params:{missingProperty: "checked_at"},message:"must have required property '"+"checked_at"+"'",schema:schema31.properties.nodes.items.properties.x_doc_cycle.allOf[0].then.required,parentSchema:schema31.properties.nodes.items.properties.x_doc_cycle.allOf[0].then,data:data43};if(vErrors === null){vErrors = [err132];}else {vErrors.push(err132);}errors++;}}var _valid10 = _errs155 === errors;valid51 = _valid10;}if(!valid51){const err133 = {instancePath:instancePath+"/nodes/" + i0+"/x_doc_cycle",schemaPath:"#/properties/nodes/items/properties/x_doc_cycle/allOf/0/if",keyword:"if",params:{failingKeyword: "then"},message:"must match \"then\" schema",schema:schema31.properties.nodes.items.properties.x_doc_cycle.allOf[0].if,parentSchema:schema31.properties.nodes.items.properties.x_doc_cycle.allOf[0],data:data43};if(vErrors === null){vErrors = [err133];}else {vErrors.push(err133);}errors++;}if(data43 && typeof data43 == "object" && !Array.isArray(data43)){if(data43.issuer === undefined){const err134 = {instancePath:instancePath+"/nodes/" + i0+"/x_doc_cycle",schemaPath:"#/properties/nodes/items/properties/x_doc_cycle/required",keyword:"required",params:{missingProperty: "issuer"},message:"must have required property '"+"issuer"+"'",schema:schema31.properties.nodes.items.properties.x_doc_cycle.required,parentSchema:schema31.properties.nodes.items.properties.x_doc_cycle,data:data43};if(vErrors === null){vErrors = [err134];}else {vErrors.push(err134);}errors++;}if(data43.state === undefined){const err135 = {instancePath:instancePath+"/nodes/" + i0+"/x_doc_cycle",schemaPath:"#/properties/nodes/items/properties/x_doc_cycle/required",keyword:"required",params:{missingProperty: "state"},message:"must have required property '"+"state"+"'",schema:schema31.properties.nodes.items.properties.x_doc_cycle.required,parentSchema:schema31.properties.nodes.items.properties.x_doc_cycle,data:data43};if(vErrors === null){vErrors = [err135];}else {vErrors.push(err135);}errors++;}for(const key8 in data43){const _errs156 = errors;if(typeof key8 === "string"){if(!pattern4.test(key8)){const err136 = {instancePath:instancePath+"/nodes/" + i0+"/x_doc_cycle",schemaPath:"#/properties/nodes/items/properties/x_doc_cycle/propertyNames/allOf/0/pattern",keyword:"pattern",params:{pattern: "^[A-Za-z_][A-Za-z0-9_-]*$"},message:"must match pattern \""+"^[A-Za-z_][A-Za-z0-9_-]*$"+"\"",schema:"^[A-Za-z_][A-Za-z0-9_-]*$",parentSchema:schema31.properties.nodes.items.properties.x_doc_cycle.propertyNames.allOf[0],data:key8,propertyName:key8};if(vErrors === null){vErrors = [err136];}else {vErrors.push(err136);}errors++;}}const _errs159 = errors;let valid54 = false;const _errs160 = errors;if(!(((((((((key8 === "checked_at") || (key8 === "effective_from")) || (key8 === "effective_to")) || (key8 === "issuer")) || (key8 === "recheck_every")) || (key8 === "ref")) || (key8 === "state")) || (key8 === "updated_at")) || (key8 === "version"))){const err137 = {instancePath:instancePath+"/nodes/" + i0+"/x_doc_cycle",schemaPath:"#/properties/nodes/items/properties/x_doc_cycle/propertyNames/allOf/1/anyOf/0/enum",keyword:"enum",params:{allowedValues: schema31.properties.nodes.items.properties.x_doc_cycle.propertyNames.allOf[1].anyOf[0].enum},message:"must be equal to one of the allowed values",schema:schema31.properties.nodes.items.properties.x_doc_cycle.propertyNames.allOf[1].anyOf[0].enum,parentSchema:schema31.properties.nodes.items.properties.x_doc_cycle.propertyNames.allOf[1].anyOf[0],data:key8,propertyName:key8};if(vErrors === null){vErrors = [err137];}else {vErrors.push(err137);}errors++;}var _valid11 = _errs160 === errors;valid54 = valid54 || _valid11;const _errs161 = errors;if(typeof key8 === "string"){if(!pattern9.test(key8)){const err138 = {instancePath:instancePath+"/nodes/" + i0+"/x_doc_cycle",schemaPath:"#/properties/nodes/items/properties/x_doc_cycle/propertyNames/allOf/1/anyOf/1/pattern",keyword:"pattern",params:{pattern: "^x_"},message:"must match pattern \""+"^x_"+"\"",schema:"^x_",parentSchema:schema31.properties.nodes.items.properties.x_doc_cycle.propertyNames.allOf[1].anyOf[1],data:key8,propertyName:key8};if(vErrors === null){vErrors = [err138];}else {vErrors.push(err138);}errors++;}}var _valid11 = _errs161 === errors;valid54 = valid54 || _valid11;if(!valid54){const err139 = {instancePath:instancePath+"/nodes/" + i0+"/x_doc_cycle",schemaPath:"#/properties/nodes/items/properties/x_doc_cycle/propertyNames/allOf/1/anyOf",keyword:"anyOf",params:{},message:"must match a schema in anyOf",schema:schema31.properties.nodes.items.properties.x_doc_cycle.propertyNames.allOf[1].anyOf,parentSchema:schema31.properties.nodes.items.properties.x_doc_cycle.propertyNames.allOf[1],data:key8,propertyName:key8};if(vErrors === null){vErrors = [err139];}else {vErrors.push(err139);}errors++;}else {errors = _errs159;if(vErrors !== null){if(_errs159){vErrors.length = _errs159;}else {vErrors = null;}}}var valid52 = _errs156 === errors;if(!valid52){const err140 = {instancePath:instancePath+"/nodes/" + i0+"/x_doc_cycle",schemaPath:"#/properties/nodes/items/properties/x_doc_cycle/propertyNames",keyword:"propertyNames",params:{propertyName: key8},message:"property name must be valid",schema:schema31.properties.nodes.items.properties.x_doc_cycle.propertyNames,parentSchema:schema31.properties.nodes.items.properties.x_doc_cycle,data:data43};if(vErrors === null){vErrors = [err140];}else {vErrors.push(err140);}errors++;}}if(data43.issuer !== undefined){let data44 = data43.issuer;if(typeof data44 === "string"){if(func1(data44) < 1){const err141 = {instancePath:instancePath+"/nodes/" + i0+"/x_doc_cycle/issuer",schemaPath:"#/properties/nodes/items/properties/x_doc_cycle/properties/issuer/minLength",keyword:"minLength",params:{limit: 1},message:"must NOT have fewer than 1 characters",schema:1,parentSchema:schema31.properties.nodes.items.properties.x_doc_cycle.properties.issuer,data:data44};if(vErrors === null){vErrors = [err141];}else {vErrors.push(err141);}errors++;}}else {const err142 = {instancePath:instancePath+"/nodes/" + i0+"/x_doc_cycle/issuer",schemaPath:"#/properties/nodes/items/properties/x_doc_cycle/properties/issuer/type",keyword:"type",params:{type: "string"},message:"must be string",schema:schema31.properties.nodes.items.properties.x_doc_cycle.properties.issuer.type,parentSchema:schema31.properties.nodes.items.properties.x_doc_cycle.properties.issuer,data:data44};if(vErrors === null){vErrors = [err142];}else {vErrors.push(err142);}errors++;}}if(data43.ref !== undefined){let data45 = data43.ref;if(typeof data45 === "string"){if(func1(data45) < 1){const err143 = {instancePath:instancePath+"/nodes/" + i0+"/x_doc_cycle/ref",schemaPath:"#/properties/nodes/items/properties/x_doc_cycle/properties/ref/minLength",keyword:"minLength",params:{limit: 1},message:"must NOT have fewer than 1 characters",schema:1,parentSchema:schema31.properties.nodes.items.properties.x_doc_cycle.properties.ref,data:data45};if(vErrors === null){vErrors = [err143];}else {vErrors.push(err143);}errors++;}}else {const err144 = {instancePath:instancePath+"/nodes/" + i0+"/x_doc_cycle/ref",schemaPath:"#/properties/nodes/items/properties/x_doc_cycle/properties/ref/type",keyword:"type",params:{type: "string"},message:"must be string",schema:schema31.properties.nodes.items.properties.x_doc_cycle.properties.ref.type,parentSchema:schema31.properties.nodes.items.properties.x_doc_cycle.properties.ref,data:data45};if(vErrors === null){vErrors = [err144];}else {vErrors.push(err144);}errors++;}}if(data43.version !== undefined){let data46 = data43.version;if(typeof data46 === "string"){if(func1(data46) < 1){const err145 = {instancePath:instancePath+"/nodes/" + i0+"/x_doc_cycle/version",schemaPath:"#/properties/nodes/items/properties/x_doc_cycle/properties/version/minLength",keyword:"minLength",params:{limit: 1},message:"must NOT have fewer than 1 characters",schema:1,parentSchema:schema31.properties.nodes.items.properties.x_doc_cycle.properties.version,data:data46};if(vErrors === null){vErrors = [err145];}else {vErrors.push(err145);}errors++;}}else {const err146 = {instancePath:instancePath+"/nodes/" + i0+"/x_doc_cycle/version",schemaPath:"#/properties/nodes/items/properties/x_doc_cycle/properties/version/type",keyword:"type",params:{type: "string"},message:"must be string",schema:schema31.properties.nodes.items.properties.x_doc_cycle.properties.version.type,parentSchema:schema31.properties.nodes.items.properties.x_doc_cycle.properties.version,data:data46};if(vErrors === null){vErrors = [err146];}else {vErrors.push(err146);}errors++;}}if(data43.state !== undefined){let data47 = data43.state;if(!(((((((data47 === "draft") || (data47 === "enacted")) || (data47 === "expired")) || (data47 === "in_force")) || (data47 === "revoked")) || (data47 === "superseded")) || (data47 === "suspended"))){const err147 = {instancePath:instancePath+"/nodes/" + i0+"/x_doc_cycle/state",schemaPath:"#/properties/nodes/items/properties/x_doc_cycle/properties/state/enum",keyword:"enum",params:{allowedValues: schema31.properties.nodes.items.properties.x_doc_cycle.properties.state.enum},message:"must be equal to one of the allowed values",schema:schema31.properties.nodes.items.properties.x_doc_cycle.properties.state.enum,parentSchema:schema31.properties.nodes.items.properties.x_doc_cycle.properties.state,data:data47};if(vErrors === null){vErrors = [err147];}else {vErrors.push(err147);}errors++;}}if(data43.effective_from !== undefined){let data48 = data43.effective_from;if(typeof data48 === "string"){if(!(formats0.test(data48))){const err148 = {instancePath:instancePath+"/nodes/" + i0+"/x_doc_cycle/effective_from",schemaPath:"#/properties/nodes/items/properties/x_doc_cycle/properties/effective_from/format",keyword:"format",params:{format: "date"},message:"must match format \""+"date"+"\"",schema:"date",parentSchema:schema31.properties.nodes.items.properties.x_doc_cycle.properties.effective_from,data:data48};if(vErrors === null){vErrors = [err148];}else {vErrors.push(err148);}errors++;}}else {const err149 = {instancePath:instancePath+"/nodes/" + i0+"/x_doc_cycle/effective_from",schemaPath:"#/properties/nodes/items/properties/x_doc_cycle/properties/effective_from/type",keyword:"type",params:{type: "string"},message:"must be string",schema:schema31.properties.nodes.items.properties.x_doc_cycle.properties.effective_from.type,parentSchema:schema31.properties.nodes.items.properties.x_doc_cycle.properties.effective_from,data:data48};if(vErrors === null){vErrors = [err149];}else {vErrors.push(err149);}errors++;}}if(data43.effective_to !== undefined){let data49 = data43.effective_to;if(typeof data49 === "string"){if(!(formats0.test(data49))){const err150 = {instancePath:instancePath+"/nodes/" + i0+"/x_doc_cycle/effective_to",schemaPath:"#/properties/nodes/items/properties/x_doc_cycle/properties/effective_to/format",keyword:"format",params:{format: "date"},message:"must match format \""+"date"+"\"",schema:"date",parentSchema:schema31.properties.nodes.items.properties.x_doc_cycle.properties.effective_to,data:data49};if(vErrors === null){vErrors = [err150];}else {vErrors.push(err150);}errors++;}}else {const err151 = {instancePath:instancePath+"/nodes/" + i0+"/x_doc_cycle/effective_to",schemaPath:"#/properties/nodes/items/properties/x_doc_cycle/properties/effective_to/type",keyword:"type",params:{type: "string"},message:"must be string",schema:schema31.properties.nodes.items.properties.x_doc_cycle.properties.effective_to.type,parentSchema:schema31.properties.nodes.items.properties.x_doc_cycle.properties.effective_to,data:data49};if(vErrors === null){vErrors = [err151];}else {vErrors.push(err151);}errors++;}}if(data43.updated_at !== undefined){let data50 = data43.updated_at;if(typeof data50 === "string"){if(!(formats0.test(data50))){const err152 = {instancePath:instancePath+"/nodes/" + i0+"/x_doc_cycle/updated_at",schemaPath:"#/properties/nodes/items/properties/x_doc_cycle/properties/updated_at/format",keyword:"format",params:{format: "date"},message:"must match format \""+"date"+"\"",schema:"date",parentSchema:schema31.properties.nodes.items.properties.x_doc_cycle.properties.updated_at,data:data50};if(vErrors === null){vErrors = [err152];}else {vErrors.push(err152);}errors++;}}else {const err153 = {instancePath:instancePath+"/nodes/" + i0+"/x_doc_cycle/updated_at",schemaPath:"#/properties/nodes/items/properties/x_doc_cycle/properties/updated_at/type",keyword:"type",params:{type: "string"},message:"must be string",schema:schema31.properties.nodes.items.properties.x_doc_cycle.properties.updated_at.type,parentSchema:schema31.properties.nodes.items.properties.x_doc_cycle.properties.updated_at,data:data50};if(vErrors === null){vErrors = [err153];}else {vErrors.push(err153);}errors++;}}if(data43.checked_at !== undefined){let data51 = data43.checked_at;if(typeof data51 === "string"){if(!(formats0.test(data51))){const err154 = {instancePath:instancePath+"/nodes/" + i0+"/x_doc_cycle/checked_at",schemaPath:"#/properties/nodes/items/properties/x_doc_cycle/properties/checked_at/format",keyword:"format",params:{format: "date"},message:"must match format \""+"date"+"\"",schema:"date",parentSchema:schema31.properties.nodes.items.properties.x_doc_cycle.properties.checked_at,data:data51};if(vErrors === null){vErrors = [err154];}else {vErrors.push(err154);}errors++;}}else {const err155 = {instancePath:instancePath+"/nodes/" + i0+"/x_doc_cycle/checked_at",schemaPath:"#/properties/nodes/items/properties/x_doc_cycle/properties/checked_at/type",keyword:"type",params:{type: "string"},message:"must be string",schema:schema31.properties.nodes.items.properties.x_doc_cycle.properties.checked_at.type,parentSchema:schema31.properties.nodes.items.properties.x_doc_cycle.properties.checked_at,data:data51};if(vErrors === null){vErrors = [err155];}else {vErrors.push(err155);}errors++;}}if(data43.recheck_every !== undefined){let data52 = data43.recheck_every;if(typeof data52 !== "string"){const err156 = {instancePath:instancePath+"/nodes/" + i0+"/x_doc_cycle/recheck_every",schemaPath:"#/properties/nodes/items/properties/x_doc_cycle/properties/recheck_every/type",keyword:"type",params:{type: "string"},message:"must be string",schema:schema31.properties.nodes.items.properties.x_doc_cycle.properties.recheck_every.type,parentSchema:schema31.properties.nodes.items.properties.x_doc_cycle.properties.recheck_every,data:data52};if(vErrors === null){vErrors = [err156];}else {vErrors.push(err156);}errors++;}if(typeof data52 === "string"){if(!pattern11.test(data52)){const err157 = {instancePath:instancePath+"/nodes/" + i0+"/x_doc_cycle/recheck_every",schemaPath:"#/properties/nodes/items/properties/x_doc_cycle/properties/recheck_every/allOf/0/pattern",keyword:"pattern",params:{pattern: "^P(?:[0-9]+Y(?:[0-9]+M)?(?:[0-9]+W)?(?:[0-9]+D)?|[0-9]+M(?:[0-9]+W)?(?:[0-9]+D)?|[0-9]+W(?:[0-9]+D)?|[0-9]+D)$"},message:"must match pattern \""+"^P(?:[0-9]+Y(?:[0-9]+M)?(?:[0-9]+W)?(?:[0-9]+D)?|[0-9]+M(?:[0-9]+W)?(?:[0-9]+D)?|[0-9]+W(?:[0-9]+D)?|[0-9]+D)$"+"\"",schema:"^P(?:[0-9]+Y(?:[0-9]+M)?(?:[0-9]+W)?(?:[0-9]+D)?|[0-9]+M(?:[0-9]+W)?(?:[0-9]+D)?|[0-9]+W(?:[0-9]+D)?|[0-9]+D)$",parentSchema:schema31.properties.nodes.items.properties.x_doc_cycle.properties.recheck_every.allOf[0],data:data52};if(vErrors === null){vErrors = [err157];}else {vErrors.push(err157);}errors++;}}const _errs181 = errors;const _errs182 = errors;if(errors === _errs182){if(typeof data52 === "string"){if(!pattern12.test(data52)){const err158 = {};if(vErrors === null){vErrors = [err158];}else {vErrors.push(err158);}errors++;}}else {const err159 = {};if(vErrors === null){vErrors = [err159];}else {vErrors.push(err159);}errors++;}}var valid57 = _errs182 === errors;if(valid57){const err160 = {instancePath:instancePath+"/nodes/" + i0+"/x_doc_cycle/recheck_every",schemaPath:"#/properties/nodes/items/properties/x_doc_cycle/properties/recheck_every/allOf/1/not",keyword:"not",params:{},message:"must NOT be valid",schema:schema31.properties.nodes.items.properties.x_doc_cycle.properties.recheck_every.allOf[1].not,parentSchema:schema31.properties.nodes.items.properties.x_doc_cycle.properties.recheck_every.allOf[1],data:data52};if(vErrors === null){vErrors = [err160];}else {vErrors.push(err160);}errors++;}else {errors = _errs181;if(vErrors !== null){if(_errs181){vErrors.length = _errs181;}else {vErrors = null;}}}}}else {const err161 = {instancePath:instancePath+"/nodes/" + i0+"/x_doc_cycle",schemaPath:"#/properties/nodes/items/properties/x_doc_cycle/type",keyword:"type",params:{type: "object"},message:"must be object",schema:schema31.properties.nodes.items.properties.x_doc_cycle.type,parentSchema:schema31.properties.nodes.items.properties.x_doc_cycle,data:data43};if(vErrors === null){vErrors = [err161];}else {vErrors.push(err161);}errors++;}}if(data3.x_questionnaire !== undefined){let data53 = data3.x_questionnaire;if(data53 && typeof data53 == "object" && !Array.isArray(data53)){if(data53.name === undefined){const err162 = {instancePath:instancePath+"/nodes/" + i0+"/x_questionnaire",schemaPath:"#/properties/nodes/items/properties/x_questionnaire/required",keyword:"required",params:{missingProperty: "name"},message:"must have required property '"+"name"+"'",schema:schema31.properties.nodes.items.properties.x_questionnaire.required,parentSchema:schema31.properties.nodes.items.properties.x_questionnaire,data:data53};if(vErrors === null){vErrors = [err162];}else {vErrors.push(err162);}errors++;}if(data53.questions === undefined){const err163 = {instancePath:instancePath+"/nodes/" + i0+"/x_questionnaire",schemaPath:"#/properties/nodes/items/properties/x_questionnaire/required",keyword:"required",params:{missingProperty: "questions"},message:"must have required property '"+"questions"+"'",schema:schema31.properties.nodes.items.properties.x_questionnaire.required,parentSchema:schema31.properties.nodes.items.properties.x_questionnaire,data:data53};if(vErrors === null){vErrors = [err163];}else {vErrors.push(err163);}errors++;}for(const key9 in data53){const _errs186 = errors;if(typeof key9 === "string"){if(!pattern4.test(key9)){const err164 = {instancePath:instancePath+"/nodes/" + i0+"/x_questionnaire",schemaPath:"#/properties/nodes/items/properties/x_questionnaire/propertyNames/allOf/0/pattern",keyword:"pattern",params:{pattern: "^[A-Za-z_][A-Za-z0-9_-]*$"},message:"must match pattern \""+"^[A-Za-z_][A-Za-z0-9_-]*$"+"\"",schema:"^[A-Za-z_][A-Za-z0-9_-]*$",parentSchema:schema31.properties.nodes.items.properties.x_questionnaire.propertyNames.allOf[0],data:key9,propertyName:key9};if(vErrors === null){vErrors = [err164];}else {vErrors.push(err164);}errors++;}}const _errs189 = errors;let valid60 = false;const _errs190 = errors;if(!((((((key9 === "answer_draft") || (key9 === "answered_at")) || (key9 === "name")) || (key9 === "questions")) || (key9 === "role")) || (key9 === "verdict"))){const err165 = {instancePath:instancePath+"/nodes/" + i0+"/x_questionnaire",schemaPath:"#/properties/nodes/items/properties/x_questionnaire/propertyNames/allOf/1/anyOf/0/enum",keyword:"enum",params:{allowedValues: schema31.properties.nodes.items.properties.x_questionnaire.propertyNames.allOf[1].anyOf[0].enum},message:"must be equal to one of the allowed values",schema:schema31.properties.nodes.items.properties.x_questionnaire.propertyNames.allOf[1].anyOf[0].enum,parentSchema:schema31.properties.nodes.items.properties.x_questionnaire.propertyNames.allOf[1].anyOf[0],data:key9,propertyName:key9};if(vErrors === null){vErrors = [err165];}else {vErrors.push(err165);}errors++;}var _valid12 = _errs190 === errors;valid60 = valid60 || _valid12;const _errs191 = errors;if(typeof key9 === "string"){if(!pattern9.test(key9)){const err166 = {instancePath:instancePath+"/nodes/" + i0+"/x_questionnaire",schemaPath:"#/properties/nodes/items/properties/x_questionnaire/propertyNames/allOf/1/anyOf/1/pattern",keyword:"pattern",params:{pattern: "^x_"},message:"must match pattern \""+"^x_"+"\"",schema:"^x_",parentSchema:schema31.properties.nodes.items.properties.x_questionnaire.propertyNames.allOf[1].anyOf[1],data:key9,propertyName:key9};if(vErrors === null){vErrors = [err166];}else {vErrors.push(err166);}errors++;}}var _valid12 = _errs191 === errors;valid60 = valid60 || _valid12;if(!valid60){const err167 = {instancePath:instancePath+"/nodes/" + i0+"/x_questionnaire",schemaPath:"#/properties/nodes/items/properties/x_questionnaire/propertyNames/allOf/1/anyOf",keyword:"anyOf",params:{},message:"must match a schema in anyOf",schema:schema31.properties.nodes.items.properties.x_questionnaire.propertyNames.allOf[1].anyOf,parentSchema:schema31.properties.nodes.items.properties.x_questionnaire.propertyNames.allOf[1],data:key9,propertyName:key9};if(vErrors === null){vErrors = [err167];}else {vErrors.push(err167);}errors++;}else {errors = _errs189;if(vErrors !== null){if(_errs189){vErrors.length = _errs189;}else {vErrors = null;}}}var valid58 = _errs186 === errors;if(!valid58){const err168 = {instancePath:instancePath+"/nodes/" + i0+"/x_questionnaire",schemaPath:"#/properties/nodes/items/properties/x_questionnaire/propertyNames",keyword:"propertyNames",params:{propertyName: key9},message:"property name must be valid",schema:schema31.properties.nodes.items.properties.x_questionnaire.propertyNames,parentSchema:schema31.properties.nodes.items.properties.x_questionnaire,data:data53};if(vErrors === null){vErrors = [err168];}else {vErrors.push(err168);}errors++;}}if(data53.name !== undefined){let data54 = data53.name;if(typeof data54 === "string"){if(func1(data54) < 1){const err169 = {instancePath:instancePath+"/nodes/" + i0+"/x_questionnaire/name",schemaPath:"#/properties/nodes/items/properties/x_questionnaire/properties/name/minLength",keyword:"minLength",params:{limit: 1},message:"must NOT have fewer than 1 characters",schema:1,parentSchema:schema31.properties.nodes.items.properties.x_questionnaire.properties.name,data:data54};if(vErrors === null){vErrors = [err169];}else {vErrors.push(err169);}errors++;}}else {const err170 = {instancePath:instancePath+"/nodes/" + i0+"/x_questionnaire/name",schemaPath:"#/properties/nodes/items/properties/x_questionnaire/properties/name/type",keyword:"type",params:{type: "string"},message:"must be string",schema:schema31.properties.nodes.items.properties.x_questionnaire.properties.name.type,parentSchema:schema31.properties.nodes.items.properties.x_questionnaire.properties.name,data:data54};if(vErrors === null){vErrors = [err170];}else {vErrors.push(err170);}errors++;}}if(data53.questions !== undefined){let data55 = data53.questions;if(Array.isArray(data55)){if(data55.length < 1){const err171 = {instancePath:instancePath+"/nodes/" + i0+"/x_questionnaire/questions",schemaPath:"#/properties/nodes/items/properties/x_questionnaire/properties/questions/minItems",keyword:"minItems",params:{limit: 1},message:"must NOT have fewer than 1 items",schema:1,parentSchema:schema31.properties.nodes.items.properties.x_questionnaire.properties.questions,data:data55};if(vErrors === null){vErrors = [err171];}else {vErrors.push(err171);}errors++;}const len2 = data55.length;for(let i2=0; i2<len2; i2++){let data56 = data55[i2];if(typeof data56 === "string"){if(func1(data56) < 1){const err172 = {instancePath:instancePath+"/nodes/" + i0+"/x_questionnaire/questions/" + i2,schemaPath:"#/properties/nodes/items/properties/x_questionnaire/properties/questions/items/minLength",keyword:"minLength",params:{limit: 1},message:"must NOT have fewer than 1 characters",schema:1,parentSchema:schema31.properties.nodes.items.properties.x_questionnaire.properties.questions.items,data:data56};if(vErrors === null){vErrors = [err172];}else {vErrors.push(err172);}errors++;}}else {const err173 = {instancePath:instancePath+"/nodes/" + i0+"/x_questionnaire/questions/" + i2,schemaPath:"#/properties/nodes/items/properties/x_questionnaire/properties/questions/items/type",keyword:"type",params:{type: "string"},message:"must be string",schema:schema31.properties.nodes.items.properties.x_questionnaire.properties.questions.items.type,parentSchema:schema31.properties.nodes.items.properties.x_questionnaire.properties.questions.items,data:data56};if(vErrors === null){vErrors = [err173];}else {vErrors.push(err173);}errors++;}}}else {const err174 = {instancePath:instancePath+"/nodes/" + i0+"/x_questionnaire/questions",schemaPath:"#/properties/nodes/items/properties/x_questionnaire/properties/questions/type",keyword:"type",params:{type: "array"},message:"must be array",schema:schema31.properties.nodes.items.properties.x_questionnaire.properties.questions.type,parentSchema:schema31.properties.nodes.items.properties.x_questionnaire.properties.questions,data:data55};if(vErrors === null){vErrors = [err174];}else {vErrors.push(err174);}errors++;}}if(data53.answer_draft !== undefined){let data57 = data53.answer_draft;if(typeof data57 === "string"){if(func1(data57) < 1){const err175 = {instancePath:instancePath+"/nodes/" + i0+"/x_questionnaire/answer_draft",schemaPath:"#/properties/nodes/items/properties/x_questionnaire/properties/answer_draft/minLength",keyword:"minLength",params:{limit: 1},message:"must NOT have fewer than 1 characters",schema:1,parentSchema:schema31.properties.nodes.items.properties.x_questionnaire.properties.answer_draft,data:data57};if(vErrors === null){vErrors = [err175];}else {vErrors.push(err175);}errors++;}}else {const err176 = {instancePath:instancePath+"/nodes/" + i0+"/x_questionnaire/answer_draft",schemaPath:"#/properties/nodes/items/properties/x_questionnaire/properties/answer_draft/type",keyword:"type",params:{type: "string"},message:"must be string",schema:schema31.properties.nodes.items.properties.x_questionnaire.properties.answer_draft.type,parentSchema:schema31.properties.nodes.items.properties.x_questionnaire.properties.answer_draft,data:data57};if(vErrors === null){vErrors = [err176];}else {vErrors.push(err176);}errors++;}}if(data53.verdict !== undefined){let data58 = data53.verdict;if(!(((((data58 === "does_not_meet") || (data58 === "meets")) || (data58 === "not_applicable")) || (data58 === "partial")) || (data58 === "unknown"))){const err177 = {instancePath:instancePath+"/nodes/" + i0+"/x_questionnaire/verdict",schemaPath:"#/properties/nodes/items/properties/x_questionnaire/properties/verdict/enum",keyword:"enum",params:{allowedValues: schema31.properties.nodes.items.properties.x_questionnaire.properties.verdict.enum},message:"must be equal to one of the allowed values",schema:schema31.properties.nodes.items.properties.x_questionnaire.properties.verdict.enum,parentSchema:schema31.properties.nodes.items.properties.x_questionnaire.properties.verdict,data:data58};if(vErrors === null){vErrors = [err177];}else {vErrors.push(err177);}errors++;}}if(data53.answered_at !== undefined){let data59 = data53.answered_at;if(typeof data59 === "string"){if(!(formats0.test(data59))){const err178 = {instancePath:instancePath+"/nodes/" + i0+"/x_questionnaire/answered_at",schemaPath:"#/properties/nodes/items/properties/x_questionnaire/properties/answered_at/format",keyword:"format",params:{format: "date"},message:"must match format \""+"date"+"\"",schema:"date",parentSchema:schema31.properties.nodes.items.properties.x_questionnaire.properties.answered_at,data:data59};if(vErrors === null){vErrors = [err178];}else {vErrors.push(err178);}errors++;}}else {const err179 = {instancePath:instancePath+"/nodes/" + i0+"/x_questionnaire/answered_at",schemaPath:"#/properties/nodes/items/properties/x_questionnaire/properties/answered_at/type",keyword:"type",params:{type: "string"},message:"must be string",schema:schema31.properties.nodes.items.properties.x_questionnaire.properties.answered_at.type,parentSchema:schema31.properties.nodes.items.properties.x_questionnaire.properties.answered_at,data:data59};if(vErrors === null){vErrors = [err179];}else {vErrors.push(err179);}errors++;}}if(data53.role !== undefined){let data60 = data53.role;if(!(((data60 === "evidence_request") || (data60 === "evidence_requirement")) || (data60 === "item"))){const err180 = {instancePath:instancePath+"/nodes/" + i0+"/x_questionnaire/role",schemaPath:"#/properties/nodes/items/properties/x_questionnaire/properties/role/enum",keyword:"enum",params:{allowedValues: schema31.properties.nodes.items.properties.x_questionnaire.properties.role.enum},message:"must be equal to one of the allowed values",schema:schema31.properties.nodes.items.properties.x_questionnaire.properties.role.enum,parentSchema:schema31.properties.nodes.items.properties.x_questionnaire.properties.role,data:data60};if(vErrors === null){vErrors = [err180];}else {vErrors.push(err180);}errors++;}}}else {const err181 = {instancePath:instancePath+"/nodes/" + i0+"/x_questionnaire",schemaPath:"#/properties/nodes/items/properties/x_questionnaire/type",keyword:"type",params:{type: "object"},message:"must be object",schema:schema31.properties.nodes.items.properties.x_questionnaire.type,parentSchema:schema31.properties.nodes.items.properties.x_questionnaire,data:data53};if(vErrors === null){vErrors = [err181];}else {vErrors.push(err181);}errors++;}}if(data3.x_severity !== undefined){let data61 = data3.x_severity;if(!(((((data61 === "critical") || (data61 === "high")) || (data61 === "info")) || (data61 === "low")) || (data61 === "medium"))){const err182 = {instancePath:instancePath+"/nodes/" + i0+"/x_severity",schemaPath:"#/properties/nodes/items/properties/x_severity/enum",keyword:"enum",params:{allowedValues: schema31.properties.nodes.items.properties.x_severity.enum},message:"must be equal to one of the allowed values",schema:schema31.properties.nodes.items.properties.x_severity.enum,parentSchema:schema31.properties.nodes.items.properties.x_severity,data:data61};if(vErrors === null){vErrors = [err182];}else {vErrors.push(err182);}errors++;}}if(data3.x_criterion !== undefined){let data62 = data3.x_criterion;const _errs208 = errors;let valid65 = true;const _errs209 = errors;if(errors === _errs209){if(data62 && typeof data62 == "object" && !Array.isArray(data62)){let missing6;if((data62.ref === undefined) && (missing6 = "ref")){const err183 = {};if(vErrors === null){vErrors = [err183];}else {vErrors.push(err183);}errors++;}}else {const err184 = {};if(vErrors === null){vErrors = [err184];}else {vErrors.push(err184);}errors++;}}var _valid13 = _errs209 === errors;errors = _errs208;if(vErrors !== null){if(_errs208){vErrors.length = _errs208;}else {vErrors = null;}}if(_valid13){const _errs211 = errors;const _errs212 = errors;const _errs213 = errors;if(data62 && typeof data62 == "object" && !Array.isArray(data62)){let missing7;if((data62.text === undefined) && (missing7 = "text")){const err185 = {};if(vErrors === null){vErrors = [err185];}else {vErrors.push(err185);}errors++;}}var valid66 = _errs213 === errors;if(valid66){const err186 = {instancePath:instancePath+"/nodes/" + i0+"/x_criterion",schemaPath:"#/properties/nodes/items/properties/x_criterion/allOf/0/then/not",keyword:"not",params:{},message:"must NOT be valid",schema:schema31.properties.nodes.items.properties.x_criterion.allOf[0].then.not,parentSchema:schema31.properties.nodes.items.properties.x_criterion.allOf[0].then,data:data62};if(vErrors === null){vErrors = [err186];}else {vErrors.push(err186);}errors++;}else {errors = _errs212;if(vErrors !== null){if(_errs212){vErrors.length = _errs212;}else {vErrors = null;}}}var _valid13 = _errs211 === errors;valid65 = _valid13;}if(!valid65){const err187 = {instancePath:instancePath+"/nodes/" + i0+"/x_criterion",schemaPath:"#/properties/nodes/items/properties/x_criterion/allOf/0/if",keyword:"if",params:{failingKeyword: "then"},message:"must match \"then\" schema",schema:schema31.properties.nodes.items.properties.x_criterion.allOf[0].if,parentSchema:schema31.properties.nodes.items.properties.x_criterion.allOf[0],data:data62};if(vErrors === null){vErrors = [err187];}else {vErrors.push(err187);}errors++;}const _errs215 = errors;let valid67 = true;const _errs216 = errors;if(!(data62 && typeof data62 == "object" && !Array.isArray(data62))){const err188 = {};if(vErrors === null){vErrors = [err188];}else {vErrors.push(err188);}errors++;}const _errs218 = errors;const _errs219 = errors;if(data62 && typeof data62 == "object" && !Array.isArray(data62)){let missing8;if((data62.ref === undefined) && (missing8 = "ref")){const err189 = {};if(vErrors === null){vErrors = [err189];}else {vErrors.push(err189);}errors++;}}var valid68 = _errs219 === errors;if(valid68){const err190 = {};if(vErrors === null){vErrors = [err190];}else {vErrors.push(err190);}errors++;}else {errors = _errs218;if(vErrors !== null){if(_errs218){vErrors.length = _errs218;}else {vErrors = null;}}}var _valid14 = _errs216 === errors;errors = _errs215;if(vErrors !== null){if(_errs215){vErrors.length = _errs215;}else {vErrors = null;}}if(_valid14){const _errs220 = errors;if(data62 && typeof data62 == "object" && !Array.isArray(data62)){if(data62.text === undefined){const err191 = {instancePath:instancePath+"/nodes/" + i0+"/x_criterion",schemaPath:"#/properties/nodes/items/properties/x_criterion/allOf/1/then/required",keyword:"required",params:{missingProperty: "text"},message:"must have required property '"+"text"+"'",schema:schema31.properties.nodes.items.properties.x_criterion.allOf[1].then.required,parentSchema:schema31.properties.nodes.items.properties.x_criterion.allOf[1].then,data:data62};if(vErrors === null){vErrors = [err191];}else {vErrors.push(err191);}errors++;}}var _valid14 = _errs220 === errors;valid67 = _valid14;}if(!valid67){const err192 = {instancePath:instancePath+"/nodes/" + i0+"/x_criterion",schemaPath:"#/properties/nodes/items/properties/x_criterion/allOf/1/if",keyword:"if",params:{failingKeyword: "then"},message:"must match \"then\" schema",schema:schema31.properties.nodes.items.properties.x_criterion.allOf[1].if,parentSchema:schema31.properties.nodes.items.properties.x_criterion.allOf[1],data:data62};if(vErrors === null){vErrors = [err192];}else {vErrors.push(err192);}errors++;}const _errs222 = errors;let valid69 = true;const _errs223 = errors;if(errors === _errs223){if(data62 && typeof data62 == "object" && !Array.isArray(data62)){let missing9;if((data62.amends === undefined) && (missing9 = "amends")){const err193 = {};if(vErrors === null){vErrors = [err193];}else {vErrors.push(err193);}errors++;}}else {const err194 = {};if(vErrors === null){vErrors = [err194];}else {vErrors.push(err194);}errors++;}}var _valid15 = _errs223 === errors;errors = _errs222;if(vErrors !== null){if(_errs222){vErrors.length = _errs222;}else {vErrors = null;}}if(_valid15){const _errs225 = errors;if(data62 && typeof data62 == "object" && !Array.isArray(data62)){if(data62.reason === undefined){const err195 = {instancePath:instancePath+"/nodes/" + i0+"/x_criterion",schemaPath:"#/properties/nodes/items/properties/x_criterion/allOf/2/then/required",keyword:"required",params:{missingProperty: "reason"},message:"must have required property '"+"reason"+"'",schema:schema31.properties.nodes.items.properties.x_criterion.allOf[2].then.required,parentSchema:schema31.properties.nodes.items.properties.x_criterion.allOf[2].then,data:data62};if(vErrors === null){vErrors = [err195];}else {vErrors.push(err195);}errors++;}}var _valid15 = _errs225 === errors;valid69 = _valid15;}if(!valid69){const err196 = {instancePath:instancePath+"/nodes/" + i0+"/x_criterion",schemaPath:"#/properties/nodes/items/properties/x_criterion/allOf/2/if",keyword:"if",params:{failingKeyword: "then"},message:"must match \"then\" schema",schema:schema31.properties.nodes.items.properties.x_criterion.allOf[2].if,parentSchema:schema31.properties.nodes.items.properties.x_criterion.allOf[2],data:data62};if(vErrors === null){vErrors = [err196];}else {vErrors.push(err196);}errors++;}if(data62 && typeof data62 == "object" && !Array.isArray(data62)){if(data62.id === undefined){const err197 = {instancePath:instancePath+"/nodes/" + i0+"/x_criterion",schemaPath:"#/properties/nodes/items/properties/x_criterion/required",keyword:"required",params:{missingProperty: "id"},message:"must have required property '"+"id"+"'",schema:schema31.properties.nodes.items.properties.x_criterion.required,parentSchema:schema31.properties.nodes.items.properties.x_criterion,data:data62};if(vErrors === null){vErrors = [err197];}else {vErrors.push(err197);}errors++;}if(data62.version === undefined){const err198 = {instancePath:instancePath+"/nodes/" + i0+"/x_criterion",schemaPath:"#/properties/nodes/items/properties/x_criterion/required",keyword:"required",params:{missingProperty: "version"},message:"must have required property '"+"version"+"'",schema:schema31.properties.nodes.items.properties.x_criterion.required,parentSchema:schema31.properties.nodes.items.properties.x_criterion,data:data62};if(vErrors === null){vErrors = [err198];}else {vErrors.push(err198);}errors++;}if(data62.registered_at === undefined){const err199 = {instancePath:instancePath+"/nodes/" + i0+"/x_criterion",schemaPath:"#/properties/nodes/items/properties/x_criterion/required",keyword:"required",params:{missingProperty: "registered_at"},message:"must have required property '"+"registered_at"+"'",schema:schema31.properties.nodes.items.properties.x_criterion.required,parentSchema:schema31.properties.nodes.items.properties.x_criterion,data:data62};if(vErrors === null){vErrors = [err199];}else {vErrors.push(err199);}errors++;}if(data62.sha256 === undefined){const err200 = {instancePath:instancePath+"/nodes/" + i0+"/x_criterion",schemaPath:"#/properties/nodes/items/properties/x_criterion/required",keyword:"required",params:{missingProperty: "sha256"},message:"must have required property '"+"sha256"+"'",schema:schema31.properties.nodes.items.properties.x_criterion.required,parentSchema:schema31.properties.nodes.items.properties.x_criterion,data:data62};if(vErrors === null){vErrors = [err200];}else {vErrors.push(err200);}errors++;}for(const key10 in data62){const _errs226 = errors;if(typeof key10 === "string"){if(!pattern4.test(key10)){const err201 = {instancePath:instancePath+"/nodes/" + i0+"/x_criterion",schemaPath:"#/properties/nodes/items/properties/x_criterion/propertyNames/allOf/0/pattern",keyword:"pattern",params:{pattern: "^[A-Za-z_][A-Za-z0-9_-]*$"},message:"must match pattern \""+"^[A-Za-z_][A-Za-z0-9_-]*$"+"\"",schema:"^[A-Za-z_][A-Za-z0-9_-]*$",parentSchema:schema31.properties.nodes.items.properties.x_criterion.propertyNames.allOf[0],data:key10,propertyName:key10};if(vErrors === null){vErrors = [err201];}else {vErrors.push(err201);}errors++;}}const _errs229 = errors;let valid72 = false;const _errs230 = errors;if(!(((((((((key10 === "amends") || (key10 === "id")) || (key10 === "reason")) || (key10 === "ref")) || (key10 === "registered_at")) || (key10 === "round")) || (key10 === "sha256")) || (key10 === "text")) || (key10 === "version"))){const err202 = {instancePath:instancePath+"/nodes/" + i0+"/x_criterion",schemaPath:"#/properties/nodes/items/properties/x_criterion/propertyNames/allOf/1/anyOf/0/enum",keyword:"enum",params:{allowedValues: schema31.properties.nodes.items.properties.x_criterion.propertyNames.allOf[1].anyOf[0].enum},message:"must be equal to one of the allowed values",schema:schema31.properties.nodes.items.properties.x_criterion.propertyNames.allOf[1].anyOf[0].enum,parentSchema:schema31.properties.nodes.items.properties.x_criterion.propertyNames.allOf[1].anyOf[0],data:key10,propertyName:key10};if(vErrors === null){vErrors = [err202];}else {vErrors.push(err202);}errors++;}var _valid16 = _errs230 === errors;valid72 = valid72 || _valid16;const _errs231 = errors;if(typeof key10 === "string"){if(!pattern9.test(key10)){const err203 = {instancePath:instancePath+"/nodes/" + i0+"/x_criterion",schemaPath:"#/properties/nodes/items/properties/x_criterion/propertyNames/allOf/1/anyOf/1/pattern",keyword:"pattern",params:{pattern: "^x_"},message:"must match pattern \""+"^x_"+"\"",schema:"^x_",parentSchema:schema31.properties.nodes.items.properties.x_criterion.propertyNames.allOf[1].anyOf[1],data:key10,propertyName:key10};if(vErrors === null){vErrors = [err203];}else {vErrors.push(err203);}errors++;}}var _valid16 = _errs231 === errors;valid72 = valid72 || _valid16;if(!valid72){const err204 = {instancePath:instancePath+"/nodes/" + i0+"/x_criterion",schemaPath:"#/properties/nodes/items/properties/x_criterion/propertyNames/allOf/1/anyOf",keyword:"anyOf",params:{},message:"must match a schema in anyOf",schema:schema31.properties.nodes.items.properties.x_criterion.propertyNames.allOf[1].anyOf,parentSchema:schema31.properties.nodes.items.properties.x_criterion.propertyNames.allOf[1],data:key10,propertyName:key10};if(vErrors === null){vErrors = [err204];}else {vErrors.push(err204);}errors++;}else {errors = _errs229;if(vErrors !== null){if(_errs229){vErrors.length = _errs229;}else {vErrors = null;}}}var valid70 = _errs226 === errors;if(!valid70){const err205 = {instancePath:instancePath+"/nodes/" + i0+"/x_criterion",schemaPath:"#/properties/nodes/items/properties/x_criterion/propertyNames",keyword:"propertyNames",params:{propertyName: key10},message:"property name must be valid",schema:schema31.properties.nodes.items.properties.x_criterion.propertyNames,parentSchema:schema31.properties.nodes.items.properties.x_criterion,data:data62};if(vErrors === null){vErrors = [err205];}else {vErrors.push(err205);}errors++;}}if(data62.id !== undefined){let data63 = data62.id;if(typeof data63 === "string"){if(func1(data63) < 1){const err206 = {instancePath:instancePath+"/nodes/" + i0+"/x_criterion/id",schemaPath:"#/properties/nodes/items/properties/x_criterion/properties/id/minLength",keyword:"minLength",params:{limit: 1},message:"must NOT have fewer than 1 characters",schema:1,parentSchema:schema31.properties.nodes.items.properties.x_criterion.properties.id,data:data63};if(vErrors === null){vErrors = [err206];}else {vErrors.push(err206);}errors++;}}else {const err207 = {instancePath:instancePath+"/nodes/" + i0+"/x_criterion/id",schemaPath:"#/properties/nodes/items/properties/x_criterion/properties/id/type",keyword:"type",params:{type: "string"},message:"must be string",schema:schema31.properties.nodes.items.properties.x_criterion.properties.id.type,parentSchema:schema31.properties.nodes.items.properties.x_criterion.properties.id,data:data63};if(vErrors === null){vErrors = [err207];}else {vErrors.push(err207);}errors++;}}if(data62.version !== undefined){let data64 = data62.version;if((typeof data64 !== "string") && (!((typeof data64 == "number") && (!(data64 % 1) && !isNaN(data64))))){const err208 = {instancePath:instancePath+"/nodes/" + i0+"/x_criterion/version",schemaPath:"#/properties/nodes/items/properties/x_criterion/properties/version/type",keyword:"type",params:{type: schema31.properties.nodes.items.properties.x_criterion.properties.version.type},message:"must be string,integer",schema:schema31.properties.nodes.items.properties.x_criterion.properties.version.type,parentSchema:schema31.properties.nodes.items.properties.x_criterion.properties.version,data:data64};if(vErrors === null){vErrors = [err208];}else {vErrors.push(err208);}errors++;}if(typeof data64 === "string"){if(func1(data64) < 1){const err209 = {instancePath:instancePath+"/nodes/" + i0+"/x_criterion/version",schemaPath:"#/properties/nodes/items/properties/x_criterion/properties/version/minLength",keyword:"minLength",params:{limit: 1},message:"must NOT have fewer than 1 characters",schema:1,parentSchema:schema31.properties.nodes.items.properties.x_criterion.properties.version,data:data64};if(vErrors === null){vErrors = [err209];}else {vErrors.push(err209);}errors++;}}}if(data62.registered_at !== undefined){let data65 = data62.registered_at;if(typeof data65 === "string"){if(!pattern38.test(data65)){const err210 = {instancePath:instancePath+"/nodes/" + i0+"/x_criterion/registered_at",schemaPath:"#/properties/nodes/items/properties/x_criterion/properties/registered_at/pattern",keyword:"pattern",params:{pattern: "^[0-9]{4}-(?:0[1-9]|1[0-2])-(?:0[1-9]|[12][0-9]|3[01])(?:[Tt](?:[01][0-9]|2[0-3]):[0-5][0-9]:(?:[0-5][0-9]|60)(?:\\.[0-9]+)?(?:[Zz]|[+-](?:[01][0-9]|2[0-3]):[0-5][0-9]))?$"},message:"must match pattern \""+"^[0-9]{4}-(?:0[1-9]|1[0-2])-(?:0[1-9]|[12][0-9]|3[01])(?:[Tt](?:[01][0-9]|2[0-3]):[0-5][0-9]:(?:[0-5][0-9]|60)(?:\\.[0-9]+)?(?:[Zz]|[+-](?:[01][0-9]|2[0-3]):[0-5][0-9]))?$"+"\"",schema:"^[0-9]{4}-(?:0[1-9]|1[0-2])-(?:0[1-9]|[12][0-9]|3[01])(?:[Tt](?:[01][0-9]|2[0-3]):[0-5][0-9]:(?:[0-5][0-9]|60)(?:\\.[0-9]+)?(?:[Zz]|[+-](?:[01][0-9]|2[0-3]):[0-5][0-9]))?$",parentSchema:schema31.properties.nodes.items.properties.x_criterion.properties.registered_at,data:data65};if(vErrors === null){vErrors = [err210];}else {vErrors.push(err210);}errors++;}}else {const err211 = {instancePath:instancePath+"/nodes/" + i0+"/x_criterion/registered_at",schemaPath:"#/properties/nodes/items/properties/x_criterion/properties/registered_at/type",keyword:"type",params:{type: "string"},message:"must be string",schema:schema31.properties.nodes.items.properties.x_criterion.properties.registered_at.type,parentSchema:schema31.properties.nodes.items.properties.x_criterion.properties.registered_at,data:data65};if(vErrors === null){vErrors = [err211];}else {vErrors.push(err211);}errors++;}}if(data62.sha256 !== undefined){let data66 = data62.sha256;if(typeof data66 === "string"){if(!pattern39.test(data66)){const err212 = {instancePath:instancePath+"/nodes/" + i0+"/x_criterion/sha256",schemaPath:"#/properties/nodes/items/properties/x_criterion/properties/sha256/pattern",keyword:"pattern",params:{pattern: "^[0-9a-f]{64}$"},message:"must match pattern \""+"^[0-9a-f]{64}$"+"\"",schema:"^[0-9a-f]{64}$",parentSchema:schema31.properties.nodes.items.properties.x_criterion.properties.sha256,data:data66};if(vErrors === null){vErrors = [err212];}else {vErrors.push(err212);}errors++;}}else {const err213 = {instancePath:instancePath+"/nodes/" + i0+"/x_criterion/sha256",schemaPath:"#/properties/nodes/items/properties/x_criterion/properties/sha256/type",keyword:"type",params:{type: "string"},message:"must be string",schema:schema31.properties.nodes.items.properties.x_criterion.properties.sha256.type,parentSchema:schema31.properties.nodes.items.properties.x_criterion.properties.sha256,data:data66};if(vErrors === null){vErrors = [err213];}else {vErrors.push(err213);}errors++;}}if(data62.ref !== undefined){let data67 = data62.ref;if(typeof data67 === "string"){if(func1(data67) < 1){const err214 = {instancePath:instancePath+"/nodes/" + i0+"/x_criterion/ref",schemaPath:"#/properties/nodes/items/properties/x_criterion/properties/ref/minLength",keyword:"minLength",params:{limit: 1},message:"must NOT have fewer than 1 characters",schema:1,parentSchema:schema31.properties.nodes.items.properties.x_criterion.properties.ref,data:data67};if(vErrors === null){vErrors = [err214];}else {vErrors.push(err214);}errors++;}}else {const err215 = {instancePath:instancePath+"/nodes/" + i0+"/x_criterion/ref",schemaPath:"#/properties/nodes/items/properties/x_criterion/properties/ref/type",keyword:"type",params:{type: "string"},message:"must be string",schema:schema31.properties.nodes.items.properties.x_criterion.properties.ref.type,parentSchema:schema31.properties.nodes.items.properties.x_criterion.properties.ref,data:data67};if(vErrors === null){vErrors = [err215];}else {vErrors.push(err215);}errors++;}}if(data62.text !== undefined){let data68 = data62.text;if(typeof data68 === "string"){if(func1(data68) < 1){const err216 = {instancePath:instancePath+"/nodes/" + i0+"/x_criterion/text",schemaPath:"#/properties/nodes/items/properties/x_criterion/properties/text/minLength",keyword:"minLength",params:{limit: 1},message:"must NOT have fewer than 1 characters",schema:1,parentSchema:schema31.properties.nodes.items.properties.x_criterion.properties.text,data:data68};if(vErrors === null){vErrors = [err216];}else {vErrors.push(err216);}errors++;}}else {const err217 = {instancePath:instancePath+"/nodes/" + i0+"/x_criterion/text",schemaPath:"#/properties/nodes/items/properties/x_criterion/properties/text/type",keyword:"type",params:{type: "string"},message:"must be string",schema:schema31.properties.nodes.items.properties.x_criterion.properties.text.type,parentSchema:schema31.properties.nodes.items.properties.x_criterion.properties.text,data:data68};if(vErrors === null){vErrors = [err217];}else {vErrors.push(err217);}errors++;}}if(data62.amends !== undefined){let data69 = data62.amends;if(typeof data69 === "string"){if(func1(data69) < 1){const err218 = {instancePath:instancePath+"/nodes/" + i0+"/x_criterion/amends",schemaPath:"#/properties/nodes/items/properties/x_criterion/properties/amends/minLength",keyword:"minLength",params:{limit: 1},message:"must NOT have fewer than 1 characters",schema:1,parentSchema:schema31.properties.nodes.items.properties.x_criterion.properties.amends,data:data69};if(vErrors === null){vErrors = [err218];}else {vErrors.push(err218);}errors++;}}else {const err219 = {instancePath:instancePath+"/nodes/" + i0+"/x_criterion/amends",schemaPath:"#/properties/nodes/items/properties/x_criterion/properties/amends/type",keyword:"type",params:{type: "string"},message:"must be string",schema:schema31.properties.nodes.items.properties.x_criterion.properties.amends.type,parentSchema:schema31.properties.nodes.items.properties.x_criterion.properties.amends,data:data69};if(vErrors === null){vErrors = [err219];}else {vErrors.push(err219);}errors++;}}if(data62.reason !== undefined){let data70 = data62.reason;if(typeof data70 === "string"){if(func1(data70) < 1){const err220 = {instancePath:instancePath+"/nodes/" + i0+"/x_criterion/reason",schemaPath:"#/properties/nodes/items/properties/x_criterion/properties/reason/minLength",keyword:"minLength",params:{limit: 1},message:"must NOT have fewer than 1 characters",schema:1,parentSchema:schema31.properties.nodes.items.properties.x_criterion.properties.reason,data:data70};if(vErrors === null){vErrors = [err220];}else {vErrors.push(err220);}errors++;}}else {const err221 = {instancePath:instancePath+"/nodes/" + i0+"/x_criterion/reason",schemaPath:"#/properties/nodes/items/properties/x_criterion/properties/reason/type",keyword:"type",params:{type: "string"},message:"must be string",schema:schema31.properties.nodes.items.properties.x_criterion.properties.reason.type,parentSchema:schema31.properties.nodes.items.properties.x_criterion.properties.reason,data:data70};if(vErrors === null){vErrors = [err221];}else {vErrors.push(err221);}errors++;}}if(data62.round !== undefined){let data71 = data62.round;if(typeof data71 === "string"){if(func1(data71) < 1){const err222 = {instancePath:instancePath+"/nodes/" + i0+"/x_criterion/round",schemaPath:"#/properties/nodes/items/properties/x_criterion/properties/round/minLength",keyword:"minLength",params:{limit: 1},message:"must NOT have fewer than 1 characters",schema:1,parentSchema:schema31.properties.nodes.items.properties.x_criterion.properties.round,data:data71};if(vErrors === null){vErrors = [err222];}else {vErrors.push(err222);}errors++;}}else {const err223 = {instancePath:instancePath+"/nodes/" + i0+"/x_criterion/round",schemaPath:"#/properties/nodes/items/properties/x_criterion/properties/round/type",keyword:"type",params:{type: "string"},message:"must be string",schema:schema31.properties.nodes.items.properties.x_criterion.properties.round.type,parentSchema:schema31.properties.nodes.items.properties.x_criterion.properties.round,data:data71};if(vErrors === null){vErrors = [err223];}else {vErrors.push(err223);}errors++;}}}else {const err224 = {instancePath:instancePath+"/nodes/" + i0+"/x_criterion",schemaPath:"#/properties/nodes/items/properties/x_criterion/type",keyword:"type",params:{type: "object"},message:"must be object",schema:schema31.properties.nodes.items.properties.x_criterion.type,parentSchema:schema31.properties.nodes.items.properties.x_criterion,data:data62};if(vErrors === null){vErrors = [err224];}else {vErrors.push(err224);}errors++;}}if(data3.x_measured_under !== undefined){let data72 = data3.x_measured_under;if(data72 && typeof data72 == "object" && !Array.isArray(data72)){if(data72.measured_at === undefined){const err225 = {instancePath:instancePath+"/nodes/" + i0+"/x_measured_under",schemaPath:"#/properties/nodes/items/properties/x_measured_under/required",keyword:"required",params:{missingProperty: "measured_at"},message:"must have required property '"+"measured_at"+"'",schema:schema31.properties.nodes.items.properties.x_measured_under.required,parentSchema:schema31.properties.nodes.items.properties.x_measured_under,data:data72};if(vErrors === null){vErrors = [err225];}else {vErrors.push(err225);}errors++;}if(data72.criteria === undefined){const err226 = {instancePath:instancePath+"/nodes/" + i0+"/x_measured_under",schemaPath:"#/properties/nodes/items/properties/x_measured_under/required",keyword:"required",params:{missingProperty: "criteria"},message:"must have required property '"+"criteria"+"'",schema:schema31.properties.nodes.items.properties.x_measured_under.required,parentSchema:schema31.properties.nodes.items.properties.x_measured_under,data:data72};if(vErrors === null){vErrors = [err226];}else {vErrors.push(err226);}errors++;}for(const key11 in data72){const _errs252 = errors;if(typeof key11 === "string"){if(!pattern4.test(key11)){const err227 = {instancePath:instancePath+"/nodes/" + i0+"/x_measured_under",schemaPath:"#/properties/nodes/items/properties/x_measured_under/propertyNames/allOf/0/pattern",keyword:"pattern",params:{pattern: "^[A-Za-z_][A-Za-z0-9_-]*$"},message:"must match pattern \""+"^[A-Za-z_][A-Za-z0-9_-]*$"+"\"",schema:"^[A-Za-z_][A-Za-z0-9_-]*$",parentSchema:schema31.properties.nodes.items.properties.x_measured_under.propertyNames.allOf[0],data:key11,propertyName:key11};if(vErrors === null){vErrors = [err227];}else {vErrors.push(err227);}errors++;}}const _errs255 = errors;let valid76 = false;const _errs256 = errors;if(!(((((key11 === "criteria") || (key11 === "measured_at")) || (key11 === "round")) || (key11 === "subject")) || (key11 === "verdict"))){const err228 = {instancePath:instancePath+"/nodes/" + i0+"/x_measured_under",schemaPath:"#/properties/nodes/items/properties/x_measured_under/propertyNames/allOf/1/anyOf/0/enum",keyword:"enum",params:{allowedValues: schema31.properties.nodes.items.properties.x_measured_under.propertyNames.allOf[1].anyOf[0].enum},message:"must be equal to one of the allowed values",schema:schema31.properties.nodes.items.properties.x_measured_under.propertyNames.allOf[1].anyOf[0].enum,parentSchema:schema31.properties.nodes.items.properties.x_measured_under.propertyNames.allOf[1].anyOf[0],data:key11,propertyName:key11};if(vErrors === null){vErrors = [err228];}else {vErrors.push(err228);}errors++;}var _valid17 = _errs256 === errors;valid76 = valid76 || _valid17;const _errs257 = errors;if(typeof key11 === "string"){if(!pattern9.test(key11)){const err229 = {instancePath:instancePath+"/nodes/" + i0+"/x_measured_under",schemaPath:"#/properties/nodes/items/properties/x_measured_under/propertyNames/allOf/1/anyOf/1/pattern",keyword:"pattern",params:{pattern: "^x_"},message:"must match pattern \""+"^x_"+"\"",schema:"^x_",parentSchema:schema31.properties.nodes.items.properties.x_measured_under.propertyNames.allOf[1].anyOf[1],data:key11,propertyName:key11};if(vErrors === null){vErrors = [err229];}else {vErrors.push(err229);}errors++;}}var _valid17 = _errs257 === errors;valid76 = valid76 || _valid17;if(!valid76){const err230 = {instancePath:instancePath+"/nodes/" + i0+"/x_measured_under",schemaPath:"#/properties/nodes/items/properties/x_measured_under/propertyNames/allOf/1/anyOf",keyword:"anyOf",params:{},message:"must match a schema in anyOf",schema:schema31.properties.nodes.items.properties.x_measured_under.propertyNames.allOf[1].anyOf,parentSchema:schema31.properties.nodes.items.properties.x_measured_under.propertyNames.allOf[1],data:key11,propertyName:key11};if(vErrors === null){vErrors = [err230];}else {vErrors.push(err230);}errors++;}else {errors = _errs255;if(vErrors !== null){if(_errs255){vErrors.length = _errs255;}else {vErrors = null;}}}var valid74 = _errs252 === errors;if(!valid74){const err231 = {instancePath:instancePath+"/nodes/" + i0+"/x_measured_under",schemaPath:"#/properties/nodes/items/properties/x_measured_under/propertyNames",keyword:"propertyNames",params:{propertyName: key11},message:"property name must be valid",schema:schema31.properties.nodes.items.properties.x_measured_under.propertyNames,parentSchema:schema31.properties.nodes.items.properties.x_measured_under,data:data72};if(vErrors === null){vErrors = [err231];}else {vErrors.push(err231);}errors++;}}if(data72.measured_at !== undefined){let data73 = data72.measured_at;if(typeof data73 === "string"){if(!pattern38.test(data73)){const err232 = {instancePath:instancePath+"/nodes/" + i0+"/x_measured_under/measured_at",schemaPath:"#/properties/nodes/items/properties/x_measured_under/properties/measured_at/pattern",keyword:"pattern",params:{pattern: "^[0-9]{4}-(?:0[1-9]|1[0-2])-(?:0[1-9]|[12][0-9]|3[01])(?:[Tt](?:[01][0-9]|2[0-3]):[0-5][0-9]:(?:[0-5][0-9]|60)(?:\\.[0-9]+)?(?:[Zz]|[+-](?:[01][0-9]|2[0-3]):[0-5][0-9]))?$"},message:"must match pattern \""+"^[0-9]{4}-(?:0[1-9]|1[0-2])-(?:0[1-9]|[12][0-9]|3[01])(?:[Tt](?:[01][0-9]|2[0-3]):[0-5][0-9]:(?:[0-5][0-9]|60)(?:\\.[0-9]+)?(?:[Zz]|[+-](?:[01][0-9]|2[0-3]):[0-5][0-9]))?$"+"\"",schema:"^[0-9]{4}-(?:0[1-9]|1[0-2])-(?:0[1-9]|[12][0-9]|3[01])(?:[Tt](?:[01][0-9]|2[0-3]):[0-5][0-9]:(?:[0-5][0-9]|60)(?:\\.[0-9]+)?(?:[Zz]|[+-](?:[01][0-9]|2[0-3]):[0-5][0-9]))?$",parentSchema:schema31.properties.nodes.items.properties.x_measured_under.properties.measured_at,data:data73};if(vErrors === null){vErrors = [err232];}else {vErrors.push(err232);}errors++;}}else {const err233 = {instancePath:instancePath+"/nodes/" + i0+"/x_measured_under/measured_at",schemaPath:"#/properties/nodes/items/properties/x_measured_under/properties/measured_at/type",keyword:"type",params:{type: "string"},message:"must be string",schema:schema31.properties.nodes.items.properties.x_measured_under.properties.measured_at.type,parentSchema:schema31.properties.nodes.items.properties.x_measured_under.properties.measured_at,data:data73};if(vErrors === null){vErrors = [err233];}else {vErrors.push(err233);}errors++;}}if(data72.criteria !== undefined){let data74 = data72.criteria;if(Array.isArray(data74)){if(data74.length < 1){const err234 = {instancePath:instancePath+"/nodes/" + i0+"/x_measured_under/criteria",schemaPath:"#/properties/nodes/items/properties/x_measured_under/properties/criteria/minItems",keyword:"minItems",params:{limit: 1},message:"must NOT have fewer than 1 items",schema:1,parentSchema:schema31.properties.nodes.items.properties.x_measured_under.properties.criteria,data:data74};if(vErrors === null){vErrors = [err234];}else {vErrors.push(err234);}errors++;}const len3 = data74.length;for(let i3=0; i3<len3; i3++){let data75 = data74[i3];if(data75 && typeof data75 == "object" && !Array.isArray(data75)){if(data75.criterion === undefined){const err235 = {instancePath:instancePath+"/nodes/" + i0+"/x_measured_under/criteria/" + i3,schemaPath:"#/properties/nodes/items/properties/x_measured_under/properties/criteria/items/required",keyword:"required",params:{missingProperty: "criterion"},message:"must have required property '"+"criterion"+"'",schema:schema31.properties.nodes.items.properties.x_measured_under.properties.criteria.items.required,parentSchema:schema31.properties.nodes.items.properties.x_measured_under.properties.criteria.items,data:data75};if(vErrors === null){vErrors = [err235];}else {vErrors.push(err235);}errors++;}if(data75.sha256 === undefined){const err236 = {instancePath:instancePath+"/nodes/" + i0+"/x_measured_under/criteria/" + i3,schemaPath:"#/properties/nodes/items/properties/x_measured_under/properties/criteria/items/required",keyword:"required",params:{missingProperty: "sha256"},message:"must have required property '"+"sha256"+"'",schema:schema31.properties.nodes.items.properties.x_measured_under.properties.criteria.items.required,parentSchema:schema31.properties.nodes.items.properties.x_measured_under.properties.criteria.items,data:data75};if(vErrors === null){vErrors = [err236];}else {vErrors.push(err236);}errors++;}for(const key12 in data75){const _errs264 = errors;if(typeof key12 === "string"){if(!pattern4.test(key12)){const err237 = {instancePath:instancePath+"/nodes/" + i0+"/x_measured_under/criteria/" + i3,schemaPath:"#/properties/nodes/items/properties/x_measured_under/properties/criteria/items/propertyNames/allOf/0/pattern",keyword:"pattern",params:{pattern: "^[A-Za-z_][A-Za-z0-9_-]*$"},message:"must match pattern \""+"^[A-Za-z_][A-Za-z0-9_-]*$"+"\"",schema:"^[A-Za-z_][A-Za-z0-9_-]*$",parentSchema:schema31.properties.nodes.items.properties.x_measured_under.properties.criteria.items.propertyNames.allOf[0],data:key12,propertyName:key12};if(vErrors === null){vErrors = [err237];}else {vErrors.push(err237);}errors++;}}const _errs267 = errors;let valid82 = false;const _errs268 = errors;if(!((key12 === "criterion") || (key12 === "sha256"))){const err238 = {instancePath:instancePath+"/nodes/" + i0+"/x_measured_under/criteria/" + i3,schemaPath:"#/properties/nodes/items/properties/x_measured_under/properties/criteria/items/propertyNames/allOf/1/anyOf/0/enum",keyword:"enum",params:{allowedValues: schema31.properties.nodes.items.properties.x_measured_under.properties.criteria.items.propertyNames.allOf[1].anyOf[0].enum},message:"must be equal to one of the allowed values",schema:schema31.properties.nodes.items.properties.x_measured_under.properties.criteria.items.propertyNames.allOf[1].anyOf[0].enum,parentSchema:schema31.properties.nodes.items.properties.x_measured_under.properties.criteria.items.propertyNames.allOf[1].anyOf[0],data:key12,propertyName:key12};if(vErrors === null){vErrors = [err238];}else {vErrors.push(err238);}errors++;}var _valid18 = _errs268 === errors;valid82 = valid82 || _valid18;const _errs269 = errors;if(typeof key12 === "string"){if(!pattern9.test(key12)){const err239 = {instancePath:instancePath+"/nodes/" + i0+"/x_measured_under/criteria/" + i3,schemaPath:"#/properties/nodes/items/properties/x_measured_under/properties/criteria/items/propertyNames/allOf/1/anyOf/1/pattern",keyword:"pattern",params:{pattern: "^x_"},message:"must match pattern \""+"^x_"+"\"",schema:"^x_",parentSchema:schema31.properties.nodes.items.properties.x_measured_under.properties.criteria.items.propertyNames.allOf[1].anyOf[1],data:key12,propertyName:key12};if(vErrors === null){vErrors = [err239];}else {vErrors.push(err239);}errors++;}}var _valid18 = _errs269 === errors;valid82 = valid82 || _valid18;if(!valid82){const err240 = {instancePath:instancePath+"/nodes/" + i0+"/x_measured_under/criteria/" + i3,schemaPath:"#/properties/nodes/items/properties/x_measured_under/properties/criteria/items/propertyNames/allOf/1/anyOf",keyword:"anyOf",params:{},message:"must match a schema in anyOf",schema:schema31.properties.nodes.items.properties.x_measured_under.properties.criteria.items.propertyNames.allOf[1].anyOf,parentSchema:schema31.properties.nodes.items.properties.x_measured_under.properties.criteria.items.propertyNames.allOf[1],data:key12,propertyName:key12};if(vErrors === null){vErrors = [err240];}else {vErrors.push(err240);}errors++;}else {errors = _errs267;if(vErrors !== null){if(_errs267){vErrors.length = _errs267;}else {vErrors = null;}}}var valid80 = _errs264 === errors;if(!valid80){const err241 = {instancePath:instancePath+"/nodes/" + i0+"/x_measured_under/criteria/" + i3,schemaPath:"#/properties/nodes/items/properties/x_measured_under/properties/criteria/items/propertyNames",keyword:"propertyNames",params:{propertyName: key12},message:"property name must be valid",schema:schema31.properties.nodes.items.properties.x_measured_under.properties.criteria.items.propertyNames,parentSchema:schema31.properties.nodes.items.properties.x_measured_under.properties.criteria.items,data:data75};if(vErrors === null){vErrors = [err241];}else {vErrors.push(err241);}errors++;}}if(data75.criterion !== undefined){let data76 = data75.criterion;if(typeof data76 === "string"){if(func1(data76) < 1){const err242 = {instancePath:instancePath+"/nodes/" + i0+"/x_measured_under/criteria/" + i3+"/criterion",schemaPath:"#/properties/nodes/items/properties/x_measured_under/properties/criteria/items/properties/criterion/minLength",keyword:"minLength",params:{limit: 1},message:"must NOT have fewer than 1 characters",schema:1,parentSchema:schema31.properties.nodes.items.properties.x_measured_under.properties.criteria.items.properties.criterion,data:data76};if(vErrors === null){vErrors = [err242];}else {vErrors.push(err242);}errors++;}}else {const err243 = {instancePath:instancePath+"/nodes/" + i0+"/x_measured_under/criteria/" + i3+"/criterion",schemaPath:"#/properties/nodes/items/properties/x_measured_under/properties/criteria/items/properties/criterion/type",keyword:"type",params:{type: "string"},message:"must be string",schema:schema31.properties.nodes.items.properties.x_measured_under.properties.criteria.items.properties.criterion.type,parentSchema:schema31.properties.nodes.items.properties.x_measured_under.properties.criteria.items.properties.criterion,data:data76};if(vErrors === null){vErrors = [err243];}else {vErrors.push(err243);}errors++;}}if(data75.sha256 !== undefined){let data77 = data75.sha256;if(typeof data77 === "string"){if(!pattern39.test(data77)){const err244 = {instancePath:instancePath+"/nodes/" + i0+"/x_measured_under/criteria/" + i3+"/sha256",schemaPath:"#/properties/nodes/items/properties/x_measured_under/properties/criteria/items/properties/sha256/pattern",keyword:"pattern",params:{pattern: "^[0-9a-f]{64}$"},message:"must match pattern \""+"^[0-9a-f]{64}$"+"\"",schema:"^[0-9a-f]{64}$",parentSchema:schema31.properties.nodes.items.properties.x_measured_under.properties.criteria.items.properties.sha256,data:data77};if(vErrors === null){vErrors = [err244];}else {vErrors.push(err244);}errors++;}}else {const err245 = {instancePath:instancePath+"/nodes/" + i0+"/x_measured_under/criteria/" + i3+"/sha256",schemaPath:"#/properties/nodes/items/properties/x_measured_under/properties/criteria/items/properties/sha256/type",keyword:"type",params:{type: "string"},message:"must be string",schema:schema31.properties.nodes.items.properties.x_measured_under.properties.criteria.items.properties.sha256.type,parentSchema:schema31.properties.nodes.items.properties.x_measured_under.properties.criteria.items.properties.sha256,data:data77};if(vErrors === null){vErrors = [err245];}else {vErrors.push(err245);}errors++;}}}else {const err246 = {instancePath:instancePath+"/nodes/" + i0+"/x_measured_under/criteria/" + i3,schemaPath:"#/properties/nodes/items/properties/x_measured_under/properties/criteria/items/type",keyword:"type",params:{type: "object"},message:"must be object",schema:schema31.properties.nodes.items.properties.x_measured_under.properties.criteria.items.type,parentSchema:schema31.properties.nodes.items.properties.x_measured_under.properties.criteria.items,data:data75};if(vErrors === null){vErrors = [err246];}else {vErrors.push(err246);}errors++;}}}else {const err247 = {instancePath:instancePath+"/nodes/" + i0+"/x_measured_under/criteria",schemaPath:"#/properties/nodes/items/properties/x_measured_under/properties/criteria/type",keyword:"type",params:{type: "array"},message:"must be array",schema:schema31.properties.nodes.items.properties.x_measured_under.properties.criteria.type,parentSchema:schema31.properties.nodes.items.properties.x_measured_under.properties.criteria,data:data74};if(vErrors === null){vErrors = [err247];}else {vErrors.push(err247);}errors++;}}if(data72.subject !== undefined){let data78 = data72.subject;if(!(data78 && typeof data78 == "object" && !Array.isArray(data78))){const err248 = {instancePath:instancePath+"/nodes/" + i0+"/x_measured_under/subject",schemaPath:"#/properties/nodes/items/properties/x_measured_under/properties/subject/type",keyword:"type",params:{type: "object"},message:"must be object",schema:schema31.properties.nodes.items.properties.x_measured_under.properties.subject.type,parentSchema:schema31.properties.nodes.items.properties.x_measured_under.properties.subject,data:data78};if(vErrors === null){vErrors = [err248];}else {vErrors.push(err248);}errors++;}}if(data72.verdict !== undefined){let data79 = data72.verdict;if(typeof data79 === "string"){if(func1(data79) < 1){const err249 = {instancePath:instancePath+"/nodes/" + i0+"/x_measured_under/verdict",schemaPath:"#/properties/nodes/items/properties/x_measured_under/properties/verdict/minLength",keyword:"minLength",params:{limit: 1},message:"must NOT have fewer than 1 characters",schema:1,parentSchema:schema31.properties.nodes.items.properties.x_measured_under.properties.verdict,data:data79};if(vErrors === null){vErrors = [err249];}else {vErrors.push(err249);}errors++;}}else {const err250 = {instancePath:instancePath+"/nodes/" + i0+"/x_measured_under/verdict",schemaPath:"#/properties/nodes/items/properties/x_measured_under/properties/verdict/type",keyword:"type",params:{type: "string"},message:"must be string",schema:schema31.properties.nodes.items.properties.x_measured_under.properties.verdict.type,parentSchema:schema31.properties.nodes.items.properties.x_measured_under.properties.verdict,data:data79};if(vErrors === null){vErrors = [err250];}else {vErrors.push(err250);}errors++;}}if(data72.round !== undefined){let data80 = data72.round;if(typeof data80 === "string"){if(func1(data80) < 1){const err251 = {instancePath:instancePath+"/nodes/" + i0+"/x_measured_under/round",schemaPath:"#/properties/nodes/items/properties/x_measured_under/properties/round/minLength",keyword:"minLength",params:{limit: 1},message:"must NOT have fewer than 1 characters",schema:1,parentSchema:schema31.properties.nodes.items.properties.x_measured_under.properties.round,data:data80};if(vErrors === null){vErrors = [err251];}else {vErrors.push(err251);}errors++;}}else {const err252 = {instancePath:instancePath+"/nodes/" + i0+"/x_measured_under/round",schemaPath:"#/properties/nodes/items/properties/x_measured_under/properties/round/type",keyword:"type",params:{type: "string"},message:"must be string",schema:schema31.properties.nodes.items.properties.x_measured_under.properties.round.type,parentSchema:schema31.properties.nodes.items.properties.x_measured_under.properties.round,data:data80};if(vErrors === null){vErrors = [err252];}else {vErrors.push(err252);}errors++;}}}else {const err253 = {instancePath:instancePath+"/nodes/" + i0+"/x_measured_under",schemaPath:"#/properties/nodes/items/properties/x_measured_under/type",keyword:"type",params:{type: "object"},message:"must be object",schema:schema31.properties.nodes.items.properties.x_measured_under.type,parentSchema:schema31.properties.nodes.items.properties.x_measured_under,data:data72};if(vErrors === null){vErrors = [err253];}else {vErrors.push(err253);}errors++;}}}else {const err254 = {instancePath:instancePath+"/nodes/" + i0,schemaPath:"#/properties/nodes/items/type",keyword:"type",params:{type: "object"},message:"must be object",schema:schema31.properties.nodes.items.type,parentSchema:schema31.properties.nodes.items,data:data3};if(vErrors === null){vErrors = [err254];}else {vErrors.push(err254);}errors++;}}}else {const err255 = {instancePath:instancePath+"/nodes",schemaPath:"#/properties/nodes/type",keyword:"type",params:{type: "array"},message:"must be array",schema:schema31.properties.nodes.type,parentSchema:schema31.properties.nodes,data:data2};if(vErrors === null){vErrors = [err255];}else {vErrors.push(err255);}errors++;}}if(data.edges !== undefined){let data81 = data.edges;if(Array.isArray(data81)){const len4 = data81.length;for(let i4=0; i4<len4; i4++){let data82 = data81[i4];if(data82 && typeof data82 == "object" && !Array.isArray(data82)){for(const key13 in data82){const _errs284 = errors;if(typeof key13 === "string"){if(!pattern4.test(key13)){const err256 = {instancePath:instancePath+"/edges/" + i4,schemaPath:"#/properties/edges/items/propertyNames/pattern",keyword:"pattern",params:{pattern: "^[A-Za-z_][A-Za-z0-9_-]*$"},message:"must match pattern \""+"^[A-Za-z_][A-Za-z0-9_-]*$"+"\"",schema:"^[A-Za-z_][A-Za-z0-9_-]*$",parentSchema:schema31.properties.edges.items.propertyNames,data:key13,propertyName:key13};if(vErrors === null){vErrors = [err256];}else {vErrors.push(err256);}errors++;}}var valid86 = _errs284 === errors;if(!valid86){const err257 = {instancePath:instancePath+"/edges/" + i4,schemaPath:"#/properties/edges/items/propertyNames",keyword:"propertyNames",params:{propertyName: key13},message:"property name must be valid",schema:schema31.properties.edges.items.propertyNames,parentSchema:schema31.properties.edges.items,data:data82};if(vErrors === null){vErrors = [err257];}else {vErrors.push(err257);}errors++;}}if(data82.x_confidence !== undefined){let data83 = data82.x_confidence;if(typeof data83 == "number"){if(data83 > 1 || isNaN(data83)){const err258 = {instancePath:instancePath+"/edges/" + i4+"/x_confidence",schemaPath:"#/properties/edges/items/properties/x_confidence/maximum",keyword:"maximum",params:{comparison: "<=", limit: 1},message:"must be <= 1",schema:1,parentSchema:schema31.properties.edges.items.properties.x_confidence,data:data83};if(vErrors === null){vErrors = [err258];}else {vErrors.push(err258);}errors++;}if(data83 < 0 || isNaN(data83)){const err259 = {instancePath:instancePath+"/edges/" + i4+"/x_confidence",schemaPath:"#/properties/edges/items/properties/x_confidence/minimum",keyword:"minimum",params:{comparison: ">=", limit: 0},message:"must be >= 0",schema:0,parentSchema:schema31.properties.edges.items.properties.x_confidence,data:data83};if(vErrors === null){vErrors = [err259];}else {vErrors.push(err259);}errors++;}}else {const err260 = {instancePath:instancePath+"/edges/" + i4+"/x_confidence",schemaPath:"#/properties/edges/items/properties/x_confidence/type",keyword:"type",params:{type: "number"},message:"must be number",schema:schema31.properties.edges.items.properties.x_confidence.type,parentSchema:schema31.properties.edges.items.properties.x_confidence,data:data83};if(vErrors === null){vErrors = [err260];}else {vErrors.push(err260);}errors++;}}if(data82.x_provisional !== undefined){let data84 = data82.x_provisional;if(typeof data84 !== "boolean"){const err261 = {instancePath:instancePath+"/edges/" + i4+"/x_provisional",schemaPath:"#/properties/edges/items/properties/x_provisional/type",keyword:"type",params:{type: "boolean"},message:"must be boolean",schema:schema31.properties.edges.items.properties.x_provisional.type,parentSchema:schema31.properties.edges.items.properties.x_provisional,data:data84};if(vErrors === null){vErrors = [err261];}else {vErrors.push(err261);}errors++;}}}else {const err262 = {instancePath:instancePath+"/edges/" + i4,schemaPath:"#/properties/edges/items/type",keyword:"type",params:{type: "object"},message:"must be object",schema:schema31.properties.edges.items.type,parentSchema:schema31.properties.edges.items,data:data82};if(vErrors === null){vErrors = [err262];}else {vErrors.push(err262);}errors++;}}}else {const err263 = {instancePath:instancePath+"/edges",schemaPath:"#/properties/edges/type",keyword:"type",params:{type: "array"},message:"must be array",schema:schema31.properties.edges.type,parentSchema:schema31.properties.edges,data:data81};if(vErrors === null){vErrors = [err263];}else {vErrors.push(err263);}errors++;}}}else {const err264 = {instancePath,schemaPath:"#/type",keyword:"type",params:{type: "object"},message:"must be object",schema:schema31.type,parentSchema:schema31,data};if(vErrors === null){vErrors = [err264];}else {vErrors.push(err264);}errors++;}validate20.errors = vErrors;return errors === 0;}validate20.evaluated = {"props":{"meta":true,"nodes":true,"edges":true},"dynamicProps":false,"dynamicItems":false};
1
+ "use strict";export const validate = validate20;export default validate20;const schema31 = {"$schema":"https://json-schema.org/draft/2020-12/schema","$id":"urn:kg-ssot:spec:kg-contract-v4.should.schema.json","title":"kg.yaml — contrato v4, nível SHOULD","description":"O contrato v4 do .kg.yaml, nível SHOULD (alerta, não reprova), o vigente. É o SHOULD v3 menos o que o v4 promoveu a MUST: a chave desconhecida sem x_ no topo, no meta, no nó e na aresta e o nó confirmed ou PROD sem provenance. Segue alertando: nome de chave que não é slug ([A-Za-z_][A-Za-z0-9_-]*), como form.pattern.<escopo>.key, que sem x_ também reprova no MUST; nó PROD sem verified_at; label do nó acima de 280 caracteres, form.range.node.label, porque a narrativa vai para narrative; a chave desconhecida dentro de provenance, fechada em source, locator, method e x_; e o grafo sem nós (nodes: []), como form.range.top.nodes: é válido, como o primeiro uso de um app, mas o aviso pega o parse que falhou em silêncio. No v4, provenance.method alerta (form.pattern.node.provenance.method) quando não segue a forma canônica '<classe>: <detalhe>', com a classe em medição, leitura, juízes, derivado, testemunho; reprova no v5. Medição feita por terceiro e lida pelo autor do grafo é testemunho. No v4.1 entram quatro avisos que o próprio arquivo decide. O schema acusa a claim com verified_at e sem verified_against (form.required.node.verified_against): carimbo sem alvo não distingue verificado de declarado. Só a claim: evidence é a própria âncora, artifact nomeia o alvo, question não afirma e a origem da decision é cobrada por integrity.untraced-decision. O leitor acusa três avisos que cruzam campos ou arestas, por isso não cabem no schema: integrity.testimony-in-prod (nó PROD cuja base é testemunho), integrity.verified-before-fact (verified_at anterior a valid_from) e integrity.untraced-decision (decision viva sem trace, sem provenance e sem aresta TRACES_TO saindo dela). No v4.2 entra provenance.locality, opcional, com o enum repo (arquivo versionado no próprio repo), web (endereço público), host (só existe numa máquina: journal local, caminho fora do repo) ou pessoa (relato de alguém): o valor fora do enum alerta como form.enum.node.provenance.locality. Serve para medir o que é reverificável por terceiros e para barrar host na publicação. No v4.4 entra o quarto aviso do leitor, integrity.refutes-unreconciled: nó que recebe REFUTES e segue vivo (nem superseded nem refuted; a question done já está respondida, e não alerta). O grafo afirma e refuta a mesma coisa; o radar do framework onde o formato nasceu reprova o caso como contradição. Aqui é SHOULD agora e vira MUST numa versão futura, depois que os adotantes medirem a própria dívida. No v4.5, provenance.locality ganha privado: documento fora do repo, não público e reverificável por quem tem acesso (Google Drive, wiki interna); o valor segue onde está a cópia lida, não a classificação do documento. Entra verified_scope, opcional, com o enum fato (o que o nó afirma foi conferido), mecanismo (só o mecanismo, como código ou configuração; o fato depende de outro ambiente) ou nenhum (conferido contra o repo na data, e nada ali sustenta nem refuta o fato): o valor fora do enum alerta como form.enum.node.verified_scope, e verified_scope sem verified_at alerta como form.required.node.verified_at. O leitor passa a contar para integrity.refutes-unreconciled a REFUTES que chega a um nó vivo pelas external_edges, quando tem o corpus. No v4.8, reverify_every e retain_for alertam fora da duração ISO 8601 só com data, ou zerada como P0D (form.pattern.node.reverify_every, form.pattern.node.retain_for), reverify_on vazio ou fora de texto alerta, e reverify_every sem verified_at alerta como form.required.node.verified_at: a cadência conta a partir do carimbo. No v4.9, reverify_every sem verified_at deixa de alertar: é o estado inicial de uma regra de coleta, cadência definida e nenhuma verificação ainda, e quem o lista é o relatório de vencimento (kg_validate.py --due, na lista unstamped), fora do veredito. O nó PROD sem verified_at segue alertando. No v4.11 entram os perfis canônicos das chaves x_ que se repetem nos adotantes, julgados só quando a chave está presente e nunca no MUST. No nó: x_term, o termo de um vocabulário de domínio, com pref (o termo preferido, o prefLabel do SKOS) e labels, a lista de sinônimos como objetos com literal, kind (alt ou hidden, o altLabel e o hiddenLabel do SKOS), source, locator, version (a versão do documento de onde veio), verified_at, reverify_every, scope (level domain ou case, com case quando o nível é case, e jurisdiction) e retired (booleano: o sinônimo aposentado); o termo aposentado é o nó com status superseded e a aresta SUPERSEDES do termo novo. x_mirror, a cópia de um registro de outro sistema (system, ref, state e synced_at, com resync_every e url opcionais). x_doc_cycle, o ciclo de vida de um documento externo (issuer e state em draft, enacted (publicado, com vigência futura em effective_from), in_force, suspended, revoked, expired ou superseded; ref, version, effective_from, effective_to, updated_at, checked_at e recheck_every opcionais). x_questionnaire, o elo com um questionário externo (name e questions não vazia; answer_draft, verdict em meets, partial, does_not_meet, not_applicable ou unknown, e answered_at; desde o v4.13, role em item (o padrão: a pergunta do questionário ou a resposta a ela) evidence_request (o pedido de evidência a uma pessoa, que cita os itens a que serve) ou evidence_requirement (a evidência que os itens exigem)). x_severity, em critical, high, medium, low ou info. Na aresta: x_confidence, de 0 a 1, e x_provisional, booleano. Dentro de um perfil, a chave desconhecida sem x_ alerta como form.unknown-key, e um item de lista dentro do nó leva o caminho no código (form.type.node.x_term.labels.item). No meta, o slug fora da forma em minúsculas com hífen alerta como form.pattern.meta.slug. Os valores de enum são códigos, em inglês, em qualquer língua da saída. Nenhum perfil usa a chave status aninhada: o radar do framework onde o formato nasceu lê status em qualquer nível como o status do nó, e o sinônimo aposentado é retired: true. No v4.12 entram os dois perfis do critério pré-registrado, que fazem da troca da régua depois de ver o dado uma emenda datada em vez de uma reescrita. x_criterion, no nó do critério (um nó por versão): id (o id estável entre as versões), version (texto ou inteiro), registered_at (data, ou data-hora RFC 3339 com fuso), sha256 (64 hex minúsculos) e ref ou text, nunca os dois; com amends (o id do nó da versão anterior), reason é obrigatório, e round (texto) é a rodada que motivou a emenda. x_measured_under, no resultado: measured_at (data ou data-hora), criteria (lista não vazia de {criterion, sha256}, em que criterion é o id de um nó com x_criterion ou <caminho>#<id>), e subject (mapa), verdict e round (texto) opcionais. ref e text juntos alertam form.exclusive.node.x_criterion. O leitor não calcula hash: a coerência entre os nós (integrity.criterion-unknown, integrity.criterion-sha-mismatch, integrity.criterion-amends-mismatch, integrity.measured-post-hoc e integrity.measured-order-unknown) é dele, e o sha256 contra o texto ou o arquivo é do kg_criterion.py. No v4.14, o x_term ganha scheme, o esquema do vocabulário (o skos:inScheme), em forma de slug (minúsculas, dígitos e hífen); sem ele, o esquema é o próprio grafo, cujo nome é o meta.id (o esquema declarado igual ao meta.id é o mesmo). E o aviso integrity.term-notation-duplicate, do leitor: dois nós vivos (status que não é superseded nem refuted) com x_term, no mesmo esquema e com a mesma notation (comparada exata), só entre nós do mesmo grafo, como a convenção do SKOS (§6.5.3). O corpus inteiro e o código na prosa são do kg_vocab.py lint. No v4.16, a classe de provenance.method ganha a forma canônica em inglês (measurement, reading, judges, derived, testimony), e as cinco em português (medição, leitura, juízes, derivado, testemunho) seguem aceitas como alias, sem aviso; testimony e testemunho valem igual para integrity.testimony-in-prod.","type":"object","propertyNames":{"pattern":"^[A-Za-z_][A-Za-z0-9_-]*$"},"properties":{"meta":{"type":"object","propertyNames":{"pattern":"^[A-Za-z_][A-Za-z0-9_-]*$"},"properties":{"slug":{"type":"string","pattern":"^[a-z0-9]+(?:-[a-z0-9]+)*$"}}},"nodes":{"type":"array","items":{"type":"object","propertyNames":{"pattern":"^[A-Za-z_][A-Za-z0-9_-]*$"},"properties":{"label":{"maxLength":280},"provenance":{"propertyNames":{"allOf":[{"pattern":"^[A-Za-z_][A-Za-z0-9_-]*$"},{"anyOf":[{"enum":["locality","locator","method","source"]},{"pattern":"^x_"}]}]},"properties":{"method":{"pattern":"^(?:measurement|reading|judges|derived|testimony|medição|leitura|juízes|derivado|testemunho): [^ \t\n\r]"},"locality":{"enum":["host","pessoa","privado","repo","web"]}}},"verified_scope":{"enum":["fato","mecanismo","nenhum"]},"reverify_every":{"type":"string","allOf":[{"pattern":"^P(?:[0-9]+Y(?:[0-9]+M)?(?:[0-9]+W)?(?:[0-9]+D)?|[0-9]+M(?:[0-9]+W)?(?:[0-9]+D)?|[0-9]+W(?:[0-9]+D)?|[0-9]+D)$"},{"not":{"type":"string","pattern":"^P(?:0+[YMWD])+$"}}]},"reverify_on":{"type":"string","minLength":1},"retain_for":{"type":"string","allOf":[{"pattern":"^P(?:[0-9]+Y(?:[0-9]+M)?(?:[0-9]+W)?(?:[0-9]+D)?|[0-9]+M(?:[0-9]+W)?(?:[0-9]+D)?|[0-9]+W(?:[0-9]+D)?|[0-9]+D)$"},{"not":{"type":"string","pattern":"^P(?:0+[YMWD])+$"}}]},"x_term":{"type":"object","required":["pref"],"propertyNames":{"allOf":[{"pattern":"^[A-Za-z_][A-Za-z0-9_-]*$"},{"anyOf":[{"enum":["definition","labels","lang","notation","pref","scheme"]},{"pattern":"^x_"}]}]},"properties":{"pref":{"type":"string","minLength":1},"lang":{"type":"string","pattern":"^[A-Za-z]{2,3}(?:-[A-Za-z0-9]{1,8})*$"},"definition":{"type":"string","minLength":1},"notation":{"type":"string","minLength":1},"labels":{"type":"array","items":{"$ref":"#/$defs/termLabel"}},"scheme":{"type":"string","pattern":"^[a-z0-9][a-z0-9-]*$"}}},"x_mirror":{"type":"object","required":["system","ref","state","synced_at"],"propertyNames":{"allOf":[{"pattern":"^[A-Za-z_][A-Za-z0-9_-]*$"},{"anyOf":[{"enum":["ref","resync_every","state","synced_at","system","url"]},{"pattern":"^x_"}]}]},"properties":{"system":{"type":"string","minLength":1},"ref":{"type":"string","minLength":1},"synced_at":{"type":"string","format":"date"},"url":{"type":"string","minLength":1},"resync_every":{"type":"string","allOf":[{"pattern":"^P(?:[0-9]+Y(?:[0-9]+M)?(?:[0-9]+W)?(?:[0-9]+D)?|[0-9]+M(?:[0-9]+W)?(?:[0-9]+D)?|[0-9]+W(?:[0-9]+D)?|[0-9]+D)$"},{"not":{"type":"string","pattern":"^P(?:0+[YMWD])+$"}}]},"state":{"type":"string","minLength":1}}},"x_doc_cycle":{"type":"object","required":["issuer","state"],"propertyNames":{"allOf":[{"pattern":"^[A-Za-z_][A-Za-z0-9_-]*$"},{"anyOf":[{"enum":["checked_at","effective_from","effective_to","issuer","recheck_every","ref","state","updated_at","version"]},{"pattern":"^x_"}]}]},"properties":{"issuer":{"type":"string","minLength":1},"ref":{"type":"string","minLength":1},"version":{"type":"string","minLength":1},"state":{"enum":["draft","enacted","expired","in_force","revoked","superseded","suspended"]},"effective_from":{"type":"string","format":"date"},"effective_to":{"type":"string","format":"date"},"updated_at":{"type":"string","format":"date"},"checked_at":{"type":"string","format":"date"},"recheck_every":{"type":"string","allOf":[{"pattern":"^P(?:[0-9]+Y(?:[0-9]+M)?(?:[0-9]+W)?(?:[0-9]+D)?|[0-9]+M(?:[0-9]+W)?(?:[0-9]+D)?|[0-9]+W(?:[0-9]+D)?|[0-9]+D)$"},{"not":{"type":"string","pattern":"^P(?:0+[YMWD])+$"}}]}},"allOf":[{"if":{"required":["recheck_every"]},"then":{"required":["checked_at"]}}]},"x_questionnaire":{"type":"object","required":["name","questions"],"propertyNames":{"allOf":[{"pattern":"^[A-Za-z_][A-Za-z0-9_-]*$"},{"anyOf":[{"enum":["answer_draft","answered_at","name","questions","role","verdict"]},{"pattern":"^x_"}]}]},"properties":{"name":{"type":"string","minLength":1},"questions":{"type":"array","minItems":1,"items":{"type":"string","minLength":1}},"answer_draft":{"type":"string","minLength":1},"verdict":{"enum":["does_not_meet","meets","not_applicable","partial","unknown"]},"answered_at":{"type":"string","format":"date"},"role":{"enum":["evidence_request","evidence_requirement","item"]}}},"x_severity":{"enum":["critical","high","info","low","medium"]},"x_criterion":{"type":"object","required":["id","version","registered_at","sha256"],"propertyNames":{"allOf":[{"pattern":"^[A-Za-z_][A-Za-z0-9_-]*$"},{"anyOf":[{"enum":["amends","id","reason","ref","registered_at","round","sha256","text","version"]},{"pattern":"^x_"}]}]},"properties":{"id":{"type":"string","minLength":1},"version":{"type":["string","integer"],"minLength":1},"registered_at":{"type":"string","pattern":"^[0-9]{4}-(?:0[1-9]|1[0-2])-(?:0[1-9]|[12][0-9]|3[01])(?:[Tt](?:[01][0-9]|2[0-3]):[0-5][0-9]:(?:[0-5][0-9]|60)(?:\\.[0-9]+)?(?:[Zz]|[+-](?:[01][0-9]|2[0-3]):[0-5][0-9]))?$"},"sha256":{"type":"string","pattern":"^[0-9a-f]{64}$"},"ref":{"type":"string","minLength":1},"text":{"type":"string","minLength":1},"amends":{"type":"string","minLength":1},"reason":{"type":"string","minLength":1},"round":{"type":"string","minLength":1}},"allOf":[{"if":{"type":"object","required":["ref"]},"then":{"not":{"required":["text"]}}},{"if":{"type":"object","not":{"required":["ref"]}},"then":{"required":["text"]}},{"if":{"type":"object","required":["amends"]},"then":{"required":["reason"]}}]},"x_measured_under":{"type":"object","required":["measured_at","criteria"],"propertyNames":{"allOf":[{"pattern":"^[A-Za-z_][A-Za-z0-9_-]*$"},{"anyOf":[{"enum":["criteria","measured_at","round","subject","verdict"]},{"pattern":"^x_"}]}]},"properties":{"measured_at":{"type":"string","pattern":"^[0-9]{4}-(?:0[1-9]|1[0-2])-(?:0[1-9]|[12][0-9]|3[01])(?:[Tt](?:[01][0-9]|2[0-3]):[0-5][0-9]:(?:[0-5][0-9]|60)(?:\\.[0-9]+)?(?:[Zz]|[+-](?:[01][0-9]|2[0-3]):[0-5][0-9]))?$"},"criteria":{"type":"array","minItems":1,"items":{"type":"object","required":["criterion","sha256"],"propertyNames":{"allOf":[{"pattern":"^[A-Za-z_][A-Za-z0-9_-]*$"},{"anyOf":[{"enum":["criterion","sha256"]},{"pattern":"^x_"}]}]},"properties":{"criterion":{"type":"string","minLength":1},"sha256":{"type":"string","pattern":"^[0-9a-f]{64}$"}}}},"subject":{"type":"object"},"verdict":{"type":"string","minLength":1},"round":{"type":"string","minLength":1}}}},"allOf":[{"if":{"anyOf":[{"properties":{"plane":{"const":"PROD"}},"required":["plane"]},{"required":["verified_scope"]}]},"then":{"required":["verified_at"]}},{"if":{"properties":{"node_type":{"const":"claim"}},"required":["node_type","verified_at"]},"then":{"required":["verified_against"]}}]},"minItems":1},"edges":{"type":"array","items":{"type":"object","propertyNames":{"pattern":"^[A-Za-z_][A-Za-z0-9_-]*$"},"properties":{"x_confidence":{"type":"number","minimum":0,"maximum":1},"x_provisional":{"type":"boolean"}}}}},"$defs":{"termLabel":{"type":"object","required":["literal","kind","source"],"propertyNames":{"allOf":[{"pattern":"^[A-Za-z_][A-Za-z0-9_-]*$"},{"anyOf":[{"enum":["kind","lang","literal","locator","retired","reverify_every","scope","source","verified_at","version"]},{"pattern":"^x_"}]}]},"properties":{"literal":{"type":"string","minLength":1},"kind":{"enum":["alt","hidden"]},"lang":{"type":"string","pattern":"^[A-Za-z]{2,3}(?:-[A-Za-z0-9]{1,8})*$"},"scope":{"type":"object","required":["level"],"propertyNames":{"allOf":[{"pattern":"^[A-Za-z_][A-Za-z0-9_-]*$"},{"anyOf":[{"enum":["case","jurisdiction","level"]},{"pattern":"^x_"}]}]},"properties":{"level":{"enum":["case","domain"]},"case":{"type":"string","minLength":1},"jurisdiction":{"type":"string","minLength":1}},"allOf":[{"if":{"properties":{"level":{"const":"case"}},"required":["level"]},"then":{"required":["case"]}}]},"source":{"type":"string","minLength":1},"locator":{"type":"string","minLength":1},"version":{"type":"string","minLength":1},"verified_at":{"type":"string","format":"date"},"reverify_every":{"type":"string","allOf":[{"pattern":"^P(?:[0-9]+Y(?:[0-9]+M)?(?:[0-9]+W)?(?:[0-9]+D)?|[0-9]+M(?:[0-9]+W)?(?:[0-9]+D)?|[0-9]+W(?:[0-9]+D)?|[0-9]+D)$"},{"not":{"type":"string","pattern":"^P(?:0+[YMWD])+$"}}]},"retired":{"type":"boolean"}},"allOf":[{"if":{"required":["reverify_every"]},"then":{"required":["verified_at"]}}]}}};const schema32 = {"type":"object","required":["literal","kind","source"],"propertyNames":{"allOf":[{"pattern":"^[A-Za-z_][A-Za-z0-9_-]*$"},{"anyOf":[{"enum":["kind","lang","literal","locator","retired","reverify_every","scope","source","verified_at","version"]},{"pattern":"^x_"}]}]},"properties":{"literal":{"type":"string","minLength":1},"kind":{"enum":["alt","hidden"]},"lang":{"type":"string","pattern":"^[A-Za-z]{2,3}(?:-[A-Za-z0-9]{1,8})*$"},"scope":{"type":"object","required":["level"],"propertyNames":{"allOf":[{"pattern":"^[A-Za-z_][A-Za-z0-9_-]*$"},{"anyOf":[{"enum":["case","jurisdiction","level"]},{"pattern":"^x_"}]}]},"properties":{"level":{"enum":["case","domain"]},"case":{"type":"string","minLength":1},"jurisdiction":{"type":"string","minLength":1}},"allOf":[{"if":{"properties":{"level":{"const":"case"}},"required":["level"]},"then":{"required":["case"]}}]},"source":{"type":"string","minLength":1},"locator":{"type":"string","minLength":1},"version":{"type":"string","minLength":1},"verified_at":{"type":"string","format":"date"},"reverify_every":{"type":"string","allOf":[{"pattern":"^P(?:[0-9]+Y(?:[0-9]+M)?(?:[0-9]+W)?(?:[0-9]+D)?|[0-9]+M(?:[0-9]+W)?(?:[0-9]+D)?|[0-9]+W(?:[0-9]+D)?|[0-9]+D)$"},{"not":{"type":"string","pattern":"^P(?:0+[YMWD])+$"}}]},"retired":{"type":"boolean"}},"allOf":[{"if":{"required":["reverify_every"]},"then":{"required":["verified_at"]}}]};const pattern4 = new RegExp("^[A-Za-z_][A-Za-z0-9_-]*$", "u");const pattern6 = new RegExp("^[a-z0-9]+(?:-[a-z0-9]+)*$", "u");const pattern9 = new RegExp("^x_", "u");const pattern10 = new RegExp("^(?:measurement|reading|judges|derived|testimony|medição|leitura|juízes|derivado|testemunho): [^ \t\n\r]", "u");const pattern11 = new RegExp("^P(?:[0-9]+Y(?:[0-9]+M)?(?:[0-9]+W)?(?:[0-9]+D)?|[0-9]+M(?:[0-9]+W)?(?:[0-9]+D)?|[0-9]+W(?:[0-9]+D)?|[0-9]+D)$", "u");const pattern12 = new RegExp("^P(?:0+[YMWD])+$", "u");const pattern17 = new RegExp("^[A-Za-z]{2,3}(?:-[A-Za-z0-9]{1,8})*$", "u");const pattern25 = new RegExp("^[a-z0-9][a-z0-9-]*$", "u");const pattern38 = new RegExp("^[0-9]{4}-(?:0[1-9]|1[0-2])-(?:0[1-9]|[12][0-9]|3[01])(?:[Tt](?:[01][0-9]|2[0-3]):[0-5][0-9]:(?:[0-5][0-9]|60)(?:\\.[0-9]+)?(?:[Zz]|[+-](?:[01][0-9]|2[0-3]):[0-5][0-9]))?$", "u");const pattern39 = new RegExp("^[0-9a-f]{64}$", "u");import func1_mod from "ajv/dist/runtime/ucs2length.js";const func1 = func1_mod.default;const formats0 = /^(?:(?!0000)[0-9]{4}-(?:(?:0[1-9]|1[0-2])-(?:0[1-9]|1[0-9]|2[0-8])|(?:0[13-9]|1[0-2])-(?:29|30)|(?:0[13578]|1[02])-31)|(?:[0-9]{2}(?:0[48]|[2468][048]|[13579][26])|(?:0[48]|[2468][048]|[13579][26])00)-02-29)$/;function validate20(data, {instancePath="", parentData, parentDataProperty, rootData=data, dynamicAnchors={}}={}){/*# sourceURL="urn:kg-ssot:spec:kg-contract-v4.should.schema.json" */;let vErrors = null;let errors = 0;const evaluated0 = validate20.evaluated;if(evaluated0.dynamicProps){evaluated0.props = undefined;}if(evaluated0.dynamicItems){evaluated0.items = undefined;}if(data && typeof data == "object" && !Array.isArray(data)){for(const key0 in data){const _errs1 = errors;if(typeof key0 === "string"){if(!pattern4.test(key0)){const err0 = {instancePath,schemaPath:"#/propertyNames/pattern",keyword:"pattern",params:{pattern: "^[A-Za-z_][A-Za-z0-9_-]*$"},message:"must match pattern \""+"^[A-Za-z_][A-Za-z0-9_-]*$"+"\"",schema:"^[A-Za-z_][A-Za-z0-9_-]*$",parentSchema:schema31.propertyNames,data:key0,propertyName:key0};if(vErrors === null){vErrors = [err0];}else {vErrors.push(err0);}errors++;}}var valid0 = _errs1 === errors;if(!valid0){const err1 = {instancePath,schemaPath:"#/propertyNames",keyword:"propertyNames",params:{propertyName: key0},message:"property name must be valid",schema:schema31.propertyNames,parentSchema:schema31,data};if(vErrors === null){vErrors = [err1];}else {vErrors.push(err1);}errors++;}}if(data.meta !== undefined){let data0 = data.meta;if(data0 && typeof data0 == "object" && !Array.isArray(data0)){for(const key1 in data0){const _errs4 = errors;if(typeof key1 === "string"){if(!pattern4.test(key1)){const err2 = {instancePath:instancePath+"/meta",schemaPath:"#/properties/meta/propertyNames/pattern",keyword:"pattern",params:{pattern: "^[A-Za-z_][A-Za-z0-9_-]*$"},message:"must match pattern \""+"^[A-Za-z_][A-Za-z0-9_-]*$"+"\"",schema:"^[A-Za-z_][A-Za-z0-9_-]*$",parentSchema:schema31.properties.meta.propertyNames,data:key1,propertyName:key1};if(vErrors === null){vErrors = [err2];}else {vErrors.push(err2);}errors++;}}var valid2 = _errs4 === errors;if(!valid2){const err3 = {instancePath:instancePath+"/meta",schemaPath:"#/properties/meta/propertyNames",keyword:"propertyNames",params:{propertyName: key1},message:"property name must be valid",schema:schema31.properties.meta.propertyNames,parentSchema:schema31.properties.meta,data:data0};if(vErrors === null){vErrors = [err3];}else {vErrors.push(err3);}errors++;}}if(data0.slug !== undefined){let data1 = data0.slug;if(typeof data1 === "string"){if(!pattern6.test(data1)){const err4 = {instancePath:instancePath+"/meta/slug",schemaPath:"#/properties/meta/properties/slug/pattern",keyword:"pattern",params:{pattern: "^[a-z0-9]+(?:-[a-z0-9]+)*$"},message:"must match pattern \""+"^[a-z0-9]+(?:-[a-z0-9]+)*$"+"\"",schema:"^[a-z0-9]+(?:-[a-z0-9]+)*$",parentSchema:schema31.properties.meta.properties.slug,data:data1};if(vErrors === null){vErrors = [err4];}else {vErrors.push(err4);}errors++;}}else {const err5 = {instancePath:instancePath+"/meta/slug",schemaPath:"#/properties/meta/properties/slug/type",keyword:"type",params:{type: "string"},message:"must be string",schema:schema31.properties.meta.properties.slug.type,parentSchema:schema31.properties.meta.properties.slug,data:data1};if(vErrors === null){vErrors = [err5];}else {vErrors.push(err5);}errors++;}}}else {const err6 = {instancePath:instancePath+"/meta",schemaPath:"#/properties/meta/type",keyword:"type",params:{type: "object"},message:"must be object",schema:schema31.properties.meta.type,parentSchema:schema31.properties.meta,data:data0};if(vErrors === null){vErrors = [err6];}else {vErrors.push(err6);}errors++;}}if(data.nodes !== undefined){let data2 = data.nodes;if(Array.isArray(data2)){if(data2.length < 1){const err7 = {instancePath:instancePath+"/nodes",schemaPath:"#/properties/nodes/minItems",keyword:"minItems",params:{limit: 1},message:"must NOT have fewer than 1 items",schema:1,parentSchema:schema31.properties.nodes,data:data2};if(vErrors === null){vErrors = [err7];}else {vErrors.push(err7);}errors++;}const len0 = data2.length;for(let i0=0; i0<len0; i0++){let data3 = data2[i0];const _errs12 = errors;let valid7 = true;const _errs13 = errors;const _errs14 = errors;let valid8 = false;const _errs15 = errors;if(data3 && typeof data3 == "object" && !Array.isArray(data3)){let missing0;if((data3.plane === undefined) && (missing0 = "plane")){const err8 = {};if(vErrors === null){vErrors = [err8];}else {vErrors.push(err8);}errors++;}else {if(data3.plane !== undefined){if("PROD" !== data3.plane){const err9 = {};if(vErrors === null){vErrors = [err9];}else {vErrors.push(err9);}errors++;}}}}var _valid1 = _errs15 === errors;valid8 = valid8 || _valid1;if(_valid1){var props0 = {};props0.plane = true;}const _errs17 = errors;if(data3 && typeof data3 == "object" && !Array.isArray(data3)){let missing1;if((data3.verified_scope === undefined) && (missing1 = "verified_scope")){const err10 = {};if(vErrors === null){vErrors = [err10];}else {vErrors.push(err10);}errors++;}}var _valid1 = _errs17 === errors;valid8 = valid8 || _valid1;if(!valid8){const err11 = {};if(vErrors === null){vErrors = [err11];}else {vErrors.push(err11);}errors++;}else {errors = _errs14;if(vErrors !== null){if(_errs14){vErrors.length = _errs14;}else {vErrors = null;}}}var _valid0 = _errs13 === errors;errors = _errs12;if(vErrors !== null){if(_errs12){vErrors.length = _errs12;}else {vErrors = null;}}if(_valid0){const _errs18 = errors;if(data3 && typeof data3 == "object" && !Array.isArray(data3)){if(data3.verified_at === undefined){const err12 = {instancePath:instancePath+"/nodes/" + i0,schemaPath:"#/properties/nodes/items/allOf/0/then/required",keyword:"required",params:{missingProperty: "verified_at"},message:"must have required property '"+"verified_at"+"'",schema:schema31.properties.nodes.items.allOf[0].then.required,parentSchema:schema31.properties.nodes.items.allOf[0].then,data:data3};if(vErrors === null){vErrors = [err12];}else {vErrors.push(err12);}errors++;}}var _valid0 = _errs18 === errors;valid7 = _valid0;}if(!valid7){const err13 = {instancePath:instancePath+"/nodes/" + i0,schemaPath:"#/properties/nodes/items/allOf/0/if",keyword:"if",params:{failingKeyword: "then"},message:"must match \"then\" schema",schema:schema31.properties.nodes.items.allOf[0].if,parentSchema:schema31.properties.nodes.items.allOf[0],data:data3};if(vErrors === null){vErrors = [err13];}else {vErrors.push(err13);}errors++;}const _errs20 = errors;let valid10 = true;const _errs21 = errors;if(data3 && typeof data3 == "object" && !Array.isArray(data3)){let missing2;if(((data3.node_type === undefined) && (missing2 = "node_type")) || ((data3.verified_at === undefined) && (missing2 = "verified_at"))){const err14 = {};if(vErrors === null){vErrors = [err14];}else {vErrors.push(err14);}errors++;}else {if(data3.node_type !== undefined){if("claim" !== data3.node_type){const err15 = {};if(vErrors === null){vErrors = [err15];}else {vErrors.push(err15);}errors++;}}}}var _valid2 = _errs21 === errors;errors = _errs20;if(vErrors !== null){if(_errs20){vErrors.length = _errs20;}else {vErrors = null;}}if(_valid2){const _errs23 = errors;if(data3 && typeof data3 == "object" && !Array.isArray(data3)){if(data3.verified_against === undefined){const err16 = {instancePath:instancePath+"/nodes/" + i0,schemaPath:"#/properties/nodes/items/allOf/1/then/required",keyword:"required",params:{missingProperty: "verified_against"},message:"must have required property '"+"verified_against"+"'",schema:schema31.properties.nodes.items.allOf[1].then.required,parentSchema:schema31.properties.nodes.items.allOf[1].then,data:data3};if(vErrors === null){vErrors = [err16];}else {vErrors.push(err16);}errors++;}}var _valid2 = _errs23 === errors;valid10 = _valid2;}if(!valid10){const err17 = {instancePath:instancePath+"/nodes/" + i0,schemaPath:"#/properties/nodes/items/allOf/1/if",keyword:"if",params:{failingKeyword: "then"},message:"must match \"then\" schema",schema:schema31.properties.nodes.items.allOf[1].if,parentSchema:schema31.properties.nodes.items.allOf[1],data:data3};if(vErrors === null){vErrors = [err17];}else {vErrors.push(err17);}errors++;}if(props0 !== true){props0 = props0 || {};props0.node_type = true;}if(data3 && typeof data3 == "object" && !Array.isArray(data3)){for(const key2 in data3){const _errs24 = errors;if(typeof key2 === "string"){if(!pattern4.test(key2)){const err18 = {instancePath:instancePath+"/nodes/" + i0,schemaPath:"#/properties/nodes/items/propertyNames/pattern",keyword:"pattern",params:{pattern: "^[A-Za-z_][A-Za-z0-9_-]*$"},message:"must match pattern \""+"^[A-Za-z_][A-Za-z0-9_-]*$"+"\"",schema:"^[A-Za-z_][A-Za-z0-9_-]*$",parentSchema:schema31.properties.nodes.items.propertyNames,data:key2,propertyName:key2};if(vErrors === null){vErrors = [err18];}else {vErrors.push(err18);}errors++;}}var valid12 = _errs24 === errors;if(!valid12){const err19 = {instancePath:instancePath+"/nodes/" + i0,schemaPath:"#/properties/nodes/items/propertyNames",keyword:"propertyNames",params:{propertyName: key2},message:"property name must be valid",schema:schema31.properties.nodes.items.propertyNames,parentSchema:schema31.properties.nodes.items,data:data3};if(vErrors === null){vErrors = [err19];}else {vErrors.push(err19);}errors++;}}if(props0 !== true){props0 = props0 || {};props0.label = true;props0.provenance = true;props0.verified_scope = true;props0.reverify_every = true;props0.reverify_on = true;props0.retain_for = true;props0.x_term = true;props0.x_mirror = true;props0.x_doc_cycle = true;props0.x_questionnaire = true;props0.x_severity = true;props0.x_criterion = true;props0.x_measured_under = true;}if(data3.label !== undefined){let data6 = data3.label;if(typeof data6 === "string"){if(func1(data6) > 280){const err20 = {instancePath:instancePath+"/nodes/" + i0+"/label",schemaPath:"#/properties/nodes/items/properties/label/maxLength",keyword:"maxLength",params:{limit: 280},message:"must NOT have more than 280 characters",schema:280,parentSchema:schema31.properties.nodes.items.properties.label,data:data6};if(vErrors === null){vErrors = [err20];}else {vErrors.push(err20);}errors++;}}}if(data3.provenance !== undefined){let data7 = data3.provenance;if(data7 && typeof data7 == "object" && !Array.isArray(data7)){for(const key3 in data7){const _errs27 = errors;if(typeof key3 === "string"){if(!pattern4.test(key3)){const err21 = {instancePath:instancePath+"/nodes/" + i0+"/provenance",schemaPath:"#/properties/nodes/items/properties/provenance/propertyNames/allOf/0/pattern",keyword:"pattern",params:{pattern: "^[A-Za-z_][A-Za-z0-9_-]*$"},message:"must match pattern \""+"^[A-Za-z_][A-Za-z0-9_-]*$"+"\"",schema:"^[A-Za-z_][A-Za-z0-9_-]*$",parentSchema:schema31.properties.nodes.items.properties.provenance.propertyNames.allOf[0],data:key3,propertyName:key3};if(vErrors === null){vErrors = [err21];}else {vErrors.push(err21);}errors++;}}const _errs30 = errors;let valid16 = false;const _errs31 = errors;if(!((((key3 === "locality") || (key3 === "locator")) || (key3 === "method")) || (key3 === "source"))){const err22 = {instancePath:instancePath+"/nodes/" + i0+"/provenance",schemaPath:"#/properties/nodes/items/properties/provenance/propertyNames/allOf/1/anyOf/0/enum",keyword:"enum",params:{allowedValues: schema31.properties.nodes.items.properties.provenance.propertyNames.allOf[1].anyOf[0].enum},message:"must be equal to one of the allowed values",schema:schema31.properties.nodes.items.properties.provenance.propertyNames.allOf[1].anyOf[0].enum,parentSchema:schema31.properties.nodes.items.properties.provenance.propertyNames.allOf[1].anyOf[0],data:key3,propertyName:key3};if(vErrors === null){vErrors = [err22];}else {vErrors.push(err22);}errors++;}var _valid3 = _errs31 === errors;valid16 = valid16 || _valid3;const _errs32 = errors;if(typeof key3 === "string"){if(!pattern9.test(key3)){const err23 = {instancePath:instancePath+"/nodes/" + i0+"/provenance",schemaPath:"#/properties/nodes/items/properties/provenance/propertyNames/allOf/1/anyOf/1/pattern",keyword:"pattern",params:{pattern: "^x_"},message:"must match pattern \""+"^x_"+"\"",schema:"^x_",parentSchema:schema31.properties.nodes.items.properties.provenance.propertyNames.allOf[1].anyOf[1],data:key3,propertyName:key3};if(vErrors === null){vErrors = [err23];}else {vErrors.push(err23);}errors++;}}var _valid3 = _errs32 === errors;valid16 = valid16 || _valid3;if(!valid16){const err24 = {instancePath:instancePath+"/nodes/" + i0+"/provenance",schemaPath:"#/properties/nodes/items/properties/provenance/propertyNames/allOf/1/anyOf",keyword:"anyOf",params:{},message:"must match a schema in anyOf",schema:schema31.properties.nodes.items.properties.provenance.propertyNames.allOf[1].anyOf,parentSchema:schema31.properties.nodes.items.properties.provenance.propertyNames.allOf[1],data:key3,propertyName:key3};if(vErrors === null){vErrors = [err24];}else {vErrors.push(err24);}errors++;}else {errors = _errs30;if(vErrors !== null){if(_errs30){vErrors.length = _errs30;}else {vErrors = null;}}}var valid14 = _errs27 === errors;if(!valid14){const err25 = {instancePath:instancePath+"/nodes/" + i0+"/provenance",schemaPath:"#/properties/nodes/items/properties/provenance/propertyNames",keyword:"propertyNames",params:{propertyName: key3},message:"property name must be valid",schema:schema31.properties.nodes.items.properties.provenance.propertyNames,parentSchema:schema31.properties.nodes.items.properties.provenance,data:data7};if(vErrors === null){vErrors = [err25];}else {vErrors.push(err25);}errors++;}}if(data7.method !== undefined){let data8 = data7.method;if(typeof data8 === "string"){if(!pattern10.test(data8)){const err26 = {instancePath:instancePath+"/nodes/" + i0+"/provenance/method",schemaPath:"#/properties/nodes/items/properties/provenance/properties/method/pattern",keyword:"pattern",params:{pattern: "^(?:measurement|reading|judges|derived|testimony|medição|leitura|juízes|derivado|testemunho): [^ \t\n\r]"},message:"must match pattern \""+"^(?:measurement|reading|judges|derived|testimony|medição|leitura|juízes|derivado|testemunho): [^ \t\n\r]"+"\"",schema:"^(?:measurement|reading|judges|derived|testimony|medição|leitura|juízes|derivado|testemunho): [^ \t\n\r]",parentSchema:schema31.properties.nodes.items.properties.provenance.properties.method,data:data8};if(vErrors === null){vErrors = [err26];}else {vErrors.push(err26);}errors++;}}}if(data7.locality !== undefined){let data9 = data7.locality;if(!(((((data9 === "host") || (data9 === "pessoa")) || (data9 === "privado")) || (data9 === "repo")) || (data9 === "web"))){const err27 = {instancePath:instancePath+"/nodes/" + i0+"/provenance/locality",schemaPath:"#/properties/nodes/items/properties/provenance/properties/locality/enum",keyword:"enum",params:{allowedValues: schema31.properties.nodes.items.properties.provenance.properties.locality.enum},message:"must be equal to one of the allowed values",schema:schema31.properties.nodes.items.properties.provenance.properties.locality.enum,parentSchema:schema31.properties.nodes.items.properties.provenance.properties.locality,data:data9};if(vErrors === null){vErrors = [err27];}else {vErrors.push(err27);}errors++;}}}}if(data3.verified_scope !== undefined){let data10 = data3.verified_scope;if(!(((data10 === "fato") || (data10 === "mecanismo")) || (data10 === "nenhum"))){const err28 = {instancePath:instancePath+"/nodes/" + i0+"/verified_scope",schemaPath:"#/properties/nodes/items/properties/verified_scope/enum",keyword:"enum",params:{allowedValues: schema31.properties.nodes.items.properties.verified_scope.enum},message:"must be equal to one of the allowed values",schema:schema31.properties.nodes.items.properties.verified_scope.enum,parentSchema:schema31.properties.nodes.items.properties.verified_scope,data:data10};if(vErrors === null){vErrors = [err28];}else {vErrors.push(err28);}errors++;}}if(data3.reverify_every !== undefined){let data11 = data3.reverify_every;if(typeof data11 !== "string"){const err29 = {instancePath:instancePath+"/nodes/" + i0+"/reverify_every",schemaPath:"#/properties/nodes/items/properties/reverify_every/type",keyword:"type",params:{type: "string"},message:"must be string",schema:schema31.properties.nodes.items.properties.reverify_every.type,parentSchema:schema31.properties.nodes.items.properties.reverify_every,data:data11};if(vErrors === null){vErrors = [err29];}else {vErrors.push(err29);}errors++;}if(typeof data11 === "string"){if(!pattern11.test(data11)){const err30 = {instancePath:instancePath+"/nodes/" + i0+"/reverify_every",schemaPath:"#/properties/nodes/items/properties/reverify_every/allOf/0/pattern",keyword:"pattern",params:{pattern: "^P(?:[0-9]+Y(?:[0-9]+M)?(?:[0-9]+W)?(?:[0-9]+D)?|[0-9]+M(?:[0-9]+W)?(?:[0-9]+D)?|[0-9]+W(?:[0-9]+D)?|[0-9]+D)$"},message:"must match pattern \""+"^P(?:[0-9]+Y(?:[0-9]+M)?(?:[0-9]+W)?(?:[0-9]+D)?|[0-9]+M(?:[0-9]+W)?(?:[0-9]+D)?|[0-9]+W(?:[0-9]+D)?|[0-9]+D)$"+"\"",schema:"^P(?:[0-9]+Y(?:[0-9]+M)?(?:[0-9]+W)?(?:[0-9]+D)?|[0-9]+M(?:[0-9]+W)?(?:[0-9]+D)?|[0-9]+W(?:[0-9]+D)?|[0-9]+D)$",parentSchema:schema31.properties.nodes.items.properties.reverify_every.allOf[0],data:data11};if(vErrors === null){vErrors = [err30];}else {vErrors.push(err30);}errors++;}}const _errs40 = errors;const _errs41 = errors;if(errors === _errs41){if(typeof data11 === "string"){if(!pattern12.test(data11)){const err31 = {};if(vErrors === null){vErrors = [err31];}else {vErrors.push(err31);}errors++;}}else {const err32 = {};if(vErrors === null){vErrors = [err32];}else {vErrors.push(err32);}errors++;}}var valid19 = _errs41 === errors;if(valid19){const err33 = {instancePath:instancePath+"/nodes/" + i0+"/reverify_every",schemaPath:"#/properties/nodes/items/properties/reverify_every/allOf/1/not",keyword:"not",params:{},message:"must NOT be valid",schema:schema31.properties.nodes.items.properties.reverify_every.allOf[1].not,parentSchema:schema31.properties.nodes.items.properties.reverify_every.allOf[1],data:data11};if(vErrors === null){vErrors = [err33];}else {vErrors.push(err33);}errors++;}else {errors = _errs40;if(vErrors !== null){if(_errs40){vErrors.length = _errs40;}else {vErrors = null;}}}}if(data3.reverify_on !== undefined){let data12 = data3.reverify_on;if(typeof data12 === "string"){if(func1(data12) < 1){const err34 = {instancePath:instancePath+"/nodes/" + i0+"/reverify_on",schemaPath:"#/properties/nodes/items/properties/reverify_on/minLength",keyword:"minLength",params:{limit: 1},message:"must NOT have fewer than 1 characters",schema:1,parentSchema:schema31.properties.nodes.items.properties.reverify_on,data:data12};if(vErrors === null){vErrors = [err34];}else {vErrors.push(err34);}errors++;}}else {const err35 = {instancePath:instancePath+"/nodes/" + i0+"/reverify_on",schemaPath:"#/properties/nodes/items/properties/reverify_on/type",keyword:"type",params:{type: "string"},message:"must be string",schema:schema31.properties.nodes.items.properties.reverify_on.type,parentSchema:schema31.properties.nodes.items.properties.reverify_on,data:data12};if(vErrors === null){vErrors = [err35];}else {vErrors.push(err35);}errors++;}}if(data3.retain_for !== undefined){let data13 = data3.retain_for;if(typeof data13 !== "string"){const err36 = {instancePath:instancePath+"/nodes/" + i0+"/retain_for",schemaPath:"#/properties/nodes/items/properties/retain_for/type",keyword:"type",params:{type: "string"},message:"must be string",schema:schema31.properties.nodes.items.properties.retain_for.type,parentSchema:schema31.properties.nodes.items.properties.retain_for,data:data13};if(vErrors === null){vErrors = [err36];}else {vErrors.push(err36);}errors++;}if(typeof data13 === "string"){if(!pattern11.test(data13)){const err37 = {instancePath:instancePath+"/nodes/" + i0+"/retain_for",schemaPath:"#/properties/nodes/items/properties/retain_for/allOf/0/pattern",keyword:"pattern",params:{pattern: "^P(?:[0-9]+Y(?:[0-9]+M)?(?:[0-9]+W)?(?:[0-9]+D)?|[0-9]+M(?:[0-9]+W)?(?:[0-9]+D)?|[0-9]+W(?:[0-9]+D)?|[0-9]+D)$"},message:"must match pattern \""+"^P(?:[0-9]+Y(?:[0-9]+M)?(?:[0-9]+W)?(?:[0-9]+D)?|[0-9]+M(?:[0-9]+W)?(?:[0-9]+D)?|[0-9]+W(?:[0-9]+D)?|[0-9]+D)$"+"\"",schema:"^P(?:[0-9]+Y(?:[0-9]+M)?(?:[0-9]+W)?(?:[0-9]+D)?|[0-9]+M(?:[0-9]+W)?(?:[0-9]+D)?|[0-9]+W(?:[0-9]+D)?|[0-9]+D)$",parentSchema:schema31.properties.nodes.items.properties.retain_for.allOf[0],data:data13};if(vErrors === null){vErrors = [err37];}else {vErrors.push(err37);}errors++;}}const _errs49 = errors;const _errs50 = errors;if(errors === _errs50){if(typeof data13 === "string"){if(!pattern12.test(data13)){const err38 = {};if(vErrors === null){vErrors = [err38];}else {vErrors.push(err38);}errors++;}}else {const err39 = {};if(vErrors === null){vErrors = [err39];}else {vErrors.push(err39);}errors++;}}var valid21 = _errs50 === errors;if(valid21){const err40 = {instancePath:instancePath+"/nodes/" + i0+"/retain_for",schemaPath:"#/properties/nodes/items/properties/retain_for/allOf/1/not",keyword:"not",params:{},message:"must NOT be valid",schema:schema31.properties.nodes.items.properties.retain_for.allOf[1].not,parentSchema:schema31.properties.nodes.items.properties.retain_for.allOf[1],data:data13};if(vErrors === null){vErrors = [err40];}else {vErrors.push(err40);}errors++;}else {errors = _errs49;if(vErrors !== null){if(_errs49){vErrors.length = _errs49;}else {vErrors = null;}}}}if(data3.x_term !== undefined){let data14 = data3.x_term;if(data14 && typeof data14 == "object" && !Array.isArray(data14)){if(data14.pref === undefined){const err41 = {instancePath:instancePath+"/nodes/" + i0+"/x_term",schemaPath:"#/properties/nodes/items/properties/x_term/required",keyword:"required",params:{missingProperty: "pref"},message:"must have required property '"+"pref"+"'",schema:schema31.properties.nodes.items.properties.x_term.required,parentSchema:schema31.properties.nodes.items.properties.x_term,data:data14};if(vErrors === null){vErrors = [err41];}else {vErrors.push(err41);}errors++;}for(const key4 in data14){const _errs54 = errors;if(typeof key4 === "string"){if(!pattern4.test(key4)){const err42 = {instancePath:instancePath+"/nodes/" + i0+"/x_term",schemaPath:"#/properties/nodes/items/properties/x_term/propertyNames/allOf/0/pattern",keyword:"pattern",params:{pattern: "^[A-Za-z_][A-Za-z0-9_-]*$"},message:"must match pattern \""+"^[A-Za-z_][A-Za-z0-9_-]*$"+"\"",schema:"^[A-Za-z_][A-Za-z0-9_-]*$",parentSchema:schema31.properties.nodes.items.properties.x_term.propertyNames.allOf[0],data:key4,propertyName:key4};if(vErrors === null){vErrors = [err42];}else {vErrors.push(err42);}errors++;}}const _errs57 = errors;let valid24 = false;const _errs58 = errors;if(!((((((key4 === "definition") || (key4 === "labels")) || (key4 === "lang")) || (key4 === "notation")) || (key4 === "pref")) || (key4 === "scheme"))){const err43 = {instancePath:instancePath+"/nodes/" + i0+"/x_term",schemaPath:"#/properties/nodes/items/properties/x_term/propertyNames/allOf/1/anyOf/0/enum",keyword:"enum",params:{allowedValues: schema31.properties.nodes.items.properties.x_term.propertyNames.allOf[1].anyOf[0].enum},message:"must be equal to one of the allowed values",schema:schema31.properties.nodes.items.properties.x_term.propertyNames.allOf[1].anyOf[0].enum,parentSchema:schema31.properties.nodes.items.properties.x_term.propertyNames.allOf[1].anyOf[0],data:key4,propertyName:key4};if(vErrors === null){vErrors = [err43];}else {vErrors.push(err43);}errors++;}var _valid4 = _errs58 === errors;valid24 = valid24 || _valid4;const _errs59 = errors;if(typeof key4 === "string"){if(!pattern9.test(key4)){const err44 = {instancePath:instancePath+"/nodes/" + i0+"/x_term",schemaPath:"#/properties/nodes/items/properties/x_term/propertyNames/allOf/1/anyOf/1/pattern",keyword:"pattern",params:{pattern: "^x_"},message:"must match pattern \""+"^x_"+"\"",schema:"^x_",parentSchema:schema31.properties.nodes.items.properties.x_term.propertyNames.allOf[1].anyOf[1],data:key4,propertyName:key4};if(vErrors === null){vErrors = [err44];}else {vErrors.push(err44);}errors++;}}var _valid4 = _errs59 === errors;valid24 = valid24 || _valid4;if(!valid24){const err45 = {instancePath:instancePath+"/nodes/" + i0+"/x_term",schemaPath:"#/properties/nodes/items/properties/x_term/propertyNames/allOf/1/anyOf",keyword:"anyOf",params:{},message:"must match a schema in anyOf",schema:schema31.properties.nodes.items.properties.x_term.propertyNames.allOf[1].anyOf,parentSchema:schema31.properties.nodes.items.properties.x_term.propertyNames.allOf[1],data:key4,propertyName:key4};if(vErrors === null){vErrors = [err45];}else {vErrors.push(err45);}errors++;}else {errors = _errs57;if(vErrors !== null){if(_errs57){vErrors.length = _errs57;}else {vErrors = null;}}}var valid22 = _errs54 === errors;if(!valid22){const err46 = {instancePath:instancePath+"/nodes/" + i0+"/x_term",schemaPath:"#/properties/nodes/items/properties/x_term/propertyNames",keyword:"propertyNames",params:{propertyName: key4},message:"property name must be valid",schema:schema31.properties.nodes.items.properties.x_term.propertyNames,parentSchema:schema31.properties.nodes.items.properties.x_term,data:data14};if(vErrors === null){vErrors = [err46];}else {vErrors.push(err46);}errors++;}}if(data14.pref !== undefined){let data15 = data14.pref;if(typeof data15 === "string"){if(func1(data15) < 1){const err47 = {instancePath:instancePath+"/nodes/" + i0+"/x_term/pref",schemaPath:"#/properties/nodes/items/properties/x_term/properties/pref/minLength",keyword:"minLength",params:{limit: 1},message:"must NOT have fewer than 1 characters",schema:1,parentSchema:schema31.properties.nodes.items.properties.x_term.properties.pref,data:data15};if(vErrors === null){vErrors = [err47];}else {vErrors.push(err47);}errors++;}}else {const err48 = {instancePath:instancePath+"/nodes/" + i0+"/x_term/pref",schemaPath:"#/properties/nodes/items/properties/x_term/properties/pref/type",keyword:"type",params:{type: "string"},message:"must be string",schema:schema31.properties.nodes.items.properties.x_term.properties.pref.type,parentSchema:schema31.properties.nodes.items.properties.x_term.properties.pref,data:data15};if(vErrors === null){vErrors = [err48];}else {vErrors.push(err48);}errors++;}}if(data14.lang !== undefined){let data16 = data14.lang;if(typeof data16 === "string"){if(!pattern17.test(data16)){const err49 = {instancePath:instancePath+"/nodes/" + i0+"/x_term/lang",schemaPath:"#/properties/nodes/items/properties/x_term/properties/lang/pattern",keyword:"pattern",params:{pattern: "^[A-Za-z]{2,3}(?:-[A-Za-z0-9]{1,8})*$"},message:"must match pattern \""+"^[A-Za-z]{2,3}(?:-[A-Za-z0-9]{1,8})*$"+"\"",schema:"^[A-Za-z]{2,3}(?:-[A-Za-z0-9]{1,8})*$",parentSchema:schema31.properties.nodes.items.properties.x_term.properties.lang,data:data16};if(vErrors === null){vErrors = [err49];}else {vErrors.push(err49);}errors++;}}else {const err50 = {instancePath:instancePath+"/nodes/" + i0+"/x_term/lang",schemaPath:"#/properties/nodes/items/properties/x_term/properties/lang/type",keyword:"type",params:{type: "string"},message:"must be string",schema:schema31.properties.nodes.items.properties.x_term.properties.lang.type,parentSchema:schema31.properties.nodes.items.properties.x_term.properties.lang,data:data16};if(vErrors === null){vErrors = [err50];}else {vErrors.push(err50);}errors++;}}if(data14.definition !== undefined){let data17 = data14.definition;if(typeof data17 === "string"){if(func1(data17) < 1){const err51 = {instancePath:instancePath+"/nodes/" + i0+"/x_term/definition",schemaPath:"#/properties/nodes/items/properties/x_term/properties/definition/minLength",keyword:"minLength",params:{limit: 1},message:"must NOT have fewer than 1 characters",schema:1,parentSchema:schema31.properties.nodes.items.properties.x_term.properties.definition,data:data17};if(vErrors === null){vErrors = [err51];}else {vErrors.push(err51);}errors++;}}else {const err52 = {instancePath:instancePath+"/nodes/" + i0+"/x_term/definition",schemaPath:"#/properties/nodes/items/properties/x_term/properties/definition/type",keyword:"type",params:{type: "string"},message:"must be string",schema:schema31.properties.nodes.items.properties.x_term.properties.definition.type,parentSchema:schema31.properties.nodes.items.properties.x_term.properties.definition,data:data17};if(vErrors === null){vErrors = [err52];}else {vErrors.push(err52);}errors++;}}if(data14.notation !== undefined){let data18 = data14.notation;if(typeof data18 === "string"){if(func1(data18) < 1){const err53 = {instancePath:instancePath+"/nodes/" + i0+"/x_term/notation",schemaPath:"#/properties/nodes/items/properties/x_term/properties/notation/minLength",keyword:"minLength",params:{limit: 1},message:"must NOT have fewer than 1 characters",schema:1,parentSchema:schema31.properties.nodes.items.properties.x_term.properties.notation,data:data18};if(vErrors === null){vErrors = [err53];}else {vErrors.push(err53);}errors++;}}else {const err54 = {instancePath:instancePath+"/nodes/" + i0+"/x_term/notation",schemaPath:"#/properties/nodes/items/properties/x_term/properties/notation/type",keyword:"type",params:{type: "string"},message:"must be string",schema:schema31.properties.nodes.items.properties.x_term.properties.notation.type,parentSchema:schema31.properties.nodes.items.properties.x_term.properties.notation,data:data18};if(vErrors === null){vErrors = [err54];}else {vErrors.push(err54);}errors++;}}if(data14.labels !== undefined){let data19 = data14.labels;if(Array.isArray(data19)){const len1 = data19.length;for(let i1=0; i1<len1; i1++){let data20 = data19[i1];const _errs74 = errors;let valid30 = true;const _errs75 = errors;if(data20 && typeof data20 == "object" && !Array.isArray(data20)){let missing3;if((data20.reverify_every === undefined) && (missing3 = "reverify_every")){const err55 = {};if(vErrors === null){vErrors = [err55];}else {vErrors.push(err55);}errors++;}}var _valid5 = _errs75 === errors;errors = _errs74;if(vErrors !== null){if(_errs74){vErrors.length = _errs74;}else {vErrors = null;}}if(_valid5){const _errs76 = errors;if(data20 && typeof data20 == "object" && !Array.isArray(data20)){if(data20.verified_at === undefined){const err56 = {instancePath:instancePath+"/nodes/" + i0+"/x_term/labels/" + i1,schemaPath:"#/$defs/termLabel/allOf/0/then/required",keyword:"required",params:{missingProperty: "verified_at"},message:"must have required property '"+"verified_at"+"'",schema:schema32.allOf[0].then.required,parentSchema:schema32.allOf[0].then,data:data20};if(vErrors === null){vErrors = [err56];}else {vErrors.push(err56);}errors++;}}var _valid5 = _errs76 === errors;valid30 = _valid5;}if(!valid30){const err57 = {instancePath:instancePath+"/nodes/" + i0+"/x_term/labels/" + i1,schemaPath:"#/$defs/termLabel/allOf/0/if",keyword:"if",params:{failingKeyword: "then"},message:"must match \"then\" schema",schema:schema32.allOf[0].if,parentSchema:schema32.allOf[0],data:data20};if(vErrors === null){vErrors = [err57];}else {vErrors.push(err57);}errors++;}if(data20 && typeof data20 == "object" && !Array.isArray(data20)){if(data20.literal === undefined){const err58 = {instancePath:instancePath+"/nodes/" + i0+"/x_term/labels/" + i1,schemaPath:"#/$defs/termLabel/required",keyword:"required",params:{missingProperty: "literal"},message:"must have required property '"+"literal"+"'",schema:schema32.required,parentSchema:schema32,data:data20};if(vErrors === null){vErrors = [err58];}else {vErrors.push(err58);}errors++;}if(data20.kind === undefined){const err59 = {instancePath:instancePath+"/nodes/" + i0+"/x_term/labels/" + i1,schemaPath:"#/$defs/termLabel/required",keyword:"required",params:{missingProperty: "kind"},message:"must have required property '"+"kind"+"'",schema:schema32.required,parentSchema:schema32,data:data20};if(vErrors === null){vErrors = [err59];}else {vErrors.push(err59);}errors++;}if(data20.source === undefined){const err60 = {instancePath:instancePath+"/nodes/" + i0+"/x_term/labels/" + i1,schemaPath:"#/$defs/termLabel/required",keyword:"required",params:{missingProperty: "source"},message:"must have required property '"+"source"+"'",schema:schema32.required,parentSchema:schema32,data:data20};if(vErrors === null){vErrors = [err60];}else {vErrors.push(err60);}errors++;}for(const key5 in data20){const _errs77 = errors;if(typeof key5 === "string"){if(!pattern4.test(key5)){const err61 = {instancePath:instancePath+"/nodes/" + i0+"/x_term/labels/" + i1,schemaPath:"#/$defs/termLabel/propertyNames/allOf/0/pattern",keyword:"pattern",params:{pattern: "^[A-Za-z_][A-Za-z0-9_-]*$"},message:"must match pattern \""+"^[A-Za-z_][A-Za-z0-9_-]*$"+"\"",schema:"^[A-Za-z_][A-Za-z0-9_-]*$",parentSchema:schema32.propertyNames.allOf[0],data:key5,propertyName:key5};if(vErrors === null){vErrors = [err61];}else {vErrors.push(err61);}errors++;}}const _errs80 = errors;let valid33 = false;const _errs81 = errors;if(!((((((((((key5 === "kind") || (key5 === "lang")) || (key5 === "literal")) || (key5 === "locator")) || (key5 === "retired")) || (key5 === "reverify_every")) || (key5 === "scope")) || (key5 === "source")) || (key5 === "verified_at")) || (key5 === "version"))){const err62 = {instancePath:instancePath+"/nodes/" + i0+"/x_term/labels/" + i1,schemaPath:"#/$defs/termLabel/propertyNames/allOf/1/anyOf/0/enum",keyword:"enum",params:{allowedValues: schema32.propertyNames.allOf[1].anyOf[0].enum},message:"must be equal to one of the allowed values",schema:schema32.propertyNames.allOf[1].anyOf[0].enum,parentSchema:schema32.propertyNames.allOf[1].anyOf[0],data:key5,propertyName:key5};if(vErrors === null){vErrors = [err62];}else {vErrors.push(err62);}errors++;}var _valid6 = _errs81 === errors;valid33 = valid33 || _valid6;const _errs82 = errors;if(typeof key5 === "string"){if(!pattern9.test(key5)){const err63 = {instancePath:instancePath+"/nodes/" + i0+"/x_term/labels/" + i1,schemaPath:"#/$defs/termLabel/propertyNames/allOf/1/anyOf/1/pattern",keyword:"pattern",params:{pattern: "^x_"},message:"must match pattern \""+"^x_"+"\"",schema:"^x_",parentSchema:schema32.propertyNames.allOf[1].anyOf[1],data:key5,propertyName:key5};if(vErrors === null){vErrors = [err63];}else {vErrors.push(err63);}errors++;}}var _valid6 = _errs82 === errors;valid33 = valid33 || _valid6;if(!valid33){const err64 = {instancePath:instancePath+"/nodes/" + i0+"/x_term/labels/" + i1,schemaPath:"#/$defs/termLabel/propertyNames/allOf/1/anyOf",keyword:"anyOf",params:{},message:"must match a schema in anyOf",schema:schema32.propertyNames.allOf[1].anyOf,parentSchema:schema32.propertyNames.allOf[1],data:key5,propertyName:key5};if(vErrors === null){vErrors = [err64];}else {vErrors.push(err64);}errors++;}else {errors = _errs80;if(vErrors !== null){if(_errs80){vErrors.length = _errs80;}else {vErrors = null;}}}var valid31 = _errs77 === errors;if(!valid31){const err65 = {instancePath:instancePath+"/nodes/" + i0+"/x_term/labels/" + i1,schemaPath:"#/$defs/termLabel/propertyNames",keyword:"propertyNames",params:{propertyName: key5},message:"property name must be valid",schema:schema32.propertyNames,parentSchema:schema32,data:data20};if(vErrors === null){vErrors = [err65];}else {vErrors.push(err65);}errors++;}}if(data20.literal !== undefined){let data21 = data20.literal;if(typeof data21 === "string"){if(func1(data21) < 1){const err66 = {instancePath:instancePath+"/nodes/" + i0+"/x_term/labels/" + i1+"/literal",schemaPath:"#/$defs/termLabel/properties/literal/minLength",keyword:"minLength",params:{limit: 1},message:"must NOT have fewer than 1 characters",schema:1,parentSchema:schema32.properties.literal,data:data21};if(vErrors === null){vErrors = [err66];}else {vErrors.push(err66);}errors++;}}else {const err67 = {instancePath:instancePath+"/nodes/" + i0+"/x_term/labels/" + i1+"/literal",schemaPath:"#/$defs/termLabel/properties/literal/type",keyword:"type",params:{type: "string"},message:"must be string",schema:schema32.properties.literal.type,parentSchema:schema32.properties.literal,data:data21};if(vErrors === null){vErrors = [err67];}else {vErrors.push(err67);}errors++;}}if(data20.kind !== undefined){let data22 = data20.kind;if(!((data22 === "alt") || (data22 === "hidden"))){const err68 = {instancePath:instancePath+"/nodes/" + i0+"/x_term/labels/" + i1+"/kind",schemaPath:"#/$defs/termLabel/properties/kind/enum",keyword:"enum",params:{allowedValues: schema32.properties.kind.enum},message:"must be equal to one of the allowed values",schema:schema32.properties.kind.enum,parentSchema:schema32.properties.kind,data:data22};if(vErrors === null){vErrors = [err68];}else {vErrors.push(err68);}errors++;}}if(data20.lang !== undefined){let data23 = data20.lang;if(typeof data23 === "string"){if(!pattern17.test(data23)){const err69 = {instancePath:instancePath+"/nodes/" + i0+"/x_term/labels/" + i1+"/lang",schemaPath:"#/$defs/termLabel/properties/lang/pattern",keyword:"pattern",params:{pattern: "^[A-Za-z]{2,3}(?:-[A-Za-z0-9]{1,8})*$"},message:"must match pattern \""+"^[A-Za-z]{2,3}(?:-[A-Za-z0-9]{1,8})*$"+"\"",schema:"^[A-Za-z]{2,3}(?:-[A-Za-z0-9]{1,8})*$",parentSchema:schema32.properties.lang,data:data23};if(vErrors === null){vErrors = [err69];}else {vErrors.push(err69);}errors++;}}else {const err70 = {instancePath:instancePath+"/nodes/" + i0+"/x_term/labels/" + i1+"/lang",schemaPath:"#/$defs/termLabel/properties/lang/type",keyword:"type",params:{type: "string"},message:"must be string",schema:schema32.properties.lang.type,parentSchema:schema32.properties.lang,data:data23};if(vErrors === null){vErrors = [err70];}else {vErrors.push(err70);}errors++;}}if(data20.scope !== undefined){let data24 = data20.scope;const _errs91 = errors;let valid36 = true;const _errs92 = errors;if(data24 && typeof data24 == "object" && !Array.isArray(data24)){let missing4;if((data24.level === undefined) && (missing4 = "level")){const err71 = {};if(vErrors === null){vErrors = [err71];}else {vErrors.push(err71);}errors++;}else {if(data24.level !== undefined){if("case" !== data24.level){const err72 = {};if(vErrors === null){vErrors = [err72];}else {vErrors.push(err72);}errors++;}}}}var _valid7 = _errs92 === errors;errors = _errs91;if(vErrors !== null){if(_errs91){vErrors.length = _errs91;}else {vErrors = null;}}if(_valid7){const _errs94 = errors;if(data24 && typeof data24 == "object" && !Array.isArray(data24)){if(data24.case === undefined){const err73 = {instancePath:instancePath+"/nodes/" + i0+"/x_term/labels/" + i1+"/scope",schemaPath:"#/$defs/termLabel/properties/scope/allOf/0/then/required",keyword:"required",params:{missingProperty: "case"},message:"must have required property '"+"case"+"'",schema:schema32.properties.scope.allOf[0].then.required,parentSchema:schema32.properties.scope.allOf[0].then,data:data24};if(vErrors === null){vErrors = [err73];}else {vErrors.push(err73);}errors++;}}var _valid7 = _errs94 === errors;valid36 = _valid7;}if(!valid36){const err74 = {instancePath:instancePath+"/nodes/" + i0+"/x_term/labels/" + i1+"/scope",schemaPath:"#/$defs/termLabel/properties/scope/allOf/0/if",keyword:"if",params:{failingKeyword: "then"},message:"must match \"then\" schema",schema:schema32.properties.scope.allOf[0].if,parentSchema:schema32.properties.scope.allOf[0],data:data24};if(vErrors === null){vErrors = [err74];}else {vErrors.push(err74);}errors++;}if(data24 && typeof data24 == "object" && !Array.isArray(data24)){if(data24.level === undefined){const err75 = {instancePath:instancePath+"/nodes/" + i0+"/x_term/labels/" + i1+"/scope",schemaPath:"#/$defs/termLabel/properties/scope/required",keyword:"required",params:{missingProperty: "level"},message:"must have required property '"+"level"+"'",schema:schema32.properties.scope.required,parentSchema:schema32.properties.scope,data:data24};if(vErrors === null){vErrors = [err75];}else {vErrors.push(err75);}errors++;}for(const key6 in data24){const _errs95 = errors;if(typeof key6 === "string"){if(!pattern4.test(key6)){const err76 = {instancePath:instancePath+"/nodes/" + i0+"/x_term/labels/" + i1+"/scope",schemaPath:"#/$defs/termLabel/properties/scope/propertyNames/allOf/0/pattern",keyword:"pattern",params:{pattern: "^[A-Za-z_][A-Za-z0-9_-]*$"},message:"must match pattern \""+"^[A-Za-z_][A-Za-z0-9_-]*$"+"\"",schema:"^[A-Za-z_][A-Za-z0-9_-]*$",parentSchema:schema32.properties.scope.propertyNames.allOf[0],data:key6,propertyName:key6};if(vErrors === null){vErrors = [err76];}else {vErrors.push(err76);}errors++;}}const _errs98 = errors;let valid40 = false;const _errs99 = errors;if(!(((key6 === "case") || (key6 === "jurisdiction")) || (key6 === "level"))){const err77 = {instancePath:instancePath+"/nodes/" + i0+"/x_term/labels/" + i1+"/scope",schemaPath:"#/$defs/termLabel/properties/scope/propertyNames/allOf/1/anyOf/0/enum",keyword:"enum",params:{allowedValues: schema32.properties.scope.propertyNames.allOf[1].anyOf[0].enum},message:"must be equal to one of the allowed values",schema:schema32.properties.scope.propertyNames.allOf[1].anyOf[0].enum,parentSchema:schema32.properties.scope.propertyNames.allOf[1].anyOf[0],data:key6,propertyName:key6};if(vErrors === null){vErrors = [err77];}else {vErrors.push(err77);}errors++;}var _valid8 = _errs99 === errors;valid40 = valid40 || _valid8;const _errs100 = errors;if(typeof key6 === "string"){if(!pattern9.test(key6)){const err78 = {instancePath:instancePath+"/nodes/" + i0+"/x_term/labels/" + i1+"/scope",schemaPath:"#/$defs/termLabel/properties/scope/propertyNames/allOf/1/anyOf/1/pattern",keyword:"pattern",params:{pattern: "^x_"},message:"must match pattern \""+"^x_"+"\"",schema:"^x_",parentSchema:schema32.properties.scope.propertyNames.allOf[1].anyOf[1],data:key6,propertyName:key6};if(vErrors === null){vErrors = [err78];}else {vErrors.push(err78);}errors++;}}var _valid8 = _errs100 === errors;valid40 = valid40 || _valid8;if(!valid40){const err79 = {instancePath:instancePath+"/nodes/" + i0+"/x_term/labels/" + i1+"/scope",schemaPath:"#/$defs/termLabel/properties/scope/propertyNames/allOf/1/anyOf",keyword:"anyOf",params:{},message:"must match a schema in anyOf",schema:schema32.properties.scope.propertyNames.allOf[1].anyOf,parentSchema:schema32.properties.scope.propertyNames.allOf[1],data:key6,propertyName:key6};if(vErrors === null){vErrors = [err79];}else {vErrors.push(err79);}errors++;}else {errors = _errs98;if(vErrors !== null){if(_errs98){vErrors.length = _errs98;}else {vErrors = null;}}}var valid38 = _errs95 === errors;if(!valid38){const err80 = {instancePath:instancePath+"/nodes/" + i0+"/x_term/labels/" + i1+"/scope",schemaPath:"#/$defs/termLabel/properties/scope/propertyNames",keyword:"propertyNames",params:{propertyName: key6},message:"property name must be valid",schema:schema32.properties.scope.propertyNames,parentSchema:schema32.properties.scope,data:data24};if(vErrors === null){vErrors = [err80];}else {vErrors.push(err80);}errors++;}}if(data24.level !== undefined){let data26 = data24.level;if(!((data26 === "case") || (data26 === "domain"))){const err81 = {instancePath:instancePath+"/nodes/" + i0+"/x_term/labels/" + i1+"/scope/level",schemaPath:"#/$defs/termLabel/properties/scope/properties/level/enum",keyword:"enum",params:{allowedValues: schema32.properties.scope.properties.level.enum},message:"must be equal to one of the allowed values",schema:schema32.properties.scope.properties.level.enum,parentSchema:schema32.properties.scope.properties.level,data:data26};if(vErrors === null){vErrors = [err81];}else {vErrors.push(err81);}errors++;}}if(data24.case !== undefined){let data27 = data24.case;if(typeof data27 === "string"){if(func1(data27) < 1){const err82 = {instancePath:instancePath+"/nodes/" + i0+"/x_term/labels/" + i1+"/scope/case",schemaPath:"#/$defs/termLabel/properties/scope/properties/case/minLength",keyword:"minLength",params:{limit: 1},message:"must NOT have fewer than 1 characters",schema:1,parentSchema:schema32.properties.scope.properties.case,data:data27};if(vErrors === null){vErrors = [err82];}else {vErrors.push(err82);}errors++;}}else {const err83 = {instancePath:instancePath+"/nodes/" + i0+"/x_term/labels/" + i1+"/scope/case",schemaPath:"#/$defs/termLabel/properties/scope/properties/case/type",keyword:"type",params:{type: "string"},message:"must be string",schema:schema32.properties.scope.properties.case.type,parentSchema:schema32.properties.scope.properties.case,data:data27};if(vErrors === null){vErrors = [err83];}else {vErrors.push(err83);}errors++;}}if(data24.jurisdiction !== undefined){let data28 = data24.jurisdiction;if(typeof data28 === "string"){if(func1(data28) < 1){const err84 = {instancePath:instancePath+"/nodes/" + i0+"/x_term/labels/" + i1+"/scope/jurisdiction",schemaPath:"#/$defs/termLabel/properties/scope/properties/jurisdiction/minLength",keyword:"minLength",params:{limit: 1},message:"must NOT have fewer than 1 characters",schema:1,parentSchema:schema32.properties.scope.properties.jurisdiction,data:data28};if(vErrors === null){vErrors = [err84];}else {vErrors.push(err84);}errors++;}}else {const err85 = {instancePath:instancePath+"/nodes/" + i0+"/x_term/labels/" + i1+"/scope/jurisdiction",schemaPath:"#/$defs/termLabel/properties/scope/properties/jurisdiction/type",keyword:"type",params:{type: "string"},message:"must be string",schema:schema32.properties.scope.properties.jurisdiction.type,parentSchema:schema32.properties.scope.properties.jurisdiction,data:data28};if(vErrors === null){vErrors = [err85];}else {vErrors.push(err85);}errors++;}}}else {const err86 = {instancePath:instancePath+"/nodes/" + i0+"/x_term/labels/" + i1+"/scope",schemaPath:"#/$defs/termLabel/properties/scope/type",keyword:"type",params:{type: "object"},message:"must be object",schema:schema32.properties.scope.type,parentSchema:schema32.properties.scope,data:data24};if(vErrors === null){vErrors = [err86];}else {vErrors.push(err86);}errors++;}}if(data20.source !== undefined){let data29 = data20.source;if(typeof data29 === "string"){if(func1(data29) < 1){const err87 = {instancePath:instancePath+"/nodes/" + i0+"/x_term/labels/" + i1+"/source",schemaPath:"#/$defs/termLabel/properties/source/minLength",keyword:"minLength",params:{limit: 1},message:"must NOT have fewer than 1 characters",schema:1,parentSchema:schema32.properties.source,data:data29};if(vErrors === null){vErrors = [err87];}else {vErrors.push(err87);}errors++;}}else {const err88 = {instancePath:instancePath+"/nodes/" + i0+"/x_term/labels/" + i1+"/source",schemaPath:"#/$defs/termLabel/properties/source/type",keyword:"type",params:{type: "string"},message:"must be string",schema:schema32.properties.source.type,parentSchema:schema32.properties.source,data:data29};if(vErrors === null){vErrors = [err88];}else {vErrors.push(err88);}errors++;}}if(data20.locator !== undefined){let data30 = data20.locator;if(typeof data30 === "string"){if(func1(data30) < 1){const err89 = {instancePath:instancePath+"/nodes/" + i0+"/x_term/labels/" + i1+"/locator",schemaPath:"#/$defs/termLabel/properties/locator/minLength",keyword:"minLength",params:{limit: 1},message:"must NOT have fewer than 1 characters",schema:1,parentSchema:schema32.properties.locator,data:data30};if(vErrors === null){vErrors = [err89];}else {vErrors.push(err89);}errors++;}}else {const err90 = {instancePath:instancePath+"/nodes/" + i0+"/x_term/labels/" + i1+"/locator",schemaPath:"#/$defs/termLabel/properties/locator/type",keyword:"type",params:{type: "string"},message:"must be string",schema:schema32.properties.locator.type,parentSchema:schema32.properties.locator,data:data30};if(vErrors === null){vErrors = [err90];}else {vErrors.push(err90);}errors++;}}if(data20.version !== undefined){let data31 = data20.version;if(typeof data31 === "string"){if(func1(data31) < 1){const err91 = {instancePath:instancePath+"/nodes/" + i0+"/x_term/labels/" + i1+"/version",schemaPath:"#/$defs/termLabel/properties/version/minLength",keyword:"minLength",params:{limit: 1},message:"must NOT have fewer than 1 characters",schema:1,parentSchema:schema32.properties.version,data:data31};if(vErrors === null){vErrors = [err91];}else {vErrors.push(err91);}errors++;}}else {const err92 = {instancePath:instancePath+"/nodes/" + i0+"/x_term/labels/" + i1+"/version",schemaPath:"#/$defs/termLabel/properties/version/type",keyword:"type",params:{type: "string"},message:"must be string",schema:schema32.properties.version.type,parentSchema:schema32.properties.version,data:data31};if(vErrors === null){vErrors = [err92];}else {vErrors.push(err92);}errors++;}}if(data20.verified_at !== undefined){let data32 = data20.verified_at;if(typeof data32 === "string"){if(!(formats0.test(data32))){const err93 = {instancePath:instancePath+"/nodes/" + i0+"/x_term/labels/" + i1+"/verified_at",schemaPath:"#/$defs/termLabel/properties/verified_at/format",keyword:"format",params:{format: "date"},message:"must match format \""+"date"+"\"",schema:"date",parentSchema:schema32.properties.verified_at,data:data32};if(vErrors === null){vErrors = [err93];}else {vErrors.push(err93);}errors++;}}else {const err94 = {instancePath:instancePath+"/nodes/" + i0+"/x_term/labels/" + i1+"/verified_at",schemaPath:"#/$defs/termLabel/properties/verified_at/type",keyword:"type",params:{type: "string"},message:"must be string",schema:schema32.properties.verified_at.type,parentSchema:schema32.properties.verified_at,data:data32};if(vErrors === null){vErrors = [err94];}else {vErrors.push(err94);}errors++;}}if(data20.reverify_every !== undefined){let data33 = data20.reverify_every;if(typeof data33 !== "string"){const err95 = {instancePath:instancePath+"/nodes/" + i0+"/x_term/labels/" + i1+"/reverify_every",schemaPath:"#/$defs/termLabel/properties/reverify_every/type",keyword:"type",params:{type: "string"},message:"must be string",schema:schema32.properties.reverify_every.type,parentSchema:schema32.properties.reverify_every,data:data33};if(vErrors === null){vErrors = [err95];}else {vErrors.push(err95);}errors++;}if(typeof data33 === "string"){if(!pattern11.test(data33)){const err96 = {instancePath:instancePath+"/nodes/" + i0+"/x_term/labels/" + i1+"/reverify_every",schemaPath:"#/$defs/termLabel/properties/reverify_every/allOf/0/pattern",keyword:"pattern",params:{pattern: "^P(?:[0-9]+Y(?:[0-9]+M)?(?:[0-9]+W)?(?:[0-9]+D)?|[0-9]+M(?:[0-9]+W)?(?:[0-9]+D)?|[0-9]+W(?:[0-9]+D)?|[0-9]+D)$"},message:"must match pattern \""+"^P(?:[0-9]+Y(?:[0-9]+M)?(?:[0-9]+W)?(?:[0-9]+D)?|[0-9]+M(?:[0-9]+W)?(?:[0-9]+D)?|[0-9]+W(?:[0-9]+D)?|[0-9]+D)$"+"\"",schema:"^P(?:[0-9]+Y(?:[0-9]+M)?(?:[0-9]+W)?(?:[0-9]+D)?|[0-9]+M(?:[0-9]+W)?(?:[0-9]+D)?|[0-9]+W(?:[0-9]+D)?|[0-9]+D)$",parentSchema:schema32.properties.reverify_every.allOf[0],data:data33};if(vErrors === null){vErrors = [err96];}else {vErrors.push(err96);}errors++;}}const _errs118 = errors;const _errs119 = errors;if(errors === _errs119){if(typeof data33 === "string"){if(!pattern12.test(data33)){const err97 = {};if(vErrors === null){vErrors = [err97];}else {vErrors.push(err97);}errors++;}}else {const err98 = {};if(vErrors === null){vErrors = [err98];}else {vErrors.push(err98);}errors++;}}var valid43 = _errs119 === errors;if(valid43){const err99 = {instancePath:instancePath+"/nodes/" + i0+"/x_term/labels/" + i1+"/reverify_every",schemaPath:"#/$defs/termLabel/properties/reverify_every/allOf/1/not",keyword:"not",params:{},message:"must NOT be valid",schema:schema32.properties.reverify_every.allOf[1].not,parentSchema:schema32.properties.reverify_every.allOf[1],data:data33};if(vErrors === null){vErrors = [err99];}else {vErrors.push(err99);}errors++;}else {errors = _errs118;if(vErrors !== null){if(_errs118){vErrors.length = _errs118;}else {vErrors = null;}}}}if(data20.retired !== undefined){let data34 = data20.retired;if(typeof data34 !== "boolean"){const err100 = {instancePath:instancePath+"/nodes/" + i0+"/x_term/labels/" + i1+"/retired",schemaPath:"#/$defs/termLabel/properties/retired/type",keyword:"type",params:{type: "boolean"},message:"must be boolean",schema:schema32.properties.retired.type,parentSchema:schema32.properties.retired,data:data34};if(vErrors === null){vErrors = [err100];}else {vErrors.push(err100);}errors++;}}}else {const err101 = {instancePath:instancePath+"/nodes/" + i0+"/x_term/labels/" + i1,schemaPath:"#/$defs/termLabel/type",keyword:"type",params:{type: "object"},message:"must be object",schema:schema32.type,parentSchema:schema32,data:data20};if(vErrors === null){vErrors = [err101];}else {vErrors.push(err101);}errors++;}}}else {const err102 = {instancePath:instancePath+"/nodes/" + i0+"/x_term/labels",schemaPath:"#/properties/nodes/items/properties/x_term/properties/labels/type",keyword:"type",params:{type: "array"},message:"must be array",schema:schema31.properties.nodes.items.properties.x_term.properties.labels.type,parentSchema:schema31.properties.nodes.items.properties.x_term.properties.labels,data:data19};if(vErrors === null){vErrors = [err102];}else {vErrors.push(err102);}errors++;}}if(data14.scheme !== undefined){let data35 = data14.scheme;if(typeof data35 === "string"){if(!pattern25.test(data35)){const err103 = {instancePath:instancePath+"/nodes/" + i0+"/x_term/scheme",schemaPath:"#/properties/nodes/items/properties/x_term/properties/scheme/pattern",keyword:"pattern",params:{pattern: "^[a-z0-9][a-z0-9-]*$"},message:"must match pattern \""+"^[a-z0-9][a-z0-9-]*$"+"\"",schema:"^[a-z0-9][a-z0-9-]*$",parentSchema:schema31.properties.nodes.items.properties.x_term.properties.scheme,data:data35};if(vErrors === null){vErrors = [err103];}else {vErrors.push(err103);}errors++;}}else {const err104 = {instancePath:instancePath+"/nodes/" + i0+"/x_term/scheme",schemaPath:"#/properties/nodes/items/properties/x_term/properties/scheme/type",keyword:"type",params:{type: "string"},message:"must be string",schema:schema31.properties.nodes.items.properties.x_term.properties.scheme.type,parentSchema:schema31.properties.nodes.items.properties.x_term.properties.scheme,data:data35};if(vErrors === null){vErrors = [err104];}else {vErrors.push(err104);}errors++;}}}else {const err105 = {instancePath:instancePath+"/nodes/" + i0+"/x_term",schemaPath:"#/properties/nodes/items/properties/x_term/type",keyword:"type",params:{type: "object"},message:"must be object",schema:schema31.properties.nodes.items.properties.x_term.type,parentSchema:schema31.properties.nodes.items.properties.x_term,data:data14};if(vErrors === null){vErrors = [err105];}else {vErrors.push(err105);}errors++;}}if(data3.x_mirror !== undefined){let data36 = data3.x_mirror;if(data36 && typeof data36 == "object" && !Array.isArray(data36)){if(data36.system === undefined){const err106 = {instancePath:instancePath+"/nodes/" + i0+"/x_mirror",schemaPath:"#/properties/nodes/items/properties/x_mirror/required",keyword:"required",params:{missingProperty: "system"},message:"must have required property '"+"system"+"'",schema:schema31.properties.nodes.items.properties.x_mirror.required,parentSchema:schema31.properties.nodes.items.properties.x_mirror,data:data36};if(vErrors === null){vErrors = [err106];}else {vErrors.push(err106);}errors++;}if(data36.ref === undefined){const err107 = {instancePath:instancePath+"/nodes/" + i0+"/x_mirror",schemaPath:"#/properties/nodes/items/properties/x_mirror/required",keyword:"required",params:{missingProperty: "ref"},message:"must have required property '"+"ref"+"'",schema:schema31.properties.nodes.items.properties.x_mirror.required,parentSchema:schema31.properties.nodes.items.properties.x_mirror,data:data36};if(vErrors === null){vErrors = [err107];}else {vErrors.push(err107);}errors++;}if(data36.state === undefined){const err108 = {instancePath:instancePath+"/nodes/" + i0+"/x_mirror",schemaPath:"#/properties/nodes/items/properties/x_mirror/required",keyword:"required",params:{missingProperty: "state"},message:"must have required property '"+"state"+"'",schema:schema31.properties.nodes.items.properties.x_mirror.required,parentSchema:schema31.properties.nodes.items.properties.x_mirror,data:data36};if(vErrors === null){vErrors = [err108];}else {vErrors.push(err108);}errors++;}if(data36.synced_at === undefined){const err109 = {instancePath:instancePath+"/nodes/" + i0+"/x_mirror",schemaPath:"#/properties/nodes/items/properties/x_mirror/required",keyword:"required",params:{missingProperty: "synced_at"},message:"must have required property '"+"synced_at"+"'",schema:schema31.properties.nodes.items.properties.x_mirror.required,parentSchema:schema31.properties.nodes.items.properties.x_mirror,data:data36};if(vErrors === null){vErrors = [err109];}else {vErrors.push(err109);}errors++;}for(const key7 in data36){const _errs127 = errors;if(typeof key7 === "string"){if(!pattern4.test(key7)){const err110 = {instancePath:instancePath+"/nodes/" + i0+"/x_mirror",schemaPath:"#/properties/nodes/items/properties/x_mirror/propertyNames/allOf/0/pattern",keyword:"pattern",params:{pattern: "^[A-Za-z_][A-Za-z0-9_-]*$"},message:"must match pattern \""+"^[A-Za-z_][A-Za-z0-9_-]*$"+"\"",schema:"^[A-Za-z_][A-Za-z0-9_-]*$",parentSchema:schema31.properties.nodes.items.properties.x_mirror.propertyNames.allOf[0],data:key7,propertyName:key7};if(vErrors === null){vErrors = [err110];}else {vErrors.push(err110);}errors++;}}const _errs130 = errors;let valid46 = false;const _errs131 = errors;if(!((((((key7 === "ref") || (key7 === "resync_every")) || (key7 === "state")) || (key7 === "synced_at")) || (key7 === "system")) || (key7 === "url"))){const err111 = {instancePath:instancePath+"/nodes/" + i0+"/x_mirror",schemaPath:"#/properties/nodes/items/properties/x_mirror/propertyNames/allOf/1/anyOf/0/enum",keyword:"enum",params:{allowedValues: schema31.properties.nodes.items.properties.x_mirror.propertyNames.allOf[1].anyOf[0].enum},message:"must be equal to one of the allowed values",schema:schema31.properties.nodes.items.properties.x_mirror.propertyNames.allOf[1].anyOf[0].enum,parentSchema:schema31.properties.nodes.items.properties.x_mirror.propertyNames.allOf[1].anyOf[0],data:key7,propertyName:key7};if(vErrors === null){vErrors = [err111];}else {vErrors.push(err111);}errors++;}var _valid9 = _errs131 === errors;valid46 = valid46 || _valid9;const _errs132 = errors;if(typeof key7 === "string"){if(!pattern9.test(key7)){const err112 = {instancePath:instancePath+"/nodes/" + i0+"/x_mirror",schemaPath:"#/properties/nodes/items/properties/x_mirror/propertyNames/allOf/1/anyOf/1/pattern",keyword:"pattern",params:{pattern: "^x_"},message:"must match pattern \""+"^x_"+"\"",schema:"^x_",parentSchema:schema31.properties.nodes.items.properties.x_mirror.propertyNames.allOf[1].anyOf[1],data:key7,propertyName:key7};if(vErrors === null){vErrors = [err112];}else {vErrors.push(err112);}errors++;}}var _valid9 = _errs132 === errors;valid46 = valid46 || _valid9;if(!valid46){const err113 = {instancePath:instancePath+"/nodes/" + i0+"/x_mirror",schemaPath:"#/properties/nodes/items/properties/x_mirror/propertyNames/allOf/1/anyOf",keyword:"anyOf",params:{},message:"must match a schema in anyOf",schema:schema31.properties.nodes.items.properties.x_mirror.propertyNames.allOf[1].anyOf,parentSchema:schema31.properties.nodes.items.properties.x_mirror.propertyNames.allOf[1],data:key7,propertyName:key7};if(vErrors === null){vErrors = [err113];}else {vErrors.push(err113);}errors++;}else {errors = _errs130;if(vErrors !== null){if(_errs130){vErrors.length = _errs130;}else {vErrors = null;}}}var valid44 = _errs127 === errors;if(!valid44){const err114 = {instancePath:instancePath+"/nodes/" + i0+"/x_mirror",schemaPath:"#/properties/nodes/items/properties/x_mirror/propertyNames",keyword:"propertyNames",params:{propertyName: key7},message:"property name must be valid",schema:schema31.properties.nodes.items.properties.x_mirror.propertyNames,parentSchema:schema31.properties.nodes.items.properties.x_mirror,data:data36};if(vErrors === null){vErrors = [err114];}else {vErrors.push(err114);}errors++;}}if(data36.system !== undefined){let data37 = data36.system;if(typeof data37 === "string"){if(func1(data37) < 1){const err115 = {instancePath:instancePath+"/nodes/" + i0+"/x_mirror/system",schemaPath:"#/properties/nodes/items/properties/x_mirror/properties/system/minLength",keyword:"minLength",params:{limit: 1},message:"must NOT have fewer than 1 characters",schema:1,parentSchema:schema31.properties.nodes.items.properties.x_mirror.properties.system,data:data37};if(vErrors === null){vErrors = [err115];}else {vErrors.push(err115);}errors++;}}else {const err116 = {instancePath:instancePath+"/nodes/" + i0+"/x_mirror/system",schemaPath:"#/properties/nodes/items/properties/x_mirror/properties/system/type",keyword:"type",params:{type: "string"},message:"must be string",schema:schema31.properties.nodes.items.properties.x_mirror.properties.system.type,parentSchema:schema31.properties.nodes.items.properties.x_mirror.properties.system,data:data37};if(vErrors === null){vErrors = [err116];}else {vErrors.push(err116);}errors++;}}if(data36.ref !== undefined){let data38 = data36.ref;if(typeof data38 === "string"){if(func1(data38) < 1){const err117 = {instancePath:instancePath+"/nodes/" + i0+"/x_mirror/ref",schemaPath:"#/properties/nodes/items/properties/x_mirror/properties/ref/minLength",keyword:"minLength",params:{limit: 1},message:"must NOT have fewer than 1 characters",schema:1,parentSchema:schema31.properties.nodes.items.properties.x_mirror.properties.ref,data:data38};if(vErrors === null){vErrors = [err117];}else {vErrors.push(err117);}errors++;}}else {const err118 = {instancePath:instancePath+"/nodes/" + i0+"/x_mirror/ref",schemaPath:"#/properties/nodes/items/properties/x_mirror/properties/ref/type",keyword:"type",params:{type: "string"},message:"must be string",schema:schema31.properties.nodes.items.properties.x_mirror.properties.ref.type,parentSchema:schema31.properties.nodes.items.properties.x_mirror.properties.ref,data:data38};if(vErrors === null){vErrors = [err118];}else {vErrors.push(err118);}errors++;}}if(data36.synced_at !== undefined){let data39 = data36.synced_at;if(typeof data39 === "string"){if(!(formats0.test(data39))){const err119 = {instancePath:instancePath+"/nodes/" + i0+"/x_mirror/synced_at",schemaPath:"#/properties/nodes/items/properties/x_mirror/properties/synced_at/format",keyword:"format",params:{format: "date"},message:"must match format \""+"date"+"\"",schema:"date",parentSchema:schema31.properties.nodes.items.properties.x_mirror.properties.synced_at,data:data39};if(vErrors === null){vErrors = [err119];}else {vErrors.push(err119);}errors++;}}else {const err120 = {instancePath:instancePath+"/nodes/" + i0+"/x_mirror/synced_at",schemaPath:"#/properties/nodes/items/properties/x_mirror/properties/synced_at/type",keyword:"type",params:{type: "string"},message:"must be string",schema:schema31.properties.nodes.items.properties.x_mirror.properties.synced_at.type,parentSchema:schema31.properties.nodes.items.properties.x_mirror.properties.synced_at,data:data39};if(vErrors === null){vErrors = [err120];}else {vErrors.push(err120);}errors++;}}if(data36.url !== undefined){let data40 = data36.url;if(typeof data40 === "string"){if(func1(data40) < 1){const err121 = {instancePath:instancePath+"/nodes/" + i0+"/x_mirror/url",schemaPath:"#/properties/nodes/items/properties/x_mirror/properties/url/minLength",keyword:"minLength",params:{limit: 1},message:"must NOT have fewer than 1 characters",schema:1,parentSchema:schema31.properties.nodes.items.properties.x_mirror.properties.url,data:data40};if(vErrors === null){vErrors = [err121];}else {vErrors.push(err121);}errors++;}}else {const err122 = {instancePath:instancePath+"/nodes/" + i0+"/x_mirror/url",schemaPath:"#/properties/nodes/items/properties/x_mirror/properties/url/type",keyword:"type",params:{type: "string"},message:"must be string",schema:schema31.properties.nodes.items.properties.x_mirror.properties.url.type,parentSchema:schema31.properties.nodes.items.properties.x_mirror.properties.url,data:data40};if(vErrors === null){vErrors = [err122];}else {vErrors.push(err122);}errors++;}}if(data36.resync_every !== undefined){let data41 = data36.resync_every;if(typeof data41 !== "string"){const err123 = {instancePath:instancePath+"/nodes/" + i0+"/x_mirror/resync_every",schemaPath:"#/properties/nodes/items/properties/x_mirror/properties/resync_every/type",keyword:"type",params:{type: "string"},message:"must be string",schema:schema31.properties.nodes.items.properties.x_mirror.properties.resync_every.type,parentSchema:schema31.properties.nodes.items.properties.x_mirror.properties.resync_every,data:data41};if(vErrors === null){vErrors = [err123];}else {vErrors.push(err123);}errors++;}if(typeof data41 === "string"){if(!pattern11.test(data41)){const err124 = {instancePath:instancePath+"/nodes/" + i0+"/x_mirror/resync_every",schemaPath:"#/properties/nodes/items/properties/x_mirror/properties/resync_every/allOf/0/pattern",keyword:"pattern",params:{pattern: "^P(?:[0-9]+Y(?:[0-9]+M)?(?:[0-9]+W)?(?:[0-9]+D)?|[0-9]+M(?:[0-9]+W)?(?:[0-9]+D)?|[0-9]+W(?:[0-9]+D)?|[0-9]+D)$"},message:"must match pattern \""+"^P(?:[0-9]+Y(?:[0-9]+M)?(?:[0-9]+W)?(?:[0-9]+D)?|[0-9]+M(?:[0-9]+W)?(?:[0-9]+D)?|[0-9]+W(?:[0-9]+D)?|[0-9]+D)$"+"\"",schema:"^P(?:[0-9]+Y(?:[0-9]+M)?(?:[0-9]+W)?(?:[0-9]+D)?|[0-9]+M(?:[0-9]+W)?(?:[0-9]+D)?|[0-9]+W(?:[0-9]+D)?|[0-9]+D)$",parentSchema:schema31.properties.nodes.items.properties.x_mirror.properties.resync_every.allOf[0],data:data41};if(vErrors === null){vErrors = [err124];}else {vErrors.push(err124);}errors++;}}const _errs145 = errors;const _errs146 = errors;if(errors === _errs146){if(typeof data41 === "string"){if(!pattern12.test(data41)){const err125 = {};if(vErrors === null){vErrors = [err125];}else {vErrors.push(err125);}errors++;}}else {const err126 = {};if(vErrors === null){vErrors = [err126];}else {vErrors.push(err126);}errors++;}}var valid49 = _errs146 === errors;if(valid49){const err127 = {instancePath:instancePath+"/nodes/" + i0+"/x_mirror/resync_every",schemaPath:"#/properties/nodes/items/properties/x_mirror/properties/resync_every/allOf/1/not",keyword:"not",params:{},message:"must NOT be valid",schema:schema31.properties.nodes.items.properties.x_mirror.properties.resync_every.allOf[1].not,parentSchema:schema31.properties.nodes.items.properties.x_mirror.properties.resync_every.allOf[1],data:data41};if(vErrors === null){vErrors = [err127];}else {vErrors.push(err127);}errors++;}else {errors = _errs145;if(vErrors !== null){if(_errs145){vErrors.length = _errs145;}else {vErrors = null;}}}}if(data36.state !== undefined){let data42 = data36.state;if(typeof data42 === "string"){if(func1(data42) < 1){const err128 = {instancePath:instancePath+"/nodes/" + i0+"/x_mirror/state",schemaPath:"#/properties/nodes/items/properties/x_mirror/properties/state/minLength",keyword:"minLength",params:{limit: 1},message:"must NOT have fewer than 1 characters",schema:1,parentSchema:schema31.properties.nodes.items.properties.x_mirror.properties.state,data:data42};if(vErrors === null){vErrors = [err128];}else {vErrors.push(err128);}errors++;}}else {const err129 = {instancePath:instancePath+"/nodes/" + i0+"/x_mirror/state",schemaPath:"#/properties/nodes/items/properties/x_mirror/properties/state/type",keyword:"type",params:{type: "string"},message:"must be string",schema:schema31.properties.nodes.items.properties.x_mirror.properties.state.type,parentSchema:schema31.properties.nodes.items.properties.x_mirror.properties.state,data:data42};if(vErrors === null){vErrors = [err129];}else {vErrors.push(err129);}errors++;}}}else {const err130 = {instancePath:instancePath+"/nodes/" + i0+"/x_mirror",schemaPath:"#/properties/nodes/items/properties/x_mirror/type",keyword:"type",params:{type: "object"},message:"must be object",schema:schema31.properties.nodes.items.properties.x_mirror.type,parentSchema:schema31.properties.nodes.items.properties.x_mirror,data:data36};if(vErrors === null){vErrors = [err130];}else {vErrors.push(err130);}errors++;}}if(data3.x_doc_cycle !== undefined){let data43 = data3.x_doc_cycle;const _errs153 = errors;let valid51 = true;const _errs154 = errors;if(data43 && typeof data43 == "object" && !Array.isArray(data43)){let missing5;if((data43.recheck_every === undefined) && (missing5 = "recheck_every")){const err131 = {};if(vErrors === null){vErrors = [err131];}else {vErrors.push(err131);}errors++;}}var _valid10 = _errs154 === errors;errors = _errs153;if(vErrors !== null){if(_errs153){vErrors.length = _errs153;}else {vErrors = null;}}if(_valid10){const _errs155 = errors;if(data43 && typeof data43 == "object" && !Array.isArray(data43)){if(data43.checked_at === undefined){const err132 = {instancePath:instancePath+"/nodes/" + i0+"/x_doc_cycle",schemaPath:"#/properties/nodes/items/properties/x_doc_cycle/allOf/0/then/required",keyword:"required",params:{missingProperty: "checked_at"},message:"must have required property '"+"checked_at"+"'",schema:schema31.properties.nodes.items.properties.x_doc_cycle.allOf[0].then.required,parentSchema:schema31.properties.nodes.items.properties.x_doc_cycle.allOf[0].then,data:data43};if(vErrors === null){vErrors = [err132];}else {vErrors.push(err132);}errors++;}}var _valid10 = _errs155 === errors;valid51 = _valid10;}if(!valid51){const err133 = {instancePath:instancePath+"/nodes/" + i0+"/x_doc_cycle",schemaPath:"#/properties/nodes/items/properties/x_doc_cycle/allOf/0/if",keyword:"if",params:{failingKeyword: "then"},message:"must match \"then\" schema",schema:schema31.properties.nodes.items.properties.x_doc_cycle.allOf[0].if,parentSchema:schema31.properties.nodes.items.properties.x_doc_cycle.allOf[0],data:data43};if(vErrors === null){vErrors = [err133];}else {vErrors.push(err133);}errors++;}if(data43 && typeof data43 == "object" && !Array.isArray(data43)){if(data43.issuer === undefined){const err134 = {instancePath:instancePath+"/nodes/" + i0+"/x_doc_cycle",schemaPath:"#/properties/nodes/items/properties/x_doc_cycle/required",keyword:"required",params:{missingProperty: "issuer"},message:"must have required property '"+"issuer"+"'",schema:schema31.properties.nodes.items.properties.x_doc_cycle.required,parentSchema:schema31.properties.nodes.items.properties.x_doc_cycle,data:data43};if(vErrors === null){vErrors = [err134];}else {vErrors.push(err134);}errors++;}if(data43.state === undefined){const err135 = {instancePath:instancePath+"/nodes/" + i0+"/x_doc_cycle",schemaPath:"#/properties/nodes/items/properties/x_doc_cycle/required",keyword:"required",params:{missingProperty: "state"},message:"must have required property '"+"state"+"'",schema:schema31.properties.nodes.items.properties.x_doc_cycle.required,parentSchema:schema31.properties.nodes.items.properties.x_doc_cycle,data:data43};if(vErrors === null){vErrors = [err135];}else {vErrors.push(err135);}errors++;}for(const key8 in data43){const _errs156 = errors;if(typeof key8 === "string"){if(!pattern4.test(key8)){const err136 = {instancePath:instancePath+"/nodes/" + i0+"/x_doc_cycle",schemaPath:"#/properties/nodes/items/properties/x_doc_cycle/propertyNames/allOf/0/pattern",keyword:"pattern",params:{pattern: "^[A-Za-z_][A-Za-z0-9_-]*$"},message:"must match pattern \""+"^[A-Za-z_][A-Za-z0-9_-]*$"+"\"",schema:"^[A-Za-z_][A-Za-z0-9_-]*$",parentSchema:schema31.properties.nodes.items.properties.x_doc_cycle.propertyNames.allOf[0],data:key8,propertyName:key8};if(vErrors === null){vErrors = [err136];}else {vErrors.push(err136);}errors++;}}const _errs159 = errors;let valid54 = false;const _errs160 = errors;if(!(((((((((key8 === "checked_at") || (key8 === "effective_from")) || (key8 === "effective_to")) || (key8 === "issuer")) || (key8 === "recheck_every")) || (key8 === "ref")) || (key8 === "state")) || (key8 === "updated_at")) || (key8 === "version"))){const err137 = {instancePath:instancePath+"/nodes/" + i0+"/x_doc_cycle",schemaPath:"#/properties/nodes/items/properties/x_doc_cycle/propertyNames/allOf/1/anyOf/0/enum",keyword:"enum",params:{allowedValues: schema31.properties.nodes.items.properties.x_doc_cycle.propertyNames.allOf[1].anyOf[0].enum},message:"must be equal to one of the allowed values",schema:schema31.properties.nodes.items.properties.x_doc_cycle.propertyNames.allOf[1].anyOf[0].enum,parentSchema:schema31.properties.nodes.items.properties.x_doc_cycle.propertyNames.allOf[1].anyOf[0],data:key8,propertyName:key8};if(vErrors === null){vErrors = [err137];}else {vErrors.push(err137);}errors++;}var _valid11 = _errs160 === errors;valid54 = valid54 || _valid11;const _errs161 = errors;if(typeof key8 === "string"){if(!pattern9.test(key8)){const err138 = {instancePath:instancePath+"/nodes/" + i0+"/x_doc_cycle",schemaPath:"#/properties/nodes/items/properties/x_doc_cycle/propertyNames/allOf/1/anyOf/1/pattern",keyword:"pattern",params:{pattern: "^x_"},message:"must match pattern \""+"^x_"+"\"",schema:"^x_",parentSchema:schema31.properties.nodes.items.properties.x_doc_cycle.propertyNames.allOf[1].anyOf[1],data:key8,propertyName:key8};if(vErrors === null){vErrors = [err138];}else {vErrors.push(err138);}errors++;}}var _valid11 = _errs161 === errors;valid54 = valid54 || _valid11;if(!valid54){const err139 = {instancePath:instancePath+"/nodes/" + i0+"/x_doc_cycle",schemaPath:"#/properties/nodes/items/properties/x_doc_cycle/propertyNames/allOf/1/anyOf",keyword:"anyOf",params:{},message:"must match a schema in anyOf",schema:schema31.properties.nodes.items.properties.x_doc_cycle.propertyNames.allOf[1].anyOf,parentSchema:schema31.properties.nodes.items.properties.x_doc_cycle.propertyNames.allOf[1],data:key8,propertyName:key8};if(vErrors === null){vErrors = [err139];}else {vErrors.push(err139);}errors++;}else {errors = _errs159;if(vErrors !== null){if(_errs159){vErrors.length = _errs159;}else {vErrors = null;}}}var valid52 = _errs156 === errors;if(!valid52){const err140 = {instancePath:instancePath+"/nodes/" + i0+"/x_doc_cycle",schemaPath:"#/properties/nodes/items/properties/x_doc_cycle/propertyNames",keyword:"propertyNames",params:{propertyName: key8},message:"property name must be valid",schema:schema31.properties.nodes.items.properties.x_doc_cycle.propertyNames,parentSchema:schema31.properties.nodes.items.properties.x_doc_cycle,data:data43};if(vErrors === null){vErrors = [err140];}else {vErrors.push(err140);}errors++;}}if(data43.issuer !== undefined){let data44 = data43.issuer;if(typeof data44 === "string"){if(func1(data44) < 1){const err141 = {instancePath:instancePath+"/nodes/" + i0+"/x_doc_cycle/issuer",schemaPath:"#/properties/nodes/items/properties/x_doc_cycle/properties/issuer/minLength",keyword:"minLength",params:{limit: 1},message:"must NOT have fewer than 1 characters",schema:1,parentSchema:schema31.properties.nodes.items.properties.x_doc_cycle.properties.issuer,data:data44};if(vErrors === null){vErrors = [err141];}else {vErrors.push(err141);}errors++;}}else {const err142 = {instancePath:instancePath+"/nodes/" + i0+"/x_doc_cycle/issuer",schemaPath:"#/properties/nodes/items/properties/x_doc_cycle/properties/issuer/type",keyword:"type",params:{type: "string"},message:"must be string",schema:schema31.properties.nodes.items.properties.x_doc_cycle.properties.issuer.type,parentSchema:schema31.properties.nodes.items.properties.x_doc_cycle.properties.issuer,data:data44};if(vErrors === null){vErrors = [err142];}else {vErrors.push(err142);}errors++;}}if(data43.ref !== undefined){let data45 = data43.ref;if(typeof data45 === "string"){if(func1(data45) < 1){const err143 = {instancePath:instancePath+"/nodes/" + i0+"/x_doc_cycle/ref",schemaPath:"#/properties/nodes/items/properties/x_doc_cycle/properties/ref/minLength",keyword:"minLength",params:{limit: 1},message:"must NOT have fewer than 1 characters",schema:1,parentSchema:schema31.properties.nodes.items.properties.x_doc_cycle.properties.ref,data:data45};if(vErrors === null){vErrors = [err143];}else {vErrors.push(err143);}errors++;}}else {const err144 = {instancePath:instancePath+"/nodes/" + i0+"/x_doc_cycle/ref",schemaPath:"#/properties/nodes/items/properties/x_doc_cycle/properties/ref/type",keyword:"type",params:{type: "string"},message:"must be string",schema:schema31.properties.nodes.items.properties.x_doc_cycle.properties.ref.type,parentSchema:schema31.properties.nodes.items.properties.x_doc_cycle.properties.ref,data:data45};if(vErrors === null){vErrors = [err144];}else {vErrors.push(err144);}errors++;}}if(data43.version !== undefined){let data46 = data43.version;if(typeof data46 === "string"){if(func1(data46) < 1){const err145 = {instancePath:instancePath+"/nodes/" + i0+"/x_doc_cycle/version",schemaPath:"#/properties/nodes/items/properties/x_doc_cycle/properties/version/minLength",keyword:"minLength",params:{limit: 1},message:"must NOT have fewer than 1 characters",schema:1,parentSchema:schema31.properties.nodes.items.properties.x_doc_cycle.properties.version,data:data46};if(vErrors === null){vErrors = [err145];}else {vErrors.push(err145);}errors++;}}else {const err146 = {instancePath:instancePath+"/nodes/" + i0+"/x_doc_cycle/version",schemaPath:"#/properties/nodes/items/properties/x_doc_cycle/properties/version/type",keyword:"type",params:{type: "string"},message:"must be string",schema:schema31.properties.nodes.items.properties.x_doc_cycle.properties.version.type,parentSchema:schema31.properties.nodes.items.properties.x_doc_cycle.properties.version,data:data46};if(vErrors === null){vErrors = [err146];}else {vErrors.push(err146);}errors++;}}if(data43.state !== undefined){let data47 = data43.state;if(!(((((((data47 === "draft") || (data47 === "enacted")) || (data47 === "expired")) || (data47 === "in_force")) || (data47 === "revoked")) || (data47 === "superseded")) || (data47 === "suspended"))){const err147 = {instancePath:instancePath+"/nodes/" + i0+"/x_doc_cycle/state",schemaPath:"#/properties/nodes/items/properties/x_doc_cycle/properties/state/enum",keyword:"enum",params:{allowedValues: schema31.properties.nodes.items.properties.x_doc_cycle.properties.state.enum},message:"must be equal to one of the allowed values",schema:schema31.properties.nodes.items.properties.x_doc_cycle.properties.state.enum,parentSchema:schema31.properties.nodes.items.properties.x_doc_cycle.properties.state,data:data47};if(vErrors === null){vErrors = [err147];}else {vErrors.push(err147);}errors++;}}if(data43.effective_from !== undefined){let data48 = data43.effective_from;if(typeof data48 === "string"){if(!(formats0.test(data48))){const err148 = {instancePath:instancePath+"/nodes/" + i0+"/x_doc_cycle/effective_from",schemaPath:"#/properties/nodes/items/properties/x_doc_cycle/properties/effective_from/format",keyword:"format",params:{format: "date"},message:"must match format \""+"date"+"\"",schema:"date",parentSchema:schema31.properties.nodes.items.properties.x_doc_cycle.properties.effective_from,data:data48};if(vErrors === null){vErrors = [err148];}else {vErrors.push(err148);}errors++;}}else {const err149 = {instancePath:instancePath+"/nodes/" + i0+"/x_doc_cycle/effective_from",schemaPath:"#/properties/nodes/items/properties/x_doc_cycle/properties/effective_from/type",keyword:"type",params:{type: "string"},message:"must be string",schema:schema31.properties.nodes.items.properties.x_doc_cycle.properties.effective_from.type,parentSchema:schema31.properties.nodes.items.properties.x_doc_cycle.properties.effective_from,data:data48};if(vErrors === null){vErrors = [err149];}else {vErrors.push(err149);}errors++;}}if(data43.effective_to !== undefined){let data49 = data43.effective_to;if(typeof data49 === "string"){if(!(formats0.test(data49))){const err150 = {instancePath:instancePath+"/nodes/" + i0+"/x_doc_cycle/effective_to",schemaPath:"#/properties/nodes/items/properties/x_doc_cycle/properties/effective_to/format",keyword:"format",params:{format: "date"},message:"must match format \""+"date"+"\"",schema:"date",parentSchema:schema31.properties.nodes.items.properties.x_doc_cycle.properties.effective_to,data:data49};if(vErrors === null){vErrors = [err150];}else {vErrors.push(err150);}errors++;}}else {const err151 = {instancePath:instancePath+"/nodes/" + i0+"/x_doc_cycle/effective_to",schemaPath:"#/properties/nodes/items/properties/x_doc_cycle/properties/effective_to/type",keyword:"type",params:{type: "string"},message:"must be string",schema:schema31.properties.nodes.items.properties.x_doc_cycle.properties.effective_to.type,parentSchema:schema31.properties.nodes.items.properties.x_doc_cycle.properties.effective_to,data:data49};if(vErrors === null){vErrors = [err151];}else {vErrors.push(err151);}errors++;}}if(data43.updated_at !== undefined){let data50 = data43.updated_at;if(typeof data50 === "string"){if(!(formats0.test(data50))){const err152 = {instancePath:instancePath+"/nodes/" + i0+"/x_doc_cycle/updated_at",schemaPath:"#/properties/nodes/items/properties/x_doc_cycle/properties/updated_at/format",keyword:"format",params:{format: "date"},message:"must match format \""+"date"+"\"",schema:"date",parentSchema:schema31.properties.nodes.items.properties.x_doc_cycle.properties.updated_at,data:data50};if(vErrors === null){vErrors = [err152];}else {vErrors.push(err152);}errors++;}}else {const err153 = {instancePath:instancePath+"/nodes/" + i0+"/x_doc_cycle/updated_at",schemaPath:"#/properties/nodes/items/properties/x_doc_cycle/properties/updated_at/type",keyword:"type",params:{type: "string"},message:"must be string",schema:schema31.properties.nodes.items.properties.x_doc_cycle.properties.updated_at.type,parentSchema:schema31.properties.nodes.items.properties.x_doc_cycle.properties.updated_at,data:data50};if(vErrors === null){vErrors = [err153];}else {vErrors.push(err153);}errors++;}}if(data43.checked_at !== undefined){let data51 = data43.checked_at;if(typeof data51 === "string"){if(!(formats0.test(data51))){const err154 = {instancePath:instancePath+"/nodes/" + i0+"/x_doc_cycle/checked_at",schemaPath:"#/properties/nodes/items/properties/x_doc_cycle/properties/checked_at/format",keyword:"format",params:{format: "date"},message:"must match format \""+"date"+"\"",schema:"date",parentSchema:schema31.properties.nodes.items.properties.x_doc_cycle.properties.checked_at,data:data51};if(vErrors === null){vErrors = [err154];}else {vErrors.push(err154);}errors++;}}else {const err155 = {instancePath:instancePath+"/nodes/" + i0+"/x_doc_cycle/checked_at",schemaPath:"#/properties/nodes/items/properties/x_doc_cycle/properties/checked_at/type",keyword:"type",params:{type: "string"},message:"must be string",schema:schema31.properties.nodes.items.properties.x_doc_cycle.properties.checked_at.type,parentSchema:schema31.properties.nodes.items.properties.x_doc_cycle.properties.checked_at,data:data51};if(vErrors === null){vErrors = [err155];}else {vErrors.push(err155);}errors++;}}if(data43.recheck_every !== undefined){let data52 = data43.recheck_every;if(typeof data52 !== "string"){const err156 = {instancePath:instancePath+"/nodes/" + i0+"/x_doc_cycle/recheck_every",schemaPath:"#/properties/nodes/items/properties/x_doc_cycle/properties/recheck_every/type",keyword:"type",params:{type: "string"},message:"must be string",schema:schema31.properties.nodes.items.properties.x_doc_cycle.properties.recheck_every.type,parentSchema:schema31.properties.nodes.items.properties.x_doc_cycle.properties.recheck_every,data:data52};if(vErrors === null){vErrors = [err156];}else {vErrors.push(err156);}errors++;}if(typeof data52 === "string"){if(!pattern11.test(data52)){const err157 = {instancePath:instancePath+"/nodes/" + i0+"/x_doc_cycle/recheck_every",schemaPath:"#/properties/nodes/items/properties/x_doc_cycle/properties/recheck_every/allOf/0/pattern",keyword:"pattern",params:{pattern: "^P(?:[0-9]+Y(?:[0-9]+M)?(?:[0-9]+W)?(?:[0-9]+D)?|[0-9]+M(?:[0-9]+W)?(?:[0-9]+D)?|[0-9]+W(?:[0-9]+D)?|[0-9]+D)$"},message:"must match pattern \""+"^P(?:[0-9]+Y(?:[0-9]+M)?(?:[0-9]+W)?(?:[0-9]+D)?|[0-9]+M(?:[0-9]+W)?(?:[0-9]+D)?|[0-9]+W(?:[0-9]+D)?|[0-9]+D)$"+"\"",schema:"^P(?:[0-9]+Y(?:[0-9]+M)?(?:[0-9]+W)?(?:[0-9]+D)?|[0-9]+M(?:[0-9]+W)?(?:[0-9]+D)?|[0-9]+W(?:[0-9]+D)?|[0-9]+D)$",parentSchema:schema31.properties.nodes.items.properties.x_doc_cycle.properties.recheck_every.allOf[0],data:data52};if(vErrors === null){vErrors = [err157];}else {vErrors.push(err157);}errors++;}}const _errs181 = errors;const _errs182 = errors;if(errors === _errs182){if(typeof data52 === "string"){if(!pattern12.test(data52)){const err158 = {};if(vErrors === null){vErrors = [err158];}else {vErrors.push(err158);}errors++;}}else {const err159 = {};if(vErrors === null){vErrors = [err159];}else {vErrors.push(err159);}errors++;}}var valid57 = _errs182 === errors;if(valid57){const err160 = {instancePath:instancePath+"/nodes/" + i0+"/x_doc_cycle/recheck_every",schemaPath:"#/properties/nodes/items/properties/x_doc_cycle/properties/recheck_every/allOf/1/not",keyword:"not",params:{},message:"must NOT be valid",schema:schema31.properties.nodes.items.properties.x_doc_cycle.properties.recheck_every.allOf[1].not,parentSchema:schema31.properties.nodes.items.properties.x_doc_cycle.properties.recheck_every.allOf[1],data:data52};if(vErrors === null){vErrors = [err160];}else {vErrors.push(err160);}errors++;}else {errors = _errs181;if(vErrors !== null){if(_errs181){vErrors.length = _errs181;}else {vErrors = null;}}}}}else {const err161 = {instancePath:instancePath+"/nodes/" + i0+"/x_doc_cycle",schemaPath:"#/properties/nodes/items/properties/x_doc_cycle/type",keyword:"type",params:{type: "object"},message:"must be object",schema:schema31.properties.nodes.items.properties.x_doc_cycle.type,parentSchema:schema31.properties.nodes.items.properties.x_doc_cycle,data:data43};if(vErrors === null){vErrors = [err161];}else {vErrors.push(err161);}errors++;}}if(data3.x_questionnaire !== undefined){let data53 = data3.x_questionnaire;if(data53 && typeof data53 == "object" && !Array.isArray(data53)){if(data53.name === undefined){const err162 = {instancePath:instancePath+"/nodes/" + i0+"/x_questionnaire",schemaPath:"#/properties/nodes/items/properties/x_questionnaire/required",keyword:"required",params:{missingProperty: "name"},message:"must have required property '"+"name"+"'",schema:schema31.properties.nodes.items.properties.x_questionnaire.required,parentSchema:schema31.properties.nodes.items.properties.x_questionnaire,data:data53};if(vErrors === null){vErrors = [err162];}else {vErrors.push(err162);}errors++;}if(data53.questions === undefined){const err163 = {instancePath:instancePath+"/nodes/" + i0+"/x_questionnaire",schemaPath:"#/properties/nodes/items/properties/x_questionnaire/required",keyword:"required",params:{missingProperty: "questions"},message:"must have required property '"+"questions"+"'",schema:schema31.properties.nodes.items.properties.x_questionnaire.required,parentSchema:schema31.properties.nodes.items.properties.x_questionnaire,data:data53};if(vErrors === null){vErrors = [err163];}else {vErrors.push(err163);}errors++;}for(const key9 in data53){const _errs186 = errors;if(typeof key9 === "string"){if(!pattern4.test(key9)){const err164 = {instancePath:instancePath+"/nodes/" + i0+"/x_questionnaire",schemaPath:"#/properties/nodes/items/properties/x_questionnaire/propertyNames/allOf/0/pattern",keyword:"pattern",params:{pattern: "^[A-Za-z_][A-Za-z0-9_-]*$"},message:"must match pattern \""+"^[A-Za-z_][A-Za-z0-9_-]*$"+"\"",schema:"^[A-Za-z_][A-Za-z0-9_-]*$",parentSchema:schema31.properties.nodes.items.properties.x_questionnaire.propertyNames.allOf[0],data:key9,propertyName:key9};if(vErrors === null){vErrors = [err164];}else {vErrors.push(err164);}errors++;}}const _errs189 = errors;let valid60 = false;const _errs190 = errors;if(!((((((key9 === "answer_draft") || (key9 === "answered_at")) || (key9 === "name")) || (key9 === "questions")) || (key9 === "role")) || (key9 === "verdict"))){const err165 = {instancePath:instancePath+"/nodes/" + i0+"/x_questionnaire",schemaPath:"#/properties/nodes/items/properties/x_questionnaire/propertyNames/allOf/1/anyOf/0/enum",keyword:"enum",params:{allowedValues: schema31.properties.nodes.items.properties.x_questionnaire.propertyNames.allOf[1].anyOf[0].enum},message:"must be equal to one of the allowed values",schema:schema31.properties.nodes.items.properties.x_questionnaire.propertyNames.allOf[1].anyOf[0].enum,parentSchema:schema31.properties.nodes.items.properties.x_questionnaire.propertyNames.allOf[1].anyOf[0],data:key9,propertyName:key9};if(vErrors === null){vErrors = [err165];}else {vErrors.push(err165);}errors++;}var _valid12 = _errs190 === errors;valid60 = valid60 || _valid12;const _errs191 = errors;if(typeof key9 === "string"){if(!pattern9.test(key9)){const err166 = {instancePath:instancePath+"/nodes/" + i0+"/x_questionnaire",schemaPath:"#/properties/nodes/items/properties/x_questionnaire/propertyNames/allOf/1/anyOf/1/pattern",keyword:"pattern",params:{pattern: "^x_"},message:"must match pattern \""+"^x_"+"\"",schema:"^x_",parentSchema:schema31.properties.nodes.items.properties.x_questionnaire.propertyNames.allOf[1].anyOf[1],data:key9,propertyName:key9};if(vErrors === null){vErrors = [err166];}else {vErrors.push(err166);}errors++;}}var _valid12 = _errs191 === errors;valid60 = valid60 || _valid12;if(!valid60){const err167 = {instancePath:instancePath+"/nodes/" + i0+"/x_questionnaire",schemaPath:"#/properties/nodes/items/properties/x_questionnaire/propertyNames/allOf/1/anyOf",keyword:"anyOf",params:{},message:"must match a schema in anyOf",schema:schema31.properties.nodes.items.properties.x_questionnaire.propertyNames.allOf[1].anyOf,parentSchema:schema31.properties.nodes.items.properties.x_questionnaire.propertyNames.allOf[1],data:key9,propertyName:key9};if(vErrors === null){vErrors = [err167];}else {vErrors.push(err167);}errors++;}else {errors = _errs189;if(vErrors !== null){if(_errs189){vErrors.length = _errs189;}else {vErrors = null;}}}var valid58 = _errs186 === errors;if(!valid58){const err168 = {instancePath:instancePath+"/nodes/" + i0+"/x_questionnaire",schemaPath:"#/properties/nodes/items/properties/x_questionnaire/propertyNames",keyword:"propertyNames",params:{propertyName: key9},message:"property name must be valid",schema:schema31.properties.nodes.items.properties.x_questionnaire.propertyNames,parentSchema:schema31.properties.nodes.items.properties.x_questionnaire,data:data53};if(vErrors === null){vErrors = [err168];}else {vErrors.push(err168);}errors++;}}if(data53.name !== undefined){let data54 = data53.name;if(typeof data54 === "string"){if(func1(data54) < 1){const err169 = {instancePath:instancePath+"/nodes/" + i0+"/x_questionnaire/name",schemaPath:"#/properties/nodes/items/properties/x_questionnaire/properties/name/minLength",keyword:"minLength",params:{limit: 1},message:"must NOT have fewer than 1 characters",schema:1,parentSchema:schema31.properties.nodes.items.properties.x_questionnaire.properties.name,data:data54};if(vErrors === null){vErrors = [err169];}else {vErrors.push(err169);}errors++;}}else {const err170 = {instancePath:instancePath+"/nodes/" + i0+"/x_questionnaire/name",schemaPath:"#/properties/nodes/items/properties/x_questionnaire/properties/name/type",keyword:"type",params:{type: "string"},message:"must be string",schema:schema31.properties.nodes.items.properties.x_questionnaire.properties.name.type,parentSchema:schema31.properties.nodes.items.properties.x_questionnaire.properties.name,data:data54};if(vErrors === null){vErrors = [err170];}else {vErrors.push(err170);}errors++;}}if(data53.questions !== undefined){let data55 = data53.questions;if(Array.isArray(data55)){if(data55.length < 1){const err171 = {instancePath:instancePath+"/nodes/" + i0+"/x_questionnaire/questions",schemaPath:"#/properties/nodes/items/properties/x_questionnaire/properties/questions/minItems",keyword:"minItems",params:{limit: 1},message:"must NOT have fewer than 1 items",schema:1,parentSchema:schema31.properties.nodes.items.properties.x_questionnaire.properties.questions,data:data55};if(vErrors === null){vErrors = [err171];}else {vErrors.push(err171);}errors++;}const len2 = data55.length;for(let i2=0; i2<len2; i2++){let data56 = data55[i2];if(typeof data56 === "string"){if(func1(data56) < 1){const err172 = {instancePath:instancePath+"/nodes/" + i0+"/x_questionnaire/questions/" + i2,schemaPath:"#/properties/nodes/items/properties/x_questionnaire/properties/questions/items/minLength",keyword:"minLength",params:{limit: 1},message:"must NOT have fewer than 1 characters",schema:1,parentSchema:schema31.properties.nodes.items.properties.x_questionnaire.properties.questions.items,data:data56};if(vErrors === null){vErrors = [err172];}else {vErrors.push(err172);}errors++;}}else {const err173 = {instancePath:instancePath+"/nodes/" + i0+"/x_questionnaire/questions/" + i2,schemaPath:"#/properties/nodes/items/properties/x_questionnaire/properties/questions/items/type",keyword:"type",params:{type: "string"},message:"must be string",schema:schema31.properties.nodes.items.properties.x_questionnaire.properties.questions.items.type,parentSchema:schema31.properties.nodes.items.properties.x_questionnaire.properties.questions.items,data:data56};if(vErrors === null){vErrors = [err173];}else {vErrors.push(err173);}errors++;}}}else {const err174 = {instancePath:instancePath+"/nodes/" + i0+"/x_questionnaire/questions",schemaPath:"#/properties/nodes/items/properties/x_questionnaire/properties/questions/type",keyword:"type",params:{type: "array"},message:"must be array",schema:schema31.properties.nodes.items.properties.x_questionnaire.properties.questions.type,parentSchema:schema31.properties.nodes.items.properties.x_questionnaire.properties.questions,data:data55};if(vErrors === null){vErrors = [err174];}else {vErrors.push(err174);}errors++;}}if(data53.answer_draft !== undefined){let data57 = data53.answer_draft;if(typeof data57 === "string"){if(func1(data57) < 1){const err175 = {instancePath:instancePath+"/nodes/" + i0+"/x_questionnaire/answer_draft",schemaPath:"#/properties/nodes/items/properties/x_questionnaire/properties/answer_draft/minLength",keyword:"minLength",params:{limit: 1},message:"must NOT have fewer than 1 characters",schema:1,parentSchema:schema31.properties.nodes.items.properties.x_questionnaire.properties.answer_draft,data:data57};if(vErrors === null){vErrors = [err175];}else {vErrors.push(err175);}errors++;}}else {const err176 = {instancePath:instancePath+"/nodes/" + i0+"/x_questionnaire/answer_draft",schemaPath:"#/properties/nodes/items/properties/x_questionnaire/properties/answer_draft/type",keyword:"type",params:{type: "string"},message:"must be string",schema:schema31.properties.nodes.items.properties.x_questionnaire.properties.answer_draft.type,parentSchema:schema31.properties.nodes.items.properties.x_questionnaire.properties.answer_draft,data:data57};if(vErrors === null){vErrors = [err176];}else {vErrors.push(err176);}errors++;}}if(data53.verdict !== undefined){let data58 = data53.verdict;if(!(((((data58 === "does_not_meet") || (data58 === "meets")) || (data58 === "not_applicable")) || (data58 === "partial")) || (data58 === "unknown"))){const err177 = {instancePath:instancePath+"/nodes/" + i0+"/x_questionnaire/verdict",schemaPath:"#/properties/nodes/items/properties/x_questionnaire/properties/verdict/enum",keyword:"enum",params:{allowedValues: schema31.properties.nodes.items.properties.x_questionnaire.properties.verdict.enum},message:"must be equal to one of the allowed values",schema:schema31.properties.nodes.items.properties.x_questionnaire.properties.verdict.enum,parentSchema:schema31.properties.nodes.items.properties.x_questionnaire.properties.verdict,data:data58};if(vErrors === null){vErrors = [err177];}else {vErrors.push(err177);}errors++;}}if(data53.answered_at !== undefined){let data59 = data53.answered_at;if(typeof data59 === "string"){if(!(formats0.test(data59))){const err178 = {instancePath:instancePath+"/nodes/" + i0+"/x_questionnaire/answered_at",schemaPath:"#/properties/nodes/items/properties/x_questionnaire/properties/answered_at/format",keyword:"format",params:{format: "date"},message:"must match format \""+"date"+"\"",schema:"date",parentSchema:schema31.properties.nodes.items.properties.x_questionnaire.properties.answered_at,data:data59};if(vErrors === null){vErrors = [err178];}else {vErrors.push(err178);}errors++;}}else {const err179 = {instancePath:instancePath+"/nodes/" + i0+"/x_questionnaire/answered_at",schemaPath:"#/properties/nodes/items/properties/x_questionnaire/properties/answered_at/type",keyword:"type",params:{type: "string"},message:"must be string",schema:schema31.properties.nodes.items.properties.x_questionnaire.properties.answered_at.type,parentSchema:schema31.properties.nodes.items.properties.x_questionnaire.properties.answered_at,data:data59};if(vErrors === null){vErrors = [err179];}else {vErrors.push(err179);}errors++;}}if(data53.role !== undefined){let data60 = data53.role;if(!(((data60 === "evidence_request") || (data60 === "evidence_requirement")) || (data60 === "item"))){const err180 = {instancePath:instancePath+"/nodes/" + i0+"/x_questionnaire/role",schemaPath:"#/properties/nodes/items/properties/x_questionnaire/properties/role/enum",keyword:"enum",params:{allowedValues: schema31.properties.nodes.items.properties.x_questionnaire.properties.role.enum},message:"must be equal to one of the allowed values",schema:schema31.properties.nodes.items.properties.x_questionnaire.properties.role.enum,parentSchema:schema31.properties.nodes.items.properties.x_questionnaire.properties.role,data:data60};if(vErrors === null){vErrors = [err180];}else {vErrors.push(err180);}errors++;}}}else {const err181 = {instancePath:instancePath+"/nodes/" + i0+"/x_questionnaire",schemaPath:"#/properties/nodes/items/properties/x_questionnaire/type",keyword:"type",params:{type: "object"},message:"must be object",schema:schema31.properties.nodes.items.properties.x_questionnaire.type,parentSchema:schema31.properties.nodes.items.properties.x_questionnaire,data:data53};if(vErrors === null){vErrors = [err181];}else {vErrors.push(err181);}errors++;}}if(data3.x_severity !== undefined){let data61 = data3.x_severity;if(!(((((data61 === "critical") || (data61 === "high")) || (data61 === "info")) || (data61 === "low")) || (data61 === "medium"))){const err182 = {instancePath:instancePath+"/nodes/" + i0+"/x_severity",schemaPath:"#/properties/nodes/items/properties/x_severity/enum",keyword:"enum",params:{allowedValues: schema31.properties.nodes.items.properties.x_severity.enum},message:"must be equal to one of the allowed values",schema:schema31.properties.nodes.items.properties.x_severity.enum,parentSchema:schema31.properties.nodes.items.properties.x_severity,data:data61};if(vErrors === null){vErrors = [err182];}else {vErrors.push(err182);}errors++;}}if(data3.x_criterion !== undefined){let data62 = data3.x_criterion;const _errs208 = errors;let valid65 = true;const _errs209 = errors;if(errors === _errs209){if(data62 && typeof data62 == "object" && !Array.isArray(data62)){let missing6;if((data62.ref === undefined) && (missing6 = "ref")){const err183 = {};if(vErrors === null){vErrors = [err183];}else {vErrors.push(err183);}errors++;}}else {const err184 = {};if(vErrors === null){vErrors = [err184];}else {vErrors.push(err184);}errors++;}}var _valid13 = _errs209 === errors;errors = _errs208;if(vErrors !== null){if(_errs208){vErrors.length = _errs208;}else {vErrors = null;}}if(_valid13){const _errs211 = errors;const _errs212 = errors;const _errs213 = errors;if(data62 && typeof data62 == "object" && !Array.isArray(data62)){let missing7;if((data62.text === undefined) && (missing7 = "text")){const err185 = {};if(vErrors === null){vErrors = [err185];}else {vErrors.push(err185);}errors++;}}var valid66 = _errs213 === errors;if(valid66){const err186 = {instancePath:instancePath+"/nodes/" + i0+"/x_criterion",schemaPath:"#/properties/nodes/items/properties/x_criterion/allOf/0/then/not",keyword:"not",params:{},message:"must NOT be valid",schema:schema31.properties.nodes.items.properties.x_criterion.allOf[0].then.not,parentSchema:schema31.properties.nodes.items.properties.x_criterion.allOf[0].then,data:data62};if(vErrors === null){vErrors = [err186];}else {vErrors.push(err186);}errors++;}else {errors = _errs212;if(vErrors !== null){if(_errs212){vErrors.length = _errs212;}else {vErrors = null;}}}var _valid13 = _errs211 === errors;valid65 = _valid13;}if(!valid65){const err187 = {instancePath:instancePath+"/nodes/" + i0+"/x_criterion",schemaPath:"#/properties/nodes/items/properties/x_criterion/allOf/0/if",keyword:"if",params:{failingKeyword: "then"},message:"must match \"then\" schema",schema:schema31.properties.nodes.items.properties.x_criterion.allOf[0].if,parentSchema:schema31.properties.nodes.items.properties.x_criterion.allOf[0],data:data62};if(vErrors === null){vErrors = [err187];}else {vErrors.push(err187);}errors++;}const _errs215 = errors;let valid67 = true;const _errs216 = errors;if(!(data62 && typeof data62 == "object" && !Array.isArray(data62))){const err188 = {};if(vErrors === null){vErrors = [err188];}else {vErrors.push(err188);}errors++;}const _errs218 = errors;const _errs219 = errors;if(data62 && typeof data62 == "object" && !Array.isArray(data62)){let missing8;if((data62.ref === undefined) && (missing8 = "ref")){const err189 = {};if(vErrors === null){vErrors = [err189];}else {vErrors.push(err189);}errors++;}}var valid68 = _errs219 === errors;if(valid68){const err190 = {};if(vErrors === null){vErrors = [err190];}else {vErrors.push(err190);}errors++;}else {errors = _errs218;if(vErrors !== null){if(_errs218){vErrors.length = _errs218;}else {vErrors = null;}}}var _valid14 = _errs216 === errors;errors = _errs215;if(vErrors !== null){if(_errs215){vErrors.length = _errs215;}else {vErrors = null;}}if(_valid14){const _errs220 = errors;if(data62 && typeof data62 == "object" && !Array.isArray(data62)){if(data62.text === undefined){const err191 = {instancePath:instancePath+"/nodes/" + i0+"/x_criterion",schemaPath:"#/properties/nodes/items/properties/x_criterion/allOf/1/then/required",keyword:"required",params:{missingProperty: "text"},message:"must have required property '"+"text"+"'",schema:schema31.properties.nodes.items.properties.x_criterion.allOf[1].then.required,parentSchema:schema31.properties.nodes.items.properties.x_criterion.allOf[1].then,data:data62};if(vErrors === null){vErrors = [err191];}else {vErrors.push(err191);}errors++;}}var _valid14 = _errs220 === errors;valid67 = _valid14;}if(!valid67){const err192 = {instancePath:instancePath+"/nodes/" + i0+"/x_criterion",schemaPath:"#/properties/nodes/items/properties/x_criterion/allOf/1/if",keyword:"if",params:{failingKeyword: "then"},message:"must match \"then\" schema",schema:schema31.properties.nodes.items.properties.x_criterion.allOf[1].if,parentSchema:schema31.properties.nodes.items.properties.x_criterion.allOf[1],data:data62};if(vErrors === null){vErrors = [err192];}else {vErrors.push(err192);}errors++;}const _errs222 = errors;let valid69 = true;const _errs223 = errors;if(errors === _errs223){if(data62 && typeof data62 == "object" && !Array.isArray(data62)){let missing9;if((data62.amends === undefined) && (missing9 = "amends")){const err193 = {};if(vErrors === null){vErrors = [err193];}else {vErrors.push(err193);}errors++;}}else {const err194 = {};if(vErrors === null){vErrors = [err194];}else {vErrors.push(err194);}errors++;}}var _valid15 = _errs223 === errors;errors = _errs222;if(vErrors !== null){if(_errs222){vErrors.length = _errs222;}else {vErrors = null;}}if(_valid15){const _errs225 = errors;if(data62 && typeof data62 == "object" && !Array.isArray(data62)){if(data62.reason === undefined){const err195 = {instancePath:instancePath+"/nodes/" + i0+"/x_criterion",schemaPath:"#/properties/nodes/items/properties/x_criterion/allOf/2/then/required",keyword:"required",params:{missingProperty: "reason"},message:"must have required property '"+"reason"+"'",schema:schema31.properties.nodes.items.properties.x_criterion.allOf[2].then.required,parentSchema:schema31.properties.nodes.items.properties.x_criterion.allOf[2].then,data:data62};if(vErrors === null){vErrors = [err195];}else {vErrors.push(err195);}errors++;}}var _valid15 = _errs225 === errors;valid69 = _valid15;}if(!valid69){const err196 = {instancePath:instancePath+"/nodes/" + i0+"/x_criterion",schemaPath:"#/properties/nodes/items/properties/x_criterion/allOf/2/if",keyword:"if",params:{failingKeyword: "then"},message:"must match \"then\" schema",schema:schema31.properties.nodes.items.properties.x_criterion.allOf[2].if,parentSchema:schema31.properties.nodes.items.properties.x_criterion.allOf[2],data:data62};if(vErrors === null){vErrors = [err196];}else {vErrors.push(err196);}errors++;}if(data62 && typeof data62 == "object" && !Array.isArray(data62)){if(data62.id === undefined){const err197 = {instancePath:instancePath+"/nodes/" + i0+"/x_criterion",schemaPath:"#/properties/nodes/items/properties/x_criterion/required",keyword:"required",params:{missingProperty: "id"},message:"must have required property '"+"id"+"'",schema:schema31.properties.nodes.items.properties.x_criterion.required,parentSchema:schema31.properties.nodes.items.properties.x_criterion,data:data62};if(vErrors === null){vErrors = [err197];}else {vErrors.push(err197);}errors++;}if(data62.version === undefined){const err198 = {instancePath:instancePath+"/nodes/" + i0+"/x_criterion",schemaPath:"#/properties/nodes/items/properties/x_criterion/required",keyword:"required",params:{missingProperty: "version"},message:"must have required property '"+"version"+"'",schema:schema31.properties.nodes.items.properties.x_criterion.required,parentSchema:schema31.properties.nodes.items.properties.x_criterion,data:data62};if(vErrors === null){vErrors = [err198];}else {vErrors.push(err198);}errors++;}if(data62.registered_at === undefined){const err199 = {instancePath:instancePath+"/nodes/" + i0+"/x_criterion",schemaPath:"#/properties/nodes/items/properties/x_criterion/required",keyword:"required",params:{missingProperty: "registered_at"},message:"must have required property '"+"registered_at"+"'",schema:schema31.properties.nodes.items.properties.x_criterion.required,parentSchema:schema31.properties.nodes.items.properties.x_criterion,data:data62};if(vErrors === null){vErrors = [err199];}else {vErrors.push(err199);}errors++;}if(data62.sha256 === undefined){const err200 = {instancePath:instancePath+"/nodes/" + i0+"/x_criterion",schemaPath:"#/properties/nodes/items/properties/x_criterion/required",keyword:"required",params:{missingProperty: "sha256"},message:"must have required property '"+"sha256"+"'",schema:schema31.properties.nodes.items.properties.x_criterion.required,parentSchema:schema31.properties.nodes.items.properties.x_criterion,data:data62};if(vErrors === null){vErrors = [err200];}else {vErrors.push(err200);}errors++;}for(const key10 in data62){const _errs226 = errors;if(typeof key10 === "string"){if(!pattern4.test(key10)){const err201 = {instancePath:instancePath+"/nodes/" + i0+"/x_criterion",schemaPath:"#/properties/nodes/items/properties/x_criterion/propertyNames/allOf/0/pattern",keyword:"pattern",params:{pattern: "^[A-Za-z_][A-Za-z0-9_-]*$"},message:"must match pattern \""+"^[A-Za-z_][A-Za-z0-9_-]*$"+"\"",schema:"^[A-Za-z_][A-Za-z0-9_-]*$",parentSchema:schema31.properties.nodes.items.properties.x_criterion.propertyNames.allOf[0],data:key10,propertyName:key10};if(vErrors === null){vErrors = [err201];}else {vErrors.push(err201);}errors++;}}const _errs229 = errors;let valid72 = false;const _errs230 = errors;if(!(((((((((key10 === "amends") || (key10 === "id")) || (key10 === "reason")) || (key10 === "ref")) || (key10 === "registered_at")) || (key10 === "round")) || (key10 === "sha256")) || (key10 === "text")) || (key10 === "version"))){const err202 = {instancePath:instancePath+"/nodes/" + i0+"/x_criterion",schemaPath:"#/properties/nodes/items/properties/x_criterion/propertyNames/allOf/1/anyOf/0/enum",keyword:"enum",params:{allowedValues: schema31.properties.nodes.items.properties.x_criterion.propertyNames.allOf[1].anyOf[0].enum},message:"must be equal to one of the allowed values",schema:schema31.properties.nodes.items.properties.x_criterion.propertyNames.allOf[1].anyOf[0].enum,parentSchema:schema31.properties.nodes.items.properties.x_criterion.propertyNames.allOf[1].anyOf[0],data:key10,propertyName:key10};if(vErrors === null){vErrors = [err202];}else {vErrors.push(err202);}errors++;}var _valid16 = _errs230 === errors;valid72 = valid72 || _valid16;const _errs231 = errors;if(typeof key10 === "string"){if(!pattern9.test(key10)){const err203 = {instancePath:instancePath+"/nodes/" + i0+"/x_criterion",schemaPath:"#/properties/nodes/items/properties/x_criterion/propertyNames/allOf/1/anyOf/1/pattern",keyword:"pattern",params:{pattern: "^x_"},message:"must match pattern \""+"^x_"+"\"",schema:"^x_",parentSchema:schema31.properties.nodes.items.properties.x_criterion.propertyNames.allOf[1].anyOf[1],data:key10,propertyName:key10};if(vErrors === null){vErrors = [err203];}else {vErrors.push(err203);}errors++;}}var _valid16 = _errs231 === errors;valid72 = valid72 || _valid16;if(!valid72){const err204 = {instancePath:instancePath+"/nodes/" + i0+"/x_criterion",schemaPath:"#/properties/nodes/items/properties/x_criterion/propertyNames/allOf/1/anyOf",keyword:"anyOf",params:{},message:"must match a schema in anyOf",schema:schema31.properties.nodes.items.properties.x_criterion.propertyNames.allOf[1].anyOf,parentSchema:schema31.properties.nodes.items.properties.x_criterion.propertyNames.allOf[1],data:key10,propertyName:key10};if(vErrors === null){vErrors = [err204];}else {vErrors.push(err204);}errors++;}else {errors = _errs229;if(vErrors !== null){if(_errs229){vErrors.length = _errs229;}else {vErrors = null;}}}var valid70 = _errs226 === errors;if(!valid70){const err205 = {instancePath:instancePath+"/nodes/" + i0+"/x_criterion",schemaPath:"#/properties/nodes/items/properties/x_criterion/propertyNames",keyword:"propertyNames",params:{propertyName: key10},message:"property name must be valid",schema:schema31.properties.nodes.items.properties.x_criterion.propertyNames,parentSchema:schema31.properties.nodes.items.properties.x_criterion,data:data62};if(vErrors === null){vErrors = [err205];}else {vErrors.push(err205);}errors++;}}if(data62.id !== undefined){let data63 = data62.id;if(typeof data63 === "string"){if(func1(data63) < 1){const err206 = {instancePath:instancePath+"/nodes/" + i0+"/x_criterion/id",schemaPath:"#/properties/nodes/items/properties/x_criterion/properties/id/minLength",keyword:"minLength",params:{limit: 1},message:"must NOT have fewer than 1 characters",schema:1,parentSchema:schema31.properties.nodes.items.properties.x_criterion.properties.id,data:data63};if(vErrors === null){vErrors = [err206];}else {vErrors.push(err206);}errors++;}}else {const err207 = {instancePath:instancePath+"/nodes/" + i0+"/x_criterion/id",schemaPath:"#/properties/nodes/items/properties/x_criterion/properties/id/type",keyword:"type",params:{type: "string"},message:"must be string",schema:schema31.properties.nodes.items.properties.x_criterion.properties.id.type,parentSchema:schema31.properties.nodes.items.properties.x_criterion.properties.id,data:data63};if(vErrors === null){vErrors = [err207];}else {vErrors.push(err207);}errors++;}}if(data62.version !== undefined){let data64 = data62.version;if((typeof data64 !== "string") && (!((typeof data64 == "number") && (!(data64 % 1) && !isNaN(data64))))){const err208 = {instancePath:instancePath+"/nodes/" + i0+"/x_criterion/version",schemaPath:"#/properties/nodes/items/properties/x_criterion/properties/version/type",keyword:"type",params:{type: schema31.properties.nodes.items.properties.x_criterion.properties.version.type},message:"must be string,integer",schema:schema31.properties.nodes.items.properties.x_criterion.properties.version.type,parentSchema:schema31.properties.nodes.items.properties.x_criterion.properties.version,data:data64};if(vErrors === null){vErrors = [err208];}else {vErrors.push(err208);}errors++;}if(typeof data64 === "string"){if(func1(data64) < 1){const err209 = {instancePath:instancePath+"/nodes/" + i0+"/x_criterion/version",schemaPath:"#/properties/nodes/items/properties/x_criterion/properties/version/minLength",keyword:"minLength",params:{limit: 1},message:"must NOT have fewer than 1 characters",schema:1,parentSchema:schema31.properties.nodes.items.properties.x_criterion.properties.version,data:data64};if(vErrors === null){vErrors = [err209];}else {vErrors.push(err209);}errors++;}}}if(data62.registered_at !== undefined){let data65 = data62.registered_at;if(typeof data65 === "string"){if(!pattern38.test(data65)){const err210 = {instancePath:instancePath+"/nodes/" + i0+"/x_criterion/registered_at",schemaPath:"#/properties/nodes/items/properties/x_criterion/properties/registered_at/pattern",keyword:"pattern",params:{pattern: "^[0-9]{4}-(?:0[1-9]|1[0-2])-(?:0[1-9]|[12][0-9]|3[01])(?:[Tt](?:[01][0-9]|2[0-3]):[0-5][0-9]:(?:[0-5][0-9]|60)(?:\\.[0-9]+)?(?:[Zz]|[+-](?:[01][0-9]|2[0-3]):[0-5][0-9]))?$"},message:"must match pattern \""+"^[0-9]{4}-(?:0[1-9]|1[0-2])-(?:0[1-9]|[12][0-9]|3[01])(?:[Tt](?:[01][0-9]|2[0-3]):[0-5][0-9]:(?:[0-5][0-9]|60)(?:\\.[0-9]+)?(?:[Zz]|[+-](?:[01][0-9]|2[0-3]):[0-5][0-9]))?$"+"\"",schema:"^[0-9]{4}-(?:0[1-9]|1[0-2])-(?:0[1-9]|[12][0-9]|3[01])(?:[Tt](?:[01][0-9]|2[0-3]):[0-5][0-9]:(?:[0-5][0-9]|60)(?:\\.[0-9]+)?(?:[Zz]|[+-](?:[01][0-9]|2[0-3]):[0-5][0-9]))?$",parentSchema:schema31.properties.nodes.items.properties.x_criterion.properties.registered_at,data:data65};if(vErrors === null){vErrors = [err210];}else {vErrors.push(err210);}errors++;}}else {const err211 = {instancePath:instancePath+"/nodes/" + i0+"/x_criterion/registered_at",schemaPath:"#/properties/nodes/items/properties/x_criterion/properties/registered_at/type",keyword:"type",params:{type: "string"},message:"must be string",schema:schema31.properties.nodes.items.properties.x_criterion.properties.registered_at.type,parentSchema:schema31.properties.nodes.items.properties.x_criterion.properties.registered_at,data:data65};if(vErrors === null){vErrors = [err211];}else {vErrors.push(err211);}errors++;}}if(data62.sha256 !== undefined){let data66 = data62.sha256;if(typeof data66 === "string"){if(!pattern39.test(data66)){const err212 = {instancePath:instancePath+"/nodes/" + i0+"/x_criterion/sha256",schemaPath:"#/properties/nodes/items/properties/x_criterion/properties/sha256/pattern",keyword:"pattern",params:{pattern: "^[0-9a-f]{64}$"},message:"must match pattern \""+"^[0-9a-f]{64}$"+"\"",schema:"^[0-9a-f]{64}$",parentSchema:schema31.properties.nodes.items.properties.x_criterion.properties.sha256,data:data66};if(vErrors === null){vErrors = [err212];}else {vErrors.push(err212);}errors++;}}else {const err213 = {instancePath:instancePath+"/nodes/" + i0+"/x_criterion/sha256",schemaPath:"#/properties/nodes/items/properties/x_criterion/properties/sha256/type",keyword:"type",params:{type: "string"},message:"must be string",schema:schema31.properties.nodes.items.properties.x_criterion.properties.sha256.type,parentSchema:schema31.properties.nodes.items.properties.x_criterion.properties.sha256,data:data66};if(vErrors === null){vErrors = [err213];}else {vErrors.push(err213);}errors++;}}if(data62.ref !== undefined){let data67 = data62.ref;if(typeof data67 === "string"){if(func1(data67) < 1){const err214 = {instancePath:instancePath+"/nodes/" + i0+"/x_criterion/ref",schemaPath:"#/properties/nodes/items/properties/x_criterion/properties/ref/minLength",keyword:"minLength",params:{limit: 1},message:"must NOT have fewer than 1 characters",schema:1,parentSchema:schema31.properties.nodes.items.properties.x_criterion.properties.ref,data:data67};if(vErrors === null){vErrors = [err214];}else {vErrors.push(err214);}errors++;}}else {const err215 = {instancePath:instancePath+"/nodes/" + i0+"/x_criterion/ref",schemaPath:"#/properties/nodes/items/properties/x_criterion/properties/ref/type",keyword:"type",params:{type: "string"},message:"must be string",schema:schema31.properties.nodes.items.properties.x_criterion.properties.ref.type,parentSchema:schema31.properties.nodes.items.properties.x_criterion.properties.ref,data:data67};if(vErrors === null){vErrors = [err215];}else {vErrors.push(err215);}errors++;}}if(data62.text !== undefined){let data68 = data62.text;if(typeof data68 === "string"){if(func1(data68) < 1){const err216 = {instancePath:instancePath+"/nodes/" + i0+"/x_criterion/text",schemaPath:"#/properties/nodes/items/properties/x_criterion/properties/text/minLength",keyword:"minLength",params:{limit: 1},message:"must NOT have fewer than 1 characters",schema:1,parentSchema:schema31.properties.nodes.items.properties.x_criterion.properties.text,data:data68};if(vErrors === null){vErrors = [err216];}else {vErrors.push(err216);}errors++;}}else {const err217 = {instancePath:instancePath+"/nodes/" + i0+"/x_criterion/text",schemaPath:"#/properties/nodes/items/properties/x_criterion/properties/text/type",keyword:"type",params:{type: "string"},message:"must be string",schema:schema31.properties.nodes.items.properties.x_criterion.properties.text.type,parentSchema:schema31.properties.nodes.items.properties.x_criterion.properties.text,data:data68};if(vErrors === null){vErrors = [err217];}else {vErrors.push(err217);}errors++;}}if(data62.amends !== undefined){let data69 = data62.amends;if(typeof data69 === "string"){if(func1(data69) < 1){const err218 = {instancePath:instancePath+"/nodes/" + i0+"/x_criterion/amends",schemaPath:"#/properties/nodes/items/properties/x_criterion/properties/amends/minLength",keyword:"minLength",params:{limit: 1},message:"must NOT have fewer than 1 characters",schema:1,parentSchema:schema31.properties.nodes.items.properties.x_criterion.properties.amends,data:data69};if(vErrors === null){vErrors = [err218];}else {vErrors.push(err218);}errors++;}}else {const err219 = {instancePath:instancePath+"/nodes/" + i0+"/x_criterion/amends",schemaPath:"#/properties/nodes/items/properties/x_criterion/properties/amends/type",keyword:"type",params:{type: "string"},message:"must be string",schema:schema31.properties.nodes.items.properties.x_criterion.properties.amends.type,parentSchema:schema31.properties.nodes.items.properties.x_criterion.properties.amends,data:data69};if(vErrors === null){vErrors = [err219];}else {vErrors.push(err219);}errors++;}}if(data62.reason !== undefined){let data70 = data62.reason;if(typeof data70 === "string"){if(func1(data70) < 1){const err220 = {instancePath:instancePath+"/nodes/" + i0+"/x_criterion/reason",schemaPath:"#/properties/nodes/items/properties/x_criterion/properties/reason/minLength",keyword:"minLength",params:{limit: 1},message:"must NOT have fewer than 1 characters",schema:1,parentSchema:schema31.properties.nodes.items.properties.x_criterion.properties.reason,data:data70};if(vErrors === null){vErrors = [err220];}else {vErrors.push(err220);}errors++;}}else {const err221 = {instancePath:instancePath+"/nodes/" + i0+"/x_criterion/reason",schemaPath:"#/properties/nodes/items/properties/x_criterion/properties/reason/type",keyword:"type",params:{type: "string"},message:"must be string",schema:schema31.properties.nodes.items.properties.x_criterion.properties.reason.type,parentSchema:schema31.properties.nodes.items.properties.x_criterion.properties.reason,data:data70};if(vErrors === null){vErrors = [err221];}else {vErrors.push(err221);}errors++;}}if(data62.round !== undefined){let data71 = data62.round;if(typeof data71 === "string"){if(func1(data71) < 1){const err222 = {instancePath:instancePath+"/nodes/" + i0+"/x_criterion/round",schemaPath:"#/properties/nodes/items/properties/x_criterion/properties/round/minLength",keyword:"minLength",params:{limit: 1},message:"must NOT have fewer than 1 characters",schema:1,parentSchema:schema31.properties.nodes.items.properties.x_criterion.properties.round,data:data71};if(vErrors === null){vErrors = [err222];}else {vErrors.push(err222);}errors++;}}else {const err223 = {instancePath:instancePath+"/nodes/" + i0+"/x_criterion/round",schemaPath:"#/properties/nodes/items/properties/x_criterion/properties/round/type",keyword:"type",params:{type: "string"},message:"must be string",schema:schema31.properties.nodes.items.properties.x_criterion.properties.round.type,parentSchema:schema31.properties.nodes.items.properties.x_criterion.properties.round,data:data71};if(vErrors === null){vErrors = [err223];}else {vErrors.push(err223);}errors++;}}}else {const err224 = {instancePath:instancePath+"/nodes/" + i0+"/x_criterion",schemaPath:"#/properties/nodes/items/properties/x_criterion/type",keyword:"type",params:{type: "object"},message:"must be object",schema:schema31.properties.nodes.items.properties.x_criterion.type,parentSchema:schema31.properties.nodes.items.properties.x_criterion,data:data62};if(vErrors === null){vErrors = [err224];}else {vErrors.push(err224);}errors++;}}if(data3.x_measured_under !== undefined){let data72 = data3.x_measured_under;if(data72 && typeof data72 == "object" && !Array.isArray(data72)){if(data72.measured_at === undefined){const err225 = {instancePath:instancePath+"/nodes/" + i0+"/x_measured_under",schemaPath:"#/properties/nodes/items/properties/x_measured_under/required",keyword:"required",params:{missingProperty: "measured_at"},message:"must have required property '"+"measured_at"+"'",schema:schema31.properties.nodes.items.properties.x_measured_under.required,parentSchema:schema31.properties.nodes.items.properties.x_measured_under,data:data72};if(vErrors === null){vErrors = [err225];}else {vErrors.push(err225);}errors++;}if(data72.criteria === undefined){const err226 = {instancePath:instancePath+"/nodes/" + i0+"/x_measured_under",schemaPath:"#/properties/nodes/items/properties/x_measured_under/required",keyword:"required",params:{missingProperty: "criteria"},message:"must have required property '"+"criteria"+"'",schema:schema31.properties.nodes.items.properties.x_measured_under.required,parentSchema:schema31.properties.nodes.items.properties.x_measured_under,data:data72};if(vErrors === null){vErrors = [err226];}else {vErrors.push(err226);}errors++;}for(const key11 in data72){const _errs252 = errors;if(typeof key11 === "string"){if(!pattern4.test(key11)){const err227 = {instancePath:instancePath+"/nodes/" + i0+"/x_measured_under",schemaPath:"#/properties/nodes/items/properties/x_measured_under/propertyNames/allOf/0/pattern",keyword:"pattern",params:{pattern: "^[A-Za-z_][A-Za-z0-9_-]*$"},message:"must match pattern \""+"^[A-Za-z_][A-Za-z0-9_-]*$"+"\"",schema:"^[A-Za-z_][A-Za-z0-9_-]*$",parentSchema:schema31.properties.nodes.items.properties.x_measured_under.propertyNames.allOf[0],data:key11,propertyName:key11};if(vErrors === null){vErrors = [err227];}else {vErrors.push(err227);}errors++;}}const _errs255 = errors;let valid76 = false;const _errs256 = errors;if(!(((((key11 === "criteria") || (key11 === "measured_at")) || (key11 === "round")) || (key11 === "subject")) || (key11 === "verdict"))){const err228 = {instancePath:instancePath+"/nodes/" + i0+"/x_measured_under",schemaPath:"#/properties/nodes/items/properties/x_measured_under/propertyNames/allOf/1/anyOf/0/enum",keyword:"enum",params:{allowedValues: schema31.properties.nodes.items.properties.x_measured_under.propertyNames.allOf[1].anyOf[0].enum},message:"must be equal to one of the allowed values",schema:schema31.properties.nodes.items.properties.x_measured_under.propertyNames.allOf[1].anyOf[0].enum,parentSchema:schema31.properties.nodes.items.properties.x_measured_under.propertyNames.allOf[1].anyOf[0],data:key11,propertyName:key11};if(vErrors === null){vErrors = [err228];}else {vErrors.push(err228);}errors++;}var _valid17 = _errs256 === errors;valid76 = valid76 || _valid17;const _errs257 = errors;if(typeof key11 === "string"){if(!pattern9.test(key11)){const err229 = {instancePath:instancePath+"/nodes/" + i0+"/x_measured_under",schemaPath:"#/properties/nodes/items/properties/x_measured_under/propertyNames/allOf/1/anyOf/1/pattern",keyword:"pattern",params:{pattern: "^x_"},message:"must match pattern \""+"^x_"+"\"",schema:"^x_",parentSchema:schema31.properties.nodes.items.properties.x_measured_under.propertyNames.allOf[1].anyOf[1],data:key11,propertyName:key11};if(vErrors === null){vErrors = [err229];}else {vErrors.push(err229);}errors++;}}var _valid17 = _errs257 === errors;valid76 = valid76 || _valid17;if(!valid76){const err230 = {instancePath:instancePath+"/nodes/" + i0+"/x_measured_under",schemaPath:"#/properties/nodes/items/properties/x_measured_under/propertyNames/allOf/1/anyOf",keyword:"anyOf",params:{},message:"must match a schema in anyOf",schema:schema31.properties.nodes.items.properties.x_measured_under.propertyNames.allOf[1].anyOf,parentSchema:schema31.properties.nodes.items.properties.x_measured_under.propertyNames.allOf[1],data:key11,propertyName:key11};if(vErrors === null){vErrors = [err230];}else {vErrors.push(err230);}errors++;}else {errors = _errs255;if(vErrors !== null){if(_errs255){vErrors.length = _errs255;}else {vErrors = null;}}}var valid74 = _errs252 === errors;if(!valid74){const err231 = {instancePath:instancePath+"/nodes/" + i0+"/x_measured_under",schemaPath:"#/properties/nodes/items/properties/x_measured_under/propertyNames",keyword:"propertyNames",params:{propertyName: key11},message:"property name must be valid",schema:schema31.properties.nodes.items.properties.x_measured_under.propertyNames,parentSchema:schema31.properties.nodes.items.properties.x_measured_under,data:data72};if(vErrors === null){vErrors = [err231];}else {vErrors.push(err231);}errors++;}}if(data72.measured_at !== undefined){let data73 = data72.measured_at;if(typeof data73 === "string"){if(!pattern38.test(data73)){const err232 = {instancePath:instancePath+"/nodes/" + i0+"/x_measured_under/measured_at",schemaPath:"#/properties/nodes/items/properties/x_measured_under/properties/measured_at/pattern",keyword:"pattern",params:{pattern: "^[0-9]{4}-(?:0[1-9]|1[0-2])-(?:0[1-9]|[12][0-9]|3[01])(?:[Tt](?:[01][0-9]|2[0-3]):[0-5][0-9]:(?:[0-5][0-9]|60)(?:\\.[0-9]+)?(?:[Zz]|[+-](?:[01][0-9]|2[0-3]):[0-5][0-9]))?$"},message:"must match pattern \""+"^[0-9]{4}-(?:0[1-9]|1[0-2])-(?:0[1-9]|[12][0-9]|3[01])(?:[Tt](?:[01][0-9]|2[0-3]):[0-5][0-9]:(?:[0-5][0-9]|60)(?:\\.[0-9]+)?(?:[Zz]|[+-](?:[01][0-9]|2[0-3]):[0-5][0-9]))?$"+"\"",schema:"^[0-9]{4}-(?:0[1-9]|1[0-2])-(?:0[1-9]|[12][0-9]|3[01])(?:[Tt](?:[01][0-9]|2[0-3]):[0-5][0-9]:(?:[0-5][0-9]|60)(?:\\.[0-9]+)?(?:[Zz]|[+-](?:[01][0-9]|2[0-3]):[0-5][0-9]))?$",parentSchema:schema31.properties.nodes.items.properties.x_measured_under.properties.measured_at,data:data73};if(vErrors === null){vErrors = [err232];}else {vErrors.push(err232);}errors++;}}else {const err233 = {instancePath:instancePath+"/nodes/" + i0+"/x_measured_under/measured_at",schemaPath:"#/properties/nodes/items/properties/x_measured_under/properties/measured_at/type",keyword:"type",params:{type: "string"},message:"must be string",schema:schema31.properties.nodes.items.properties.x_measured_under.properties.measured_at.type,parentSchema:schema31.properties.nodes.items.properties.x_measured_under.properties.measured_at,data:data73};if(vErrors === null){vErrors = [err233];}else {vErrors.push(err233);}errors++;}}if(data72.criteria !== undefined){let data74 = data72.criteria;if(Array.isArray(data74)){if(data74.length < 1){const err234 = {instancePath:instancePath+"/nodes/" + i0+"/x_measured_under/criteria",schemaPath:"#/properties/nodes/items/properties/x_measured_under/properties/criteria/minItems",keyword:"minItems",params:{limit: 1},message:"must NOT have fewer than 1 items",schema:1,parentSchema:schema31.properties.nodes.items.properties.x_measured_under.properties.criteria,data:data74};if(vErrors === null){vErrors = [err234];}else {vErrors.push(err234);}errors++;}const len3 = data74.length;for(let i3=0; i3<len3; i3++){let data75 = data74[i3];if(data75 && typeof data75 == "object" && !Array.isArray(data75)){if(data75.criterion === undefined){const err235 = {instancePath:instancePath+"/nodes/" + i0+"/x_measured_under/criteria/" + i3,schemaPath:"#/properties/nodes/items/properties/x_measured_under/properties/criteria/items/required",keyword:"required",params:{missingProperty: "criterion"},message:"must have required property '"+"criterion"+"'",schema:schema31.properties.nodes.items.properties.x_measured_under.properties.criteria.items.required,parentSchema:schema31.properties.nodes.items.properties.x_measured_under.properties.criteria.items,data:data75};if(vErrors === null){vErrors = [err235];}else {vErrors.push(err235);}errors++;}if(data75.sha256 === undefined){const err236 = {instancePath:instancePath+"/nodes/" + i0+"/x_measured_under/criteria/" + i3,schemaPath:"#/properties/nodes/items/properties/x_measured_under/properties/criteria/items/required",keyword:"required",params:{missingProperty: "sha256"},message:"must have required property '"+"sha256"+"'",schema:schema31.properties.nodes.items.properties.x_measured_under.properties.criteria.items.required,parentSchema:schema31.properties.nodes.items.properties.x_measured_under.properties.criteria.items,data:data75};if(vErrors === null){vErrors = [err236];}else {vErrors.push(err236);}errors++;}for(const key12 in data75){const _errs264 = errors;if(typeof key12 === "string"){if(!pattern4.test(key12)){const err237 = {instancePath:instancePath+"/nodes/" + i0+"/x_measured_under/criteria/" + i3,schemaPath:"#/properties/nodes/items/properties/x_measured_under/properties/criteria/items/propertyNames/allOf/0/pattern",keyword:"pattern",params:{pattern: "^[A-Za-z_][A-Za-z0-9_-]*$"},message:"must match pattern \""+"^[A-Za-z_][A-Za-z0-9_-]*$"+"\"",schema:"^[A-Za-z_][A-Za-z0-9_-]*$",parentSchema:schema31.properties.nodes.items.properties.x_measured_under.properties.criteria.items.propertyNames.allOf[0],data:key12,propertyName:key12};if(vErrors === null){vErrors = [err237];}else {vErrors.push(err237);}errors++;}}const _errs267 = errors;let valid82 = false;const _errs268 = errors;if(!((key12 === "criterion") || (key12 === "sha256"))){const err238 = {instancePath:instancePath+"/nodes/" + i0+"/x_measured_under/criteria/" + i3,schemaPath:"#/properties/nodes/items/properties/x_measured_under/properties/criteria/items/propertyNames/allOf/1/anyOf/0/enum",keyword:"enum",params:{allowedValues: schema31.properties.nodes.items.properties.x_measured_under.properties.criteria.items.propertyNames.allOf[1].anyOf[0].enum},message:"must be equal to one of the allowed values",schema:schema31.properties.nodes.items.properties.x_measured_under.properties.criteria.items.propertyNames.allOf[1].anyOf[0].enum,parentSchema:schema31.properties.nodes.items.properties.x_measured_under.properties.criteria.items.propertyNames.allOf[1].anyOf[0],data:key12,propertyName:key12};if(vErrors === null){vErrors = [err238];}else {vErrors.push(err238);}errors++;}var _valid18 = _errs268 === errors;valid82 = valid82 || _valid18;const _errs269 = errors;if(typeof key12 === "string"){if(!pattern9.test(key12)){const err239 = {instancePath:instancePath+"/nodes/" + i0+"/x_measured_under/criteria/" + i3,schemaPath:"#/properties/nodes/items/properties/x_measured_under/properties/criteria/items/propertyNames/allOf/1/anyOf/1/pattern",keyword:"pattern",params:{pattern: "^x_"},message:"must match pattern \""+"^x_"+"\"",schema:"^x_",parentSchema:schema31.properties.nodes.items.properties.x_measured_under.properties.criteria.items.propertyNames.allOf[1].anyOf[1],data:key12,propertyName:key12};if(vErrors === null){vErrors = [err239];}else {vErrors.push(err239);}errors++;}}var _valid18 = _errs269 === errors;valid82 = valid82 || _valid18;if(!valid82){const err240 = {instancePath:instancePath+"/nodes/" + i0+"/x_measured_under/criteria/" + i3,schemaPath:"#/properties/nodes/items/properties/x_measured_under/properties/criteria/items/propertyNames/allOf/1/anyOf",keyword:"anyOf",params:{},message:"must match a schema in anyOf",schema:schema31.properties.nodes.items.properties.x_measured_under.properties.criteria.items.propertyNames.allOf[1].anyOf,parentSchema:schema31.properties.nodes.items.properties.x_measured_under.properties.criteria.items.propertyNames.allOf[1],data:key12,propertyName:key12};if(vErrors === null){vErrors = [err240];}else {vErrors.push(err240);}errors++;}else {errors = _errs267;if(vErrors !== null){if(_errs267){vErrors.length = _errs267;}else {vErrors = null;}}}var valid80 = _errs264 === errors;if(!valid80){const err241 = {instancePath:instancePath+"/nodes/" + i0+"/x_measured_under/criteria/" + i3,schemaPath:"#/properties/nodes/items/properties/x_measured_under/properties/criteria/items/propertyNames",keyword:"propertyNames",params:{propertyName: key12},message:"property name must be valid",schema:schema31.properties.nodes.items.properties.x_measured_under.properties.criteria.items.propertyNames,parentSchema:schema31.properties.nodes.items.properties.x_measured_under.properties.criteria.items,data:data75};if(vErrors === null){vErrors = [err241];}else {vErrors.push(err241);}errors++;}}if(data75.criterion !== undefined){let data76 = data75.criterion;if(typeof data76 === "string"){if(func1(data76) < 1){const err242 = {instancePath:instancePath+"/nodes/" + i0+"/x_measured_under/criteria/" + i3+"/criterion",schemaPath:"#/properties/nodes/items/properties/x_measured_under/properties/criteria/items/properties/criterion/minLength",keyword:"minLength",params:{limit: 1},message:"must NOT have fewer than 1 characters",schema:1,parentSchema:schema31.properties.nodes.items.properties.x_measured_under.properties.criteria.items.properties.criterion,data:data76};if(vErrors === null){vErrors = [err242];}else {vErrors.push(err242);}errors++;}}else {const err243 = {instancePath:instancePath+"/nodes/" + i0+"/x_measured_under/criteria/" + i3+"/criterion",schemaPath:"#/properties/nodes/items/properties/x_measured_under/properties/criteria/items/properties/criterion/type",keyword:"type",params:{type: "string"},message:"must be string",schema:schema31.properties.nodes.items.properties.x_measured_under.properties.criteria.items.properties.criterion.type,parentSchema:schema31.properties.nodes.items.properties.x_measured_under.properties.criteria.items.properties.criterion,data:data76};if(vErrors === null){vErrors = [err243];}else {vErrors.push(err243);}errors++;}}if(data75.sha256 !== undefined){let data77 = data75.sha256;if(typeof data77 === "string"){if(!pattern39.test(data77)){const err244 = {instancePath:instancePath+"/nodes/" + i0+"/x_measured_under/criteria/" + i3+"/sha256",schemaPath:"#/properties/nodes/items/properties/x_measured_under/properties/criteria/items/properties/sha256/pattern",keyword:"pattern",params:{pattern: "^[0-9a-f]{64}$"},message:"must match pattern \""+"^[0-9a-f]{64}$"+"\"",schema:"^[0-9a-f]{64}$",parentSchema:schema31.properties.nodes.items.properties.x_measured_under.properties.criteria.items.properties.sha256,data:data77};if(vErrors === null){vErrors = [err244];}else {vErrors.push(err244);}errors++;}}else {const err245 = {instancePath:instancePath+"/nodes/" + i0+"/x_measured_under/criteria/" + i3+"/sha256",schemaPath:"#/properties/nodes/items/properties/x_measured_under/properties/criteria/items/properties/sha256/type",keyword:"type",params:{type: "string"},message:"must be string",schema:schema31.properties.nodes.items.properties.x_measured_under.properties.criteria.items.properties.sha256.type,parentSchema:schema31.properties.nodes.items.properties.x_measured_under.properties.criteria.items.properties.sha256,data:data77};if(vErrors === null){vErrors = [err245];}else {vErrors.push(err245);}errors++;}}}else {const err246 = {instancePath:instancePath+"/nodes/" + i0+"/x_measured_under/criteria/" + i3,schemaPath:"#/properties/nodes/items/properties/x_measured_under/properties/criteria/items/type",keyword:"type",params:{type: "object"},message:"must be object",schema:schema31.properties.nodes.items.properties.x_measured_under.properties.criteria.items.type,parentSchema:schema31.properties.nodes.items.properties.x_measured_under.properties.criteria.items,data:data75};if(vErrors === null){vErrors = [err246];}else {vErrors.push(err246);}errors++;}}}else {const err247 = {instancePath:instancePath+"/nodes/" + i0+"/x_measured_under/criteria",schemaPath:"#/properties/nodes/items/properties/x_measured_under/properties/criteria/type",keyword:"type",params:{type: "array"},message:"must be array",schema:schema31.properties.nodes.items.properties.x_measured_under.properties.criteria.type,parentSchema:schema31.properties.nodes.items.properties.x_measured_under.properties.criteria,data:data74};if(vErrors === null){vErrors = [err247];}else {vErrors.push(err247);}errors++;}}if(data72.subject !== undefined){let data78 = data72.subject;if(!(data78 && typeof data78 == "object" && !Array.isArray(data78))){const err248 = {instancePath:instancePath+"/nodes/" + i0+"/x_measured_under/subject",schemaPath:"#/properties/nodes/items/properties/x_measured_under/properties/subject/type",keyword:"type",params:{type: "object"},message:"must be object",schema:schema31.properties.nodes.items.properties.x_measured_under.properties.subject.type,parentSchema:schema31.properties.nodes.items.properties.x_measured_under.properties.subject,data:data78};if(vErrors === null){vErrors = [err248];}else {vErrors.push(err248);}errors++;}}if(data72.verdict !== undefined){let data79 = data72.verdict;if(typeof data79 === "string"){if(func1(data79) < 1){const err249 = {instancePath:instancePath+"/nodes/" + i0+"/x_measured_under/verdict",schemaPath:"#/properties/nodes/items/properties/x_measured_under/properties/verdict/minLength",keyword:"minLength",params:{limit: 1},message:"must NOT have fewer than 1 characters",schema:1,parentSchema:schema31.properties.nodes.items.properties.x_measured_under.properties.verdict,data:data79};if(vErrors === null){vErrors = [err249];}else {vErrors.push(err249);}errors++;}}else {const err250 = {instancePath:instancePath+"/nodes/" + i0+"/x_measured_under/verdict",schemaPath:"#/properties/nodes/items/properties/x_measured_under/properties/verdict/type",keyword:"type",params:{type: "string"},message:"must be string",schema:schema31.properties.nodes.items.properties.x_measured_under.properties.verdict.type,parentSchema:schema31.properties.nodes.items.properties.x_measured_under.properties.verdict,data:data79};if(vErrors === null){vErrors = [err250];}else {vErrors.push(err250);}errors++;}}if(data72.round !== undefined){let data80 = data72.round;if(typeof data80 === "string"){if(func1(data80) < 1){const err251 = {instancePath:instancePath+"/nodes/" + i0+"/x_measured_under/round",schemaPath:"#/properties/nodes/items/properties/x_measured_under/properties/round/minLength",keyword:"minLength",params:{limit: 1},message:"must NOT have fewer than 1 characters",schema:1,parentSchema:schema31.properties.nodes.items.properties.x_measured_under.properties.round,data:data80};if(vErrors === null){vErrors = [err251];}else {vErrors.push(err251);}errors++;}}else {const err252 = {instancePath:instancePath+"/nodes/" + i0+"/x_measured_under/round",schemaPath:"#/properties/nodes/items/properties/x_measured_under/properties/round/type",keyword:"type",params:{type: "string"},message:"must be string",schema:schema31.properties.nodes.items.properties.x_measured_under.properties.round.type,parentSchema:schema31.properties.nodes.items.properties.x_measured_under.properties.round,data:data80};if(vErrors === null){vErrors = [err252];}else {vErrors.push(err252);}errors++;}}}else {const err253 = {instancePath:instancePath+"/nodes/" + i0+"/x_measured_under",schemaPath:"#/properties/nodes/items/properties/x_measured_under/type",keyword:"type",params:{type: "object"},message:"must be object",schema:schema31.properties.nodes.items.properties.x_measured_under.type,parentSchema:schema31.properties.nodes.items.properties.x_measured_under,data:data72};if(vErrors === null){vErrors = [err253];}else {vErrors.push(err253);}errors++;}}}else {const err254 = {instancePath:instancePath+"/nodes/" + i0,schemaPath:"#/properties/nodes/items/type",keyword:"type",params:{type: "object"},message:"must be object",schema:schema31.properties.nodes.items.type,parentSchema:schema31.properties.nodes.items,data:data3};if(vErrors === null){vErrors = [err254];}else {vErrors.push(err254);}errors++;}}}else {const err255 = {instancePath:instancePath+"/nodes",schemaPath:"#/properties/nodes/type",keyword:"type",params:{type: "array"},message:"must be array",schema:schema31.properties.nodes.type,parentSchema:schema31.properties.nodes,data:data2};if(vErrors === null){vErrors = [err255];}else {vErrors.push(err255);}errors++;}}if(data.edges !== undefined){let data81 = data.edges;if(Array.isArray(data81)){const len4 = data81.length;for(let i4=0; i4<len4; i4++){let data82 = data81[i4];if(data82 && typeof data82 == "object" && !Array.isArray(data82)){for(const key13 in data82){const _errs284 = errors;if(typeof key13 === "string"){if(!pattern4.test(key13)){const err256 = {instancePath:instancePath+"/edges/" + i4,schemaPath:"#/properties/edges/items/propertyNames/pattern",keyword:"pattern",params:{pattern: "^[A-Za-z_][A-Za-z0-9_-]*$"},message:"must match pattern \""+"^[A-Za-z_][A-Za-z0-9_-]*$"+"\"",schema:"^[A-Za-z_][A-Za-z0-9_-]*$",parentSchema:schema31.properties.edges.items.propertyNames,data:key13,propertyName:key13};if(vErrors === null){vErrors = [err256];}else {vErrors.push(err256);}errors++;}}var valid86 = _errs284 === errors;if(!valid86){const err257 = {instancePath:instancePath+"/edges/" + i4,schemaPath:"#/properties/edges/items/propertyNames",keyword:"propertyNames",params:{propertyName: key13},message:"property name must be valid",schema:schema31.properties.edges.items.propertyNames,parentSchema:schema31.properties.edges.items,data:data82};if(vErrors === null){vErrors = [err257];}else {vErrors.push(err257);}errors++;}}if(data82.x_confidence !== undefined){let data83 = data82.x_confidence;if(typeof data83 == "number"){if(data83 > 1 || isNaN(data83)){const err258 = {instancePath:instancePath+"/edges/" + i4+"/x_confidence",schemaPath:"#/properties/edges/items/properties/x_confidence/maximum",keyword:"maximum",params:{comparison: "<=", limit: 1},message:"must be <= 1",schema:1,parentSchema:schema31.properties.edges.items.properties.x_confidence,data:data83};if(vErrors === null){vErrors = [err258];}else {vErrors.push(err258);}errors++;}if(data83 < 0 || isNaN(data83)){const err259 = {instancePath:instancePath+"/edges/" + i4+"/x_confidence",schemaPath:"#/properties/edges/items/properties/x_confidence/minimum",keyword:"minimum",params:{comparison: ">=", limit: 0},message:"must be >= 0",schema:0,parentSchema:schema31.properties.edges.items.properties.x_confidence,data:data83};if(vErrors === null){vErrors = [err259];}else {vErrors.push(err259);}errors++;}}else {const err260 = {instancePath:instancePath+"/edges/" + i4+"/x_confidence",schemaPath:"#/properties/edges/items/properties/x_confidence/type",keyword:"type",params:{type: "number"},message:"must be number",schema:schema31.properties.edges.items.properties.x_confidence.type,parentSchema:schema31.properties.edges.items.properties.x_confidence,data:data83};if(vErrors === null){vErrors = [err260];}else {vErrors.push(err260);}errors++;}}if(data82.x_provisional !== undefined){let data84 = data82.x_provisional;if(typeof data84 !== "boolean"){const err261 = {instancePath:instancePath+"/edges/" + i4+"/x_provisional",schemaPath:"#/properties/edges/items/properties/x_provisional/type",keyword:"type",params:{type: "boolean"},message:"must be boolean",schema:schema31.properties.edges.items.properties.x_provisional.type,parentSchema:schema31.properties.edges.items.properties.x_provisional,data:data84};if(vErrors === null){vErrors = [err261];}else {vErrors.push(err261);}errors++;}}}else {const err262 = {instancePath:instancePath+"/edges/" + i4,schemaPath:"#/properties/edges/items/type",keyword:"type",params:{type: "object"},message:"must be object",schema:schema31.properties.edges.items.type,parentSchema:schema31.properties.edges.items,data:data82};if(vErrors === null){vErrors = [err262];}else {vErrors.push(err262);}errors++;}}}else {const err263 = {instancePath:instancePath+"/edges",schemaPath:"#/properties/edges/type",keyword:"type",params:{type: "array"},message:"must be array",schema:schema31.properties.edges.type,parentSchema:schema31.properties.edges,data:data81};if(vErrors === null){vErrors = [err263];}else {vErrors.push(err263);}errors++;}}}else {const err264 = {instancePath,schemaPath:"#/type",keyword:"type",params:{type: "object"},message:"must be object",schema:schema31.type,parentSchema:schema31,data};if(vErrors === null){vErrors = [err264];}else {vErrors.push(err264);}errors++;}validate20.errors = vErrors;return errors === 0;}validate20.evaluated = {"props":{"meta":true,"nodes":true,"edges":true},"dynamicProps":false,"dynamicItems":false};
@@ -2,7 +2,7 @@
2
2
  "$schema": "https://json-schema.org/draft/2020-12/schema",
3
3
  "$id": "urn:kg-ssot:spec:kg-contract-v4.should.schema.json",
4
4
  "title": "kg.yaml — contrato v4, nível SHOULD",
5
- "description": "O contrato v4 do .kg.yaml, nível SHOULD (alerta, não reprova), o vigente. É o SHOULD v3 menos o que o v4 promoveu a MUST: a chave desconhecida sem x_ no topo, no meta, no nó e na aresta e o nó confirmed ou PROD sem provenance. Segue alertando: nome de chave que não é slug ([A-Za-z_][A-Za-z0-9_-]*), como form.pattern.<escopo>.key, que sem x_ também reprova no MUST; nó PROD sem verified_at; label do nó acima de 280 caracteres, form.range.node.label, porque a narrativa vai para narrative; a chave desconhecida dentro de provenance, fechada em source, locator, method e x_; e o grafo sem nós (nodes: []), como form.range.top.nodes: é válido, como o primeiro uso de um app, mas o aviso pega o parse que falhou em silêncio. No v4, provenance.method alerta (form.pattern.node.provenance.method) quando não segue a forma canônica '<classe>: <detalhe>', com a classe em medição, leitura, juízes, derivado, testemunho; reprova no v5. Medição feita por terceiro e lida pelo autor do grafo é testemunho. No v4.1 entram quatro avisos que o próprio arquivo decide. O schema acusa a claim com verified_at e sem verified_against (form.required.node.verified_against): carimbo sem alvo não distingue verificado de declarado. Só a claim: evidence é a própria âncora, artifact nomeia o alvo, question não afirma e a origem da decision é cobrada por integrity.untraced-decision. O leitor acusa três avisos que cruzam campos ou arestas, por isso não cabem no schema: integrity.testimony-in-prod (nó PROD cuja base é testemunho), integrity.verified-before-fact (verified_at anterior a valid_from) e integrity.untraced-decision (decision viva sem trace, sem provenance e sem aresta TRACES_TO saindo dela). No v4.2 entra provenance.locality, opcional, com o enum repo (arquivo versionado no próprio repo), web (endereço público), host (só existe numa máquina: journal local, caminho fora do repo) ou pessoa (relato de alguém): o valor fora do enum alerta como form.enum.node.provenance.locality. Serve para medir o que é reverificável por terceiros e para barrar host na publicação. No v4.4 entra o quarto aviso do leitor, integrity.refutes-unreconciled: nó que recebe REFUTES e segue vivo (nem superseded nem refuted; a question done já está respondida, e não alerta). O grafo afirma e refuta a mesma coisa; o radar do framework onde o formato nasceu reprova o caso como contradição. Aqui é SHOULD agora e vira MUST numa versão futura, depois que os adotantes medirem a própria dívida. No v4.5, provenance.locality ganha privado: documento fora do repo, não público e reverificável por quem tem acesso (Google Drive, wiki interna); o valor segue onde está a cópia lida, não a classificação do documento. Entra verified_scope, opcional, com o enum fato (o que o nó afirma foi conferido), mecanismo (só o mecanismo, como código ou configuração; o fato depende de outro ambiente) ou nenhum (conferido contra o repo na data, e nada ali sustenta nem refuta o fato): o valor fora do enum alerta como form.enum.node.verified_scope, e verified_scope sem verified_at alerta como form.required.node.verified_at. O leitor passa a contar para integrity.refutes-unreconciled a REFUTES que chega a um nó vivo pelas external_edges, quando tem o corpus. No v4.8, reverify_every e retain_for alertam fora da duração ISO 8601 só com data, ou zerada como P0D (form.pattern.node.reverify_every, form.pattern.node.retain_for), reverify_on vazio ou fora de texto alerta, e reverify_every sem verified_at alerta como form.required.node.verified_at: a cadência conta a partir do carimbo. No v4.9, reverify_every sem verified_at deixa de alertar: é o estado inicial de uma regra de coleta, cadência definida e nenhuma verificação ainda, e quem o lista é o relatório de vencimento (kg_validate.py --due, na lista unstamped), fora do veredito. O nó PROD sem verified_at segue alertando. No v4.11 entram os perfis canônicos das chaves x_ que se repetem nos adotantes, julgados só quando a chave está presente e nunca no MUST. No nó: x_term, o termo de um vocabulário de domínio, com pref (o termo preferido, o prefLabel do SKOS) e labels, a lista de sinônimos como objetos com literal, kind (alt ou hidden, o altLabel e o hiddenLabel do SKOS), source, locator, version (a versão do documento de onde veio), verified_at, reverify_every, scope (level domain ou case, com case quando o nível é case, e jurisdiction) e retired (booleano: o sinônimo aposentado); o termo aposentado é o nó com status superseded e a aresta SUPERSEDES do termo novo. x_mirror, a cópia de um registro de outro sistema (system, ref, state e synced_at, com resync_every e url opcionais). x_doc_cycle, o ciclo de vida de um documento externo (issuer e state em draft, enacted (publicado, com vigência futura em effective_from), in_force, suspended, revoked, expired ou superseded; ref, version, effective_from, effective_to, updated_at, checked_at e recheck_every opcionais). x_questionnaire, o elo com um questionário externo (name e questions não vazia; answer_draft, verdict em meets, partial, does_not_meet, not_applicable ou unknown, e answered_at; desde o v4.13, role em item (o padrão: a pergunta do questionário ou a resposta a ela) evidence_request (o pedido de evidência a uma pessoa, que cita os itens a que serve) ou evidence_requirement (a evidência que os itens exigem)). x_severity, em critical, high, medium, low ou info. Na aresta: x_confidence, de 0 a 1, e x_provisional, booleano. Dentro de um perfil, a chave desconhecida sem x_ alerta como form.unknown-key, e um item de lista dentro do nó leva o caminho no código (form.type.node.x_term.labels.item). No meta, o slug fora da forma em minúsculas com hífen alerta como form.pattern.meta.slug. Os valores de enum são códigos, em inglês, em qualquer língua da saída. Nenhum perfil usa a chave status aninhada: o radar do framework onde o formato nasceu lê status em qualquer nível como o status do nó, e o sinônimo aposentado é retired: true. No v4.12 entram os dois perfis do critério pré-registrado, que fazem da troca da régua depois de ver o dado uma emenda datada em vez de uma reescrita. x_criterion, no nó do critério (um nó por versão): id (o id estável entre as versões), version (texto ou inteiro), registered_at (data, ou data-hora RFC 3339 com fuso), sha256 (64 hex minúsculos) e ref ou text, nunca os dois; com amends (o id do nó da versão anterior), reason é obrigatório, e round (texto) é a rodada que motivou a emenda. x_measured_under, no resultado: measured_at (data ou data-hora), criteria (lista não vazia de {criterion, sha256}, em que criterion é o id de um nó com x_criterion ou <caminho>#<id>), e subject (mapa), verdict e round (texto) opcionais. ref e text juntos alertam form.exclusive.node.x_criterion. O leitor não calcula hash: a coerência entre os nós (integrity.criterion-unknown, integrity.criterion-sha-mismatch, integrity.criterion-amends-mismatch, integrity.measured-post-hoc e integrity.measured-order-unknown) é dele, e o sha256 contra o texto ou o arquivo é do kg_criterion.py. No v4.14, o x_term ganha scheme, o esquema do vocabulário (o skos:inScheme), em forma de slug (minúsculas, dígitos e hífen); sem ele, o esquema é o próprio grafo, cujo nome é o meta.id (o esquema declarado igual ao meta.id é o mesmo). E o aviso integrity.term-notation-duplicate, do leitor: dois nós vivos (status que não é superseded nem refuted) com x_term, no mesmo esquema e com a mesma notation (comparada exata), só entre nós do mesmo grafo, como a convenção do SKOS (§6.5.3). O corpus inteiro e o código na prosa são do kg_vocab.py lint.",
5
+ "description": "O contrato v4 do .kg.yaml, nível SHOULD (alerta, não reprova), o vigente. É o SHOULD v3 menos o que o v4 promoveu a MUST: a chave desconhecida sem x_ no topo, no meta, no nó e na aresta e o nó confirmed ou PROD sem provenance. Segue alertando: nome de chave que não é slug ([A-Za-z_][A-Za-z0-9_-]*), como form.pattern.<escopo>.key, que sem x_ também reprova no MUST; nó PROD sem verified_at; label do nó acima de 280 caracteres, form.range.node.label, porque a narrativa vai para narrative; a chave desconhecida dentro de provenance, fechada em source, locator, method e x_; e o grafo sem nós (nodes: []), como form.range.top.nodes: é válido, como o primeiro uso de um app, mas o aviso pega o parse que falhou em silêncio. No v4, provenance.method alerta (form.pattern.node.provenance.method) quando não segue a forma canônica '<classe>: <detalhe>', com a classe em medição, leitura, juízes, derivado, testemunho; reprova no v5. Medição feita por terceiro e lida pelo autor do grafo é testemunho. No v4.1 entram quatro avisos que o próprio arquivo decide. O schema acusa a claim com verified_at e sem verified_against (form.required.node.verified_against): carimbo sem alvo não distingue verificado de declarado. Só a claim: evidence é a própria âncora, artifact nomeia o alvo, question não afirma e a origem da decision é cobrada por integrity.untraced-decision. O leitor acusa três avisos que cruzam campos ou arestas, por isso não cabem no schema: integrity.testimony-in-prod (nó PROD cuja base é testemunho), integrity.verified-before-fact (verified_at anterior a valid_from) e integrity.untraced-decision (decision viva sem trace, sem provenance e sem aresta TRACES_TO saindo dela). No v4.2 entra provenance.locality, opcional, com o enum repo (arquivo versionado no próprio repo), web (endereço público), host (só existe numa máquina: journal local, caminho fora do repo) ou pessoa (relato de alguém): o valor fora do enum alerta como form.enum.node.provenance.locality. Serve para medir o que é reverificável por terceiros e para barrar host na publicação. No v4.4 entra o quarto aviso do leitor, integrity.refutes-unreconciled: nó que recebe REFUTES e segue vivo (nem superseded nem refuted; a question done já está respondida, e não alerta). O grafo afirma e refuta a mesma coisa; o radar do framework onde o formato nasceu reprova o caso como contradição. Aqui é SHOULD agora e vira MUST numa versão futura, depois que os adotantes medirem a própria dívida. No v4.5, provenance.locality ganha privado: documento fora do repo, não público e reverificável por quem tem acesso (Google Drive, wiki interna); o valor segue onde está a cópia lida, não a classificação do documento. Entra verified_scope, opcional, com o enum fato (o que o nó afirma foi conferido), mecanismo (só o mecanismo, como código ou configuração; o fato depende de outro ambiente) ou nenhum (conferido contra o repo na data, e nada ali sustenta nem refuta o fato): o valor fora do enum alerta como form.enum.node.verified_scope, e verified_scope sem verified_at alerta como form.required.node.verified_at. O leitor passa a contar para integrity.refutes-unreconciled a REFUTES que chega a um nó vivo pelas external_edges, quando tem o corpus. No v4.8, reverify_every e retain_for alertam fora da duração ISO 8601 só com data, ou zerada como P0D (form.pattern.node.reverify_every, form.pattern.node.retain_for), reverify_on vazio ou fora de texto alerta, e reverify_every sem verified_at alerta como form.required.node.verified_at: a cadência conta a partir do carimbo. No v4.9, reverify_every sem verified_at deixa de alertar: é o estado inicial de uma regra de coleta, cadência definida e nenhuma verificação ainda, e quem o lista é o relatório de vencimento (kg_validate.py --due, na lista unstamped), fora do veredito. O nó PROD sem verified_at segue alertando. No v4.11 entram os perfis canônicos das chaves x_ que se repetem nos adotantes, julgados só quando a chave está presente e nunca no MUST. No nó: x_term, o termo de um vocabulário de domínio, com pref (o termo preferido, o prefLabel do SKOS) e labels, a lista de sinônimos como objetos com literal, kind (alt ou hidden, o altLabel e o hiddenLabel do SKOS), source, locator, version (a versão do documento de onde veio), verified_at, reverify_every, scope (level domain ou case, com case quando o nível é case, e jurisdiction) e retired (booleano: o sinônimo aposentado); o termo aposentado é o nó com status superseded e a aresta SUPERSEDES do termo novo. x_mirror, a cópia de um registro de outro sistema (system, ref, state e synced_at, com resync_every e url opcionais). x_doc_cycle, o ciclo de vida de um documento externo (issuer e state em draft, enacted (publicado, com vigência futura em effective_from), in_force, suspended, revoked, expired ou superseded; ref, version, effective_from, effective_to, updated_at, checked_at e recheck_every opcionais). x_questionnaire, o elo com um questionário externo (name e questions não vazia; answer_draft, verdict em meets, partial, does_not_meet, not_applicable ou unknown, e answered_at; desde o v4.13, role em item (o padrão: a pergunta do questionário ou a resposta a ela) evidence_request (o pedido de evidência a uma pessoa, que cita os itens a que serve) ou evidence_requirement (a evidência que os itens exigem)). x_severity, em critical, high, medium, low ou info. Na aresta: x_confidence, de 0 a 1, e x_provisional, booleano. Dentro de um perfil, a chave desconhecida sem x_ alerta como form.unknown-key, e um item de lista dentro do nó leva o caminho no código (form.type.node.x_term.labels.item). No meta, o slug fora da forma em minúsculas com hífen alerta como form.pattern.meta.slug. Os valores de enum são códigos, em inglês, em qualquer língua da saída. Nenhum perfil usa a chave status aninhada: o radar do framework onde o formato nasceu lê status em qualquer nível como o status do nó, e o sinônimo aposentado é retired: true. No v4.12 entram os dois perfis do critério pré-registrado, que fazem da troca da régua depois de ver o dado uma emenda datada em vez de uma reescrita. x_criterion, no nó do critério (um nó por versão): id (o id estável entre as versões), version (texto ou inteiro), registered_at (data, ou data-hora RFC 3339 com fuso), sha256 (64 hex minúsculos) e ref ou text, nunca os dois; com amends (o id do nó da versão anterior), reason é obrigatório, e round (texto) é a rodada que motivou a emenda. x_measured_under, no resultado: measured_at (data ou data-hora), criteria (lista não vazia de {criterion, sha256}, em que criterion é o id de um nó com x_criterion ou <caminho>#<id>), e subject (mapa), verdict e round (texto) opcionais. ref e text juntos alertam form.exclusive.node.x_criterion. O leitor não calcula hash: a coerência entre os nós (integrity.criterion-unknown, integrity.criterion-sha-mismatch, integrity.criterion-amends-mismatch, integrity.measured-post-hoc e integrity.measured-order-unknown) é dele, e o sha256 contra o texto ou o arquivo é do kg_criterion.py. No v4.14, o x_term ganha scheme, o esquema do vocabulário (o skos:inScheme), em forma de slug (minúsculas, dígitos e hífen); sem ele, o esquema é o próprio grafo, cujo nome é o meta.id (o esquema declarado igual ao meta.id é o mesmo). E o aviso integrity.term-notation-duplicate, do leitor: dois nós vivos (status que não é superseded nem refuted) com x_term, no mesmo esquema e com a mesma notation (comparada exata), só entre nós do mesmo grafo, como a convenção do SKOS (§6.5.3). O corpus inteiro e o código na prosa são do kg_vocab.py lint. No v4.16, a classe de provenance.method ganha a forma canônica em inglês (measurement, reading, judges, derived, testimony), e as cinco em português (medição, leitura, juízes, derivado, testemunho) seguem aceitas como alias, sem aviso; testimony e testemunho valem igual para integrity.testimony-in-prod.",
6
6
  "type": "object",
7
7
  "propertyNames": {
8
8
  "pattern": "^[A-Za-z_][A-Za-z0-9_-]*$"
@@ -56,7 +56,7 @@
56
56
  },
57
57
  "properties": {
58
58
  "method": {
59
- "pattern": "^(?:medição|leitura|juízes|derivado|testemunho): [^ \t\n\r]"
59
+ "pattern": "^(?:measurement|reading|judges|derived|testimony|medição|leitura|juízes|derivado|testemunho): [^ \t\n\r]"
60
60
  },
61
61
  "locality": {
62
62
  "enum": [
package/spec/release.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
- "version": "4.31.0",
3
- "tag": "kg-ssot-v4.31.0",
2
+ "version": "4.32.0",
3
+ "tag": "kg-ssot-v4.32.0",
4
4
  "contract": {
5
5
  "must": "spec/kg-contract-v4.schema.json",
6
6
  "should": "spec/kg-contract-v4.should.schema.json"
@@ -28,6 +28,7 @@
28
28
  "spec/criterion.schema.json",
29
29
  "spec/audit.schema.json",
30
30
  "spec/trace.schema.json",
31
+ "spec/examples/",
31
32
  "spec/vocab-examples/",
32
33
  "spec/conformance/README.md",
33
34
  "spec/conformance/README.pt-BR.md",