@sphereon/ssi-sdk-ext.identifier-resolution 0.28.1-feature.esm.cjs.9 → 0.28.1-feature.oyd.cmsm.improv.16

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.
Files changed (62) hide show
  1. package/dist/agent/IdentifierResolution.d.ts +38 -0
  2. package/dist/agent/IdentifierResolution.d.ts.map +1 -0
  3. package/dist/agent/IdentifierResolution.js +123 -0
  4. package/dist/agent/IdentifierResolution.js.map +1 -0
  5. package/dist/functions/LegacySupport.d.ts +12 -0
  6. package/dist/functions/LegacySupport.d.ts.map +1 -0
  7. package/dist/functions/LegacySupport.js +39 -0
  8. package/dist/functions/LegacySupport.js.map +1 -0
  9. package/dist/functions/externalIdentifierFunctions.d.ts +26 -0
  10. package/dist/functions/externalIdentifierFunctions.d.ts.map +1 -0
  11. package/dist/functions/externalIdentifierFunctions.js +250 -0
  12. package/dist/functions/externalIdentifierFunctions.js.map +1 -0
  13. package/dist/functions/externalOIDFIdentifier.d.ts +19 -0
  14. package/dist/functions/externalOIDFIdentifier.d.ts.map +1 -0
  15. package/dist/functions/externalOIDFIdentifier.js +106 -0
  16. package/dist/functions/externalOIDFIdentifier.js.map +1 -0
  17. package/dist/functions/index.d.ts +5 -0
  18. package/dist/functions/index.d.ts.map +1 -0
  19. package/dist/functions/index.js +21 -0
  20. package/dist/functions/index.js.map +1 -0
  21. package/dist/functions/managedIdentifierFunctions.d.ts +38 -0
  22. package/dist/functions/managedIdentifierFunctions.d.ts.map +1 -0
  23. package/dist/functions/managedIdentifierFunctions.js +359 -0
  24. package/dist/functions/managedIdentifierFunctions.js.map +1 -0
  25. package/dist/index.d.ts +7 -434
  26. package/dist/index.d.ts.map +1 -0
  27. package/dist/index.js +27 -5333
  28. package/dist/index.js.map +1 -1
  29. package/dist/tsdoc-metadata.json +1 -1
  30. package/dist/types/IIdentifierResolution.d.ts +42 -0
  31. package/dist/types/IIdentifierResolution.d.ts.map +1 -0
  32. package/dist/types/IIdentifierResolution.js +21 -0
  33. package/dist/types/IIdentifierResolution.js.map +1 -0
  34. package/dist/types/common.d.ts +20 -0
  35. package/dist/types/common.d.ts.map +1 -0
  36. package/dist/types/common.js +51 -0
  37. package/dist/types/common.js.map +1 -0
  38. package/dist/types/externalIdentifierTypes.d.ts +114 -0
  39. package/dist/types/externalIdentifierTypes.d.ts.map +1 -0
  40. package/dist/types/externalIdentifierTypes.js +44 -0
  41. package/dist/types/externalIdentifierTypes.js.map +1 -0
  42. package/dist/types/index.d.ts +5 -0
  43. package/dist/types/index.d.ts.map +1 -0
  44. package/dist/types/index.js +21 -0
  45. package/dist/types/index.js.map +1 -0
  46. package/dist/types/managedIdentifierTypes.d.ts +122 -0
  47. package/dist/types/managedIdentifierTypes.d.ts.map +1 -0
  48. package/dist/types/managedIdentifierTypes.js +63 -0
  49. package/dist/types/managedIdentifierTypes.js.map +1 -0
  50. package/package.json +22 -34
  51. package/plugin.schema.json +712 -638
  52. package/src/agent/IdentifierResolution.ts +35 -39
  53. package/src/functions/externalIdentifierFunctions.ts +14 -21
  54. package/src/functions/externalOIDFIdentifier.ts +3 -6
  55. package/src/functions/managedIdentifierFunctions.ts +6 -7
  56. package/src/index.ts +1 -1
  57. package/src/types/IIdentifierResolution.ts +1 -1
  58. package/src/types/IJwtService.d.ts +2 -3
  59. package/src/types/externalIdentifierTypes.ts +1 -1
  60. package/dist/index.cjs +0 -5336
  61. package/dist/index.cjs.map +0 -1
  62. package/dist/index.d.cts +0 -439
@@ -1 +0,0 @@
1
- {"version":3,"sources":["/home/runner/work/SSI-SDK-crypto-extensions/SSI-SDK-crypto-extensions/packages/identifier-resolution/dist/index.cjs","../plugin.schema.json","../src/types/common.ts","../src/types/externalIdentifierTypes.ts","../src/types/managedIdentifierTypes.ts","../src/types/IIdentifierResolution.ts","../src/agent/IdentifierResolution.ts","../src/functions/managedIdentifierFunctions.ts","../src/functions/externalIdentifierFunctions.ts","../src/functions/externalOIDFIdentifier.ts","../src/functions/LegacySupport.ts","../src/index.ts"],"names":["isDidIdentifier","identifier","isIIdentifier","startsWith","Array","isArray","isJwkIdentifier","isOidcDiscoveryIdentifier","endsWith","isJwksUrlIdentifier","isKidIdentifier","isOID4VCIssuerIdentifier","isKeyIdentifier","isCoseKeyIdentifier","isOIDFEntityIdIdentifier","isX5cIdentifier","length","isExternalIdentifierDidOpts","opts","method","isExternalIdentifierKidOpts","isExternalIdentifierJwkOpts","isExternalIdentifierCoseKeyOpts","isExternalIdentifierOidcDiscoveryOpts","isExternalIdentifierJwksUrlOpts","isExternalIdentifierOIDFEntityIdOpts","isExternalIdentifierX5cOpts","isManagedIdentifierDidOpts","isManagedIdentifierKidOpts","isManagedIdentifierKeyOpts","isManagedIdentifierCoseKeyOpts","isManagedIdentifierOID4VCIssuerOpts","isManagedIdentifierJwkOpts","isManagedIdentifierX5cOpts","isManagedIdentifierCoseKeyResult","object","isManagedIdentifierDidResult","isManagedIdentifierX5cResult","isManagedIdentifierJwkResult","isManagedIdentifierKidResult","isManagedIdentifierKeyResult","identifierResolutionContextMethods","getManagedKidIdentifier","context","key","undefined","issuer","kid","contextHasKeyManager","Promise","reject","Error","did","split","didIdentifier","getManagedDidIdentifier","meta","verificationMethod","id","agent","keyManagerGet","kmsKeyRef","jwk","toJwk","publicKeyHex","type","jwkThumbprint","calculateJwkThumbprint","clientId","clientIdScheme","isManagedIdentifierResult","ensureManagedIdentifierResult","lazyDisabled","getManagedIdentifier","getManagedKeyIdentifier","_context","getManagedCoseKeyIdentifier","coseKey","coseKeyToJwk","contextHasDidManager","didManagerGet","keys","extendedKey","getFirstKeyWithRelation","vmRelationship","controllerKeyId","hash","getManagedJwkIdentifier","x5c","cryptoImpl","certificate","cryptoEngine","crypto","setEngine","pk","getManagedX5cIdentifier","getManagedOID4VCIssuerIdentifier","resolutionResult","console","resolved","managedIdentifierToKeyResult","managedIdentifierToJwk","didDocumentToJwks","getSubjectDN","contextHasPlugin","parseDid","isDefined","CryptoEngine","resolveExternalDidIdentifier","resolveExternalX5cIdentifier","resolveExternalJwkIdentifier","resolveExternalCoseKeyIdentifier","resolveExternalOIDFEntityIdIdentifier","resolveExternalIdentifier","verify","certificates","verificationResult","issuerJWK","jwks","chain","trustAnchors","verificationTime","name","uniresolverResolution","parsed","error","didParsed","didResolutionResult","localResolution","resolverResolution","resolve","didDocument","didJwks","fromString","toString","trustedAnchors","errorList","jwkInfos","payload","resolveResult","entityIdentifier","trustAnchor","trustChain","jws","jwtVerifyResult","signature","Object","jwtPayload","trustEstablished","legacyKeyRefsToIdentifierOpts","idOpts","IdentifierResolution","_crypto","schema","methods","identifierManagedGet","identifierManagedGetByDid","identifierManagedGetByKid","identifierManagedGetByJwk","identifierManagedGetByX5c","identifierManagedGetByKey","identifierManagedGetByCoseKey","identifierManagedGetByOID4VCIssuer","identifierExternalResolve","identifierExternalResolveByDid","identifierExternalResolveByX5c","identifierExternalResolveByJwk","identifierExternalResolveByCoseKey","identifierExternalResolveByOIDFEntityId","constructor","args"],"mappings":"AAAA,isBAAI,UAAU,EAAE,MAAM,CAAC,cAAc;AACrC,IAAI,kBAAkB,EAAE,MAAM,CAAC,mBAAmB;AAClD,IAAI,OAAO,EAAE,CAAC,MAAM,EAAE,KAAK,EAAE,GAAG,SAAS,CAAC,MAAM,EAAE,MAAM,EAAE,EAAE,KAAK,EAAE,YAAY,EAAE,KAAK,CAAC,CAAC;AACxF,IAAI,WAAW,EAAE,CAAC,EAAE,EAAE,GAAG,EAAE,GAAG,SAAS,SAAS,CAAC,EAAE;AACnD,EAAE,OAAO,IAAI,GAAG,CAAC,CAAC,EAAE,EAAE,CAAC,iBAAiB,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,EAAE,OAAO,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,OAAO,EAAE,GAAG,CAAC,EAAE,GAAG,CAAC,OAAO;AACpG,CAAC;AACD;AACA;ACPA,IAAA,sBAAA,EAAA,UAAA,CAAA;AAAA,EAAA,oBAAA,CAAA,OAAA,EAAA,MAAA,EAAA;AAAA,IAAA,MAAA,CAAA,QAAA,EAAA;AAAA,MACE,qBAAA,EAAyB;AAAA,QACvB,UAAA,EAAc;AAAA,UACZ,OAAA,EAAW;AAAA,YACT,sBAAA,EAA0B;AAAA,cACxB,KAAA,EAAS;AAAA,gBACP;AAAA,kBACE,IAAA,EAAQ,QAAA;AAAA,kBACR,UAAA,EAAc;AAAA,oBACZ,MAAA,EAAU;AAAA,sBACR,IAAA,EAAQ,QAAA;AAAA,sBACR,KAAA,EAAS;AAAA,oBACX,CAAA;AAAA,oBACA,UAAA,EAAc;AAAA,sBACZ,IAAA,EAAQ;AAAA,oBACV,CAAA;AAAA,oBACA,GAAA,EAAO;AAAA,sBACL,IAAA,EAAQ;AAAA,oBACV;AAAA,kBACF,CAAA;AAAA,kBACA,QAAA,EAAY;AAAA,oBACV;AAAA,kBACF;AAAA,gBACF,CAAA;AAAA,gBACA;AAAA,kBACE,IAAA,EAAQ,QAAA;AAAA,kBACR,UAAA,EAAc;AAAA,oBACZ,MAAA,EAAU;AAAA,sBACR,IAAA,EAAQ,QAAA;AAAA,sBACR,KAAA,EAAS;AAAA,oBACX,CAAA;AAAA,oBACA,UAAA,EAAc;AAAA,sBACZ,IAAA,EAAQ;AAAA,oBACV,CAAA;AAAA,oBACA,MAAA,EAAU;AAAA,sBACR,IAAA,EAAQ;AAAA,oBACV,CAAA;AAAA,oBACA,gBAAA,EAAoB;AAAA,sBAClB,IAAA,EAAQ,QAAA;AAAA,sBACR,MAAA,EAAU;AAAA,oBACZ,CAAA;AAAA,oBACA,YAAA,EAAgB;AAAA,sBACd,IAAA,EAAQ,OAAA;AAAA,sBACR,KAAA,EAAS;AAAA,wBACP,IAAA,EAAQ;AAAA,sBACV;AAAA,oBACF,CAAA;AAAA,oBACA,wBAAA,EAA4B;AAAA,sBAC1B,IAAA,EAAQ;AAAA,oBACV,CAAA;AAAA,oBACA,sBAAA,EAA0B;AAAA,sBACxB,IAAA,EAAQ;AAAA,oBACV,CAAA;AAAA,oBACA,2BAAA,EAA+B;AAAA,sBAC7B,IAAA,EAAQ;AAAA,oBACV,CAAA;AAAA,oBACA,qBAAA,EAAyB;AAAA,sBACvB,IAAA,EAAQ,OAAA;AAAA,sBACR,KAAA,EAAS;AAAA,wBACP,IAAA,EAAQ;AAAA,sBACV;AAAA,oBACF,CAAA;AAAA,oBACA,qBAAA,EAAyB;AAAA,sBACvB,IAAA,EAAQ;AAAA,oBACV,CAAA;AAAA,oBACA,MAAA,EAAU;AAAA,sBACR,IAAA,EAAQ,QAAA;AAAA,sBACR,UAAA,EAAc;AAAA,wBACZ,QAAA,EAAY;AAAA,0BACV,IAAA,EAAQ;AAAA,wBACV,CAAA;AAAA,wBACA,cAAA,EAAkB;AAAA,0BAChB,IAAA,EAAQ,QAAA;AAAA,0BACR,IAAA,EAAQ;AAAA,4BACN,cAAA;AAAA,4BACA;AAAA,0BACF;AAAA,wBACF;AAAA,sBACF,CAAA;AAAA,sBACA,QAAA,EAAY;AAAA,wBACV,UAAA;AAAA,wBACA;AAAA,sBACF;AAAA,oBACF;AAAA,kBACF,CAAA;AAAA,kBACA,QAAA,EAAY;AAAA,oBACV;AAAA,kBACF;AAAA,gBACF,CAAA;AAAA,gBACA;AAAA,kBACE,IAAA,EAAQ,QAAA;AAAA,kBACR,UAAA,EAAc;AAAA,oBACZ,MAAA,EAAU;AAAA,sBACR,IAAA,EAAQ,QAAA;AAAA,sBACR,KAAA,EAAS;AAAA,oBACX,CAAA;AAAA,oBACA,UAAA,EAAc;AAAA,sBACZ,IAAA,EAAQ;AAAA,oBACV,CAAA;AAAA,oBACA,4BAAA,EAAgC;AAAA,sBAC9B,IAAA,EAAQ;AAAA,oBACV,CAAA;AAAA,oBACA,cAAA,EAAkB;AAAA,sBAChB,IAAA,EAAQ;AAAA,oBACV,CAAA;AAAA,oBACA,eAAA,EAAmB;AAAA,sBACjB,IAAA,EAAQ;AAAA,oBACV,CAAA;AAAA,oBACA,qBAAA,EAAyB;AAAA,sBACvB,IAAA,EAAQ;AAAA,oBACV,CAAA;AAAA,oBACA,kBAAA,EAAsB;AAAA,sBACpB,IAAA,EAAQ;AAAA,oBACV;AAAA,kBACF,CAAA;AAAA,kBACA,QAAA,EAAY;AAAA,oBACV;AAAA,kBACF;AAAA,gBACF,CAAA;AAAA,gBACA;AAAA,kBACE,IAAA,EAAQ,QAAA;AAAA,kBACR,UAAA,EAAc;AAAA,oBACZ,MAAA,EAAU;AAAA,sBACR,IAAA,EAAQ,QAAA;AAAA,sBACR,KAAA,EAAS;AAAA,oBACX,CAAA;AAAA,oBACA,UAAA,EAAc;AAAA,sBACZ,IAAA,EAAQ;AAAA,oBACV;AAAA,kBACF,CAAA;AAAA,kBACA,QAAA,EAAY;AAAA,oBACV;AAAA,kBACF;AAAA,gBACF,CAAA;AAAA,gBACA;AAAA,kBACE,IAAA,EAAQ,QAAA;AAAA,kBACR,UAAA,EAAc;AAAA,oBACZ,MAAA,EAAU;AAAA,sBACR,IAAA,EAAQ,QAAA;AAAA,sBACR,KAAA,EAAS;AAAA,oBACX,CAAA;AAAA,oBACA,UAAA,EAAc;AAAA,sBACZ,IAAA,EAAQ;AAAA,oBACV;AAAA,kBACF,CAAA;AAAA,kBACA,QAAA,EAAY;AAAA,oBACV;AAAA,kBACF;AAAA,gBACF,CAAA;AAAA,gBACA;AAAA,kBACE,IAAA,EAAQ,QAAA;AAAA,kBACR,UAAA,EAAc;AAAA,oBACZ,MAAA,EAAU;AAAA,sBACR,IAAA,EAAQ,QAAA;AAAA,sBACR,KAAA,EAAS;AAAA,oBACX,CAAA;AAAA,oBACA,UAAA,EAAc;AAAA,sBACZ,IAAA,EAAQ;AAAA,oBACV,CAAA;AAAA,oBACA,YAAA,EAAgB;AAAA,sBACd,IAAA,EAAQ,OAAA;AAAA,sBACR,KAAA,EAAS;AAAA,wBACP,IAAA,EAAQ;AAAA,sBACV;AAAA,oBACF;AAAA,kBACF,CAAA;AAAA,kBACA,QAAA,EAAY;AAAA,oBACV;AAAA,kBACF;AAAA,gBACF;AAAA,cACF;AAAA,YACF,CAAA;AAAA,YACA,sBAAA,EAA0B;AAAA,cACxB,KAAA,EAAS;AAAA,gBACP;AAAA,kBACE,IAAA,EAAQ;AAAA,gBACV,CAAA;AAAA,gBACA;AAAA,kBACE,IAAA,EAAQ,OAAA;AAAA,kBACR,KAAA,EAAS;AAAA,oBACP,IAAA,EAAQ;AAAA,kBACV;AAAA,gBACF,CAAA;AAAA,gBACA;AAAA,kBACE,IAAA,EAAQ;AAAA,gBACV;AAAA,cACF,CAAA;AAAA,cACA,WAAA,EAAe;AAAA,YACjB,CAAA;AAAA,YACA,GAAA,EAAO;AAAA,cACL,IAAA,EAAQ,QAAA;AAAA,cACR,UAAA,EAAc;AAAA,gBACZ,GAAA,EAAO;AAAA,kBACL,KAAA,EAAS;AAAA,oBACP;AAAA,sBACE,IAAA,EAAQ;AAAA,oBACV,CAAA;AAAA,oBACA;AAAA,sBACE,IAAA,EAAQ;AAAA,oBACV;AAAA,kBACF;AAAA,gBACF,CAAA;AAAA,gBACA,GAAA,EAAO;AAAA,kBACL,KAAA,EAAS;AAAA,oBACP;AAAA,sBACE,IAAA,EAAQ;AAAA,oBACV,CAAA;AAAA,oBACA;AAAA,sBACE,IAAA,EAAQ;AAAA,oBACV;AAAA,kBACF;AAAA,gBACF,CAAA;AAAA,gBACA,GAAA,EAAO;AAAA,kBACL,KAAA,EAAS;AAAA,oBACP;AAAA,sBACE,IAAA,EAAQ;AAAA,oBACV,CAAA;AAAA,oBACA;AAAA,sBACE,IAAA,EAAQ;AAAA,oBACV;AAAA,kBACF;AAAA,gBACF,CAAA;AAAA,gBACA,CAAA,EAAK;AAAA,kBACH,IAAA,EAAQ;AAAA,gBACV,CAAA;AAAA,gBACA,CAAA,EAAK;AAAA,kBACH,IAAA,EAAQ;AAAA,gBACV,CAAA;AAAA,gBACA,CAAA,EAAK;AAAA,kBACH,IAAA,EAAQ;AAAA,gBACV,CAAA;AAAA,gBACA,CAAA,EAAK;AAAA,kBACH,IAAA,EAAQ;AAAA,gBACV,CAAA;AAAA,gBACA,CAAA,EAAK;AAAA,kBACH,IAAA,EAAQ;AAAA,gBACV,CAAA;AAAA,gBACA,EAAA,EAAM;AAAA,kBACJ,IAAA,EAAQ;AAAA,gBACV,CAAA;AAAA,gBACA,EAAA,EAAM;AAAA,kBACJ,IAAA,EAAQ;AAAA,gBACV,CAAA;AAAA,gBACA,GAAA,EAAO;AAAA,kBACL,IAAA,EAAQ;AAAA,gBACV,CAAA;AAAA,gBACA,CAAA,EAAK;AAAA,kBACH,IAAA,EAAQ;AAAA,gBACV,CAAA;AAAA,gBACA,OAAA,EAAW;AAAA,kBACT,IAAA,EAAQ,OAAA;AAAA,kBACR,KAAA,EAAS;AAAA,oBACP,KAAA,EAAS;AAAA,sBACP;AAAA,wBACE,IAAA,EAAQ;AAAA,sBACV,CAAA;AAAA,sBACA;AAAA,wBACE,IAAA,EAAQ;AAAA,sBACV;AAAA,oBACF;AAAA,kBACF;AAAA,gBACF,CAAA;AAAA,gBACA,GAAA,EAAO;AAAA,kBACL,IAAA,EAAQ;AAAA,gBACV,CAAA;AAAA,gBACA,GAAA,EAAO;AAAA,kBACL,IAAA,EAAQ,OAAA;AAAA,kBACR,KAAA,EAAS;AAAA,oBACP,IAAA,EAAQ,QAAA;AAAA,oBACR,UAAA,EAAc;AAAA,sBACZ,CAAA,EAAK;AAAA,wBACH,IAAA,EAAQ;AAAA,sBACV,CAAA;AAAA,sBACA,CAAA,EAAK;AAAA,wBACH,IAAA,EAAQ;AAAA,sBACV,CAAA;AAAA,sBACA,CAAA,EAAK;AAAA,wBACH,IAAA,EAAQ;AAAA,sBACV;AAAA,oBACF;AAAA,kBACF;AAAA,gBACF,CAAA;AAAA,gBACA,CAAA,EAAK;AAAA,kBACH,IAAA,EAAQ;AAAA,gBACV,CAAA;AAAA,gBACA,CAAA,EAAK;AAAA,kBACH,IAAA,EAAQ;AAAA,gBACV,CAAA;AAAA,gBACA,EAAA,EAAM;AAAA,kBACJ,IAAA,EAAQ;AAAA,gBACV,CAAA;AAAA,gBACA,GAAA,EAAO;AAAA,kBACL,IAAA,EAAQ;AAAA,gBACV,CAAA;AAAA,gBACA,GAAA,EAAO;AAAA,kBACL,IAAA,EAAQ,OAAA;AAAA,kBACR,KAAA,EAAS;AAAA,oBACP,IAAA,EAAQ;AAAA,kBACV,CAAA;AAAA,kBACA,WAAA,EAAe;AAAA,gBACjB,CAAA;AAAA,gBACA,GAAA,EAAO;AAAA,kBACL,IAAA,EAAQ,QAAA;AAAA,kBACR,WAAA,EAAe;AAAA,gBACjB,CAAA;AAAA,gBACA,UAAA,EAAY;AAAA,kBACV,IAAA,EAAQ,QAAA;AAAA,kBACR,WAAA,EAAe;AAAA,gBACjB,CAAA;AAAA,gBACA,GAAA,EAAO;AAAA,kBACL,IAAA,EAAQ,QAAA;AAAA,kBACR,WAAA,EAAe;AAAA,gBACjB,CAAA;AAAA,gBACA,EAAA,EAAM;AAAA,kBACJ,IAAA,EAAQ;AAAA,gBACV;AAAA,cACF,CAAA;AAAA,cACA,oBAAA,EAAwB,CAAC,CAAA;AAAA,cACzB,QAAA,EAAY;AAAA,gBACV;AAAA,cACF;AAAA,YACF,CAAA;AAAA,YACA,UAAA,EAAc;AAAA,cACZ,IAAA,EAAQ,QAAA;AAAA,cACR,IAAA,EAAQ;AAAA,gBACN,IAAA;AAAA,gBACA,KAAA;AAAA,gBACA,KAAA;AAAA,gBACA;AAAA,cACF;AAAA,YACF,CAAA;AAAA,YACA,gBAAA,EAAoB;AAAA,cAClB,IAAA,EAAQ,QAAA;AAAA,cACR,IAAA,EAAQ;AAAA,gBACN,IAAA;AAAA,gBACA,KAAA;AAAA,gBACA,KAAA;AAAA,gBACA;AAAA,cACF;AAAA,YACF,CAAA;AAAA,YACA,SAAA,EAAa;AAAA,cACX,IAAA,EAAQ,QAAA;AAAA,cACR,IAAA,EAAQ;AAAA,gBACN,OAAA;AAAA,gBACA,OAAA;AAAA,gBACA,OAAA;AAAA,gBACA,QAAA;AAAA,gBACA,MAAA;AAAA,gBACA,OAAA;AAAA,gBACA,SAAA;AAAA,gBACA,OAAA;AAAA,gBACA;AAAA,cACF;AAAA,YACF,CAAA;AAAA,YACA,eAAA,EAAmB;AAAA,cACjB,IAAA,EAAQ,QAAA;AAAA,cACR,IAAA,EAAQ;AAAA,gBACN,OAAA;AAAA,gBACA,OAAA;AAAA,gBACA,OAAA;AAAA,gBACA,QAAA;AAAA,gBACA,MAAA;AAAA,gBACA,OAAA;AAAA,gBACA,SAAA;AAAA,gBACA,OAAA;AAAA,gBACA;AAAA,cACF;AAAA,YACF,CAAA;AAAA,YACA,sBAAA,EAA0B;AAAA,cACxB,IAAA,EAAQ,QAAA;AAAA,cACR,IAAA,EAAQ;AAAA,gBACN,OAAA;AAAA,gBACA,OAAA;AAAA,gBACA,OAAA;AAAA,gBACA,OAAA;AAAA,gBACA,QAAA;AAAA,gBACA,OAAA;AAAA,gBACA,OAAA;AAAA,gBACA,OAAA;AAAA,gBACA,OAAA;AAAA,gBACA,OAAA;AAAA,gBACA,OAAA;AAAA,gBACA,OAAA;AAAA,gBACA,OAAA;AAAA,gBACA,OAAA;AAAA,gBACA;AAAA,cACF;AAAA,YACF,CAAA;AAAA,YACA,4BAAA,EAAgC;AAAA,cAC9B,IAAA,EAAQ,QAAA;AAAA,cACR,IAAA,EAAQ;AAAA,gBACN,OAAA;AAAA,gBACA,OAAA;AAAA,gBACA,OAAA;AAAA,gBACA,OAAA;AAAA,gBACA,QAAA;AAAA,gBACA,OAAA;AAAA,gBACA,OAAA;AAAA,gBACA,OAAA;AAAA,gBACA,OAAA;AAAA,gBACA,OAAA;AAAA,gBACA,OAAA;AAAA,gBACA,OAAA;AAAA,gBACA,OAAA;AAAA,gBACA,OAAA;AAAA,gBACA;AAAA,cACF;AAAA,YACF,CAAA;AAAA,YACA,gBAAA,EAAoB;AAAA,cAClB,IAAA,EAAQ,QAAA;AAAA,cACR,IAAA,EAAQ;AAAA,gBACN,MAAA;AAAA,gBACA,QAAA;AAAA,gBACA,SAAA;AAAA,gBACA,SAAA;AAAA,gBACA,SAAA;AAAA,gBACA,WAAA;AAAA,gBACA,WAAA;AAAA,gBACA;AAAA,cACF;AAAA,YACF,CAAA;AAAA,YACA,sBAAA,EAA0B;AAAA,cACxB,IAAA,EAAQ,QAAA;AAAA,cACR,IAAA,EAAQ;AAAA,gBACN,MAAA;AAAA,gBACA,QAAA;AAAA,gBACA,SAAA;AAAA,gBACA,SAAA;AAAA,gBACA,SAAA;AAAA,gBACA,WAAA;AAAA,gBACA,WAAA;AAAA,gBACA;AAAA,cACF;AAAA,YACF,CAAA;AAAA,YACA,yBAAA,EAA6B;AAAA,cAC3B,IAAA,EAAQ,QAAA;AAAA,cACR,UAAA,EAAc;AAAA,gBACZ,MAAA,EAAU;AAAA,kBACR,IAAA,EAAQ,QAAA;AAAA,kBACR,KAAA,EAAS;AAAA,gBACX,CAAA;AAAA,gBACA,UAAA,EAAc;AAAA,kBACZ,IAAA,EAAQ;AAAA,gBACV,CAAA;AAAA,gBACA,MAAA,EAAU;AAAA,kBACR,IAAA,EAAQ;AAAA,gBACV,CAAA;AAAA,gBACA,gBAAA,EAAoB;AAAA,kBAClB,IAAA,EAAQ,QAAA;AAAA,kBACR,MAAA,EAAU;AAAA,gBACZ,CAAA;AAAA,gBACA,YAAA,EAAgB;AAAA,kBACd,IAAA,EAAQ,OAAA;AAAA,kBACR,KAAA,EAAS;AAAA,oBACP,IAAA,EAAQ;AAAA,kBACV;AAAA,gBACF,CAAA;AAAA,gBACA,wBAAA,EAA4B;AAAA,kBAC1B,IAAA,EAAQ;AAAA,gBACV,CAAA;AAAA,gBACA,sBAAA,EAA0B;AAAA,kBACxB,IAAA,EAAQ;AAAA,gBACV,CAAA;AAAA,gBACA,2BAAA,EAA+B;AAAA,kBAC7B,IAAA,EAAQ;AAAA,gBACV,CAAA;AAAA,gBACA,qBAAA,EAAyB;AAAA,kBACvB,IAAA,EAAQ,OAAA;AAAA,kBACR,KAAA,EAAS;AAAA,oBACP,IAAA,EAAQ;AAAA,kBACV;AAAA,gBACF,CAAA;AAAA,gBACA,qBAAA,EAAyB;AAAA,kBACvB,IAAA,EAAQ;AAAA,gBACV,CAAA;AAAA,gBACA,MAAA,EAAU;AAAA,kBACR,IAAA,EAAQ,QAAA;AAAA,kBACR,UAAA,EAAc;AAAA,oBACZ,QAAA,EAAY;AAAA,sBACV,IAAA,EAAQ;AAAA,oBACV,CAAA;AAAA,oBACA,cAAA,EAAkB;AAAA,sBAChB,IAAA,EAAQ,QAAA;AAAA,sBACR,IAAA,EAAQ;AAAA,wBACN,cAAA;AAAA,wBACA;AAAA,sBACF;AAAA,oBACF;AAAA,kBACF,CAAA;AAAA,kBACA,QAAA,EAAY;AAAA,oBACV,UAAA;AAAA,oBACA;AAAA,kBACF;AAAA,gBACF;AAAA,cACF,CAAA;AAAA,cACA,QAAA,EAAY;AAAA,gBACV;AAAA,cACF;AAAA,YACF,CAAA;AAAA,YACA,kBAAA,EAAsB;AAAA,cACpB,IAAA,EAAQ,QAAA;AAAA,cACR,IAAA,EAAQ;AAAA,gBACN,oBAAA;AAAA,gBACA,WAAA;AAAA,gBACA,SAAA;AAAA,gBACA,gBAAA;AAAA,gBACA,iBAAA;AAAA,gBACA,cAAA;AAAA,gBACA,sBAAA;AAAA,gBACA;AAAA,cACF,CAAA;AAAA,cACA,WAAA,EAAe;AAAA,YACjB,CAAA;AAAA,YACA,wBAAA,EAA4B;AAAA,cAC1B,KAAA,EAAS;AAAA,gBACP;AAAA,kBACE,IAAA,EAAQ,QAAA;AAAA,kBACR,UAAA,EAAc;AAAA,oBACZ,MAAA,EAAU;AAAA,sBACR,IAAA,EAAQ;AAAA,oBACV,CAAA;AAAA,oBACA,IAAA,EAAQ;AAAA,sBACN,IAAA,EAAQ,OAAA;AAAA,sBACR,KAAA,EAAS;AAAA,wBACP,IAAA,EAAQ;AAAA,sBACV;AAAA,oBACF,CAAA;AAAA,oBACA,GAAA,EAAO;AAAA,sBACL,IAAA,EAAQ;AAAA,oBACV,CAAA;AAAA,oBACA,WAAA,EAAe;AAAA,sBACb,IAAA,EAAQ;AAAA,oBACV,CAAA;AAAA,oBACA,OAAA,EAAW;AAAA,sBACT,IAAA,EAAQ,QAAA;AAAA,sBACR,UAAA,EAAc;AAAA,wBACZ,kBAAA,EAAsB;AAAA,0BACpB,IAAA,EAAQ,OAAA;AAAA,0BACR,KAAA,EAAS;AAAA,4BACP,IAAA,EAAQ;AAAA,0BACV;AAAA,wBACF,CAAA;AAAA,wBACA,cAAA,EAAkB;AAAA,0BAChB,IAAA,EAAQ,OAAA;AAAA,0BACR,KAAA,EAAS;AAAA,4BACP,IAAA,EAAQ;AAAA,0BACV;AAAA,wBACF,CAAA;AAAA,wBACA,eAAA,EAAmB;AAAA,0BACjB,IAAA,EAAQ,OAAA;AAAA,0BACR,KAAA,EAAS;AAAA,4BACP,IAAA,EAAQ;AAAA,0BACV;AAAA,wBACF,CAAA;AAAA,wBACA,YAAA,EAAgB;AAAA,0BACd,IAAA,EAAQ,OAAA;AAAA,0BACR,KAAA,EAAS;AAAA,4BACP,IAAA,EAAQ;AAAA,0BACV;AAAA,wBACF,CAAA;AAAA,wBACA,oBAAA,EAAwB;AAAA,0BACtB,IAAA,EAAQ,OAAA;AAAA,0BACR,KAAA,EAAS;AAAA,4BACP,IAAA,EAAQ;AAAA,0BACV;AAAA,wBACF,CAAA;AAAA,wBACA,oBAAA,EAAwB;AAAA,0BACtB,IAAA,EAAQ,OAAA;AAAA,0BACR,KAAA,EAAS;AAAA,4BACP,IAAA,EAAQ;AAAA,0BACV;AAAA,wBACF;AAAA,sBACF,CAAA;AAAA,sBACA,QAAA,EAAY;AAAA,wBACV,oBAAA;AAAA,wBACA,gBAAA;AAAA,wBACA,iBAAA;AAAA,wBACA,cAAA;AAAA,wBACA,sBAAA;AAAA,wBACA;AAAA,sBACF;AAAA,oBACF,CAAA;AAAA,oBACA,mBAAA,EAAuB;AAAA,sBACrB,IAAA,EAAQ,QAAA;AAAA,sBACR,UAAA,EAAc;AAAA,wBACZ,UAAA,EAAY;AAAA,0BACV,KAAA,EAAS;AAAA,4BACP;AAAA,8BACE,IAAA,EAAQ,QAAA;AAAA,8BACR,KAAA,EAAS;AAAA,4BACX,CAAA;AAAA,4BACA;AAAA,8BACE,IAAA,EAAQ;AAAA,4BACV,CAAA;AAAA,4BACA;AAAA,8BACE,IAAA,EAAQ,OAAA;AAAA,8BACR,KAAA,EAAS;AAAA,gCACP,IAAA,EAAQ;AAAA,8BACV;AAAA,4BACF;AAAA,0BACF;AAAA,wBACF,CAAA;AAAA,wBACA,qBAAA,EAAyB;AAAA,0BACvB,IAAA,EAAQ;AAAA,wBACV,CAAA;AAAA,wBACA,mBAAA,EAAuB;AAAA,0BACrB,IAAA,EAAQ;AAAA,wBACV;AAAA,sBACF,CAAA;AAAA,sBACA,QAAA,EAAY;AAAA,wBACV,uBAAA;AAAA,wBACA;AAAA,sBACF;AAAA,oBACF,CAAA;AAAA,oBACA,SAAA,EAAa;AAAA,sBACX,IAAA,EAAQ;AAAA,oBACV;AAAA,kBACF,CAAA;AAAA,kBACA,QAAA,EAAY;AAAA,oBACV,KAAA;AAAA,oBACA,WAAA;AAAA,oBACA,qBAAA;AAAA,oBACA,MAAA;AAAA,oBACA;AAAA,kBACF;AAAA,gBACF,CAAA;AAAA,gBACA;AAAA,kBACE,IAAA,EAAQ,QAAA;AAAA,kBACR,UAAA,EAAc;AAAA,oBACZ,MAAA,EAAU;AAAA,sBACR,IAAA,EAAQ;AAAA,oBACV,CAAA;AAAA,oBACA,IAAA,EAAQ;AAAA,sBACN,IAAA,EAAQ,OAAA;AAAA,sBACR,KAAA,EAAS;AAAA,wBACP,IAAA,EAAQ;AAAA,sBACV;AAAA,oBACF,CAAA;AAAA,oBACA,GAAA,EAAO;AAAA,sBACL,IAAA,EAAQ,OAAA;AAAA,sBACR,KAAA,EAAS;AAAA,wBACP,IAAA,EAAQ;AAAA,sBACV;AAAA,oBACF,CAAA;AAAA,oBACA,SAAA,EAAa;AAAA,sBACX,IAAA,EAAQ;AAAA,oBACV,CAAA;AAAA,oBACA,kBAAA,EAAsB;AAAA,sBACpB,IAAA,EAAQ,QAAA;AAAA,sBACR,UAAA,EAAc;AAAA,wBACZ,KAAA,EAAS;AAAA,0BACP,IAAA,EAAQ;AAAA,wBACV,CAAA;AAAA,wBACA,QAAA,EAAY;AAAA,0BACV,IAAA,EAAQ;AAAA,wBACV,CAAA;AAAA,wBACA,OAAA,EAAW;AAAA,0BACT,IAAA,EAAQ;AAAA,wBACV,CAAA;AAAA,wBACA,aAAA,EAAiB;AAAA,0BACf,IAAA,EAAQ;AAAA,wBACV,CAAA;AAAA,wBACA,gBAAA,EAAoB;AAAA,0BAClB,IAAA,EAAQ,QAAA;AAAA,0BACR,MAAA,EAAU;AAAA,wBACZ,CAAA;AAAA,wBACA,gBAAA,EAAoB;AAAA,0BAClB,IAAA,EAAQ,OAAA;AAAA,0BACR,KAAA,EAAS;AAAA,4BACP,IAAA,EAAQ,QAAA;AAAA,4BACR,UAAA,EAAc;AAAA,8BACZ,WAAA,EAAe,CAAC,CAAA;AAAA,8BAChB,SAAA,EAAa;AAAA,gCACX,IAAA,EAAQ,QAAA;AAAA,gCACR,MAAA,EAAU;AAAA,8BACZ,CAAA;AAAA,8BACA,QAAA,EAAY;AAAA,gCACV,IAAA,EAAQ,QAAA;AAAA,gCACR,MAAA,EAAU;AAAA,8BACZ,CAAA;AAAA,8BACA,YAAA,EAAgB,CAAC,CAAA;AAAA,8BACjB,MAAA,EAAU;AAAA,gCACR,IAAA,EAAQ,QAAA;AAAA,gCACR,UAAA,EAAc;AAAA,kCACZ,EAAA,EAAM;AAAA,oCACJ,IAAA,EAAQ,QAAA;AAAA,oCACR,UAAA,EAAc;AAAA,sCACZ,EAAA,EAAM;AAAA,wCACJ,IAAA,EAAQ;AAAA,sCACV,CAAA;AAAA,sCACA,UAAA,EAAc;AAAA,wCACZ,IAAA,EAAQ,QAAA;AAAA,wCACR,oBAAA,EAAwB;AAAA,0CACtB,IAAA,EAAQ;AAAA,wCACV;AAAA,sCACF;AAAA,oCACF,CAAA;AAAA,oCACA,QAAA,EAAY;AAAA,sCACV,IAAA;AAAA,sCACA;AAAA,oCACF;AAAA,kCACF;AAAA,gCACF,CAAA;AAAA,gCACA,QAAA,EAAY;AAAA,kCACV;AAAA,gCACF;AAAA,8BACF,CAAA;AAAA,8BACA,OAAA,EAAW;AAAA,gCACT,IAAA,EAAQ,QAAA;AAAA,gCACR,UAAA,EAAc;AAAA,kCACZ,EAAA,EAAM;AAAA,oCACJ,IAAA,EAAQ,QAAA;AAAA,oCACR,UAAA,EAAc;AAAA,sCACZ,EAAA,EAAM;AAAA,wCACJ,IAAA,EAAQ;AAAA,sCACV,CAAA;AAAA,sCACA,UAAA,EAAc;AAAA,wCACZ,IAAA,EAAQ,QAAA;AAAA,wCACR,oBAAA,EAAwB;AAAA,0CACtB,IAAA,EAAQ;AAAA,wCACV;AAAA,sCACF;AAAA,oCACF,CAAA;AAAA,oCACA,QAAA,EAAY;AAAA,sCACV,IAAA;AAAA,sCACA;AAAA,oCACF;AAAA,kCACF,CAAA;AAAA,kCACA,uBAAA,EAA2B;AAAA,oCACzB,IAAA,EAAQ,OAAA;AAAA,oCACR,KAAA,EAAS;AAAA,sCACP,IAAA,EAAQ,QAAA;AAAA,sCACR,UAAA,EAAc;AAAA,wCACZ,KAAA,EAAS;AAAA,0CACP,IAAA,EAAQ;AAAA,wCACV,CAAA;AAAA,wCACA,IAAA,EAAQ;AAAA,0CACN,IAAA,EAAQ,QAAA;AAAA,0CACR,IAAA,EAAQ;AAAA,4CACN,CAAA;AAAA,4CACA,CAAA;AAAA,4CACA,CAAA;AAAA,4CACA;AAAA,0CACF,CAAA;AAAA,0CACA,WAAA,EAAe;AAAA,wCACjB;AAAA,sCACF,CAAA;AAAA,sCACA,QAAA,EAAY;AAAA,wCACV,OAAA;AAAA,wCACA;AAAA,sCACF;AAAA,oCACF;AAAA,kCACF;AAAA,gCACF,CAAA;AAAA,gCACA,QAAA,EAAY;AAAA,kCACV,IAAA;AAAA,kCACA;AAAA,gCACF;AAAA,8BACF;AAAA,4BACF,CAAA;AAAA,4BACA,QAAA,EAAY;AAAA,8BACV,WAAA;AAAA,8BACA,UAAA;AAAA,8BACA,QAAA;AAAA,8BACA;AAAA,4BACF;AAAA,0BACF;AAAA,wBACF,CAAA;AAAA,wBACA,WAAA,EAAe;AAAA,0BACb,IAAA,EAAQ,QAAA;AAAA,0BACR,UAAA,EAAc;AAAA,4BACZ,WAAA,EAAe,CAAC,CAAA;AAAA,4BAChB,SAAA,EAAa;AAAA,8BACX,IAAA,EAAQ,QAAA;AAAA,8BACR,MAAA,EAAU;AAAA,4BACZ,CAAA;AAAA,4BACA,QAAA,EAAY;AAAA,8BACV,IAAA,EAAQ,QAAA;AAAA,8BACR,MAAA,EAAU;AAAA,4BACZ,CAAA;AAAA,4BACA,YAAA,EAAgB,CAAC,CAAA;AAAA,4BACjB,MAAA,EAAU;AAAA,8BACR,IAAA,EAAQ,QAAA;AAAA,8BACR,UAAA,EAAc;AAAA,gCACZ,EAAA,EAAM;AAAA,kCACJ,IAAA,EAAQ,QAAA;AAAA,kCACR,UAAA,EAAc;AAAA,oCACZ,EAAA,EAAM;AAAA,sCACJ,IAAA,EAAQ;AAAA,oCACV,CAAA;AAAA,oCACA,UAAA,EAAc;AAAA,sCACZ,IAAA,EAAQ,QAAA;AAAA,sCACR,oBAAA,EAAwB;AAAA,wCACtB,IAAA,EAAQ;AAAA,sCACV;AAAA,oCACF;AAAA,kCACF,CAAA;AAAA,kCACA,QAAA,EAAY;AAAA,oCACV,IAAA;AAAA,oCACA;AAAA,kCACF;AAAA,gCACF;AAAA,8BACF,CAAA;AAAA,8BACA,QAAA,EAAY;AAAA,gCACV;AAAA,8BACF;AAAA,4BACF,CAAA;AAAA,4BACA,OAAA,EAAW;AAAA,8BACT,IAAA,EAAQ,QAAA;AAAA,8BACR,UAAA,EAAc;AAAA,gCACZ,EAAA,EAAM;AAAA,kCACJ,IAAA,EAAQ,QAAA;AAAA,kCACR,UAAA,EAAc;AAAA,oCACZ,EAAA,EAAM;AAAA,sCACJ,IAAA,EAAQ;AAAA,oCACV,CAAA;AAAA,oCACA,UAAA,EAAc;AAAA,sCACZ,IAAA,EAAQ,QAAA;AAAA,sCACR,oBAAA,EAAwB;AAAA,wCACtB,IAAA,EAAQ;AAAA,sCACV;AAAA,oCACF;AAAA,kCACF,CAAA;AAAA,kCACA,QAAA,EAAY;AAAA,oCACV,IAAA;AAAA,oCACA;AAAA,kCACF;AAAA,gCACF,CAAA;AAAA,gCACA,uBAAA,EAA2B;AAAA,kCACzB,IAAA,EAAQ,OAAA;AAAA,kCACR,KAAA,EAAS;AAAA,oCACP,IAAA,EAAQ,QAAA;AAAA,oCACR,UAAA,EAAc;AAAA,sCACZ,KAAA,EAAS;AAAA,wCACP,IAAA,EAAQ;AAAA,sCACV,CAAA;AAAA,sCACA,IAAA,EAAQ;AAAA,wCACN,IAAA,EAAQ,QAAA;AAAA,wCACR,IAAA,EAAQ;AAAA,0CACN,CAAA;AAAA,0CACA,CAAA;AAAA,0CACA,CAAA;AAAA,0CACA;AAAA,wCACF,CAAA;AAAA,wCACA,WAAA,EAAe;AAAA,sCACjB;AAAA,oCACF,CAAA;AAAA,oCACA,QAAA,EAAY;AAAA,sCACV,OAAA;AAAA,sCACA;AAAA,oCACF;AAAA,kCACF;AAAA,gCACF;AAAA,8BACF,CAAA;AAAA,8BACA,QAAA,EAAY;AAAA,gCACV,IAAA;AAAA,gCACA;AAAA,8BACF;AAAA,4BACF;AAAA,0BACF,CAAA;AAAA,0BACA,QAAA,EAAY;AAAA,4BACV,WAAA;AAAA,4BACA,UAAA;AAAA,4BACA,QAAA;AAAA,4BACA;AAAA,0BACF;AAAA,wBACF,CAAA;AAAA,wBACA,MAAA,EAAU;AAAA,0BACR,IAAA,EAAQ,QAAA;AAAA,0BACR,UAAA,EAAc;AAAA,4BACZ,QAAA,EAAY;AAAA,8BACV,IAAA,EAAQ;AAAA,4BACV,CAAA;AAAA,4BACA,cAAA,EAAkB;AAAA,8BAChB,IAAA,EAAQ,QAAA;AAAA,8BACR,IAAA,EAAQ;AAAA,gCACN,cAAA;AAAA,gCACA;AAAA,8BACF;AAAA,4BACF;AAAA,0BACF,CAAA;AAAA,0BACA,QAAA,EAAY;AAAA,4BACV,UAAA;AAAA,4BACA;AAAA,0BACF;AAAA,wBACF;AAAA,sBACF,CAAA;AAAA,sBACA,QAAA,EAAY;AAAA,wBACV,OAAA;AAAA,wBACA,UAAA;AAAA,wBACA,SAAA;AAAA,wBACA;AAAA,sBACF;AAAA,oBACF,CAAA;AAAA,oBACA,YAAA,EAAgB;AAAA,sBACd,IAAA,EAAQ,OAAA;AAAA,sBACR,KAAA,EAAS,CAAC;AAAA,oBACZ;AAAA,kBACF,CAAA;AAAA,kBACA,QAAA,EAAY;AAAA,oBACV,cAAA;AAAA,oBACA,WAAA;AAAA,oBACA,MAAA;AAAA,oBACA,QAAA;AAAA,oBACA;AAAA,kBACF;AAAA,gBACF,CAAA;AAAA,gBACA;AAAA,kBACE,IAAA,EAAQ,QAAA;AAAA,kBACR,UAAA,EAAc;AAAA,oBACZ,MAAA,EAAU;AAAA,sBACR,IAAA,EAAQ;AAAA,oBACV,CAAA;AAAA,oBACA,IAAA,EAAQ;AAAA,sBACN,IAAA,EAAQ,OAAA;AAAA,sBACR,KAAA,EAAS;AAAA,wBACP,IAAA,EAAQ;AAAA,sBACV;AAAA,oBACF,CAAA;AAAA,oBACA,GAAA,EAAO;AAAA,sBACL,IAAA,EAAQ;AAAA,oBACV,CAAA;AAAA,oBACA,GAAA,EAAO;AAAA,sBACL,IAAA,EAAQ;AAAA,oBACV;AAAA,kBACF,CAAA;AAAA,kBACA,QAAA,EAAY;AAAA,oBACV,KAAA;AAAA,oBACA,MAAA;AAAA,oBACA;AAAA,kBACF;AAAA,gBACF,CAAA;AAAA,gBACA;AAAA,kBACE,IAAA,EAAQ,QAAA;AAAA,kBACR,UAAA,EAAc;AAAA,oBACZ,MAAA,EAAU;AAAA,sBACR,IAAA,EAAQ;AAAA,oBACV,CAAA;AAAA,oBACA,IAAA,EAAQ;AAAA,sBACN,IAAA,EAAQ,OAAA;AAAA,sBACR,KAAA,EAAS;AAAA,wBACP,IAAA,EAAQ;AAAA,sBACV;AAAA,oBACF,CAAA;AAAA,oBACA,cAAA,EAAkB;AAAA,sBAChB,IAAA,EAAQ,OAAA;AAAA,sBACR,KAAA,EAAS;AAAA,wBACP,IAAA,EAAQ;AAAA,sBACV;AAAA,oBACF,CAAA;AAAA,oBACA,SAAA,EAAa;AAAA,sBACX,IAAA,EAAQ,QAAA;AAAA,sBACR,oBAAA,EAAwB;AAAA,wBACtB,IAAA,EAAQ;AAAA,sBACV;AAAA,oBACF,CAAA;AAAA,oBACA,UAAA,EAAc;AAAA,sBACZ,IAAA,EAAQ;AAAA,oBACV,CAAA;AAAA,oBACA,gBAAA,EAAoB;AAAA,sBAClB,IAAA,EAAQ;AAAA,oBACV;AAAA,kBACF,CAAA;AAAA,kBACA,QAAA,EAAY;AAAA,oBACV,MAAA;AAAA,oBACA,QAAA;AAAA,oBACA,kBAAA;AAAA,oBACA;AAAA,kBACF;AAAA,gBACF,CAAA;AAAA,gBACA;AAAA,kBACE,IAAA,EAAQ,QAAA;AAAA,kBACR,UAAA,EAAc;AAAA,oBACZ,MAAA,EAAU;AAAA,sBACR,IAAA,EAAQ;AAAA,oBACV,CAAA;AAAA,oBACA,IAAA,EAAQ;AAAA,sBACN,IAAA,EAAQ,OAAA;AAAA,sBACR,KAAA,EAAS;AAAA,wBACP,IAAA,EAAQ;AAAA,sBACV;AAAA,oBACF,CAAA;AAAA,oBACA,OAAA,EAAW;AAAA,sBACT,IAAA,EAAQ;AAAA,oBACV,CAAA;AAAA,oBACA,GAAA,EAAO;AAAA,sBACL,IAAA,EAAQ;AAAA,oBACV;AAAA,kBACF,CAAA;AAAA,kBACA,QAAA,EAAY;AAAA,oBACV,SAAA;AAAA,oBACA,MAAA;AAAA,oBACA;AAAA,kBACF;AAAA,gBACF;AAAA,cACF;AAAA,YACF,CAAA;AAAA,YACA,wBAAA,EAA4B;AAAA,cAC1B,IAAA,EAAQ,QAAA;AAAA,cACR,IAAA,EAAQ;AAAA,gBACN,KAAA;AAAA,gBACA,KAAA;AAAA,gBACA,KAAA;AAAA,gBACA,KAAA;AAAA,gBACA,UAAA;AAAA,gBACA,gBAAA;AAAA,gBACA,UAAA;AAAA,gBACA,gBAAA;AAAA,gBACA;AAAA,cACF;AAAA,YACF,CAAA;AAAA,YACA,eAAA,EAAmB;AAAA,cACjB,IAAA,EAAQ,QAAA;AAAA,cACR,UAAA,EAAc;AAAA,gBACZ,GAAA,EAAO;AAAA,kBACL,IAAA,EAAQ;AAAA,gBACV,CAAA;AAAA,gBACA,aAAA,EAAiB;AAAA,kBACf,IAAA,EAAQ;AAAA,gBACV,CAAA;AAAA,gBACA,GAAA,EAAO;AAAA,kBACL,IAAA,EAAQ;AAAA,gBACV,CAAA;AAAA,gBACA,YAAA,EAAgB;AAAA,kBACd,IAAA,EAAQ;AAAA,gBACV;AAAA,cACF,CAAA;AAAA,cACA,QAAA,EAAY;AAAA,gBACV,KAAA;AAAA,gBACA,eAAA;AAAA,gBACA;AAAA,cACF;AAAA,YACF,CAAA;AAAA,YACA,WAAA,EAAe;AAAA,cACb,IAAA,EAAQ,QAAA;AAAA,cACR,UAAA,EAAc;AAAA,gBACZ,cAAA,EAAkB;AAAA,kBAChB,IAAA,EAAQ,OAAA;AAAA,kBACR,KAAA,EAAS;AAAA,oBACP,KAAA,EAAS;AAAA,sBACP;AAAA,wBACE,IAAA,EAAQ;AAAA,sBACV,CAAA;AAAA,sBACA;AAAA,wBACE,IAAA,EAAQ;AAAA,sBACV;AAAA,oBACF;AAAA,kBACF;AAAA,gBACF,CAAA;AAAA,gBACA,eAAA,EAAmB;AAAA,kBACjB,IAAA,EAAQ,OAAA;AAAA,kBACR,KAAA,EAAS;AAAA,oBACP,KAAA,EAAS;AAAA,sBACP;AAAA,wBACE,IAAA,EAAQ;AAAA,sBACV,CAAA;AAAA,sBACA;AAAA,wBACE,IAAA,EAAQ;AAAA,sBACV;AAAA,oBACF;AAAA,kBACF;AAAA,gBACF,CAAA;AAAA,gBACA,YAAA,EAAgB;AAAA,kBACd,IAAA,EAAQ,OAAA;AAAA,kBACR,KAAA,EAAS;AAAA,oBACP,KAAA,EAAS;AAAA,sBACP;AAAA,wBACE,IAAA,EAAQ;AAAA,sBACV,CAAA;AAAA,sBACA;AAAA,wBACE,IAAA,EAAQ;AAAA,sBACV;AAAA,oBACF;AAAA,kBACF;AAAA,gBACF,CAAA;AAAA,gBACA,oBAAA,EAAwB;AAAA,kBACtB,IAAA,EAAQ,OAAA;AAAA,kBACR,KAAA,EAAS;AAAA,oBACP,KAAA,EAAS;AAAA,sBACP;AAAA,wBACE,IAAA,EAAQ;AAAA,sBACV,CAAA;AAAA,sBACA;AAAA,wBACE,IAAA,EAAQ;AAAA,sBACV;AAAA,oBACF;AAAA,kBACF;AAAA,gBACF,CAAA;AAAA,gBACA,oBAAA,EAAwB;AAAA,kBACtB,IAAA,EAAQ,OAAA;AAAA,kBACR,KAAA,EAAS;AAAA,oBACP,KAAA,EAAS;AAAA,sBACP;AAAA,wBACE,IAAA,EAAQ;AAAA,sBACV,CAAA;AAAA,sBACA;AAAA,wBACE,IAAA,EAAQ;AAAA,sBACV;AAAA,oBACF;AAAA,kBACF;AAAA,gBACF,CAAA;AAAA,gBACA,UAAA,EAAY;AAAA,kBACV,KAAA,EAAS;AAAA,oBACP;AAAA,sBACE,IAAA,EAAQ,QAAA;AAAA,sBACR,KAAA,EAAS;AAAA,oBACX,CAAA;AAAA,oBACA;AAAA,sBACE,IAAA,EAAQ;AAAA,oBACV,CAAA;AAAA,oBACA;AAAA,sBACE,IAAA,EAAQ,OAAA;AAAA,sBACR,KAAA,EAAS;AAAA,wBACP,IAAA,EAAQ;AAAA,sBACV;AAAA,oBACF;AAAA,kBACF;AAAA,gBACF,CAAA;AAAA,gBACA,EAAA,EAAM;AAAA,kBACJ,IAAA,EAAQ;AAAA,gBACV,CAAA;AAAA,gBACA,WAAA,EAAe;AAAA,kBACb,IAAA,EAAQ,OAAA;AAAA,kBACR,KAAA,EAAS;AAAA,oBACP,IAAA,EAAQ;AAAA,kBACV;AAAA,gBACF,CAAA;AAAA,gBACA,UAAA,EAAc;AAAA,kBACZ,KAAA,EAAS;AAAA,oBACP;AAAA,sBACE,IAAA,EAAQ;AAAA,oBACV,CAAA;AAAA,oBACA;AAAA,sBACE,IAAA,EAAQ,OAAA;AAAA,sBACR,KAAA,EAAS;AAAA,wBACP,IAAA,EAAQ;AAAA,sBACV;AAAA,oBACF;AAAA,kBACF;AAAA,gBACF,CAAA;AAAA,gBACA,kBAAA,EAAsB;AAAA,kBACpB,IAAA,EAAQ,OAAA;AAAA,kBACR,KAAA,EAAS;AAAA,oBACP,IAAA,EAAQ;AAAA,kBACV;AAAA,gBACF,CAAA;AAAA,gBACA,OAAA,EAAW;AAAA,kBACT,IAAA,EAAQ,OAAA;AAAA,kBACR,KAAA,EAAS;AAAA,oBACP,IAAA,EAAQ;AAAA,kBACV;AAAA,gBACF,CAAA;AAAA,gBACA,SAAA,EAAa;AAAA,kBACX,IAAA,EAAQ,OAAA;AAAA,kBACR,KAAA,EAAS;AAAA,oBACP,IAAA,EAAQ;AAAA,kBACV,CAAA;AAAA,kBACA,UAAA,EAAc;AAAA,gBAChB;AAAA,cACF,CAAA;AAAA,cACA,QAAA,EAAY;AAAA,gBACV;AAAA,cACF,CAAA;AAAA,cACA,WAAA,EAAe;AAAA,YACjB,CAAA;AAAA,YACA,kBAAA,EAAsB;AAAA,cACpB,IAAA,EAAQ,QAAA;AAAA,cACR,UAAA,EAAc;AAAA,gBACZ,EAAA,EAAM;AAAA,kBACJ,IAAA,EAAQ;AAAA,gBACV,CAAA;AAAA,gBACA,IAAA,EAAQ;AAAA,kBACN,IAAA,EAAQ;AAAA,gBACV,CAAA;AAAA,gBACA,UAAA,EAAc;AAAA,kBACZ,IAAA,EAAQ;AAAA,gBACV,CAAA;AAAA,gBACA,eAAA,EAAmB;AAAA,kBACjB,IAAA,EAAQ;AAAA,gBACV,CAAA;AAAA,gBACA,eAAA,EAAmB;AAAA,kBACjB,IAAA,EAAQ;AAAA,gBACV,CAAA;AAAA,gBACA,YAAA,EAAgB;AAAA,kBACd,IAAA,EAAQ;AAAA,gBACV,CAAA;AAAA,gBACA,YAAA,EAAgB;AAAA,kBACd,IAAA,EAAQ;AAAA,gBACV,CAAA;AAAA,gBACA,kBAAA,EAAsB;AAAA,kBACpB,IAAA,EAAQ;AAAA,gBACV,CAAA;AAAA,gBACA,mBAAA,EAAuB;AAAA,kBACrB,IAAA,EAAQ;AAAA,gBACV,CAAA;AAAA,gBACA,eAAA,EAAmB;AAAA,kBACjB,IAAA,EAAQ;AAAA,gBACV,CAAA;AAAA,gBACA,WAAA,EAAe;AAAA,kBACb,IAAA,EAAQ,OAAA;AAAA,kBACR,KAAA,EAAS;AAAA,oBACP,IAAA,EAAQ;AAAA,kBACV;AAAA,gBACF,CAAA;AAAA,gBACA,YAAA,EAAgB;AAAA,kBACd,IAAA,EAAQ,OAAA;AAAA,kBACR,KAAA,EAAS;AAAA,oBACP,IAAA,EAAQ;AAAA,kBACV;AAAA,gBACF,CAAA;AAAA,gBACA,SAAA,EAAa;AAAA,kBACX,IAAA,EAAQ;AAAA,gBACV,CAAA;AAAA,gBACA,kBAAA,EAAsB;AAAA,kBACpB,IAAA,EAAQ,OAAA;AAAA,kBACR,KAAA,EAAS;AAAA,oBACP,IAAA,EAAQ;AAAA,kBACV;AAAA,gBACF,CAAA;AAAA,gBACA,0BAAA,EAA8B;AAAA,kBAC5B,IAAA,EAAQ,OAAA;AAAA,kBACR,KAAA,EAAS;AAAA,oBACP,IAAA,EAAQ;AAAA,kBACV;AAAA,gBACF,CAAA;AAAA,gBACA,kBAAA,EAAsB;AAAA,kBACpB,IAAA,EAAQ;AAAA,gBACV,CAAA;AAAA,gBACA,kBAAA,EAAsB;AAAA,kBACpB,IAAA,EAAQ,OAAA;AAAA,kBACR,KAAA,EAAS;AAAA,oBACP,IAAA,EAAQ;AAAA,kBACV;AAAA,gBACF,CAAA;AAAA,gBACA,iBAAA,EAAqB;AAAA,kBACnB,IAAA,EAAQ,OAAA;AAAA,kBACR,KAAA,EAAS;AAAA,oBACP,IAAA,EAAQ;AAAA,kBACV;AAAA,gBACF,CAAA;AAAA,gBACA,mBAAA,EAAuB;AAAA,kBACrB,IAAA,EAAQ,OAAA;AAAA,kBACR,KAAA,EAAS;AAAA,oBACP,IAAA,EAAQ;AAAA,kBACV;AAAA,gBACF;AAAA,cACF,CAAA;AAAA,cACA,QAAA,EAAY;AAAA,gBACV,IAAA;AAAA,gBACA,MAAA;AAAA,gBACA;AAAA,cACF,CAAA;AAAA,cACA,WAAA,EAAe;AAAA,YACjB,CAAA;AAAA,YACA,UAAA,EAAc;AAAA,cACZ,IAAA,EAAQ,QAAA;AAAA,cACR,UAAA,EAAc;AAAA,gBACZ,GAAA,EAAO;AAAA,kBACL,IAAA,EAAQ;AAAA,gBACV,CAAA;AAAA,gBACA,GAAA,EAAO;AAAA,kBACL,IAAA,EAAQ;AAAA,gBACV,CAAA;AAAA,gBACA,CAAA,EAAK;AAAA,kBACH,IAAA,EAAQ;AAAA,gBACV,CAAA;AAAA,gBACA,GAAA,EAAO;AAAA,kBACL,IAAA,EAAQ;AAAA,gBACV,CAAA;AAAA,gBACA,OAAA,EAAW;AAAA,kBACT,IAAA,EAAQ,OAAA;AAAA,kBACR,KAAA,EAAS;AAAA,oBACP,IAAA,EAAQ;AAAA,kBACV;AAAA,gBACF,CAAA;AAAA,gBACA,GAAA,EAAO;AAAA,kBACL,IAAA,EAAQ;AAAA,gBACV,CAAA;AAAA,gBACA,GAAA,EAAO;AAAA,kBACL,IAAA,EAAQ;AAAA,gBACV,CAAA;AAAA,gBACA,CAAA,EAAK;AAAA,kBACH,IAAA,EAAQ;AAAA,gBACV,CAAA;AAAA,gBACA,GAAA,EAAO;AAAA,kBACL,IAAA,EAAQ;AAAA,gBACV,CAAA;AAAA,gBACA,CAAA,EAAK;AAAA,kBACH,IAAA,EAAQ;AAAA,gBACV,CAAA;AAAA,gBACA,CAAA,EAAK;AAAA,kBACH,IAAA,EAAQ;AAAA,gBACV;AAAA,cACF,CAAA;AAAA,cACA,QAAA,EAAY;AAAA,gBACV;AAAA,cACF,CAAA;AAAA,cACA,WAAA,EAAe;AAAA,YACjB,CAAA;AAAA,YACA,0BAAA,EAA8B;AAAA,cAC5B,IAAA,EAAQ,QAAA;AAAA,cACR,UAAA,EAAc;AAAA,gBACZ,SAAA,EAAa;AAAA,kBACX,IAAA,EAAQ;AAAA,gBACV,CAAA;AAAA,gBACA,MAAA,EAAU;AAAA,kBACR,IAAA,EAAQ;AAAA,gBACV;AAAA,cACF,CAAA;AAAA,cACA,QAAA,EAAY;AAAA,gBACV,WAAA;AAAA,gBACA;AAAA,cACF;AAAA,YACF,CAAA;AAAA,YACA,OAAA,EAAW;AAAA,cACT,IAAA,EAAQ,QAAA;AAAA,cACR,UAAA,EAAc;AAAA,gBACZ,EAAA,EAAM;AAAA,kBACJ,IAAA,EAAQ;AAAA,gBACV,CAAA;AAAA,gBACA,IAAA,EAAQ;AAAA,kBACN,IAAA,EAAQ;AAAA,gBACV,CAAA;AAAA,gBACA,eAAA,EAAmB;AAAA,kBACjB,KAAA,EAAS;AAAA,oBACP;AAAA,sBACE,IAAA,EAAQ;AAAA,oBACV,CAAA;AAAA,oBACA;AAAA,sBACE,IAAA,EAAQ,OAAA;AAAA,sBACR,KAAA,EAAS;AAAA,wBACP,IAAA,EAAQ;AAAA,sBACV;AAAA,oBACF;AAAA,kBACF;AAAA,gBACF;AAAA,cACF,CAAA;AAAA,cACA,QAAA,EAAY;AAAA,gBACV,IAAA;AAAA,gBACA,MAAA;AAAA,gBACA;AAAA,cACF,CAAA;AAAA,cACA,WAAA,EAAe;AAAA,YACjB,CAAA;AAAA,YACA,eAAA,EAAmB;AAAA,cACjB,KAAA,EAAS;AAAA,gBACP;AAAA,kBACE,IAAA,EAAQ;AAAA,gBACV,CAAA;AAAA,gBACA;AAAA,kBACE,IAAA,EAAQ;AAAA,gBACV;AAAA,cACF,CAAA;AAAA,cACA,WAAA,EAAe;AAAA,YACjB,CAAA;AAAA,YACA,qBAAA,EAAyB;AAAA,cACvB,IAAA,EAAQ,QAAA;AAAA,cACR,UAAA,EAAc;AAAA,gBACZ,WAAA,EAAe;AAAA,kBACb,IAAA,EAAQ;AAAA,gBACV,CAAA;AAAA,gBACA,KAAA,EAAS;AAAA,kBACP,IAAA,EAAQ;AAAA,gBACV;AAAA,cACF,CAAA;AAAA,cACA,WAAA,EAAe;AAAA,YACjB,CAAA;AAAA,YACA,mBAAA,EAAuB;AAAA,cACrB,IAAA,EAAQ,QAAA;AAAA,cACR,UAAA,EAAc;AAAA,gBACZ,OAAA,EAAW;AAAA,kBACT,IAAA,EAAQ;AAAA,gBACV,CAAA;AAAA,gBACA,OAAA,EAAW;AAAA,kBACT,IAAA,EAAQ;AAAA,gBACV,CAAA;AAAA,gBACA,WAAA,EAAe;AAAA,kBACb,IAAA,EAAQ;AAAA,gBACV,CAAA;AAAA,gBACA,SAAA,EAAa;AAAA,kBACX,IAAA,EAAQ;AAAA,gBACV,CAAA;AAAA,gBACA,UAAA,EAAc;AAAA,kBACZ,IAAA,EAAQ;AAAA,gBACV,CAAA;AAAA,gBACA,aAAA,EAAiB;AAAA,kBACf,IAAA,EAAQ;AAAA,gBACV,CAAA;AAAA,gBACA,YAAA,EAAgB;AAAA,kBACd,IAAA,EAAQ;AAAA,gBACV,CAAA;AAAA,gBACA,WAAA,EAAe;AAAA,kBACb,IAAA,EAAQ;AAAA,gBACV;AAAA,cACF,CAAA;AAAA,cACA,WAAA,EAAe;AAAA,YACjB,CAAA;AAAA,YACA,UAAA,EAAc;AAAA,cACZ,IAAA,EAAQ,QAAA;AAAA,cACR,UAAA,EAAc;AAAA,gBACZ,GAAA,EAAO;AAAA,kBACL,IAAA,EAAQ;AAAA,gBACV,CAAA;AAAA,gBACA,MAAA,EAAU;AAAA,kBACR,IAAA,EAAQ;AAAA,gBACV,CAAA;AAAA,gBACA,MAAA,EAAU;AAAA,kBACR,IAAA,EAAQ;AAAA,gBACV,CAAA;AAAA,gBACA,EAAA,EAAM;AAAA,kBACJ,IAAA,EAAQ;AAAA,gBACV,CAAA;AAAA,gBACA,IAAA,EAAQ;AAAA,kBACN,IAAA,EAAQ;AAAA,gBACV,CAAA;AAAA,gBACA,QAAA,EAAY;AAAA,kBACV,IAAA,EAAQ;AAAA,gBACV,CAAA;AAAA,gBACA,KAAA,EAAS;AAAA,kBACP,IAAA,EAAQ;AAAA,gBACV,CAAA;AAAA,gBACA,MAAA,EAAU;AAAA,kBACR,IAAA,EAAQ,QAAA;AAAA,kBACR,oBAAA,EAAwB;AAAA,oBACtB,IAAA,EAAQ;AAAA,kBACV;AAAA,gBACF;AAAA,cACF,CAAA;AAAA,cACA,QAAA,EAAY;AAAA,gBACV,KAAA;AAAA,gBACA,QAAA;AAAA,gBACA,QAAA;AAAA,gBACA;AAAA,cACF;AAAA,YACF,CAAA;AAAA,YACA,2BAAA,EAA+B;AAAA,cAC7B,IAAA,EAAQ,QAAA;AAAA,cACR,UAAA,EAAc;AAAA,gBACZ,MAAA,EAAU;AAAA,kBACR,IAAA,EAAQ,QAAA;AAAA,kBACR,KAAA,EAAS;AAAA,gBACX,CAAA;AAAA,gBACA,IAAA,EAAQ;AAAA,kBACN,IAAA,EAAQ,OAAA;AAAA,kBACR,KAAA,EAAS;AAAA,oBACP,IAAA,EAAQ;AAAA,kBACV;AAAA,gBACF,CAAA;AAAA,gBACA,GAAA,EAAO;AAAA,kBACL,IAAA,EAAQ,OAAA;AAAA,kBACR,KAAA,EAAS;AAAA,oBACP,IAAA,EAAQ;AAAA,kBACV;AAAA,gBACF,CAAA;AAAA,gBACA,SAAA,EAAa;AAAA,kBACX,IAAA,EAAQ;AAAA,gBACV,CAAA;AAAA,gBACA,kBAAA,EAAsB;AAAA,kBACpB,IAAA,EAAQ,QAAA;AAAA,kBACR,UAAA,EAAc;AAAA,oBACZ,KAAA,EAAS;AAAA,sBACP,IAAA,EAAQ;AAAA,oBACV,CAAA;AAAA,oBACA,QAAA,EAAY;AAAA,sBACV,IAAA,EAAQ;AAAA,oBACV,CAAA;AAAA,oBACA,OAAA,EAAW;AAAA,sBACT,IAAA,EAAQ;AAAA,oBACV,CAAA;AAAA,oBACA,aAAA,EAAiB;AAAA,sBACf,IAAA,EAAQ;AAAA,oBACV,CAAA;AAAA,oBACA,gBAAA,EAAoB;AAAA,sBAClB,IAAA,EAAQ,QAAA;AAAA,sBACR,MAAA,EAAU;AAAA,oBACZ,CAAA;AAAA,oBACA,gBAAA,EAAoB;AAAA,sBAClB,IAAA,EAAQ,OAAA;AAAA,sBACR,KAAA,EAAS;AAAA,wBACP,IAAA,EAAQ,QAAA;AAAA,wBACR,UAAA,EAAc;AAAA,0BACZ,WAAA,EAAe,CAAC,CAAA;AAAA,0BAChB,SAAA,EAAa;AAAA,4BACX,IAAA,EAAQ,QAAA;AAAA,4BACR,MAAA,EAAU;AAAA,0BACZ,CAAA;AAAA,0BACA,QAAA,EAAY;AAAA,4BACV,IAAA,EAAQ,QAAA;AAAA,4BACR,MAAA,EAAU;AAAA,0BACZ,CAAA;AAAA,0BACA,YAAA,EAAgB,CAAC,CAAA;AAAA,0BACjB,MAAA,EAAU;AAAA,4BACR,IAAA,EAAQ,QAAA;AAAA,4BACR,UAAA,EAAc;AAAA,8BACZ,EAAA,EAAM;AAAA,gCACJ,IAAA,EAAQ,QAAA;AAAA,gCACR,UAAA,EAAc;AAAA,kCACZ,EAAA,EAAM;AAAA,oCACJ,IAAA,EAAQ;AAAA,kCACV,CAAA;AAAA,kCACA,UAAA,EAAc;AAAA,oCACZ,IAAA,EAAQ,QAAA;AAAA,oCACR,oBAAA,EAAwB;AAAA,sCACtB,IAAA,EAAQ;AAAA,oCACV;AAAA,kCACF;AAAA,gCACF,CAAA;AAAA,gCACA,QAAA,EAAY;AAAA,kCACV,IAAA;AAAA,kCACA;AAAA,gCACF;AAAA,8BACF;AAAA,4BACF,CAAA;AAAA,4BACA,QAAA,EAAY;AAAA,8BACV;AAAA,4BACF;AAAA,0BACF,CAAA;AAAA,0BACA,OAAA,EAAW;AAAA,4BACT,IAAA,EAAQ,QAAA;AAAA,4BACR,UAAA,EAAc;AAAA,8BACZ,EAAA,EAAM;AAAA,gCACJ,IAAA,EAAQ,QAAA;AAAA,gCACR,UAAA,EAAc;AAAA,kCACZ,EAAA,EAAM;AAAA,oCACJ,IAAA,EAAQ;AAAA,kCACV,CAAA;AAAA,kCACA,UAAA,EAAc;AAAA,oCACZ,IAAA,EAAQ,QAAA;AAAA,oCACR,oBAAA,EAAwB;AAAA,sCACtB,IAAA,EAAQ;AAAA,oCACV;AAAA,kCACF;AAAA,gCACF,CAAA;AAAA,gCACA,QAAA,EAAY;AAAA,kCACV,IAAA;AAAA,kCACA;AAAA,gCACF;AAAA,8BACF,CAAA;AAAA,8BACA,uBAAA,EAA2B;AAAA,gCACzB,IAAA,EAAQ,OAAA;AAAA,gCACR,KAAA,EAAS;AAAA,kCACP,IAAA,EAAQ,QAAA;AAAA,kCACR,UAAA,EAAc;AAAA,oCACZ,KAAA,EAAS;AAAA,sCACP,IAAA,EAAQ;AAAA,oCACV,CAAA;AAAA,oCACA,IAAA,EAAQ;AAAA,sCACN,IAAA,EAAQ,QAAA;AAAA,sCACR,IAAA,EAAQ;AAAA,wCACN,CAAA;AAAA,wCACA,CAAA;AAAA,wCACA,CAAA;AAAA,wCACA;AAAA,sCACF,CAAA;AAAA,sCACA,WAAA,EAAe;AAAA,oCACjB;AAAA,kCACF,CAAA;AAAA,kCACA,QAAA,EAAY;AAAA,oCACV,OAAA;AAAA,oCACA;AAAA,kCACF;AAAA,gCACF;AAAA,8BACF;AAAA,4BACF,CAAA;AAAA,4BACA,QAAA,EAAY;AAAA,8BACV,IAAA;AAAA,8BACA;AAAA,4BACF;AAAA,0BACF;AAAA,wBACF,CAAA;AAAA,wBACA,QAAA,EAAY;AAAA,0BACV,WAAA;AAAA,0BACA,UAAA;AAAA,0BACA,QAAA;AAAA,0BACA;AAAA,wBACF;AAAA,sBACF;AAAA,oBACF,CAAA;AAAA,oBACA,WAAA,EAAe;AAAA,sBACb,IAAA,EAAQ,QAAA;AAAA,sBACR,UAAA,EAAc;AAAA,wBACZ,WAAA,EAAe,CAAC,CAAA;AAAA,wBAChB,SAAA,EAAa;AAAA,0BACX,IAAA,EAAQ,QAAA;AAAA,0BACR,MAAA,EAAU;AAAA,wBACZ,CAAA;AAAA,wBACA,QAAA,EAAY;AAAA,0BACV,IAAA,EAAQ,QAAA;AAAA,0BACR,MAAA,EAAU;AAAA,wBACZ,CAAA;AAAA,wBACA,YAAA,EAAgB,CAAC,CAAA;AAAA,wBACjB,MAAA,EAAU;AAAA,0BACR,IAAA,EAAQ,QAAA;AAAA,0BACR,UAAA,EAAc;AAAA,4BACZ,EAAA,EAAM;AAAA,8BACJ,IAAA,EAAQ,QAAA;AAAA,8BACR,UAAA,EAAc;AAAA,gCACZ,EAAA,EAAM;AAAA,kCACJ,IAAA,EAAQ;AAAA,gCACV,CAAA;AAAA,gCACA,UAAA,EAAc;AAAA,kCACZ,IAAA,EAAQ,QAAA;AAAA,kCACR,oBAAA,EAAwB;AAAA,oCACtB,IAAA,EAAQ;AAAA,kCACV;AAAA,gCACF;AAAA,8BACF,CAAA;AAAA,8BACA,QAAA,EAAY;AAAA,gCACV,IAAA;AAAA,gCACA;AAAA,8BACF;AAAA,4BACF;AAAA,0BACF,CAAA;AAAA,0BACA,QAAA,EAAY;AAAA,4BACV;AAAA,0BACF;AAAA,wBACF,CAAA;AAAA,wBACA,OAAA,EAAW;AAAA,0BACT,IAAA,EAAQ,QAAA;AAAA,0BACR,UAAA,EAAc;AAAA,4BACZ,EAAA,EAAM;AAAA,8BACJ,IAAA,EAAQ,QAAA;AAAA,8BACR,UAAA,EAAc;AAAA,gCACZ,EAAA,EAAM;AAAA,kCACJ,IAAA,EAAQ;AAAA,gCACV,CAAA;AAAA,gCACA,UAAA,EAAc;AAAA,kCACZ,IAAA,EAAQ,QAAA;AAAA,kCACR,oBAAA,EAAwB;AAAA,oCACtB,IAAA,EAAQ;AAAA,kCACV;AAAA,gCACF;AAAA,8BACF,CAAA;AAAA,8BACA,QAAA,EAAY;AAAA,gCACV,IAAA;AAAA,gCACA;AAAA,8BACF;AAAA,4BACF,CAAA;AAAA,4BACA,uBAAA,EAA2B;AAAA,8BACzB,IAAA,EAAQ,OAAA;AAAA,8BACR,KAAA,EAAS;AAAA,gCACP,IAAA,EAAQ,QAAA;AAAA,gCACR,UAAA,EAAc;AAAA,kCACZ,KAAA,EAAS;AAAA,oCACP,IAAA,EAAQ;AAAA,kCACV,CAAA;AAAA,kCACA,IAAA,EAAQ;AAAA,oCACN,IAAA,EAAQ,QAAA;AAAA,oCACR,IAAA,EAAQ;AAAA,sCACN,CAAA;AAAA,sCACA,CAAA;AAAA,sCACA,CAAA;AAAA,sCACA;AAAA,oCACF,CAAA;AAAA,oCACA,WAAA,EAAe;AAAA,kCACjB;AAAA,gCACF,CAAA;AAAA,gCACA,QAAA,EAAY;AAAA,kCACV,OAAA;AAAA,kCACA;AAAA,gCACF;AAAA,8BACF;AAAA,4BACF;AAAA,0BACF,CAAA;AAAA,0BACA,QAAA,EAAY;AAAA,4BACV,IAAA;AAAA,4BACA;AAAA,0BACF;AAAA,wBACF;AAAA,sBACF,CAAA;AAAA,sBACA,QAAA,EAAY;AAAA,wBACV,WAAA;AAAA,wBACA,UAAA;AAAA,wBACA,QAAA;AAAA,wBACA;AAAA,sBACF;AAAA,oBACF,CAAA;AAAA,oBACA,MAAA,EAAU;AAAA,sBACR,IAAA,EAAQ,QAAA;AAAA,sBACR,UAAA,EAAc;AAAA,wBACZ,QAAA,EAAY;AAAA,0BACV,IAAA,EAAQ;AAAA,wBACV,CAAA;AAAA,wBACA,cAAA,EAAkB;AAAA,0BAChB,IAAA,EAAQ,QAAA;AAAA,0BACR,IAAA,EAAQ;AAAA,4BACN,cAAA;AAAA,4BACA;AAAA,0BACF;AAAA,wBACF;AAAA,sBACF,CAAA;AAAA,sBACA,QAAA,EAAY;AAAA,wBACV,UAAA;AAAA,wBACA;AAAA,sBACF;AAAA,oBACF;AAAA,kBACF,CAAA;AAAA,kBACA,QAAA,EAAY;AAAA,oBACV,OAAA;AAAA,oBACA,UAAA;AAAA,oBACA,SAAA;AAAA,oBACA;AAAA,kBACF;AAAA,gBACF,CAAA;AAAA,gBACA,YAAA,EAAgB;AAAA,kBACd,IAAA,EAAQ,OAAA;AAAA,kBACR,KAAA,EAAS,CAAC;AAAA,gBACZ;AAAA,cACF,CAAA;AAAA,cACA,QAAA,EAAY;AAAA,gBACV,cAAA;AAAA,gBACA,WAAA;AAAA,gBACA,MAAA;AAAA,gBACA,QAAA;AAAA,gBACA;AAAA,cACF;AAAA,YACF,CAAA;AAAA,YACA,aAAA,EAAiB;AAAA,cACf,IAAA,EAAQ;AAAA,YACV,CAAA;AAAA,YACA,YAAA,EAAgB;AAAA,cACd,IAAA,EAAQ;AAAA,YACV,CAAA;AAAA,YACA,UAAA,EAAc;AAAA,cACZ,IAAA,EAAQ,QAAA;AAAA,cACR,oBAAA,EAAwB,CAAC,CAAA;AAAA,cACzB,UAAA,EAAc;AAAA,gBACZ,GAAA,EAAO;AAAA,kBACL,IAAA,EAAQ;AAAA,gBACV,CAAA;AAAA,gBACA,GAAA,EAAO;AAAA,kBACL,IAAA,EAAQ;AAAA,gBACV,CAAA;AAAA,gBACA,GAAA,EAAO;AAAA,kBACL,KAAA,EAAS;AAAA,oBACP;AAAA,sBACE,IAAA,EAAQ,OAAA;AAAA,sBACR,KAAA,EAAS;AAAA,wBACP,IAAA,EAAQ;AAAA,sBACV;AAAA,oBACF,CAAA;AAAA,oBACA;AAAA,sBACE,IAAA,EAAQ;AAAA,oBACV;AAAA,kBACF;AAAA,gBACF,CAAA;AAAA,gBACA,GAAA,EAAO;AAAA,kBACL,IAAA,EAAQ;AAAA,gBACV,CAAA;AAAA,gBACA,GAAA,EAAO;AAAA,kBACL,IAAA,EAAQ;AAAA,gBACV,CAAA;AAAA,gBACA,GAAA,EAAO;AAAA,kBACL,IAAA,EAAQ;AAAA,gBACV,CAAA;AAAA,gBACA,GAAA,EAAO;AAAA,kBACL,IAAA,EAAQ;AAAA,gBACV;AAAA,cACF;AAAA,YACF,CAAA;AAAA,YACA,YAAA,EAAgB;AAAA,cACd,IAAA,EAAQ,QAAA;AAAA,cACR,UAAA,EAAc;AAAA,gBACZ,GAAA,EAAO;AAAA,kBACL,IAAA,EAAQ;AAAA,gBACV,CAAA;AAAA,gBACA,GAAA,EAAO;AAAA,kBACL,IAAA,EAAQ;AAAA,gBACV,CAAA;AAAA,gBACA,GAAA,EAAO;AAAA,kBACL,IAAA,EAAQ;AAAA,gBACV,CAAA;AAAA,gBACA,OAAA,EAAW;AAAA,kBACT,IAAA,EAAQ,OAAA;AAAA,kBACR,KAAA,EAAS;AAAA,oBACP,IAAA,EAAQ;AAAA,kBACV;AAAA,gBACF,CAAA;AAAA,gBACA,MAAA,EAAU;AAAA,kBACR,IAAA,EAAQ;AAAA,gBACV,CAAA;AAAA,gBACA,GAAA,EAAO;AAAA,kBACL,IAAA,EAAQ;AAAA,gBACV,CAAA;AAAA,gBACA,CAAA,EAAK;AAAA,kBACH,IAAA,EAAQ;AAAA,gBACV,CAAA;AAAA,gBACA,CAAA,EAAK;AAAA,kBACH,IAAA,EAAQ;AAAA,gBACV,CAAA;AAAA,gBACA,CAAA,EAAK;AAAA,kBACH,IAAA,EAAQ;AAAA,gBACV,CAAA;AAAA,gBACA,OAAA,EAAW;AAAA,kBACT,IAAA,EAAQ,OAAA;AAAA,kBACR,KAAA,EAAS;AAAA,oBACP,IAAA,EAAQ;AAAA,kBACV;AAAA,gBACF;AAAA,cACF,CAAA;AAAA,cACA,QAAA,EAAY;AAAA,gBACV;AAAA,cACF,CAAA;AAAA,cACA,oBAAA,EAAwB,CAAC,CAAA;AAAA,cACzB,WAAA,EAAe;AAAA,YACjB,CAAA;AAAA,YACA,YAAA,EAAgB;AAAA,cACd,IAAA,EAAQ,QAAA;AAAA,cACR,IAAA,EAAQ;AAAA,gBACN,CAAA;AAAA,gBACA,CAAA;AAAA,gBACA,CAAA;AAAA,gBACA,CAAA;AAAA,gBACA;AAAA,cACF;AAAA,YACF,CAAA;AAAA,YACA,uBAAA,EAA2B;AAAA,cACzB,IAAA,EAAQ,QAAA;AAAA,cACR,IAAA,EAAQ;AAAA,gBACN,CAAA,CAAA;AAAA,gBACA,CAAA,EAAA;AAAA,gBACA,CAAA,EAAA;AAAA,gBACA,CAAA,EAAA;AAAA,gBACA,CAAA,CAAA;AAAA,gBACA,CAAA;AAAA,gBACA,CAAA;AAAA,gBACA,CAAA;AAAA,gBACA,CAAA;AAAA,gBACA,CAAA,EAAA;AAAA,gBACA,CAAA,EAAA;AAAA,gBACA,CAAA;AAAA,cACF;AAAA,YACF,CAAA;AAAA,YACA,iBAAA,EAAqB;AAAA,cACnB,IAAA,EAAQ,QAAA;AAAA,cACR,IAAA,EAAQ;AAAA,gBACN,CAAA;AAAA,gBACA,CAAA;AAAA,gBACA,CAAA;AAAA,gBACA,CAAA;AAAA,gBACA,CAAA;AAAA,gBACA,CAAA;AAAA,gBACA,CAAA;AAAA,gBACA,CAAA;AAAA,gBACA,CAAA;AAAA,gBACA;AAAA,cACF;AAAA,YACF,CAAA;AAAA,YACA,UAAA,EAAc;AAAA,cACZ,IAAA,EAAQ,QAAA;AAAA,cACR,IAAA,EAAQ;AAAA,gBACN,CAAA;AAAA,gBACA,CAAA;AAAA,gBACA,CAAA;AAAA,gBACA,CAAA;AAAA,gBACA,CAAA;AAAA,gBACA,CAAA;AAAA,gBACA,CAAA;AAAA,gBACA,CAAA;AAAA,cACF;AAAA,YACF,CAAA;AAAA,YACA,6BAAA,EAAiC;AAAA,cAC/B,IAAA,EAAQ,QAAA;AAAA,cACR,UAAA,EAAc;AAAA,gBACZ,MAAA,EAAU;AAAA,kBACR,IAAA,EAAQ,QAAA;AAAA,kBACR,KAAA,EAAS;AAAA,gBACX,CAAA;AAAA,gBACA,UAAA,EAAc;AAAA,kBACZ,IAAA,EAAQ;AAAA,gBACV;AAAA,cACF,CAAA;AAAA,cACA,QAAA,EAAY;AAAA,gBACV;AAAA,cACF;AAAA,YACF,CAAA;AAAA,YACA,+BAAA,EAAmC;AAAA,cACjC,IAAA,EAAQ,QAAA;AAAA,cACR,UAAA,EAAc;AAAA,gBACZ,MAAA,EAAU;AAAA,kBACR,IAAA,EAAQ,QAAA;AAAA,kBACR,KAAA,EAAS;AAAA,gBACX,CAAA;AAAA,gBACA,IAAA,EAAQ;AAAA,kBACN,IAAA,EAAQ,OAAA;AAAA,kBACR,KAAA,EAAS;AAAA,oBACP,IAAA,EAAQ;AAAA,kBACV;AAAA,gBACF,CAAA;AAAA,gBACA,OAAA,EAAW;AAAA,kBACT,IAAA,EAAQ;AAAA,gBACV,CAAA;AAAA,gBACA,GAAA,EAAO;AAAA,kBACL,IAAA,EAAQ;AAAA,gBACV;AAAA,cACF,CAAA;AAAA,cACA,QAAA,EAAY;AAAA,gBACV,SAAA;AAAA,gBACA,MAAA;AAAA,gBACA;AAAA,cACF;AAAA,YACF,CAAA;AAAA,YACA,yBAAA,EAA6B;AAAA,cAC3B,IAAA,EAAQ,QAAA;AAAA,cACR,UAAA,EAAc;AAAA,gBACZ,MAAA,EAAU;AAAA,kBACR,IAAA,EAAQ,QAAA;AAAA,kBACR,KAAA,EAAS;AAAA,gBACX,CAAA;AAAA,gBACA,UAAA,EAAc;AAAA,kBACZ,IAAA,EAAQ;AAAA,gBACV,CAAA;AAAA,gBACA,4BAAA,EAAgC;AAAA,kBAC9B,IAAA,EAAQ;AAAA,gBACV,CAAA;AAAA,gBACA,cAAA,EAAkB;AAAA,kBAChB,IAAA,EAAQ;AAAA,gBACV,CAAA;AAAA,gBACA,eAAA,EAAmB;AAAA,kBACjB,IAAA,EAAQ;AAAA,gBACV,CAAA;AAAA,gBACA,qBAAA,EAAyB;AAAA,kBACvB,IAAA,EAAQ;AAAA,gBACV,CAAA;AAAA,gBACA,kBAAA,EAAsB;AAAA,kBACpB,IAAA,EAAQ;AAAA,gBACV;AAAA,cACF,CAAA;AAAA,cACA,QAAA,EAAY;AAAA,gBACV;AAAA,cACF;AAAA,YACF,CAAA;AAAA,YACA,2BAAA,EAA+B;AAAA,cAC7B,IAAA,EAAQ,QAAA;AAAA,cACR,UAAA,EAAc;AAAA,gBACZ,MAAA,EAAU;AAAA,kBACR,IAAA,EAAQ,QAAA;AAAA,kBACR,KAAA,EAAS;AAAA,gBACX,CAAA;AAAA,gBACA,IAAA,EAAQ;AAAA,kBACN,IAAA,EAAQ,OAAA;AAAA,kBACR,KAAA,EAAS;AAAA,oBACP,IAAA,EAAQ;AAAA,kBACV;AAAA,gBACF,CAAA;AAAA,gBACA,GAAA,EAAO;AAAA,kBACL,IAAA,EAAQ;AAAA,gBACV,CAAA;AAAA,gBACA,WAAA,EAAe;AAAA,kBACb,IAAA,EAAQ;AAAA,gBACV,CAAA;AAAA,gBACA,OAAA,EAAW;AAAA,kBACT,IAAA,EAAQ,QAAA;AAAA,kBACR,UAAA,EAAc;AAAA,oBACZ,kBAAA,EAAsB;AAAA,sBACpB,IAAA,EAAQ,OAAA;AAAA,sBACR,KAAA,EAAS;AAAA,wBACP,IAAA,EAAQ;AAAA,sBACV;AAAA,oBACF,CAAA;AAAA,oBACA,cAAA,EAAkB;AAAA,sBAChB,IAAA,EAAQ,OAAA;AAAA,sBACR,KAAA,EAAS;AAAA,wBACP,IAAA,EAAQ;AAAA,sBACV;AAAA,oBACF,CAAA;AAAA,oBACA,eAAA,EAAmB;AAAA,sBACjB,IAAA,EAAQ,OAAA;AAAA,sBACR,KAAA,EAAS;AAAA,wBACP,IAAA,EAAQ;AAAA,sBACV;AAAA,oBACF,CAAA;AAAA,oBACA,YAAA,EAAgB;AAAA,sBACd,IAAA,EAAQ,OAAA;AAAA,sBACR,KAAA,EAAS;AAAA,wBACP,IAAA,EAAQ;AAAA,sBACV;AAAA,oBACF,CAAA;AAAA,oBACA,oBAAA,EAAwB;AAAA,sBACtB,IAAA,EAAQ,OAAA;AAAA,sBACR,KAAA,EAAS;AAAA,wBACP,IAAA,EAAQ;AAAA,sBACV;AAAA,oBACF,CAAA;AAAA,oBACA,oBAAA,EAAwB;AAAA,sBACtB,IAAA,EAAQ,OAAA;AAAA,sBACR,KAAA,EAAS;AAAA,wBACP,IAAA,EAAQ;AAAA,sBACV;AAAA,oBACF;AAAA,kBACF,CAAA;AAAA,kBACA,QAAA,EAAY;AAAA,oBACV,oBAAA;AAAA,oBACA,gBAAA;AAAA,oBACA,iBAAA;AAAA,oBACA,cAAA;AAAA,oBACA,sBAAA;AAAA,oBACA;AAAA,kBACF;AAAA,gBACF,CAAA;AAAA,gBACA,mBAAA,EAAuB;AAAA,kBACrB,IAAA,EAAQ,QAAA;AAAA,kBACR,UAAA,EAAc;AAAA,oBACZ,UAAA,EAAY;AAAA,sBACV,KAAA,EAAS;AAAA,wBACP;AAAA,0BACE,IAAA,EAAQ,QAAA;AAAA,0BACR,KAAA,EAAS;AAAA,wBACX,CAAA;AAAA,wBACA;AAAA,0BACE,IAAA,EAAQ;AAAA,wBACV,CAAA;AAAA,wBACA;AAAA,0BACE,IAAA,EAAQ,OAAA;AAAA,0BACR,KAAA,EAAS;AAAA,4BACP,IAAA,EAAQ;AAAA,0BACV;AAAA,wBACF;AAAA,sBACF;AAAA,oBACF,CAAA;AAAA,oBACA,qBAAA,EAAyB;AAAA,sBACvB,IAAA,EAAQ;AAAA,oBACV,CAAA;AAAA,oBACA,mBAAA,EAAuB;AAAA,sBACrB,IAAA,EAAQ;AAAA,oBACV;AAAA,kBACF,CAAA;AAAA,kBACA,QAAA,EAAY;AAAA,oBACV,uBAAA;AAAA,oBACA;AAAA,kBACF;AAAA,gBACF,CAAA;AAAA,gBACA,SAAA,EAAa;AAAA,kBACX,IAAA,EAAQ;AAAA,gBACV;AAAA,cACF,CAAA;AAAA,cACA,QAAA,EAAY;AAAA,gBACV,KAAA;AAAA,gBACA,WAAA;AAAA,gBACA,qBAAA;AAAA,gBACA,MAAA;AAAA,gBACA;AAAA,cACF;AAAA,YACF,CAAA;AAAA,YACA,yBAAA,EAA6B;AAAA,cAC3B,IAAA,EAAQ,QAAA;AAAA,cACR,UAAA,EAAc;AAAA,gBACZ,MAAA,EAAU;AAAA,kBACR,IAAA,EAAQ,QAAA;AAAA,kBACR,KAAA,EAAS;AAAA,gBACX,CAAA;AAAA,gBACA,UAAA,EAAc;AAAA,kBACZ,IAAA,EAAQ;AAAA,gBACV,CAAA;AAAA,gBACA,GAAA,EAAO;AAAA,kBACL,IAAA,EAAQ;AAAA,gBACV;AAAA,cACF,CAAA;AAAA,cACA,QAAA,EAAY;AAAA,gBACV;AAAA,cACF;AAAA,YACF,CAAA;AAAA,YACA,2BAAA,EAA+B;AAAA,cAC7B,IAAA,EAAQ,QAAA;AAAA,cACR,UAAA,EAAc;AAAA,gBACZ,MAAA,EAAU;AAAA,kBACR,IAAA,EAAQ,QAAA;AAAA,kBACR,KAAA,EAAS;AAAA,gBACX,CAAA;AAAA,gBACA,IAAA,EAAQ;AAAA,kBACN,IAAA,EAAQ,OAAA;AAAA,kBACR,KAAA,EAAS;AAAA,oBACP,IAAA,EAAQ;AAAA,kBACV;AAAA,gBACF,CAAA;AAAA,gBACA,GAAA,EAAO;AAAA,kBACL,IAAA,EAAQ;AAAA,gBACV,CAAA;AAAA,gBACA,GAAA,EAAO;AAAA,kBACL,IAAA,EAAQ;AAAA,gBACV;AAAA,cACF,CAAA;AAAA,cACA,QAAA,EAAY;AAAA,gBACV,KAAA;AAAA,gBACA,MAAA;AAAA,gBACA;AAAA,cACF;AAAA,YACF,CAAA;AAAA,YACA,kCAAA,EAAsC;AAAA,cACpC,IAAA,EAAQ,QAAA;AAAA,cACR,UAAA,EAAc;AAAA,gBACZ,MAAA,EAAU;AAAA,kBACR,IAAA,EAAQ,QAAA;AAAA,kBACR,KAAA,EAAS;AAAA,gBACX,CAAA;AAAA,gBACA,UAAA,EAAc;AAAA,kBACZ,IAAA,EAAQ;AAAA,gBACV,CAAA;AAAA,gBACA,YAAA,EAAgB;AAAA,kBACd,IAAA,EAAQ,OAAA;AAAA,kBACR,KAAA,EAAS;AAAA,oBACP,IAAA,EAAQ;AAAA,kBACV;AAAA,gBACF;AAAA,cACF,CAAA;AAAA,cACA,QAAA,EAAY;AAAA,gBACV;AAAA,cACF;AAAA,YACF,CAAA;AAAA,YACA,oCAAA,EAAwC;AAAA,cACtC,IAAA,EAAQ,QAAA;AAAA,cACR,UAAA,EAAc;AAAA,gBACZ,MAAA,EAAU;AAAA,kBACR,IAAA,EAAQ,QAAA;AAAA,kBACR,KAAA,EAAS;AAAA,gBACX,CAAA;AAAA,gBACA,IAAA,EAAQ;AAAA,kBACN,IAAA,EAAQ,OAAA;AAAA,kBACR,KAAA,EAAS;AAAA,oBACP,IAAA,EAAQ;AAAA,kBACV;AAAA,gBACF,CAAA;AAAA,gBACA,cAAA,EAAkB;AAAA,kBAChB,IAAA,EAAQ,OAAA;AAAA,kBACR,KAAA,EAAS;AAAA,oBACP,IAAA,EAAQ;AAAA,kBACV;AAAA,gBACF,CAAA;AAAA,gBACA,SAAA,EAAa;AAAA,kBACX,IAAA,EAAQ,QAAA;AAAA,kBACR,oBAAA,EAAwB;AAAA,oBACtB,IAAA,EAAQ;AAAA,kBACV;AAAA,gBACF,CAAA;AAAA,gBACA,UAAA,EAAc;AAAA,kBACZ,IAAA,EAAQ;AAAA,gBACV,CAAA;AAAA,gBACA,gBAAA,EAAoB;AAAA,kBAClB,IAAA,EAAQ;AAAA,gBACV;AAAA,cACF,CAAA;AAAA,cACA,QAAA,EAAY;AAAA,gBACV,MAAA;AAAA,gBACA,QAAA;AAAA,gBACA,kBAAA;AAAA,gBACA;AAAA,cACF;AAAA,YACF,CAAA;AAAA,YACA,6BAAA,EAAiC;AAAA,cAC/B,KAAA,EAAS;AAAA,gBACP;AAAA,kBACE,IAAA,EAAQ,QAAA;AAAA,kBACR,UAAA,EAAc;AAAA,oBACZ,YAAA,EAAgB;AAAA,sBACd,IAAA,EAAQ;AAAA,oBACV,CAAA;AAAA,oBACA,GAAA,EAAO;AAAA,sBACL,IAAA,EAAQ;AAAA,oBACV,CAAA;AAAA,oBACA,aAAA,EAAiB;AAAA,sBACf,IAAA,EAAQ;AAAA,oBACV,CAAA;AAAA,oBACA,SAAA,EAAa;AAAA,sBACX,IAAA,EAAQ;AAAA,oBACV,CAAA;AAAA,oBACA,MAAA,EAAU;AAAA,sBACR,IAAA,EAAQ;AAAA,oBACV,CAAA;AAAA,oBACA,IAAA,EAAQ;AAAA,sBACN,IAAA,EAAQ;AAAA,oBACV,CAAA;AAAA,oBACA,GAAA,EAAO;AAAA,sBACL,IAAA,EAAQ;AAAA,oBACV,CAAA;AAAA,oBACA,GAAA,EAAO;AAAA,sBACL,IAAA,EAAQ;AAAA,oBACV,CAAA;AAAA,oBACA,MAAA,EAAU;AAAA,sBACR,IAAA,EAAQ;AAAA,oBACV,CAAA;AAAA,oBACA,QAAA,EAAY;AAAA,sBACV,IAAA,EAAQ;AAAA,oBACV,CAAA;AAAA,oBACA,cAAA,EAAkB;AAAA,sBAChB,IAAA,EAAQ;AAAA,oBACV,CAAA;AAAA,oBACA,UAAA,EAAc;AAAA,sBACZ,IAAA,EAAQ;AAAA,oBACV,CAAA;AAAA,oBACA,GAAA,EAAO;AAAA,sBACL,IAAA,EAAQ,OAAA;AAAA,sBACR,KAAA,EAAS;AAAA,wBACP,IAAA,EAAQ;AAAA,sBACV;AAAA,oBACF,CAAA;AAAA,oBACA,WAAA,EAAe,CAAC;AAAA,kBAClB,CAAA;AAAA,kBACA,QAAA,EAAY;AAAA,oBACV,aAAA;AAAA,oBACA,YAAA;AAAA,oBACA,KAAA;AAAA,oBACA,eAAA;AAAA,oBACA,KAAA;AAAA,oBACA,WAAA;AAAA,oBACA,QAAA;AAAA,oBACA,MAAA;AAAA,oBACA;AAAA,kBACF;AAAA,gBACF,CAAA;AAAA,gBACA;AAAA,kBACE,IAAA,EAAQ,QAAA;AAAA,kBACR,UAAA,EAAc;AAAA,oBACZ,YAAA,EAAgB;AAAA,sBACd,IAAA,EAAQ;AAAA,oBACV,CAAA;AAAA,oBACA,GAAA,EAAO;AAAA,sBACL,IAAA,EAAQ;AAAA,oBACV,CAAA;AAAA,oBACA,aAAA,EAAiB;AAAA,sBACf,IAAA,EAAQ;AAAA,oBACV,CAAA;AAAA,oBACA,SAAA,EAAa;AAAA,sBACX,IAAA,EAAQ;AAAA,oBACV,CAAA;AAAA,oBACA,MAAA,EAAU;AAAA,sBACR,IAAA,EAAQ;AAAA,oBACV,CAAA;AAAA,oBACA,IAAA,EAAQ;AAAA,sBACN,IAAA,EAAQ;AAAA,oBACV,CAAA;AAAA,oBACA,GAAA,EAAO;AAAA,sBACL,IAAA,EAAQ;AAAA,oBACV,CAAA;AAAA,oBACA,GAAA,EAAO;AAAA,sBACL,IAAA,EAAQ;AAAA,oBACV,CAAA;AAAA,oBACA,MAAA,EAAU;AAAA,sBACR,IAAA,EAAQ;AAAA,oBACV,CAAA;AAAA,oBACA,QAAA,EAAY;AAAA,sBACV,IAAA,EAAQ;AAAA,oBACV,CAAA;AAAA,oBACA,cAAA,EAAkB;AAAA,sBAChB,IAAA,EAAQ;AAAA,oBACV,CAAA;AAAA,oBACA,UAAA,EAAc;AAAA,sBACZ,IAAA,EAAQ;AAAA,oBACV,CAAA;AAAA,oBACA,GAAA,EAAO;AAAA,sBACL,IAAA,EAAQ;AAAA,oBACV,CAAA;AAAA,oBACA,IAAA,EAAQ;AAAA,sBACN,IAAA,EAAQ,OAAA;AAAA,sBACR,KAAA,EAAS;AAAA,wBACP,IAAA,EAAQ;AAAA,sBACV;AAAA,oBACF,CAAA;AAAA,oBACA,yBAAA,EAA6B;AAAA,sBAC3B,IAAA,EAAQ;AAAA,oBACV,CAAA;AAAA,oBACA,eAAA,EAAmB;AAAA,sBACjB,IAAA,EAAQ;AAAA,oBACV;AAAA,kBACF,CAAA;AAAA,kBACA,QAAA,EAAY;AAAA,oBACV,KAAA;AAAA,oBACA,YAAA;AAAA,oBACA,QAAA;AAAA,oBACA,KAAA;AAAA,oBACA,eAAA;AAAA,oBACA,KAAA;AAAA,oBACA,MAAA;AAAA,oBACA,KAAA;AAAA,oBACA,WAAA;AAAA,oBACA,QAAA;AAAA,oBACA;AAAA,kBACF;AAAA,gBACF,CAAA;AAAA,gBACA;AAAA,kBACE,IAAA,EAAQ,QAAA;AAAA,kBACR,UAAA,EAAc;AAAA,oBACZ,YAAA,EAAgB;AAAA,sBACd,IAAA,EAAQ;AAAA,oBACV,CAAA;AAAA,oBACA,GAAA,EAAO;AAAA,sBACL,IAAA,EAAQ;AAAA,oBACV,CAAA;AAAA,oBACA,aAAA,EAAiB;AAAA,sBACf,IAAA,EAAQ;AAAA,oBACV,CAAA;AAAA,oBACA,SAAA,EAAa;AAAA,sBACX,IAAA,EAAQ;AAAA,oBACV,CAAA;AAAA,oBACA,MAAA,EAAU;AAAA,sBACR,IAAA,EAAQ;AAAA,oBACV,CAAA;AAAA,oBACA,IAAA,EAAQ;AAAA,sBACN,IAAA,EAAQ;AAAA,oBACV,CAAA;AAAA,oBACA,GAAA,EAAO;AAAA,sBACL,IAAA,EAAQ;AAAA,oBACV,CAAA;AAAA,oBACA,GAAA,EAAO;AAAA,sBACL,IAAA,EAAQ;AAAA,oBACV,CAAA;AAAA,oBACA,MAAA,EAAU;AAAA,sBACR,IAAA,EAAQ;AAAA,oBACV,CAAA;AAAA,oBACA,QAAA,EAAY;AAAA,sBACV,IAAA,EAAQ;AAAA,oBACV,CAAA;AAAA,oBACA,cAAA,EAAkB;AAAA,sBAChB,IAAA,EAAQ;AAAA,oBACV,CAAA;AAAA,oBACA,UAAA,EAAc;AAAA,sBACZ,IAAA,EAAQ;AAAA,oBACV;AAAA,kBACF,CAAA;AAAA,kBACA,QAAA,EAAY;AAAA,oBACV,YAAA;AAAA,oBACA,KAAA;AAAA,oBACA,eAAA;AAAA,oBACA,KAAA;AAAA,oBACA,WAAA;AAAA,oBACA,QAAA;AAAA,oBACA;AAAA,kBACF;AAAA,gBACF,CAAA;AAAA,gBACA;AAAA,kBACE,IAAA,EAAQ,QAAA;AAAA,kBACR,UAAA,EAAc;AAAA,oBACZ,YAAA,EAAgB;AAAA,sBACd,IAAA,EAAQ;AAAA,oBACV,CAAA;AAAA,oBACA,GAAA,EAAO;AAAA,sBACL,IAAA,EAAQ;AAAA,oBACV,CAAA;AAAA,oBACA,aAAA,EAAiB;AAAA,sBACf,IAAA,EAAQ;AAAA,oBACV,CAAA;AAAA,oBACA,SAAA,EAAa;AAAA,sBACX,IAAA,EAAQ;AAAA,oBACV,CAAA;AAAA,oBACA,MAAA,EAAU;AAAA,sBACR,IAAA,EAAQ;AAAA,oBACV,CAAA;AAAA,oBACA,IAAA,EAAQ;AAAA,sBACN,IAAA,EAAQ;AAAA,oBACV,CAAA;AAAA,oBACA,GAAA,EAAO;AAAA,sBACL,IAAA,EAAQ;AAAA,oBACV,CAAA;AAAA,oBACA,GAAA,EAAO;AAAA,sBACL,IAAA,EAAQ;AAAA,oBACV,CAAA;AAAA,oBACA,MAAA,EAAU;AAAA,sBACR,IAAA,EAAQ;AAAA,oBACV,CAAA;AAAA,oBACA,QAAA,EAAY;AAAA,sBACV,IAAA,EAAQ;AAAA,oBACV,CAAA;AAAA,oBACA,cAAA,EAAkB;AAAA,sBAChB,IAAA,EAAQ;AAAA,oBACV,CAAA;AAAA,oBACA,UAAA,EAAc;AAAA,sBACZ,IAAA,EAAQ;AAAA,oBACV;AAAA,kBACF,CAAA;AAAA,kBACA,QAAA,EAAY;AAAA,oBACV,YAAA;AAAA,oBACA,KAAA;AAAA,oBACA,eAAA;AAAA,oBACA,KAAA;AAAA,oBACA,KAAA;AAAA,oBACA,WAAA;AAAA,oBACA,QAAA;AAAA,oBACA;AAAA,kBACF;AAAA,gBACF,CAAA;AAAA,gBACA;AAAA,kBACE,IAAA,EAAQ,QAAA;AAAA,kBACR,UAAA,EAAc;AAAA,oBACZ,YAAA,EAAgB;AAAA,sBACd,IAAA,EAAQ;AAAA,oBACV,CAAA;AAAA,oBACA,GAAA,EAAO;AAAA,sBACL,IAAA,EAAQ;AAAA,oBACV,CAAA;AAAA,oBACA,aAAA,EAAiB;AAAA,sBACf,IAAA,EAAQ;AAAA,oBACV,CAAA;AAAA,oBACA,SAAA,EAAa;AAAA,sBACX,IAAA,EAAQ;AAAA,oBACV,CAAA;AAAA,oBACA,MAAA,EAAU;AAAA,sBACR,IAAA,EAAQ;AAAA,oBACV,CAAA;AAAA,oBACA,IAAA,EAAQ;AAAA,sBACN,IAAA,EAAQ;AAAA,oBACV,CAAA;AAAA,oBACA,GAAA,EAAO;AAAA,sBACL,IAAA,EAAQ;AAAA,oBACV,CAAA;AAAA,oBACA,GAAA,EAAO;AAAA,sBACL,IAAA,EAAQ;AAAA,oBACV,CAAA;AAAA,oBACA,MAAA,EAAU;AAAA,sBACR,IAAA,EAAQ;AAAA,oBACV,CAAA;AAAA,oBACA,QAAA,EAAY;AAAA,sBACV,IAAA,EAAQ;AAAA,oBACV,CAAA;AAAA,oBACA,cAAA,EAAkB;AAAA,sBAChB,IAAA,EAAQ;AAAA,oBACV,CAAA;AAAA,oBACA,UAAA,EAAc;AAAA,sBACZ,IAAA,EAAQ;AAAA,oBACV;AAAA,kBACF,CAAA;AAAA,kBACA,QAAA,EAAY;AAAA,oBACV,YAAA;AAAA,oBACA,KAAA;AAAA,oBACA,eAAA;AAAA,oBACA,KAAA;AAAA,oBACA,WAAA;AAAA,oBACA,QAAA;AAAA,oBACA;AAAA,kBACF;AAAA,gBACF,CAAA;AAAA,gBACA;AAAA,kBACE,IAAA,EAAQ,QAAA;AAAA,kBACR,UAAA,EAAc;AAAA,oBACZ,YAAA,EAAgB;AAAA,sBACd,IAAA,EAAQ;AAAA,oBACV,CAAA;AAAA,oBACA,GAAA,EAAO;AAAA,sBACL,IAAA,EAAQ;AAAA,oBACV,CAAA;AAAA,oBACA,aAAA,EAAiB;AAAA,sBACf,IAAA,EAAQ;AAAA,oBACV,CAAA;AAAA,oBACA,SAAA,EAAa;AAAA,sBACX,IAAA,EAAQ;AAAA,oBACV,CAAA;AAAA,oBACA,MAAA,EAAU;AAAA,sBACR,IAAA,EAAQ;AAAA,oBACV,CAAA;AAAA,oBACA,IAAA,EAAQ;AAAA,sBACN,IAAA,EAAQ;AAAA,oBACV,CAAA;AAAA,oBACA,GAAA,EAAO;AAAA,sBACL,IAAA,EAAQ;AAAA,oBACV,CAAA;AAAA,oBACA,GAAA,EAAO;AAAA,sBACL,IAAA,EAAQ;AAAA,oBACV,CAAA;AAAA,oBACA,MAAA,EAAU;AAAA,sBACR,IAAA,EAAQ;AAAA,oBACV,CAAA;AAAA,oBACA,QAAA,EAAY;AAAA,sBACV,IAAA,EAAQ;AAAA,oBACV,CAAA;AAAA,oBACA,cAAA,EAAkB;AAAA,sBAChB,IAAA,EAAQ;AAAA,oBACV,CAAA;AAAA,oBACA,UAAA,EAAc;AAAA,sBACZ,IAAA,EAAQ;AAAA,oBACV;AAAA,kBACF,CAAA;AAAA,kBACA,QAAA,EAAY;AAAA,oBACV,YAAA;AAAA,oBACA,KAAA;AAAA,oBACA,eAAA;AAAA,oBACA,KAAA;AAAA,oBACA,WAAA;AAAA,oBACA,QAAA;AAAA,oBACA;AAAA,kBACF;AAAA,gBACF,CAAA;AAAA,gBACA;AAAA,kBACE,IAAA,EAAQ,QAAA;AAAA,kBACR,UAAA,EAAc;AAAA,oBACZ,YAAA,EAAgB;AAAA,sBACd,IAAA,EAAQ;AAAA,oBACV,CAAA;AAAA,oBACA,GAAA,EAAO;AAAA,sBACL,IAAA,EAAQ;AAAA,oBACV,CAAA;AAAA,oBACA,aAAA,EAAiB;AAAA,sBACf,IAAA,EAAQ;AAAA,oBACV,CAAA;AAAA,oBACA,SAAA,EAAa;AAAA,sBACX,IAAA,EAAQ;AAAA,oBACV,CAAA;AAAA,oBACA,MAAA,EAAU;AAAA,sBACR,IAAA,EAAQ;AAAA,oBACV,CAAA;AAAA,oBACA,IAAA,EAAQ;AAAA,sBACN,IAAA,EAAQ;AAAA,oBACV,CAAA;AAAA,oBACA,GAAA,EAAO;AAAA,sBACL,IAAA,EAAQ;AAAA,oBACV,CAAA;AAAA,oBACA,GAAA,EAAO;AAAA,sBACL,IAAA,EAAQ;AAAA,oBACV,CAAA;AAAA,oBACA,MAAA,EAAU;AAAA,sBACR,IAAA,EAAQ;AAAA,oBACV,CAAA;AAAA,oBACA,QAAA,EAAY;AAAA,sBACV,IAAA,EAAQ;AAAA,oBACV,CAAA;AAAA,oBACA,cAAA,EAAkB;AAAA,sBAChB,IAAA,EAAQ;AAAA,oBACV,CAAA;AAAA,oBACA,UAAA,EAAc;AAAA,sBACZ,IAAA,EAAQ;AAAA,oBACV;AAAA,kBACF,CAAA;AAAA,kBACA,QAAA,EAAY;AAAA,oBACV,YAAA;AAAA,oBACA,KAAA;AAAA,oBACA,eAAA;AAAA,oBACA,KAAA;AAAA,oBACA,WAAA;AAAA,oBACA,QAAA;AAAA,oBACA;AAAA,kBACF;AAAA,gBACF,CAAA;AAAA,gBACA;AAAA,kBACE,IAAA,EAAQ,QAAA;AAAA,kBACR,UAAA,EAAc;AAAA,oBACZ,YAAA,EAAgB;AAAA,sBACd,IAAA,EAAQ;AAAA,oBACV,CAAA;AAAA,oBACA,MAAA,EAAU;AAAA,sBACR,IAAA,EAAQ,QAAA;AAAA,sBACR,KAAA,EAAS;AAAA,oBACX,CAAA;AAAA,oBACA,UAAA,EAAc;AAAA,sBACZ,IAAA,EAAQ;AAAA,oBACV,CAAA;AAAA,oBACA,SAAA,EAAa;AAAA,sBACX,IAAA,EAAQ;AAAA,oBACV,CAAA;AAAA,oBACA,MAAA,EAAU;AAAA,sBACR,IAAA,EAAQ;AAAA,oBACV,CAAA;AAAA,oBACA,GAAA,EAAO;AAAA,sBACL,IAAA,EAAQ;AAAA,oBACV,CAAA;AAAA,oBACA,QAAA,EAAY;AAAA,sBACV,IAAA,EAAQ;AAAA,oBACV,CAAA;AAAA,oBACA,cAAA,EAAkB;AAAA,sBAChB,IAAA,EAAQ;AAAA,oBACV;AAAA,kBACF,CAAA;AAAA,kBACA,QAAA,EAAY;AAAA,oBACV;AAAA,kBACF;AAAA,gBACF,CAAA;AAAA,gBACA;AAAA,kBACE,IAAA,EAAQ,QAAA;AAAA,kBACR,UAAA,EAAc;AAAA,oBACZ,YAAA,EAAgB;AAAA,sBACd,IAAA,EAAQ;AAAA,oBACV,CAAA;AAAA,oBACA,MAAA,EAAU;AAAA,sBACR,IAAA,EAAQ,QAAA;AAAA,sBACR,KAAA,EAAS;AAAA,oBACX,CAAA;AAAA,oBACA,UAAA,EAAc;AAAA,sBACZ,IAAA,EAAQ,OAAA;AAAA,sBACR,KAAA,EAAS;AAAA,wBACP,IAAA,EAAQ;AAAA,sBACV;AAAA,oBACF,CAAA;AAAA,oBACA,SAAA,EAAa;AAAA,sBACX,IAAA,EAAQ;AAAA,oBACV,CAAA;AAAA,oBACA,MAAA,EAAU;AAAA,sBACR,IAAA,EAAQ;AAAA,oBACV,CAAA;AAAA,oBACA,GAAA,EAAO;AAAA,sBACL,IAAA,EAAQ;AAAA,oBACV,CAAA;AAAA,oBACA,QAAA,EAAY;AAAA,sBACV,IAAA,EAAQ;AAAA,oBACV,CAAA;AAAA,oBACA,cAAA,EAAkB;AAAA,sBAChB,IAAA,EAAQ;AAAA,oBACV;AAAA,kBACF,CAAA;AAAA,kBACA,QAAA,EAAY;AAAA,oBACV;AAAA,kBACF;AAAA,gBACF,CAAA;AAAA,gBACA;AAAA,kBACE,IAAA,EAAQ,QAAA;AAAA,kBACR,UAAA,EAAc;AAAA,oBACZ,YAAA,EAAgB;AAAA,sBACd,IAAA,EAAQ;AAAA,oBACV,CAAA;AAAA,oBACA,MAAA,EAAU;AAAA,sBACR,IAAA,EAAQ,QAAA;AAAA,sBACR,KAAA,EAAS;AAAA,oBACX,CAAA;AAAA,oBACA,UAAA,EAAc;AAAA,sBACZ,KAAA,EAAS;AAAA,wBACP;AAAA,0BACE,IAAA,EAAQ;AAAA,wBACV,CAAA;AAAA,wBACA;AAAA,0BACE,IAAA,EAAQ;AAAA,wBACV;AAAA,sBACF;AAAA,oBACF,CAAA;AAAA,oBACA,SAAA,EAAa;AAAA,sBACX,IAAA,EAAQ;AAAA,oBACV,CAAA;AAAA,oBACA,MAAA,EAAU;AAAA,sBACR,IAAA,EAAQ;AAAA,oBACV,CAAA;AAAA,oBACA,GAAA,EAAO;AAAA,sBACL,IAAA,EAAQ;AAAA,oBACV,CAAA;AAAA,oBACA,QAAA,EAAY;AAAA,sBACV,IAAA,EAAQ;AAAA,oBACV,CAAA;AAAA,oBACA,cAAA,EAAkB;AAAA,sBAChB,IAAA,EAAQ;AAAA,oBACV,CAAA;AAAA,oBACA,OAAA,EAAW;AAAA,sBACT,IAAA,EAAQ;AAAA,oBACV,CAAA;AAAA,oBACA,0BAAA,EAA8B;AAAA,sBAC5B,IAAA,EAAQ;AAAA,oBACV,CAAA;AAAA,oBACA,4BAAA,EAAgC;AAAA,sBAC9B,IAAA,EAAQ;AAAA,oBACV,CAAA;AAAA,oBACA,aAAA,EAAiB;AAAA,sBACf,IAAA,EAAQ;AAAA,oBACV,CAAA;AAAA,oBACA,cAAA,EAAkB;AAAA,sBAChB,IAAA,EAAQ;AAAA,oBACV;AAAA,kBACF,CAAA;AAAA,kBACA,QAAA,EAAY;AAAA,oBACV;AAAA,kBACF;AAAA,gBACF,CAAA;AAAA,gBACA;AAAA,kBACE,IAAA,EAAQ,QAAA;AAAA,kBACR,UAAA,EAAc;AAAA,oBACZ,YAAA,EAAgB;AAAA,sBACd,IAAA,EAAQ;AAAA,oBACV,CAAA;AAAA,oBACA,MAAA,EAAU;AAAA,sBACR,IAAA,EAAQ,QAAA;AAAA,sBACR,KAAA,EAAS;AAAA,oBACX,CAAA;AAAA,oBACA,UAAA,EAAc;AAAA,sBACZ,IAAA,EAAQ;AAAA,oBACV,CAAA;AAAA,oBACA,SAAA,EAAa;AAAA,sBACX,IAAA,EAAQ;AAAA,oBACV,CAAA;AAAA,oBACA,MAAA,EAAU;AAAA,sBACR,IAAA,EAAQ;AAAA,oBACV,CAAA;AAAA,oBACA,GAAA,EAAO;AAAA,sBACL,IAAA,EAAQ;AAAA,oBACV,CAAA;AAAA,oBACA,QAAA,EAAY;AAAA,sBACV,IAAA,EAAQ;AAAA,oBACV,CAAA;AAAA,oBACA,cAAA,EAAkB;AAAA,sBAChB,IAAA,EAAQ;AAAA,oBACV;AAAA,kBACF,CAAA;AAAA,kBACA,QAAA,EAAY;AAAA,oBACV;AAAA,kBACF;AAAA,gBACF,CAAA;AAAA,gBACA;AAAA,kBACE,IAAA,EAAQ,QAAA;AAAA,kBACR,UAAA,EAAc;AAAA,oBACZ,YAAA,EAAgB;AAAA,sBACd,IAAA,EAAQ;AAAA,oBACV,CAAA;AAAA,oBACA,MAAA,EAAU;AAAA,sBACR,IAAA,EAAQ,QAAA;AAAA,sBACR,KAAA,EAAS;AAAA,oBACX,CAAA;AAAA,oBACA,UAAA,EAAc;AAAA,sBACZ,IAAA,EAAQ;AAAA,oBACV,CAAA;AAAA,oBACA,SAAA,EAAa;AAAA,sBACX,IAAA,EAAQ;AAAA,oBACV,CAAA;AAAA,oBACA,MAAA,EAAU;AAAA,sBACR,IAAA,EAAQ;AAAA,oBACV,CAAA;AAAA,oBACA,GAAA,EAAO;AAAA,sBACL,IAAA,EAAQ;AAAA,oBACV,CAAA;AAAA,oBACA,QAAA,EAAY;AAAA,sBACV,IAAA,EAAQ;AAAA,oBACV,CAAA;AAAA,oBACA,cAAA,EAAkB;AAAA,sBAChB,IAAA,EAAQ;AAAA,oBACV;AAAA,kBACF,CAAA;AAAA,kBACA,QAAA,EAAY;AAAA,oBACV;AAAA,kBACF;AAAA,gBACF,CAAA;AAAA,gBACA;AAAA,kBACE,IAAA,EAAQ,QAAA;AAAA,kBACR,UAAA,EAAc;AAAA,oBACZ,YAAA,EAAgB;AAAA,sBACd,IAAA,EAAQ;AAAA,oBACV,CAAA;AAAA,oBACA,MAAA,EAAU;AAAA,sBACR,IAAA,EAAQ,QAAA;AAAA,sBACR,KAAA,EAAS;AAAA,oBACX,CAAA;AAAA,oBACA,UAAA,EAAc;AAAA,sBACZ,IAAA,EAAQ;AAAA,oBACV,CAAA;AAAA,oBACA,SAAA,EAAa;AAAA,sBACX,IAAA,EAAQ;AAAA,oBACV,CAAA;AAAA,oBACA,MAAA,EAAU;AAAA,sBACR,IAAA,EAAQ;AAAA,oBACV,CAAA;AAAA,oBACA,GAAA,EAAO;AAAA,sBACL,IAAA,EAAQ;AAAA,oBACV,CAAA;AAAA,oBACA,QAAA,EAAY;AAAA,sBACV,IAAA,EAAQ;AAAA,oBACV,CAAA;AAAA,oBACA,cAAA,EAAkB;AAAA,sBAChB,IAAA,EAAQ;AAAA,oBACV;AAAA,kBACF,CAAA;AAAA,kBACA,QAAA,EAAY;AAAA,oBACV;AAAA,kBACF;AAAA,gBACF,CAAA;AAAA,gBACA;AAAA,kBACE,IAAA,EAAQ,QAAA;AAAA,kBACR,UAAA,EAAc;AAAA,oBACZ,YAAA,EAAgB;AAAA,sBACd,IAAA,EAAQ;AAAA,oBACV,CAAA;AAAA,oBACA,MAAA,EAAU;AAAA,sBACR,IAAA,EAAQ,QAAA;AAAA,sBACR,KAAA,EAAS;AAAA,oBACX,CAAA;AAAA,oBACA,UAAA,EAAc;AAAA,sBACZ,IAAA,EAAQ;AAAA,oBACV,CAAA;AAAA,oBACA,SAAA,EAAa;AAAA,sBACX,IAAA,EAAQ;AAAA,oBACV,CAAA;AAAA,oBACA,MAAA,EAAU;AAAA,sBACR,IAAA,EAAQ;AAAA,oBACV,CAAA;AAAA,oBACA,GAAA,EAAO;AAAA,sBACL,IAAA,EAAQ;AAAA,oBACV,CAAA;AAAA,oBACA,QAAA,EAAY;AAAA,sBACV,IAAA,EAAQ;AAAA,oBACV,CAAA;AAAA,oBACA,cAAA,EAAkB;AAAA,sBAChB,IAAA,EAAQ;AAAA,oBACV;AAAA,kBACF,CAAA;AAAA,kBACA,QAAA,EAAY;AAAA,oBACV;AAAA,kBACF;AAAA,gBACF;AAAA,cACF;AAAA,YACF,CAAA;AAAA,YACA,uBAAA,EAA2B;AAAA,cACzB,IAAA,EAAQ,QAAA;AAAA,cACR,IAAA,EAAQ;AAAA,gBACN,KAAA;AAAA,gBACA,KAAA;AAAA,gBACA,KAAA;AAAA,gBACA,KAAA;AAAA,gBACA,KAAA;AAAA,gBACA,UAAA;AAAA,gBACA;AAAA,cACF;AAAA,YACF,CAAA;AAAA,YACA,qBAAA,EAAyB;AAAA,cACvB,KAAA,EAAS;AAAA,gBACP;AAAA,kBACE,IAAA,EAAQ,QAAA;AAAA,kBACR,UAAA,EAAc;AAAA,oBACZ,MAAA,EAAU;AAAA,sBACR,IAAA,EAAQ,QAAA;AAAA,sBACR,KAAA,EAAS;AAAA,oBACX,CAAA;AAAA,oBACA,UAAA,EAAc;AAAA,sBACZ,IAAA,EAAQ;AAAA,oBACV,CAAA;AAAA,oBACA,SAAA,EAAa;AAAA,sBACX,IAAA,EAAQ;AAAA,oBACV,CAAA;AAAA,oBACA,MAAA,EAAU;AAAA,sBACR,IAAA,EAAQ;AAAA,oBACV,CAAA;AAAA,oBACA,GAAA,EAAO;AAAA,sBACL,IAAA,EAAQ;AAAA,oBACV,CAAA;AAAA,oBACA,QAAA,EAAY;AAAA,sBACV,IAAA,EAAQ;AAAA,oBACV,CAAA;AAAA,oBACA,cAAA,EAAkB;AAAA,sBAChB,IAAA,EAAQ;AAAA,oBACV;AAAA,kBACF,CAAA;AAAA,kBACA,QAAA,EAAY;AAAA,oBACV;AAAA,kBACF;AAAA,gBACF,CAAA;AAAA,gBACA;AAAA,kBACE,IAAA,EAAQ,QAAA;AAAA,kBACR,UAAA,EAAc;AAAA,oBACZ,MAAA,EAAU;AAAA,sBACR,IAAA,EAAQ,QAAA;AAAA,sBACR,KAAA,EAAS;AAAA,oBACX,CAAA;AAAA,oBACA,UAAA,EAAc;AAAA,sBACZ,IAAA,EAAQ,OAAA;AAAA,sBACR,KAAA,EAAS;AAAA,wBACP,IAAA,EAAQ;AAAA,sBACV;AAAA,oBACF,CAAA;AAAA,oBACA,SAAA,EAAa;AAAA,sBACX,IAAA,EAAQ;AAAA,oBACV,CAAA;AAAA,oBACA,MAAA,EAAU;AAAA,sBACR,IAAA,EAAQ;AAAA,oBACV,CAAA;AAAA,oBACA,GAAA,EAAO;AAAA,sBACL,IAAA,EAAQ;AAAA,oBACV,CAAA;AAAA,oBACA,QAAA,EAAY;AAAA,sBACV,IAAA,EAAQ;AAAA,oBACV,CAAA;AAAA,oBACA,cAAA,EAAkB;AAAA,sBAChB,IAAA,EAAQ;AAAA,oBACV;AAAA,kBACF,CAAA;AAAA,kBACA,QAAA,EAAY;AAAA,oBACV;AAAA,kBACF;AAAA,gBACF,CAAA;AAAA,gBACA;AAAA,kBACE,IAAA,EAAQ,QAAA;AAAA,kBACR,UAAA,EAAc;AAAA,oBACZ,MAAA,EAAU;AAAA,sBACR,IAAA,EAAQ,QAAA;AAAA,sBACR,KAAA,EAAS;AAAA,oBACX,CAAA;AAAA,oBACA,UAAA,EAAc;AAAA,sBACZ,KAAA,EAAS;AAAA,wBACP;AAAA,0BACE,IAAA,EAAQ;AAAA,wBACV,CAAA;AAAA,wBACA;AAAA,0BACE,IAAA,EAAQ;AAAA,wBACV;AAAA,sBACF;AAAA,oBACF,CAAA;AAAA,oBACA,SAAA,EAAa;AAAA,sBACX,IAAA,EAAQ;AAAA,oBACV,CAAA;AAAA,oBACA,MAAA,EAAU;AAAA,sBACR,IAAA,EAAQ;AAAA,oBACV,CAAA;AAAA,oBACA,GAAA,EAAO;AAAA,sBACL,IAAA,EAAQ;AAAA,oBACV,CAAA;AAAA,oBACA,QAAA,EAAY;AAAA,sBACV,IAAA,EAAQ;AAAA,oBACV,CAAA;AAAA,oBACA,cAAA,EAAkB;AAAA,sBAChB,IAAA,EAAQ;AAAA,oBACV,CAAA;AAAA,oBACA,OAAA,EAAW;AAAA,sBACT,IAAA,EAAQ;AAAA,oBACV,CAAA;AAAA,oBACA,0BAAA,EAA8B;AAAA,sBAC5B,IAAA,EAAQ;AAAA,oBACV,CAAA;AAAA,oBACA,4BAAA,EAAgC;AAAA,sBAC9B,IAAA,EAAQ;AAAA,oBACV,CAAA;AAAA,oBACA,aAAA,EAAiB;AAAA,sBACf,IAAA,EAAQ;AAAA,oBACV,CAAA;AAAA,oBACA,cAAA,EAAkB;AAAA,sBAChB,IAAA,EAAQ;AAAA,oBACV;AAAA,kBACF,CAAA;AAAA,kBACA,QAAA,EAAY;AAAA,oBACV;AAAA,kBACF;AAAA,gBACF,CAAA;AAAA,gBACA;AAAA,kBACE,IAAA,EAAQ,QAAA;AAAA,kBACR,UAAA,EAAc;AAAA,oBACZ,MAAA,EAAU;AAAA,sBACR,IAAA,EAAQ,QAAA;AAAA,sBACR,KAAA,EAAS;AAAA,oBACX,CAAA;AAAA,oBACA,UAAA,EAAc;AAAA,sBACZ,IAAA,EAAQ;AAAA,oBACV,CAAA;AAAA,oBACA,SAAA,EAAa;AAAA,sBACX,IAAA,EAAQ;AAAA,oBACV,CAAA;AAAA,oBACA,MAAA,EAAU;AAAA,sBACR,IAAA,EAAQ;AAAA,oBACV,CAAA;AAAA,oBACA,GAAA,EAAO;AAAA,sBACL,IAAA,EAAQ;AAAA,oBACV,CAAA;AAAA,oBACA,QAAA,EAAY;AAAA,sBACV,IAAA,EAAQ;AAAA,oBACV,CAAA;AAAA,oBACA,cAAA,EAAkB;AAAA,sBAChB,IAAA,EAAQ;AAAA,oBACV;AAAA,kBACF,CAAA;AAAA,kBACA,QAAA,EAAY;AAAA,oBACV;AAAA,kBACF;AAAA,gBACF,CAAA;AAAA,gBACA;AAAA,kBACE,IAAA,EAAQ,QAAA;AAAA,kBACR,UAAA,EAAc;AAAA,oBACZ,MAAA,EAAU;AAAA,sBACR,IAAA,EAAQ,QAAA;AAAA,sBACR,KAAA,EAAS;AAAA,oBACX,CAAA;AAAA,oBACA,UAAA,EAAc;AAAA,sBACZ,IAAA,EAAQ;AAAA,oBACV,CAAA;AAAA,oBACA,SAAA,EAAa;AAAA,sBACX,IAAA,EAAQ;AAAA,oBACV,CAAA;AAAA,oBACA,MAAA,EAAU;AAAA,sBACR,IAAA,EAAQ;AAAA,oBACV,CAAA;AAAA,oBACA,GAAA,EAAO;AAAA,sBACL,IAAA,EAAQ;AAAA,oBACV,CAAA;AAAA,oBACA,QAAA,EAAY;AAAA,sBACV,IAAA,EAAQ;AAAA,oBACV,CAAA;AAAA,oBACA,cAAA,EAAkB;AAAA,sBAChB,IAAA,EAAQ;AAAA,oBACV;AAAA,kBACF,CAAA;AAAA,kBACA,QAAA,EAAY;AAAA,oBACV;AAAA,kBACF;AAAA,gBACF,CAAA;AAAA,gBACA;AAAA,kBACE,IAAA,EAAQ,QAAA;AAAA,kBACR,UAAA,EAAc;AAAA,oBACZ,MAAA,EAAU;AAAA,sBACR,IAAA,EAAQ,QAAA;AAAA,sBACR,KAAA,EAAS;AAAA,oBACX,CAAA;AAAA,oBACA,UAAA,EAAc;AAAA,sBACZ,IAAA,EAAQ;AAAA,oBACV,CAAA;AAAA,oBACA,SAAA,EAAa;AAAA,sBACX,IAAA,EAAQ;AAAA,oBACV,CAAA;AAAA,oBACA,MAAA,EAAU;AAAA,sBACR,IAAA,EAAQ;AAAA,oBACV,CAAA;AAAA,oBACA,GAAA,EAAO;AAAA,sBACL,IAAA,EAAQ;AAAA,oBACV,CAAA;AAAA,oBACA,QAAA,EAAY;AAAA,sBACV,IAAA,EAAQ;AAAA,oBACV,CAAA;AAAA,oBACA,cAAA,EAAkB;AAAA,sBAChB,IAAA,EAAQ;AAAA,oBACV;AAAA,kBACF,CAAA;AAAA,kBACA,QAAA,EAAY;AAAA,oBACV;AAAA,kBACF;AAAA,gBACF,CAAA;AAAA,gBACA;AAAA,kBACE,IAAA,EAAQ,QAAA;AAAA,kBACR,UAAA,EAAc;AAAA,oBACZ,MAAA,EAAU;AAAA,sBACR,IAAA,EAAQ,QAAA;AAAA,sBACR,KAAA,EAAS;AAAA,oBACX,CAAA;AAAA,oBACA,UAAA,EAAc;AAAA,sBACZ,IAAA,EAAQ;AAAA,oBACV,CAAA;AAAA,oBACA,SAAA,EAAa;AAAA,sBACX,IAAA,EAAQ;AAAA,oBACV,CAAA;AAAA,oBACA,MAAA,EAAU;AAAA,sBACR,IAAA,EAAQ;AAAA,oBACV,CAAA;AAAA,oBACA,GAAA,EAAO;AAAA,sBACL,IAAA,EAAQ;AAAA,oBACV,CAAA;AAAA,oBACA,QAAA,EAAY;AAAA,sBACV,IAAA,EAAQ;AAAA,oBACV,CAAA;AAAA,oBACA,cAAA,EAAkB;AAAA,sBAChB,IAAA,EAAQ;AAAA,oBACV;AAAA,kBACF,CAAA;AAAA,kBACA,QAAA,EAAY;AAAA,oBACV;AAAA,kBACF;AAAA,gBACF;AAAA,cACF;AAAA,YACF,CAAA;AAAA,YACA,WAAA,EAAe;AAAA,cACb,IAAA,EAAQ,QAAA;AAAA,cACR,UAAA,EAAc;AAAA,gBACZ,GAAA,EAAO;AAAA,kBACL,IAAA,EAAQ,QAAA;AAAA,kBACR,WAAA,EAAe;AAAA,gBACjB,CAAA;AAAA,gBACA,KAAA,EAAS;AAAA,kBACP,IAAA,EAAQ,QAAA;AAAA,kBACR,WAAA,EAAe;AAAA,gBACjB,CAAA;AAAA,gBACA,QAAA,EAAY;AAAA,kBACV,IAAA,EAAQ,QAAA;AAAA,kBACR,WAAA,EAAe;AAAA,gBACjB,CAAA;AAAA,gBACA,eAAA,EAAmB;AAAA,kBACjB,IAAA,EAAQ,QAAA;AAAA,kBACR,WAAA,EAAe;AAAA,gBACjB,CAAA;AAAA,gBACA,IAAA,EAAQ;AAAA,kBACN,IAAA,EAAQ,OAAA;AAAA,kBACR,KAAA,EAAS;AAAA,oBACP,IAAA,EAAQ;AAAA,kBACV,CAAA;AAAA,kBACA,WAAA,EAAe;AAAA,gBACjB,CAAA;AAAA,gBACA,QAAA,EAAY;AAAA,kBACV,IAAA,EAAQ,OAAA;AAAA,kBACR,KAAA,EAAS;AAAA,oBACP,IAAA,EAAQ;AAAA,kBACV,CAAA;AAAA,kBACA,WAAA,EAAe;AAAA,gBACjB;AAAA,cACF,CAAA;AAAA,cACA,QAAA,EAAY;AAAA,gBACV,KAAA;AAAA,gBACA,UAAA;AAAA,gBACA,MAAA;AAAA,gBACA;AAAA,cACF,CAAA;AAAA,cACA,WAAA,EAAe;AAAA,YACjB,CAAA;AAAA,YACA,IAAA,EAAQ;AAAA,cACN,IAAA,EAAQ,QAAA;AAAA,cACR,UAAA,EAAc;AAAA,gBACZ,GAAA,EAAO;AAAA,kBACL,IAAA,EAAQ,QAAA;AAAA,kBACR,WAAA,EAAe;AAAA,gBACjB,CAAA;AAAA,gBACA,GAAA,EAAO;AAAA,kBACL,IAAA,EAAQ,QAAA;AAAA,kBACR,WAAA,EAAe;AAAA,gBACjB,CAAA;AAAA,gBACA,IAAA,EAAQ;AAAA,kBACN,IAAA,EAAQ,+BAAA;AAAA,kBACR,WAAA,EAAe;AAAA,gBACjB,CAAA;AAAA,gBACA,YAAA,EAAgB;AAAA,kBACd,IAAA,EAAQ,QAAA;AAAA,kBACR,WAAA,EAAe;AAAA,gBACjB,CAAA;AAAA,gBACA,aAAA,EAAiB;AAAA,kBACf,IAAA,EAAQ,QAAA;AAAA,kBACR,WAAA,EAAe;AAAA,gBACjB,CAAA;AAAA,gBACA,IAAA,EAAQ;AAAA,kBACN,KAAA,EAAS;AAAA,oBACP;AAAA,sBACE,IAAA,EAAQ;AAAA,oBACV,CAAA;AAAA,oBACA;AAAA,sBACE,IAAA,EAAQ;AAAA,oBACV;AAAA,kBACF,CAAA;AAAA,kBACA,WAAA,EAAe;AAAA,gBACjB;AAAA,cACF,CAAA;AAAA,cACA,QAAA,EAAY;AAAA,gBACV,KAAA;AAAA,gBACA,KAAA;AAAA,gBACA,MAAA;AAAA,gBACA;AAAA,cACF,CAAA;AAAA,cACA,WAAA,EAAe;AAAA,YACjB,CAAA;AAAA,YACA,QAAA,EAAY;AAAA,cACV,IAAA,EAAQ,QAAA;AAAA,cACR,IAAA,EAAQ;AAAA,gBACN,SAAA;AAAA,gBACA,WAAA;AAAA,gBACA,WAAA;AAAA,gBACA,QAAA;AAAA,gBACA,YAAA;AAAA,gBACA,YAAA;AAAA,gBACA;AAAA,cACF,CAAA;AAAA,cACA,WAAA,EAAe;AAAA,YACjB,CAAA;AAAA,YACA,WAAA,EAAe;AAAA,cACb,IAAA,EAAQ,QAAA;AAAA,cACR,UAAA,EAAc;AAAA,gBACZ,UAAA,EAAc;AAAA,kBACZ,IAAA,EAAQ,OAAA;AAAA,kBACR,KAAA,EAAS;AAAA,oBACP,IAAA,EAAQ;AAAA,kBACV;AAAA,gBACF;AAAA,cACF,CAAA;AAAA,cACA,WAAA,EAAe;AAAA,YACjB,CAAA;AAAA,YACA,QAAA,EAAY;AAAA,cACV,IAAA,EAAQ,QAAA;AAAA,cACR,UAAA,EAAc;AAAA,gBACZ,EAAA,EAAM;AAAA,kBACJ,IAAA,EAAQ,QAAA;AAAA,kBACR,WAAA,EAAe;AAAA,gBACjB,CAAA;AAAA,gBACA,IAAA,EAAQ;AAAA,kBACN,IAAA,EAAQ,QAAA;AAAA,kBACR,WAAA,EAAe;AAAA,gBACjB,CAAA;AAAA,gBACA,eAAA,EAAmB;AAAA,kBACjB,KAAA,EAAS;AAAA,oBACP;AAAA,sBACE,IAAA,EAAQ;AAAA,oBACV,CAAA;AAAA,oBACA;AAAA,sBACE,IAAA,EAAQ,OAAA;AAAA,sBACR,KAAA,EAAS;AAAA,wBACP,IAAA,EAAQ;AAAA,sBACV;AAAA,oBACF;AAAA,kBACF,CAAA;AAAA,kBACA,WAAA,EAAe;AAAA,gBACjB,CAAA;AAAA,gBACA,WAAA,EAAe;AAAA,kBACb,IAAA,EAAQ,QAAA;AAAA,kBACR,WAAA,EAAe;AAAA,gBACjB;AAAA,cACF,CAAA;AAAA,cACA,QAAA,EAAY;AAAA,gBACV,IAAA;AAAA,gBACA,MAAA;AAAA,gBACA;AAAA,cACF,CAAA;AAAA,cACA,WAAA,EAAe;AAAA,YACjB,CAAA;AAAA,YACA,gBAAA,EAAoB;AAAA,cAClB,KAAA,EAAS;AAAA,gBACP;AAAA,kBACE,IAAA,EAAQ;AAAA,gBACV,CAAA;AAAA,gBACA;AAAA,kBACE,IAAA,EAAQ;AAAA,gBACV;AAAA,cACF,CAAA;AAAA,cACA,WAAA,EAAe;AAAA,YACjB,CAAA;AAAA,YACA,qBAAA,EAAyB;AAAA,cACvB,KAAA,EAAS;AAAA,gBACP;AAAA,kBACE,IAAA,EAAQ;AAAA,gBACV,CAAA;AAAA,gBACA;AAAA,kBACE,IAAA,EAAQ;AAAA,gBACV,CAAA;AAAA,gBACA;AAAA,kBACE,IAAA,EAAQ,OAAA;AAAA,kBACR,KAAA,EAAS;AAAA,oBACP,IAAA,EAAQ;AAAA,kBACV;AAAA,gBACF,CAAA;AAAA,gBACA;AAAA,kBACE,IAAA,EAAQ;AAAA,gBACV,CAAA;AAAA,gBACA;AAAA,kBACE,IAAA,EAAQ;AAAA,gBACV,CAAA;AAAA,gBACA;AAAA,kBACE,IAAA,EAAQ;AAAA,gBACV;AAAA,cACF,CAAA;AAAA,cACA,WAAA,EAAe;AAAA,YACjB,CAAA;AAAA,YACA,uBAAA,EAA2B;AAAA,cACzB,KAAA,EAAS;AAAA,gBACP;AAAA,kBACE,IAAA,EAAQ,QAAA;AAAA,kBACR,UAAA,EAAc;AAAA,oBACZ,GAAA,EAAO;AAAA,sBACL,IAAA,EAAQ;AAAA,oBACV,CAAA;AAAA,oBACA,aAAA,EAAiB;AAAA,sBACf,IAAA,EAAQ;AAAA,oBACV,CAAA;AAAA,oBACA,SAAA,EAAa;AAAA,sBACX,IAAA,EAAQ;AAAA,oBACV,CAAA;AAAA,oBACA,MAAA,EAAU;AAAA,sBACR,IAAA,EAAQ;AAAA,oBACV,CAAA;AAAA,oBACA,IAAA,EAAQ;AAAA,sBACN,IAAA,EAAQ;AAAA,oBACV,CAAA;AAAA,oBACA,GAAA,EAAO;AAAA,sBACL,IAAA,EAAQ;AAAA,oBACV,CAAA;AAAA,oBACA,GAAA,EAAO;AAAA,sBACL,IAAA,EAAQ;AAAA,oBACV,CAAA;AAAA,oBACA,MAAA,EAAU;AAAA,sBACR,IAAA,EAAQ;AAAA,oBACV,CAAA;AAAA,oBACA,QAAA,EAAY;AAAA,sBACV,IAAA,EAAQ;AAAA,oBACV,CAAA;AAAA,oBACA,cAAA,EAAkB;AAAA,sBAChB,IAAA,EAAQ;AAAA,oBACV,CAAA;AAAA,oBACA,UAAA,EAAc;AAAA,sBACZ,IAAA,EAAQ;AAAA,oBACV,CAAA;AAAA,oBACA,GAAA,EAAO;AAAA,sBACL,IAAA,EAAQ,OAAA;AAAA,sBACR,KAAA,EAAS;AAAA,wBACP,IAAA,EAAQ;AAAA,sBACV;AAAA,oBACF,CAAA;AAAA,oBACA,WAAA,EAAe,CAAC;AAAA,kBAClB,CAAA;AAAA,kBACA,QAAA,EAAY;AAAA,oBACV,aAAA;AAAA,oBACA,YAAA;AAAA,oBACA,KAAA;AAAA,oBACA,eAAA;AAAA,oBACA,KAAA;AAAA,oBACA,WAAA;AAAA,oBACA,QAAA;AAAA,oBACA,MAAA;AAAA,oBACA;AAAA,kBACF;AAAA,gBACF,CAAA;AAAA,gBACA;AAAA,kBACE,IAAA,EAAQ,QAAA;AAAA,kBACR,UAAA,EAAc;AAAA,oBACZ,GAAA,EAAO;AAAA,sBACL,IAAA,EAAQ;AAAA,oBACV,CAAA;AAAA,oBACA,aAAA,EAAiB;AAAA,sBACf,IAAA,EAAQ;AAAA,oBACV,CAAA;AAAA,oBACA,SAAA,EAAa;AAAA,sBACX,IAAA,EAAQ;AAAA,oBACV,CAAA;AAAA,oBACA,MAAA,EAAU;AAAA,sBACR,IAAA,EAAQ;AAAA,oBACV,CAAA;AAAA,oBACA,IAAA,EAAQ;AAAA,sBACN,IAAA,EAAQ;AAAA,oBACV,CAAA;AAAA,oBACA,GAAA,EAAO;AAAA,sBACL,IAAA,EAAQ;AAAA,oBACV,CAAA;AAAA,oBACA,GAAA,EAAO;AAAA,sBACL,IAAA,EAAQ;AAAA,oBACV,CAAA;AAAA,oBACA,MAAA,EAAU;AAAA,sBACR,IAAA,EAAQ;AAAA,oBACV,CAAA;AAAA,oBACA,QAAA,EAAY;AAAA,sBACV,IAAA,EAAQ;AAAA,oBACV,CAAA;AAAA,oBACA,cAAA,EAAkB;AAAA,sBAChB,IAAA,EAAQ;AAAA,oBACV,CAAA;AAAA,oBACA,UAAA,EAAc;AAAA,sBACZ,IAAA,EAAQ;AAAA,oBACV,CAAA;AAAA,oBACA,GAAA,EAAO;AAAA,sBACL,IAAA,EAAQ;AAAA,oBACV,CAAA;AAAA,oBACA,IAAA,EAAQ;AAAA,sBACN,IAAA,EAAQ,OAAA;AAAA,sBACR,KAAA,EAAS;AAAA,wBACP,IAAA,EAAQ;AAAA,sBACV;AAAA,oBACF,CAAA;AAAA,oBACA,yBAAA,EAA6B;AAAA,sBAC3B,IAAA,EAAQ;AAAA,oBACV,CAAA;AAAA,oBACA,eAAA,EAAmB;AAAA,sBACjB,IAAA,EAAQ;AAAA,oBACV;AAAA,kBACF,CAAA;AAAA,kBACA,QAAA,EAAY;AAAA,oBACV,KAAA;AAAA,oBACA,YAAA;AAAA,oBACA,QAAA;AAAA,oBACA,KAAA;AAAA,oBACA,eAAA;AAAA,oBACA,KAAA;AAAA,oBACA,MAAA;AAAA,oBACA,KAAA;AAAA,oBACA,WAAA;AAAA,oBACA,QAAA;AAAA,oBACA;AAAA,kBACF;AAAA,gBACF,CAAA;AAAA,gBACA;AAAA,kBACE,IAAA,EAAQ,QAAA;AAAA,kBACR,UAAA,EAAc;AAAA,oBACZ,GAAA,EAAO;AAAA,sBACL,IAAA,EAAQ;AAAA,oBACV,CAAA;AAAA,oBACA,aAAA,EAAiB;AAAA,sBACf,IAAA,EAAQ;AAAA,oBACV,CAAA;AAAA,oBACA,SAAA,EAAa;AAAA,sBACX,IAAA,EAAQ;AAAA,oBACV,CAAA;AAAA,oBACA,MAAA,EAAU;AAAA,sBACR,IAAA,EAAQ;AAAA,oBACV,CAAA;AAAA,oBACA,IAAA,EAAQ;AAAA,sBACN,IAAA,EAAQ;AAAA,oBACV,CAAA;AAAA,oBACA,GAAA,EAAO;AAAA,sBACL,IAAA,EAAQ;AAAA,oBACV,CAAA;AAAA,oBACA,GAAA,EAAO;AAAA,sBACL,IAAA,EAAQ;AAAA,oBACV,CAAA;AAAA,oBACA,MAAA,EAAU;AAAA,sBACR,IAAA,EAAQ;AAAA,oBACV,CAAA;AAAA,oBACA,QAAA,EAAY;AAAA,sBACV,IAAA,EAAQ;AAAA,oBACV,CAAA;AAAA,oBACA,cAAA,EAAkB;AAAA,sBAChB,IAAA,EAAQ;AAAA,oBACV,CAAA;AAAA,oBACA,UAAA,EAAc;AAAA,sBACZ,IAAA,EAAQ;AAAA,oBACV;AAAA,kBACF,CAAA;AAAA,kBACA,QAAA,EAAY;AAAA,oBACV,YAAA;AAAA,oBACA,KAAA;AAAA,oBACA,eAAA;AAAA,oBACA,KAAA;AAAA,oBACA,WAAA;AAAA,oBACA,QAAA;AAAA,oBACA;AAAA,kBACF;AAAA,gBACF,CAAA;AAAA,gBACA;AAAA,kBACE,IAAA,EAAQ,QAAA;AAAA,kBACR,UAAA,EAAc;AAAA,oBACZ,GAAA,EAAO;AAAA,sBACL,IAAA,EAAQ;AAAA,oBACV,CAAA;AAAA,oBACA,aAAA,EAAiB;AAAA,sBACf,IAAA,EAAQ;AAAA,oBACV,CAAA;AAAA,oBACA,SAAA,EAAa;AAAA,sBACX,IAAA,EAAQ;AAAA,oBACV,CAAA;AAAA,oBACA,MAAA,EAAU;AAAA,sBACR,IAAA,EAAQ;AAAA,oBACV,CAAA;AAAA,oBACA,IAAA,EAAQ;AAAA,sBACN,IAAA,EAAQ;AAAA,oBACV,CAAA;AAAA,oBACA,GAAA,EAAO;AAAA,sBACL,IAAA,EAAQ;AAAA,oBACV,CAAA;AAAA,oBACA,GAAA,EAAO;AAAA,sBACL,IAAA,EAAQ;AAAA,oBACV,CAAA;AAAA,oBACA,MAAA,EAAU;AAAA,sBACR,IAAA,EAAQ;AAAA,oBACV,CAAA;AAAA,oBACA,QAAA,EAAY;AAAA,sBACV,IAAA,EAAQ;AAAA,oBACV,CAAA;AAAA,oBACA,cAAA,EAAkB;AAAA,sBAChB,IAAA,EAAQ;AAAA,oBACV,CAAA;AAAA,oBACA,UAAA,EAAc;AAAA,sBACZ,IAAA,EAAQ;AAAA,oBACV;AAAA,kBACF,CAAA;AAAA,kBACA,QAAA,EAAY;AAAA,oBACV,YAAA;AAAA,oBACA,KAAA;AAAA,oBACA,eAAA;AAAA,oBACA,KAAA;AAAA,oBACA,KAAA;AAAA,oBACA,WAAA;AAAA,oBACA,QAAA;AAAA,oBACA;AAAA,kBACF;AAAA,gBACF,CAAA;AAAA,gBACA;AAAA,kBACE,IAAA,EAAQ,QAAA;AAAA,kBACR,UAAA,EAAc;AAAA,oBACZ,GAAA,EAAO;AAAA,sBACL,IAAA,EAAQ;AAAA,oBACV,CAAA;AAAA,oBACA,aAAA,EAAiB;AAAA,sBACf,IAAA,EAAQ;AAAA,oBACV,CAAA;AAAA,oBACA,SAAA,EAAa;AAAA,sBACX,IAAA,EAAQ;AAAA,oBACV,CAAA;AAAA,oBACA,MAAA,EAAU;AAAA,sBACR,IAAA,EAAQ;AAAA,oBACV,CAAA;AAAA,oBACA,IAAA,EAAQ;AAAA,sBACN,IAAA,EAAQ;AAAA,oBACV,CAAA;AAAA,oBACA,GAAA,EAAO;AAAA,sBACL,IAAA,EAAQ;AAAA,oBACV,CAAA;AAAA,oBACA,GAAA,EAAO;AAAA,sBACL,IAAA,EAAQ;AAAA,oBACV,CAAA;AAAA,oBACA,MAAA,EAAU;AAAA,sBACR,IAAA,EAAQ;AAAA,oBACV,CAAA;AAAA,oBACA,QAAA,EAAY;AAAA,sBACV,IAAA,EAAQ;AAAA,oBACV,CAAA;AAAA,oBACA,cAAA,EAAkB;AAAA,sBAChB,IAAA,EAAQ;AAAA,oBACV,CAAA;AAAA,oBACA,UAAA,EAAc;AAAA,sBACZ,IAAA,EAAQ;AAAA,oBACV;AAAA,kBACF,CAAA;AAAA,kBACA,QAAA,EAAY;AAAA,oBACV,YAAA;AAAA,oBACA,KAAA;AAAA,oBACA,eAAA;AAAA,oBACA,KAAA;AAAA,oBACA,WAAA;AAAA,oBACA,QAAA;AAAA,oBACA;AAAA,kBACF;AAAA,gBACF,CAAA;AAAA,gBACA;AAAA,kBACE,IAAA,EAAQ,QAAA;AAAA,kBACR,UAAA,EAAc;AAAA,oBACZ,GAAA,EAAO;AAAA,sBACL,IAAA,EAAQ;AAAA,oBACV,CAAA;AAAA,oBACA,aAAA,EAAiB;AAAA,sBACf,IAAA,EAAQ;AAAA,oBACV,CAAA;AAAA,oBACA,SAAA,EAAa;AAAA,sBACX,IAAA,EAAQ;AAAA,oBACV,CAAA;AAAA,oBACA,MAAA,EAAU;AAAA,sBACR,IAAA,EAAQ;AAAA,oBACV,CAAA;AAAA,oBACA,IAAA,EAAQ;AAAA,sBACN,IAAA,EAAQ;AAAA,oBACV,CAAA;AAAA,oBACA,GAAA,EAAO;AAAA,sBACL,IAAA,EAAQ;AAAA,oBACV,CAAA;AAAA,oBACA,GAAA,EAAO;AAAA,sBACL,IAAA,EAAQ;AAAA,oBACV,CAAA;AAAA,oBACA,MAAA,EAAU;AAAA,sBACR,IAAA,EAAQ;AAAA,oBACV,CAAA;AAAA,oBACA,QAAA,EAAY;AAAA,sBACV,IAAA,EAAQ;AAAA,oBACV,CAAA;AAAA,oBACA,cAAA,EAAkB;AAAA,sBAChB,IAAA,EAAQ;AAAA,oBACV,CAAA;AAAA,oBACA,UAAA,EAAc;AAAA,sBACZ,IAAA,EAAQ;AAAA,oBACV;AAAA,kBACF,CAAA;AAAA,kBACA,QAAA,EAAY;AAAA,oBACV,YAAA;AAAA,oBACA,KAAA;AAAA,oBACA,eAAA;AAAA,oBACA,KAAA;AAAA,oBACA,WAAA;AAAA,oBACA,QAAA;AAAA,oBACA;AAAA,kBACF;AAAA,gBACF,CAAA;AAAA,gBACA;AAAA,kBACE,IAAA,EAAQ,QAAA;AAAA,kBACR,UAAA,EAAc;AAAA,oBACZ,GAAA,EAAO;AAAA,sBACL,IAAA,EAAQ;AAAA,oBACV,CAAA;AAAA,oBACA,aAAA,EAAiB;AAAA,sBACf,IAAA,EAAQ;AAAA,oBACV,CAAA;AAAA,oBACA,SAAA,EAAa;AAAA,sBACX,IAAA,EAAQ;AAAA,oBACV,CAAA;AAAA,oBACA,MAAA,EAAU;AAAA,sBACR,IAAA,EAAQ;AAAA,oBACV,CAAA;AAAA,oBACA,IAAA,EAAQ;AAAA,sBACN,IAAA,EAAQ;AAAA,oBACV,CAAA;AAAA,oBACA,GAAA,EAAO;AAAA,sBACL,IAAA,EAAQ;AAAA,oBACV,CAAA;AAAA,oBACA,GAAA,EAAO;AAAA,sBACL,IAAA,EAAQ;AAAA,oBACV,CAAA;AAAA,oBACA,MAAA,EAAU;AAAA,sBACR,IAAA,EAAQ;AAAA,oBACV,CAAA;AAAA,oBACA,QAAA,EAAY;AAAA,sBACV,IAAA,EAAQ;AAAA,oBACV,CAAA;AAAA,oBACA,cAAA,EAAkB;AAAA,sBAChB,IAAA,EAAQ;AAAA,oBACV,CAAA;AAAA,oBACA,UAAA,EAAc;AAAA,sBACZ,IAAA,EAAQ;AAAA,oBACV;AAAA,kBACF,CAAA;AAAA,kBACA,QAAA,EAAY;AAAA,oBACV,YAAA;AAAA,oBACA,KAAA;AAAA,oBACA,eAAA;AAAA,oBACA,KAAA;AAAA,oBACA,WAAA;AAAA,oBACA,QAAA;AAAA,oBACA;AAAA,kBACF;AAAA,gBACF;AAAA,cACF;AAAA,YACF,CAAA;AAAA,YACA,4BAAA,EAAgC;AAAA,cAC9B,IAAA,EAAQ,QAAA;AAAA,cACR,UAAA,EAAc;AAAA,gBACZ,MAAA,EAAU;AAAA,kBACR,IAAA,EAAQ,QAAA;AAAA,kBACR,KAAA,EAAS;AAAA,gBACX,CAAA;AAAA,gBACA,UAAA,EAAc;AAAA,kBACZ,IAAA,EAAQ;AAAA,gBACV,CAAA;AAAA,gBACA,SAAA,EAAa;AAAA,kBACX,IAAA,EAAQ;AAAA,gBACV,CAAA;AAAA,gBACA,MAAA,EAAU;AAAA,kBACR,IAAA,EAAQ;AAAA,gBACV,CAAA;AAAA,gBACA,GAAA,EAAO;AAAA,kBACL,IAAA,EAAQ;AAAA,gBACV,CAAA;AAAA,gBACA,QAAA,EAAY;AAAA,kBACV,IAAA,EAAQ;AAAA,gBACV,CAAA;AAAA,gBACA,cAAA,EAAkB;AAAA,kBAChB,IAAA,EAAQ;AAAA,gBACV;AAAA,cACF,CAAA;AAAA,cACA,QAAA,EAAY;AAAA,gBACV;AAAA,cACF;AAAA,YACF,CAAA;AAAA,YACA,8BAAA,EAAkC;AAAA,cAChC,IAAA,EAAQ,QAAA;AAAA,cACR,UAAA,EAAc;AAAA,gBACZ,GAAA,EAAO;AAAA,kBACL,IAAA,EAAQ;AAAA,gBACV,CAAA;AAAA,gBACA,aAAA,EAAiB;AAAA,kBACf,IAAA,EAAQ;AAAA,gBACV,CAAA;AAAA,gBACA,SAAA,EAAa;AAAA,kBACX,IAAA,EAAQ;AAAA,gBACV,CAAA;AAAA,gBACA,MAAA,EAAU;AAAA,kBACR,IAAA,EAAQ,QAAA;AAAA,kBACR,KAAA,EAAS;AAAA,gBACX,CAAA;AAAA,gBACA,IAAA,EAAQ;AAAA,kBACN,IAAA,EAAQ;AAAA,gBACV,CAAA;AAAA,gBACA,GAAA,EAAO;AAAA,kBACL,IAAA,EAAQ;AAAA,gBACV,CAAA;AAAA,gBACA,GAAA,EAAO;AAAA,kBACL,IAAA,EAAQ;AAAA,gBACV,CAAA;AAAA,gBACA,MAAA,EAAU;AAAA,kBACR,IAAA,EAAQ;AAAA,gBACV,CAAA;AAAA,gBACA,QAAA,EAAY;AAAA,kBACV,IAAA,EAAQ;AAAA,gBACV,CAAA;AAAA,gBACA,cAAA,EAAkB;AAAA,kBAChB,IAAA,EAAQ;AAAA,gBACV,CAAA;AAAA,gBACA,UAAA,EAAc;AAAA,kBACZ,IAAA,EAAQ;AAAA,gBACV;AAAA,cACF,CAAA;AAAA,cACA,QAAA,EAAY;AAAA,gBACV,YAAA;AAAA,gBACA,KAAA;AAAA,gBACA,eAAA;AAAA,gBACA,KAAA;AAAA,gBACA,WAAA;AAAA,gBACA,QAAA;AAAA,gBACA;AAAA,cACF;AAAA,YACF,CAAA;AAAA,YACA,wBAAA,EAA4B;AAAA,cAC1B,IAAA,EAAQ,QAAA;AAAA,cACR,UAAA,EAAc;AAAA,gBACZ,MAAA,EAAU;AAAA,kBACR,IAAA,EAAQ,QAAA;AAAA,kBACR,KAAA,EAAS;AAAA,gBACX,CAAA;AAAA,gBACA,UAAA,EAAc;AAAA,kBACZ,KAAA,EAAS;AAAA,oBACP;AAAA,sBACE,IAAA,EAAQ;AAAA,oBACV,CAAA;AAAA,oBACA;AAAA,sBACE,IAAA,EAAQ;AAAA,oBACV;AAAA,kBACF;AAAA,gBACF,CAAA;AAAA,gBACA,OAAA,EAAW;AAAA,kBACT,IAAA,EAAQ;AAAA,gBACV,CAAA;AAAA,gBACA,0BAAA,EAA8B;AAAA,kBAC5B,IAAA,EAAQ;AAAA,gBACV,CAAA;AAAA,gBACA,4BAAA,EAAgC;AAAA,kBAC9B,IAAA,EAAQ;AAAA,gBACV,CAAA;AAAA,gBACA,aAAA,EAAiB;AAAA,kBACf,IAAA,EAAQ;AAAA,gBACV,CAAA;AAAA,gBACA,cAAA,EAAkB;AAAA,kBAChB,IAAA,EAAQ;AAAA,gBACV,CAAA;AAAA,gBACA,SAAA,EAAa;AAAA,kBACX,IAAA,EAAQ;AAAA,gBACV,CAAA;AAAA,gBACA,MAAA,EAAU;AAAA,kBACR,IAAA,EAAQ;AAAA,gBACV,CAAA;AAAA,gBACA,GAAA,EAAO;AAAA,kBACL,IAAA,EAAQ;AAAA,gBACV,CAAA;AAAA,gBACA,QAAA,EAAY;AAAA,kBACV,IAAA,EAAQ;AAAA,gBACV,CAAA;AAAA,gBACA,cAAA,EAAkB;AAAA,kBAChB,IAAA,EAAQ;AAAA,gBACV;AAAA,cACF,CAAA;AAAA,cACA,QAAA,EAAY;AAAA,gBACV;AAAA,cACF;AAAA,YACF,CAAA;AAAA,YACA,0BAAA,EAA8B;AAAA,cAC5B,IAAA,EAAQ,QAAA;AAAA,cACR,UAAA,EAAc;AAAA,gBACZ,GAAA,EAAO;AAAA,kBACL,IAAA,EAAQ;AAAA,gBACV,CAAA;AAAA,gBACA,aAAA,EAAiB;AAAA,kBACf,IAAA,EAAQ;AAAA,gBACV,CAAA;AAAA,gBACA,SAAA,EAAa;AAAA,kBACX,IAAA,EAAQ;AAAA,gBACV,CAAA;AAAA,gBACA,MAAA,EAAU;AAAA,kBACR,IAAA,EAAQ,QAAA;AAAA,kBACR,KAAA,EAAS;AAAA,gBACX,CAAA;AAAA,gBACA,IAAA,EAAQ;AAAA,kBACN,IAAA,EAAQ;AAAA,gBACV,CAAA;AAAA,gBACA,GAAA,EAAO;AAAA,kBACL,IAAA,EAAQ;AAAA,gBACV,CAAA;AAAA,gBACA,GAAA,EAAO;AAAA,kBACL,IAAA,EAAQ;AAAA,gBACV,CAAA;AAAA,gBACA,MAAA,EAAU;AAAA,kBACR,IAAA,EAAQ;AAAA,gBACV,CAAA;AAAA,gBACA,QAAA,EAAY;AAAA,kBACV,IAAA,EAAQ;AAAA,gBACV,CAAA;AAAA,gBACA,cAAA,EAAkB;AAAA,kBAChB,IAAA,EAAQ;AAAA,gBACV,CAAA;AAAA,gBACA,UAAA,EAAc;AAAA,kBACZ,IAAA,EAAQ;AAAA,gBACV,CAAA;AAAA,gBACA,GAAA,EAAO;AAAA,kBACL,IAAA,EAAQ;AAAA,gBACV,CAAA;AAAA,gBACA,IAAA,EAAQ;AAAA,kBACN,IAAA,EAAQ,OAAA;AAAA,kBACR,KAAA,EAAS;AAAA,oBACP,IAAA,EAAQ;AAAA,kBACV;AAAA,gBACF,CAAA;AAAA,gBACA,yBAAA,EAA6B;AAAA,kBAC3B,IAAA,EAAQ;AAAA,gBACV,CAAA;AAAA,gBACA,eAAA,EAAmB;AAAA,kBACjB,IAAA,EAAQ;AAAA,gBACV;AAAA,cACF,CAAA;AAAA,cACA,QAAA,EAAY;AAAA,gBACV,KAAA;AAAA,gBACA,YAAA;AAAA,gBACA,QAAA;AAAA,gBACA,KAAA;AAAA,gBACA,eAAA;AAAA,gBACA,KAAA;AAAA,gBACA,MAAA;AAAA,gBACA,KAAA;AAAA,gBACA,WAAA;AAAA,gBACA,QAAA;AAAA,gBACA;AAAA,cACF;AAAA,YACF,CAAA;AAAA,YACA,wBAAA,EAA4B;AAAA,cAC1B,IAAA,EAAQ,QAAA;AAAA,cACR,UAAA,EAAc;AAAA,gBACZ,MAAA,EAAU;AAAA,kBACR,IAAA,EAAQ,QAAA;AAAA,kBACR,KAAA,EAAS;AAAA,gBACX,CAAA;AAAA,gBACA,UAAA,EAAc;AAAA,kBACZ,IAAA,EAAQ;AAAA,gBACV,CAAA;AAAA,gBACA,SAAA,EAAa;AAAA,kBACX,IAAA,EAAQ;AAAA,gBACV,CAAA;AAAA,gBACA,MAAA,EAAU;AAAA,kBACR,IAAA,EAAQ;AAAA,gBACV,CAAA;AAAA,gBACA,GAAA,EAAO;AAAA,kBACL,IAAA,EAAQ;AAAA,gBACV,CAAA;AAAA,gBACA,QAAA,EAAY;AAAA,kBACV,IAAA,EAAQ;AAAA,gBACV,CAAA;AAAA,gBACA,cAAA,EAAkB;AAAA,kBAChB,IAAA,EAAQ;AAAA,gBACV;AAAA,cACF,CAAA;AAAA,cACA,QAAA,EAAY;AAAA,gBACV;AAAA,cACF;AAAA,YACF,CAAA;AAAA,YACA,0BAAA,EAA8B;AAAA,cAC5B,IAAA,EAAQ,QAAA;AAAA,cACR,UAAA,EAAc;AAAA,gBACZ,GAAA,EAAO;AAAA,kBACL,IAAA,EAAQ;AAAA,gBACV,CAAA;AAAA,gBACA,aAAA,EAAiB;AAAA,kBACf,IAAA,EAAQ;AAAA,gBACV,CAAA;AAAA,gBACA,SAAA,EAAa;AAAA,kBACX,IAAA,EAAQ;AAAA,gBACV,CAAA;AAAA,gBACA,MAAA,EAAU;AAAA,kBACR,IAAA,EAAQ,QAAA;AAAA,kBACR,KAAA,EAAS;AAAA,gBACX,CAAA;AAAA,gBACA,IAAA,EAAQ;AAAA,kBACN,IAAA,EAAQ;AAAA,gBACV,CAAA;AAAA,gBACA,GAAA,EAAO;AAAA,kBACL,IAAA,EAAQ;AAAA,gBACV,CAAA;AAAA,gBACA,GAAA,EAAO;AAAA,kBACL,IAAA,EAAQ;AAAA,gBACV,CAAA;AAAA,gBACA,MAAA,EAAU;AAAA,kBACR,IAAA,EAAQ;AAAA,gBACV,CAAA;AAAA,gBACA,QAAA,EAAY;AAAA,kBACV,IAAA,EAAQ;AAAA,gBACV,CAAA;AAAA,gBACA,cAAA,EAAkB;AAAA,kBAChB,IAAA,EAAQ;AAAA,gBACV,CAAA;AAAA,gBACA,UAAA,EAAc;AAAA,kBACZ,IAAA,EAAQ;AAAA,gBACV;AAAA,cACF,CAAA;AAAA,cACA,QAAA,EAAY;AAAA,gBACV,YAAA;AAAA,gBACA,KAAA;AAAA,gBACA,eAAA;AAAA,gBACA,KAAA;AAAA,gBACA,WAAA;AAAA,gBACA,QAAA;AAAA,gBACA;AAAA,cACF;AAAA,YACF,CAAA;AAAA,YACA,wBAAA,EAA4B;AAAA,cAC1B,IAAA,EAAQ,QAAA;AAAA,cACR,UAAA,EAAc;AAAA,gBACZ,MAAA,EAAU;AAAA,kBACR,IAAA,EAAQ,QAAA;AAAA,kBACR,KAAA,EAAS;AAAA,gBACX,CAAA;AAAA,gBACA,UAAA,EAAc;AAAA,kBACZ,IAAA,EAAQ;AAAA,gBACV,CAAA;AAAA,gBACA,SAAA,EAAa;AAAA,kBACX,IAAA,EAAQ;AAAA,gBACV,CAAA;AAAA,gBACA,MAAA,EAAU;AAAA,kBACR,IAAA,EAAQ;AAAA,gBACV,CAAA;AAAA,gBACA,GAAA,EAAO;AAAA,kBACL,IAAA,EAAQ;AAAA,gBACV,CAAA;AAAA,gBACA,QAAA,EAAY;AAAA,kBACV,IAAA,EAAQ;AAAA,gBACV,CAAA;AAAA,gBACA,cAAA,EAAkB;AAAA,kBAChB,IAAA,EAAQ;AAAA,gBACV;AAAA,cACF,CAAA;AAAA,cACA,QAAA,EAAY;AAAA,gBACV;AAAA,cACF;AAAA,YACF,CAAA;AAAA,YACA,0BAAA,EAA8B;AAAA,cAC5B,IAAA,EAAQ,QAAA;AAAA,cACR,UAAA,EAAc;AAAA,gBACZ,GAAA,EAAO;AAAA,kBACL,IAAA,EAAQ;AAAA,gBACV,CAAA;AAAA,gBACA,aAAA,EAAiB;AAAA,kBACf,IAAA,EAAQ;AAAA,gBACV,CAAA;AAAA,gBACA,SAAA,EAAa;AAAA,kBACX,IAAA,EAAQ;AAAA,gBACV,CAAA;AAAA,gBACA,MAAA,EAAU;AAAA,kBACR,IAAA,EAAQ,QAAA;AAAA,kBACR,KAAA,EAAS;AAAA,gBACX,CAAA;AAAA,gBACA,IAAA,EAAQ;AAAA,kBACN,IAAA,EAAQ;AAAA,gBACV,CAAA;AAAA,gBACA,GAAA,EAAO;AAAA,kBACL,IAAA,EAAQ;AAAA,gBACV,CAAA;AAAA,gBACA,GAAA,EAAO;AAAA,kBACL,IAAA,EAAQ;AAAA,gBACV,CAAA;AAAA,gBACA,MAAA,EAAU;AAAA,kBACR,IAAA,EAAQ;AAAA,gBACV,CAAA;AAAA,gBACA,QAAA,EAAY;AAAA,kBACV,IAAA,EAAQ;AAAA,gBACV,CAAA;AAAA,gBACA,cAAA,EAAkB;AAAA,kBAChB,IAAA,EAAQ;AAAA,gBACV,CAAA;AAAA,gBACA,UAAA,EAAc;AAAA,kBACZ,IAAA,EAAQ;AAAA,gBACV;AAAA,cACF,CAAA;AAAA,cACA,QAAA,EAAY;AAAA,gBACV,YAAA;AAAA,gBACA,KAAA;AAAA,gBACA,eAAA;AAAA,gBACA,KAAA;AAAA,gBACA,WAAA;AAAA,gBACA,QAAA;AAAA,gBACA;AAAA,cACF;AAAA,YACF,CAAA;AAAA,YACA,wBAAA,EAA4B;AAAA,cAC1B,IAAA,EAAQ,QAAA;AAAA,cACR,UAAA,EAAc;AAAA,gBACZ,MAAA,EAAU;AAAA,kBACR,IAAA,EAAQ,QAAA;AAAA,kBACR,KAAA,EAAS;AAAA,gBACX,CAAA;AAAA,gBACA,UAAA,EAAc;AAAA,kBACZ,IAAA,EAAQ;AAAA,gBACV,CAAA;AAAA,gBACA,SAAA,EAAa;AAAA,kBACX,IAAA,EAAQ;AAAA,gBACV,CAAA;AAAA,gBACA,MAAA,EAAU;AAAA,kBACR,IAAA,EAAQ;AAAA,gBACV,CAAA;AAAA,gBACA,GAAA,EAAO;AAAA,kBACL,IAAA,EAAQ;AAAA,gBACV,CAAA;AAAA,gBACA,QAAA,EAAY;AAAA,kBACV,IAAA,EAAQ;AAAA,gBACV,CAAA;AAAA,gBACA,cAAA,EAAkB;AAAA,kBAChB,IAAA,EAAQ;AAAA,gBACV;AAAA,cACF,CAAA;AAAA,cACA,QAAA,EAAY;AAAA,gBACV;AAAA,cACF;AAAA,YACF,CAAA;AAAA,YACA,0BAAA,EAA8B;AAAA,cAC5B,IAAA,EAAQ,QAAA;AAAA,cACR,UAAA,EAAc;AAAA,gBACZ,GAAA,EAAO;AAAA,kBACL,IAAA,EAAQ;AAAA,gBACV,CAAA;AAAA,gBACA,aAAA,EAAiB;AAAA,kBACf,IAAA,EAAQ;AAAA,gBACV,CAAA;AAAA,gBACA,SAAA,EAAa;AAAA,kBACX,IAAA,EAAQ;AAAA,gBACV,CAAA;AAAA,gBACA,MAAA,EAAU;AAAA,kBACR,IAAA,EAAQ,QAAA;AAAA,kBACR,KAAA,EAAS;AAAA,gBACX,CAAA;AAAA,gBACA,IAAA,EAAQ;AAAA,kBACN,IAAA,EAAQ;AAAA,gBACV,CAAA;AAAA,gBACA,GAAA,EAAO;AAAA,kBACL,IAAA,EAAQ;AAAA,gBACV,CAAA;AAAA,gBACA,GAAA,EAAO;AAAA,kBACL,IAAA,EAAQ;AAAA,gBACV,CAAA;AAAA,gBACA,MAAA,EAAU;AAAA,kBACR,IAAA,EAAQ;AAAA,gBACV,CAAA;AAAA,gBACA,QAAA,EAAY;AAAA,kBACV,IAAA,EAAQ;AAAA,gBACV,CAAA;AAAA,gBACA,cAAA,EAAkB;AAAA,kBAChB,IAAA,EAAQ;AAAA,gBACV,CAAA;AAAA,gBACA,UAAA,EAAc;AAAA,kBACZ,IAAA,EAAQ;AAAA,gBACV;AAAA,cACF,CAAA;AAAA,cACA,QAAA,EAAY;AAAA,gBACV,YAAA;AAAA,gBACA,KAAA;AAAA,gBACA,eAAA;AAAA,gBACA,KAAA;AAAA,gBACA,KAAA;AAAA,gBACA,WAAA;AAAA,gBACA,QAAA;AAAA,gBACA;AAAA,cACF;AAAA,YACF,CAAA;AAAA,YACA,iCAAA,EAAqC;AAAA,cACnC,IAAA,EAAQ,QAAA;AAAA,cACR,UAAA,EAAc;AAAA,gBACZ,MAAA,EAAU;AAAA,kBACR,IAAA,EAAQ,QAAA;AAAA,kBACR,KAAA,EAAS;AAAA,gBACX,CAAA;AAAA,gBACA,UAAA,EAAc;AAAA,kBACZ,IAAA,EAAQ;AAAA,gBACV,CAAA;AAAA,gBACA,SAAA,EAAa;AAAA,kBACX,IAAA,EAAQ;AAAA,gBACV,CAAA;AAAA,gBACA,MAAA,EAAU;AAAA,kBACR,IAAA,EAAQ;AAAA,gBACV,CAAA;AAAA,gBACA,GAAA,EAAO;AAAA,kBACL,IAAA,EAAQ;AAAA,gBACV,CAAA;AAAA,gBACA,QAAA,EAAY;AAAA,kBACV,IAAA,EAAQ;AAAA,gBACV,CAAA;AAAA,gBACA,cAAA,EAAkB;AAAA,kBAChB,IAAA,EAAQ;AAAA,gBACV;AAAA,cACF,CAAA;AAAA,cACA,QAAA,EAAY;AAAA,gBACV;AAAA,cACF;AAAA,YACF,CAAA;AAAA,YACA,mCAAA,EAAuC;AAAA,cACrC,IAAA,EAAQ,QAAA;AAAA,cACR,UAAA,EAAc;AAAA,gBACZ,GAAA,EAAO;AAAA,kBACL,IAAA,EAAQ;AAAA,gBACV,CAAA;AAAA,gBACA,aAAA,EAAiB;AAAA,kBACf,IAAA,EAAQ;AAAA,gBACV,CAAA;AAAA,gBACA,SAAA,EAAa;AAAA,kBACX,IAAA,EAAQ;AAAA,gBACV,CAAA;AAAA,gBACA,MAAA,EAAU;AAAA,kBACR,IAAA,EAAQ,QAAA;AAAA,kBACR,KAAA,EAAS;AAAA,gBACX,CAAA;AAAA,gBACA,IAAA,EAAQ;AAAA,kBACN,IAAA,EAAQ;AAAA,gBACV,CAAA;AAAA,gBACA,GAAA,EAAO;AAAA,kBACL,IAAA,EAAQ;AAAA,gBACV,CAAA;AAAA,gBACA,GAAA,EAAO;AAAA,kBACL,IAAA,EAAQ;AAAA,gBACV,CAAA;AAAA,gBACA,MAAA,EAAU;AAAA,kBACR,IAAA,EAAQ;AAAA,gBACV,CAAA;AAAA,gBACA,QAAA,EAAY;AAAA,kBACV,IAAA,EAAQ;AAAA,gBACV,CAAA;AAAA,gBACA,cAAA,EAAkB;AAAA,kBAChB,IAAA,EAAQ;AAAA,gBACV,CAAA;AAAA,gBACA,UAAA,EAAc;AAAA,kBACZ,IAAA,EAAQ;AAAA,gBACV;AAAA,cACF,CAAA;AAAA,cACA,QAAA,EAAY;AAAA,gBACV,YAAA;AAAA,gBACA,KAAA;AAAA,gBACA,eAAA;AAAA,gBACA,KAAA;AAAA,gBACA,WAAA;AAAA,gBACA,QAAA;AAAA,gBACA;AAAA,cACF;AAAA,YACF,CAAA;AAAA,YACA,wBAAA,EAA4B;AAAA,cAC1B,IAAA,EAAQ,QAAA;AAAA,cACR,UAAA,EAAc;AAAA,gBACZ,MAAA,EAAU;AAAA,kBACR,IAAA,EAAQ,QAAA;AAAA,kBACR,KAAA,EAAS;AAAA,gBACX,CAAA;AAAA,gBACA,UAAA,EAAc;AAAA,kBACZ,IAAA,EAAQ,OAAA;AAAA,kBACR,KAAA,EAAS;AAAA,oBACP,IAAA,EAAQ;AAAA,kBACV;AAAA,gBACF,CAAA;AAAA,gBACA,SAAA,EAAa;AAAA,kBACX,IAAA,EAAQ;AAAA,gBACV,CAAA;AAAA,gBACA,MAAA,EAAU;AAAA,kBACR,IAAA,EAAQ;AAAA,gBACV,CAAA;AAAA,gBACA,GAAA,EAAO;AAAA,kBACL,IAAA,EAAQ;AAAA,gBACV,CAAA;AAAA,gBACA,QAAA,EAAY;AAAA,kBACV,IAAA,EAAQ;AAAA,gBACV,CAAA;AAAA,gBACA,cAAA,EAAkB;AAAA,kBAChB,IAAA,EAAQ;AAAA,gBACV;AAAA,cACF,CAAA;AAAA,cACA,QAAA,EAAY;AAAA,gBACV;AAAA,cACF;AAAA,YACF,CAAA;AAAA,YACA,0BAAA,EAA8B;AAAA,cAC5B,IAAA,EAAQ,QAAA;AAAA,cACR,UAAA,EAAc;AAAA,gBACZ,GAAA,EAAO;AAAA,kBACL,IAAA,EAAQ;AAAA,gBACV,CAAA;AAAA,gBACA,aAAA,EAAiB;AAAA,kBACf,IAAA,EAAQ;AAAA,gBACV,CAAA;AAAA,gBACA,SAAA,EAAa;AAAA,kBACX,IAAA,EAAQ;AAAA,gBACV,CAAA;AAAA,gBACA,MAAA,EAAU;AAAA,kBACR,IAAA,EAAQ,QAAA;AAAA,kBACR,KAAA,EAAS;AAAA,gBACX,CAAA;AAAA,gBACA,IAAA,EAAQ;AAAA,kBACN,IAAA,EAAQ;AAAA,gBACV,CAAA;AAAA,gBACA,GAAA,EAAO;AAAA,kBACL,IAAA,EAAQ;AAAA,gBACV,CAAA;AAAA,gBACA,GAAA,EAAO;AAAA,kBACL,IAAA,EAAQ;AAAA,gBACV,CAAA;AAAA,gBACA,MAAA,EAAU;AAAA,kBACR,IAAA,EAAQ;AAAA,gBACV,CAAA;AAAA,gBACA,QAAA,EAAY;AAAA,kBACV,IAAA,EAAQ;AAAA,gBACV,CAAA;AAAA,gBACA,cAAA,EAAkB;AAAA,kBAChB,IAAA,EAAQ;AAAA,gBACV,CAAA;AAAA,gBACA,UAAA,EAAc;AAAA,kBACZ,IAAA,EAAQ,OAAA;AAAA,kBACR,KAAA,EAAS;AAAA,oBACP,IAAA,EAAQ;AAAA,kBACV;AAAA,gBACF,CAAA;AAAA,gBACA,GAAA,EAAO;AAAA,kBACL,IAAA,EAAQ,OAAA;AAAA,kBACR,KAAA,EAAS;AAAA,oBACP,IAAA,EAAQ;AAAA,kBACV;AAAA,gBACF,CAAA;AAAA,gBACA,WAAA,EAAe,CAAC;AAAA,cAClB,CAAA;AAAA,cACA,QAAA,EAAY;AAAA,gBACV,aAAA;AAAA,gBACA,YAAA;AAAA,gBACA,KAAA;AAAA,gBACA,eAAA;AAAA,gBACA,KAAA;AAAA,gBACA,WAAA;AAAA,gBACA,QAAA;AAAA,gBACA,MAAA;AAAA,gBACA;AAAA,cACF;AAAA,YACF;AAAA,UACF,CAAA;AAAA,UACA,OAAA,EAAW;AAAA,YACT,yBAAA,EAA6B;AAAA,cAC3B,WAAA,EAAe,+KAAA;AAAA,cACf,SAAA,EAAa;AAAA,gBACX,IAAA,EAAQ;AAAA,cACV,CAAA;AAAA,cACA,UAAA,EAAc;AAAA,gBACZ,IAAA,EAAQ;AAAA,cACV;AAAA,YACF,CAAA;AAAA,YACA,kCAAA,EAAsC;AAAA,cACpC,WAAA,EAAe,EAAA;AAAA,cACf,SAAA,EAAa;AAAA,gBACX,IAAA,EAAQ;AAAA,cACV,CAAA;AAAA,cACA,UAAA,EAAc;AAAA,gBACZ,IAAA,EAAQ;AAAA,cACV;AAAA,YACF,CAAA;AAAA,YACA,8BAAA,EAAkC;AAAA,cAChC,WAAA,EAAe,EAAA;AAAA,cACf,SAAA,EAAa;AAAA,gBACX,IAAA,EAAQ;AAAA,cACV,CAAA;AAAA,cACA,UAAA,EAAc;AAAA,gBACZ,IAAA,EAAQ;AAAA,cACV;AAAA,YACF,CAAA;AAAA,YACA,8BAAA,EAAkC;AAAA,cAChC,WAAA,EAAe,EAAA;AAAA,cACf,SAAA,EAAa;AAAA,gBACX,IAAA,EAAQ;AAAA,cACV,CAAA;AAAA,cACA,UAAA,EAAc;AAAA,gBACZ,IAAA,EAAQ;AAAA,cACV;AAAA,YACF,CAAA;AAAA,YACA,uCAAA,EAA2C;AAAA,cACzC,WAAA,EAAe,EAAA;AAAA,cACf,SAAA,EAAa;AAAA,gBACX,IAAA,EAAQ;AAAA,cACV,CAAA;AAAA,cACA,UAAA,EAAc;AAAA,gBACZ,IAAA,EAAQ;AAAA,cACV;AAAA,YACF,CAAA;AAAA,YACA,8BAAA,EAAkC;AAAA,cAChC,WAAA,EAAe,EAAA;AAAA,cACf,SAAA,EAAa;AAAA,gBACX,IAAA,EAAQ;AAAA,cACV,CAAA;AAAA,cACA,UAAA,EAAc;AAAA,gBACZ,IAAA,EAAQ;AAAA,cACV;AAAA,YACF,CAAA;AAAA,YACA,oBAAA,EAAwB;AAAA,cACtB,WAAA,EAAe,8KAAA;AAAA,cACf,SAAA,EAAa;AAAA,gBACX,IAAA,EAAQ;AAAA,cACV,CAAA;AAAA,cACA,UAAA,EAAc;AAAA,gBACZ,IAAA,EAAQ;AAAA,cACV;AAAA,YACF,CAAA;AAAA,YACA,6BAAA,EAAiC;AAAA,cAC/B,WAAA,EAAe,EAAA;AAAA,cACf,SAAA,EAAa;AAAA,gBACX,IAAA,EAAQ;AAAA,cACV,CAAA;AAAA,cACA,UAAA,EAAc;AAAA,gBACZ,IAAA,EAAQ;AAAA,cACV;AAAA,YACF,CAAA;AAAA,YACA,yBAAA,EAA6B;AAAA,cAC3B,WAAA,EAAe,EAAA;AAAA,cACf,SAAA,EAAa;AAAA,gBACX,IAAA,EAAQ;AAAA,cACV,CAAA;AAAA,cACA,UAAA,EAAc;AAAA,gBACZ,IAAA,EAAQ;AAAA,cACV;AAAA,YACF,CAAA;AAAA,YACA,yBAAA,EAA6B;AAAA,cAC3B,WAAA,EAAe,EAAA;AAAA,cACf,SAAA,EAAa;AAAA,gBACX,IAAA,EAAQ;AAAA,cACV,CAAA;AAAA,cACA,UAAA,EAAc;AAAA,gBACZ,IAAA,EAAQ;AAAA,cACV;AAAA,YACF,CAAA;AAAA,YACA,yBAAA,EAA6B;AAAA,cAC3B,WAAA,EAAe,EAAA;AAAA,cACf,SAAA,EAAa;AAAA,gBACX,IAAA,EAAQ;AAAA,cACV,CAAA;AAAA,cACA,UAAA,EAAc;AAAA,gBACZ,IAAA,EAAQ;AAAA,cACV;AAAA,YACF,CAAA;AAAA,YACA,yBAAA,EAA6B;AAAA,cAC3B,WAAA,EAAe,EAAA;AAAA,cACf,SAAA,EAAa;AAAA,gBACX,IAAA,EAAQ;AAAA,cACV,CAAA;AAAA,cACA,UAAA,EAAc;AAAA,gBACZ,IAAA,EAAQ;AAAA,cACV;AAAA,YACF,CAAA;AAAA,YACA,kCAAA,EAAsC;AAAA,cACpC,WAAA,EAAe,EAAA;AAAA,cACf,SAAA,EAAa;AAAA,gBACX,IAAA,EAAQ;AAAA,cACV,CAAA;AAAA,cACA,UAAA,EAAc;AAAA,gBACZ,IAAA,EAAQ;AAAA,cACV;AAAA,YACF,CAAA;AAAA,YACA,yBAAA,EAA6B;AAAA,cAC3B,WAAA,EAAe,EAAA;AAAA,cACf,SAAA,EAAa;AAAA,gBACX,IAAA,EAAQ;AAAA,cACV,CAAA;AAAA,cACA,UAAA,EAAc;AAAA,gBACZ,IAAA,EAAQ;AAAA,cACV;AAAA,YACF;AAAA,UACF;AAAA,QACF;AAAA,MACF;AAAA,IACF,CAAA;AAAA,EAAA;AAAA,CAAA,CAAA;ADaA;AACA;AEluIO,SAASA,eAAAA,CAAgBC,UAAAA,EAA0D;AACxF,EAAA,OAAOC,aAAAA,CAAcD,UAAAA,EAAAA,GAAgB,OAAOA,WAAAA,IAAe,SAAA,GAAYA,UAAAA,CAAWE,UAAAA,CAAW,MAAA,CAAA;AAC/F;AAFgBH,MAAAA,CAAAA,eAAAA,EAAAA,iBAAAA,CAAAA;AAIT,SAASE,aAAAA,CAAcD,UAAAA,EAA0D;AACtF,EAAA,OAAO,OAAOA,WAAAA,IAAe,SAAA,GAAY,CAACG,KAAAA,CAAMC,OAAAA,CAAQJ,UAAAA,EAAAA,GAAe,MAAA,GAASA,WAAAA,GAAc,OAAA,GAAUA,UAAAA;AAC1G;AAFgBC,MAAAA,CAAAA,aAAAA,EAAAA,eAAAA,CAAAA;AAIT,SAASI,eAAAA,CAAgBL,UAAAA,EAA0D;AACxF,EAAA,OAAO,OAAOA,WAAAA,IAAe,SAAA,GAAY,CAACG,KAAAA,CAAMC,OAAAA,CAAQJ,UAAAA,EAAAA,GAAe,MAAA,GAASA,UAAAA;AAClF;AAFgBK,MAAAA,CAAAA,eAAAA,EAAAA,iBAAAA,CAAAA;AAIT,SAASC,yBAAAA,CAA0BN,UAAAA,EAA0D;AAClG,EAAA,OAAO,OAAOA,WAAAA,IAAe,SAAA,GAAYA,UAAAA,CAAWE,UAAAA,CAAW,MAAA,EAAA,GAAWF,UAAAA,CAAWO,QAAAA,CAAS,mCAAA,CAAA;AAChG;AAFgBD,MAAAA,CAAAA,yBAAAA,EAAAA,2BAAAA,CAAAA;AAIT,SAASE,mBAAAA,CAAoBR,UAAAA,EAA0D;AAC5F,EAAA,OAAO,OAAOA,WAAAA,IAAe,SAAA,GAAYA,UAAAA,CAAWE,UAAAA,CAAW,MAAA,EAAA,GAAWF,UAAAA,CAAWO,QAAAA,CAAS,WAAA,CAAA;AAChG;AAFgBC,MAAAA,CAAAA,mBAAAA,EAAAA,qBAAAA,CAAAA;AAIT,SAASC,eAAAA,CAAgBT,UAAAA,EAA0D;AACxF,EAAA,OAAO,OAAOA,WAAAA,IAAe,SAAA,GAAY,CAACA,UAAAA,CAAWE,UAAAA,CAAW,MAAA,EAAA,GAAW,CAACF,UAAAA,CAAWE,UAAAA,CAAW,MAAA,CAAA;AACpG;AAFgBO,MAAAA,CAAAA,eAAAA,EAAAA,iBAAAA,CAAAA;AAIT,SAASC,wBAAAA,CAAyBV,UAAAA,EAA0D;AACjG,EAAA,OAAO,OAAOA,WAAAA,IAAe,SAAA,GAAYA,UAAAA,CAAWE,UAAAA,CAAW,MAAA,EAAA,GAAWF,UAAAA,CAAWO,QAAAA,CAAS,uCAAA,CAAA;AAChG;AAFgBG,MAAAA,CAAAA,wBAAAA,EAAAA,0BAAAA,CAAAA;AAIT,SAASC,eAAAA,CAAgBX,UAAAA,EAAiC;AAC/D,EAAA,OACE,OAAOA,WAAAA,IAAe,SAAA,GACtB,CAACG,KAAAA,CAAMC,OAAAA,CAAQJ,UAAAA,EAAAA,GACf,OAAOA,WAAAA,IAAe,SAAA,GACtB,CAAA,GAAA,EAAA,GAASA,WAAAA,GACT,eAAA,GAAkBA,UAAAA;AAEtB;AARgBW,MAAAA,CAAAA,eAAAA,EAAAA,iBAAAA,CAAAA;AAUT,SAASC,mBAAAA,CAAoBZ,UAAAA,EAAiC;AACnE,EAAA,OAAO,OAAOA,WAAAA,IAAe,SAAA,GAAY,CAAA,GAAA,EAAA,GAASA,WAAAA,GAAAA,CAAe,SAAA,GAAYA,WAAAA,GAAc,UAAA,GAAaA,UAAAA,EAAAA,GAAe,CAAA,CAAE,MAAA,GAASA,UAAAA,CAAAA;AACpI;AAFgBY,MAAAA,CAAAA,mBAAAA,EAAAA,qBAAAA,CAAAA;AAIT,SAASC,wBAAAA,CAAyBb,UAAAA,EAAiC;AACxE,EAAA,OAAO,OAAOA,WAAAA,IAAe,SAAA,GAAYA,UAAAA,CAAWE,UAAAA,CAAW,UAAA,CAAA;AACjE;AAFgBW,MAAAA,CAAAA,wBAAAA,EAAAA,0BAAAA,CAAAA;AAIT,SAASC,eAAAA,CAAgBd,UAAAA,EAA0D;AACxF,EAAA,OAAOG,KAAAA,CAAMC,OAAAA,CAAQJ,UAAAA,EAAAA,GAAeA,UAAAA,CAAWe,OAAAA,EAAS,CAAA;AAC1D;AAFgBD,MAAAA,CAAAA,eAAAA,EAAAA,iBAAAA,CAAAA;AFiuIhB;AACA;AGlvIO,SAASE,2BAAAA,CAA4BC,IAAAA,EAAgC;AAC1E,EAAA,MAAM,EAAEjB,WAAU,EAAA,EAAKiB,IAAAA;AACvB,EAAA,OAAQ,SAAA,GAAYA,KAAAA,GAAQA,IAAAA,CAAKC,OAAAA,IAAW,MAAA,GAAUnB,eAAAA,CAAgBC,UAAAA,CAAAA;AACxE;AAHgBgB,MAAAA,CAAAA,2BAAAA,EAAAA,6BAAAA,CAAAA;AAoBT,SAASG,2BAAAA,CAA4BF,IAAAA,EAAgC;AAC1E,EAAA,MAAM,EAAEjB,WAAU,EAAA,EAAKiB,IAAAA;AACvB,EAAA,OAAQ,SAAA,GAAYA,KAAAA,GAAQA,IAAAA,CAAKC,OAAAA,IAAW,MAAA,GAAUT,eAAAA,CAAgBT,UAAAA,CAAAA;AACxE;AAHgBmB,MAAAA,CAAAA,2BAAAA,EAAAA,6BAAAA,CAAAA;AAWT,SAASC,2BAAAA,CAA4BH,IAAAA,EAAgC;AAC1E,EAAA,MAAM,EAAEjB,WAAU,EAAA,EAAKiB,IAAAA;AACvB,EAAA,OAAQ,SAAA,GAAYA,KAAAA,GAAQA,IAAAA,CAAKC,OAAAA,IAAW,MAAA,GAAUb,eAAAA,CAAgBL,UAAAA,CAAAA;AACxE;AAHgBoB,MAAAA,CAAAA,2BAAAA,EAAAA,6BAAAA,CAAAA;AAUT,SAASC,+BAAAA,CAAgCJ,IAAAA,EAAgC;AAC9E,EAAA,MAAM,EAAEjB,WAAU,EAAA,EAAKiB,IAAAA;AACvB,EAAA,OAAQ,SAAA,GAAYA,KAAAA,GAAQA,IAAAA,CAAKC,OAAAA,IAAW,WAAA,GAAeN,mBAAAA,CAAoBZ,UAAAA,CAAAA;AACjF;AAHgBqB,MAAAA,CAAAA,+BAAAA,EAAAA,iCAAAA,CAAAA;AAUT,SAASC,qCAAAA,CAAsCL,IAAAA,EAAgC;AACpF,EAAA,MAAM,EAAEjB,WAAU,EAAA,EAAKiB,IAAAA;AACvB,EAAA,OAAQ,SAAA,GAAYA,KAAAA,GAAQA,IAAAA,CAAKC,OAAAA,IAAW,iBAAA,GAAqBZ,yBAAAA,CAA0BN,UAAAA,CAAAA;AAC7F;AAHgBsB,MAAAA,CAAAA,qCAAAA,EAAAA,uCAAAA,CAAAA;AAUT,SAASC,+BAAAA,CAAgCN,IAAAA,EAAgC;AAC9E,EAAA,MAAM,EAAEjB,WAAU,EAAA,EAAKiB,IAAAA;AACvB,EAAA,OAAQ,SAAA,GAAYA,KAAAA,GAAQA,IAAAA,CAAKC,OAAAA,IAAW,iBAAA,GAAqBV,mBAAAA,CAAoBR,UAAAA,CAAAA;AACvF;AAHgBuB,MAAAA,CAAAA,+BAAAA,EAAAA,iCAAAA,CAAAA;AAWT,SAASC,oCAAAA,CAAqCP,IAAAA,EAAgC;AACnF,EAAA,MAAM,EAAEjB,WAAU,EAAA,EAAKiB,IAAAA;AACvB,EAAA,OAAA,CAAS,SAAA,GAAYA,KAAAA,GAAQA,IAAAA,CAAKC,OAAAA,IAAW,YAAA,GAAgB,eAAA,GAAkBD,IAAAA,EAAAA,GAASJ,wBAAAA,CAAyBb,UAAAA,CAAAA;AACnH;AAHgBwB,MAAAA,CAAAA,oCAAAA,EAAAA,sCAAAA,CAAAA;AAcT,SAASC,2BAAAA,CAA4BR,IAAAA,EAAgC;AAC1E,EAAA,MAAM,EAAEjB,WAAU,EAAA,EAAKiB,IAAAA;AACvB,EAAA,OAAQ,SAAA,GAAYA,KAAAA,GAAQA,IAAAA,CAAKC,OAAAA,IAAW,MAAA,GAAUJ,eAAAA,CAAgBd,UAAAA,CAAAA;AACxE;AAHgByB,MAAAA,CAAAA,2BAAAA,EAAAA,6BAAAA,CAAAA;AHqsIhB;AACA;AIhxIO,SAASC,0BAAAA,CAA2BT,IAAAA,EAA+B;AACxE,EAAA,MAAM,EAAEjB,WAAU,EAAA,EAAKiB,IAAAA;AACvB,EAAA,OAAQ,SAAA,GAAYA,KAAAA,GAAQA,IAAAA,CAAKC,OAAAA,IAAW,MAAA,GAAUnB,eAAAA,CAAgBC,UAAAA,CAAAA;AACxE;AAHgB0B,MAAAA,CAAAA,0BAAAA,EAAAA,4BAAAA,CAAAA;AAUT,SAASC,0BAAAA,CAA2BV,IAAAA,EAA+B;AACxE,EAAA,MAAM,EAAEjB,WAAU,EAAA,EAAKiB,IAAAA;AACvB,EAAA,OAAQ,SAAA,GAAYA,KAAAA,GAAQA,IAAAA,CAAKC,OAAAA,IAAW,MAAA,GAAUT,eAAAA,CAAgBT,UAAAA,CAAAA;AACxE;AAHgB2B,MAAAA,CAAAA,0BAAAA,EAAAA,4BAAAA,CAAAA;AAUT,SAASC,0BAAAA,CAA2BX,IAAAA,EAA+B;AACxE,EAAA,MAAM,EAAEjB,WAAU,EAAA,EAAKiB,IAAAA;AACvB,EAAA,OAAQ,SAAA,GAAYA,KAAAA,GAAQA,IAAAA,CAAKC,OAAAA,IAAW,MAAA,GAAUP,eAAAA,CAAgBX,UAAAA,CAAAA;AACxE;AAHgB4B,MAAAA,CAAAA,0BAAAA,EAAAA,4BAAAA,CAAAA;AAUT,SAASC,8BAAAA,CAA+BZ,IAAAA,EAA+B;AAC5E,EAAA,MAAM,EAAEjB,WAAU,EAAA,EAAKiB,IAAAA;AACvB,EAAA,OAAQ,SAAA,GAAYA,KAAAA,GAAQA,IAAAA,CAAKC,OAAAA,IAAW,WAAA,GAAeN,mBAAAA,CAAoBZ,UAAAA,CAAAA;AACjF;AAHgB6B,MAAAA,CAAAA,8BAAAA,EAAAA,gCAAAA,CAAAA;AAUT,SAASC,mCAAAA,CAAoCb,IAAAA,EAA+B;AACjF,EAAA,MAAM,EAAEjB,WAAU,EAAA,EAAKiB,IAAAA;AACvB,EAAA,OAAQ,SAAA,GAAYA,KAAAA,GAAQA,IAAAA,CAAKC,OAAAA,IAAW,iBAAA,GAAqBR,wBAAAA,CAAyBV,UAAAA,CAAAA;AAC5F;AAHgB8B,MAAAA,CAAAA,mCAAAA,EAAAA,qCAAAA,CAAAA;AAUT,SAASC,0BAAAA,CAA2Bd,IAAAA,EAA+B;AACxE,EAAA,MAAM,EAAEjB,WAAU,EAAA,EAAKiB,IAAAA;AACvB,EAAA,OAAQ,SAAA,GAAYA,KAAAA,GAAQA,IAAAA,CAAKC,OAAAA,IAAW,MAAA,GAAUb,eAAAA,CAAgBL,UAAAA,CAAAA;AACxE;AAHgB+B,MAAAA,CAAAA,0BAAAA,EAAAA,4BAAAA,CAAAA;AAUT,SAASC,0BAAAA,CAA2Bf,IAAAA,EAA+B;AACxE,EAAA,MAAM,EAAEjB,WAAU,EAAA,EAAKiB,IAAAA;AACvB,EAAA,OAAQ,SAAA,GAAYA,KAAAA,GAAQA,IAAAA,CAAKC,OAAAA,IAAW,MAAA,GAAUJ,eAAAA,CAAgBd,UAAAA,CAAAA;AACxE;AAHgBgC,MAAAA,CAAAA,0BAAAA,EAAAA,4BAAAA,CAAAA;AAoBT,SAASC,gCAAAA,CAAiCC,MAAAA,EAAoC;AACnF,EAAA,OAAOA,OAAAA,GAAY,OAAOA,OAAAA,IAAW,SAAA,GAAY,SAAA,GAAYA,OAAAA,GAAUA,MAAAA,CAAOhB,OAAAA,IAAW,UAAA;AAC3F;AAFgBe,MAAAA,CAAAA,gCAAAA,EAAAA,kCAAAA,CAAAA;AAIT,SAASE,4BAAAA,CAA6BD,MAAAA,EAAoC;AAC/E,EAAA,OAAOA,OAAAA,GAAY,OAAOA,OAAAA,IAAW,SAAA,GAAY,SAAA,GAAYA,OAAAA,GAAUA,MAAAA,CAAOhB,OAAAA,IAAW,KAAA;AAC3F;AAFgBiB,MAAAA,CAAAA,4BAAAA,EAAAA,8BAAAA,CAAAA;AAIT,SAASC,4BAAAA,CAA6BF,MAAAA,EAAoC;AAC/E,EAAA,OAAOA,OAAAA,GAAY,OAAOA,OAAAA,IAAW,SAAA,GAAY,SAAA,GAAYA,OAAAA,GAAUA,MAAAA,CAAOhB,OAAAA,IAAW,KAAA;AAC3F;AAFgBkB,MAAAA,CAAAA,4BAAAA,EAAAA,8BAAAA,CAAAA;AAIT,SAASC,4BAAAA,CAA6BH,MAAAA,EAAoC;AAC/E,EAAA,OAAOA,OAAAA,GAAY,OAAOA,OAAAA,IAAW,SAAA,GAAY,SAAA,GAAYA,OAAAA,GAAUA,MAAAA,CAAOhB,OAAAA,IAAW,KAAA;AAC3F;AAFgBmB,MAAAA,CAAAA,4BAAAA,EAAAA,8BAAAA,CAAAA;AAIT,SAASC,4BAAAA,CAA6BJ,MAAAA,EAAoC;AAC/E,EAAA,OAAOA,OAAAA,GAAY,OAAOA,OAAAA,IAAW,SAAA,GAAY,SAAA,GAAYA,OAAAA,GAAUA,MAAAA,CAAOhB,OAAAA,IAAW,KAAA;AAC3F;AAFgBoB,MAAAA,CAAAA,4BAAAA,EAAAA,8BAAAA,CAAAA;AAIT,SAASC,4BAAAA,CAA6BL,MAAAA,EAAoC;AAC/E,EAAA,OAAOA,OAAAA,GAAY,OAAOA,OAAAA,IAAW,SAAA,GAAY,SAAA,GAAYA,OAAAA,GAAUA,MAAAA,CAAOhB,OAAAA,IAAW,KAAA;AAC3F;AAFgBqB,MAAAA,CAAAA,4BAAAA,EAAAA,8BAAAA,CAAAA;AJwuIhB;AACA;AK91IO,IAAMC,mCAAAA,EAAoD;ALg2IjE,EK/1IE,sBAAA;ALg2IF,EK/1IE,2BAAA;ALg2IF,EK/1IE,2BAAA;ALg2IF,EK/1IE,2BAAA;ALg2IF,EK/1IE,2BAAA;ALg2IF,EK/1IE,2BAAA;ALg2IF,EK/1IE,oCAAA;ALg2IF,EK/1IE,+BAAA;ALg2IF,EK/1IE,2BAAA;ALg2IF,EK/1IE,gCAAA;ALg2IF,EK/1IE,gCAAA;ALg2IF,EK/1IE,gCAAA;ALg2IF,EK/1IE,oCAAA;ALg2IF,EK/1IE;ALg2IF,CAAC;AACD;AACA;AMn5IA,oEAA6B;ANq5I7B;AACA;AOt5IA,oEAAwC;AACxC;AACA,sEAA0C;AAC1C,mEAA2D;AAG3D,8BAAwC;AAgCxC,MAAA,SAAsBC,uBAAAA,CACpBxB,IAAAA,EACAyB,OAAAA,EAAmC;AAEnC,EAAA,MAAMxB,OAAAA,EAAS,KAAA;AACf,EAAA,IAAIyB,IAAAA,EAAwBC,KAAAA,CAAAA;AAC5B,EAAA,IAAIC,OAAAA,EAA6BD,KAAAA,CAAAA;AACjC,EAAA,IAAIE,IAAAA,EAA0BF,KAAAA,CAAAA;AAC9B,EAAA,GAAA,CAAI,CAACG,qDAAAA,OAAqBL,CAAAA,EAAU;AAClC,IAAA,OAAOM,OAAAA,CAAQC,MAAAA,CAAOC,KAAAA,CAAM,CAAA,kEAAA,CAAoE,CAAA,CAAA;APo3IpG,EOn3IE,EAAA,KAAA,GAAA,CAAWjC,IAAAA,CAAKjB,UAAAA,CAAWE,UAAAA,CAAW,MAAA,CAAA,EAAS;AAC7C,IAAA,MAAMiD,IAAAA,EAAMlC,IAAAA,CAAKjB,UAAAA,CAAWoD,KAAAA,CAAM,GAAA,CAAA,CAAK,CAAA,CAAA;AACvC,IAAA,MAAMC,cAAAA,EAAgB,MAAMC,uBAAAA,CAAwB;APo3IxD,MOp3I0D,GAAGrC,IAAAA;APq3I7D,MOr3ImEC,MAAAA,EAAQ,KAAA;APs3I3E,MOt3IkFlB,UAAAA,EAAYmD;APu3I9F,IOv3IkG,CAAA,EAAGT,OAAAA,CAAAA;AACjGC,IAAAA,IAAAA,EAAMU,aAAAA,CAAcV,GAAAA;AACpBE,IAAAA,OAAAA,EAASQ,aAAAA,CAAcR,MAAAA;AACvBC,IAAAA,IAAAA,oDAAM7B,IAAAA,2BAAM6B,KAAAA,0BAAQH,GAAAA,qBAAIY,IAAAA,6BAAMC,kBAAAA,6BAAoBC,MAAAA,UAAiBJ,aAAAA,CAAcP,KAAAA;APw3IrF,EOv3IE;AACA,EAAA,GAAA,CAAI,CAACH,GAAAA,EAAK;AACRA,IAAAA,IAAAA,EAAM,MAAMD,OAAAA,CAAQgB,KAAAA,CAAMC,aAAAA,CAAc;APw3I5C,MOx3I8Cb,GAAAA,mBAAK7B,IAAAA,CAAK2C,SAAAA,UAAa3C,IAAAA,CAAKjB;APy3I1E,IOz3IqF,CAAA,CAAA;AP03IrF,EOz3IE;AACA,EAAA,MAAM6D,IAAAA,EAAMC,sCAAAA,GAAMnB,CAAIoB,YAAAA,EAAcpB,GAAAA,CAAIqB,IAAAA,EAAM;AP03IhD,IO13IkDrB;AP23IlD,EO33IsD,CAAA,CAAA;AACpD,EAAA,MAAMsB,cAAAA,mCAAiBtB,GAAAA,qBAAIY,IAAAA,6BAAMU,eAAAA,UAA4BC,uDAAAA;AP43I/D,IO53IwFL;AP63IxF,EO73I4F,CAAA,GAAA;AAC1F,EAAA,GAAA,CAAI,CAACf,GAAAA,EAAK;AACRA,IAAAA,IAAAA,qDAAM7B,IAAAA,CAAK6B,GAAAA,0BAAQH,GAAAA,qBAAIY,IAAAA,6BAAMC,kBAAAA,6BAAoBC,MAAAA,UAAiBd,GAAAA,CAAIG,KAAAA,UAAOmB,eAAAA;AP83IjF,EO73IE;AACA,EAAA,GAAA,CAAI,CAACpB,MAAAA,EAAQ;AACXA,IAAAA,OAAAA,mBAAS5B,IAAAA,CAAK4B,MAAAA,UAAUC,KAAAA;AP83I5B,EO73IE;AACA,EAAA,OAAO;AP83IT,IO73II5B,MAAAA;AP83IJ,IO73IIyB,GAAAA;AP83IJ,IO73II3C,UAAAA,EAAYiB,IAAAA,CAAKjB,UAAAA;AP83IrB,IO73II6D,GAAAA;AP83IJ,IO73III,aAAAA;AP83IJ,IO73IInB,GAAAA;AP83IJ,IO73IIqB,QAAAA,EAAUlD,IAAAA,CAAKkD,QAAAA;AP83InB,IO73IIC,cAAAA,EAAgBnD,IAAAA,CAAKmD,cAAAA;AP83IzB,IO73IIvB,MAAAA;AP83IJ,IO73IIe,SAAAA,EAAWjB,GAAAA,CAAIG,GAAAA;AP83InB,IO73II7B;AP83IJ,EO73IE,CAAA;AACF;AAzCsBwB,MAAAA,CAAAA,uBAAAA,EAAAA,yBAAAA,CAAAA;AA2Cf,SAAS4B,yBAAAA,CACdrE,UAAAA,EAEC;AAED,EAAA,OAAO,MAAA,GAASA,WAAAA,GAAc,YAAA,GAAeA,WAAAA,GAAc,SAAA,GAAYA,WAAAA,GAAc,OAAA,GAAUA,WAAAA,GAAc,gBAAA,GAAmBA,UAAAA;AAClI;AANgBqE,MAAAA,CAAAA,yBAAAA,EAAAA,2BAAAA,CAAAA;AAahB,MAAA,SAAsBC,6BAAAA,CACpBtE,UAAAA,EAGA0C,OAAAA,EAAmC;AAEnC,EAAA,MAAM,EAAE6B,aAAAA,EAAe,MAAK,EAAA,EAAKvE,UAAAA;AACjC,EAAA,OAAO,CAACuE,aAAAA,GAAgBF,yBAAAA,CAA0BrE,UAAAA,EAAAA,EAAcA,WAAAA,EAAa,MAAMwE,oBAAAA,CAAqBxE,UAAAA,EAAY0C,OAAAA,CAAAA;AACtH;AARsB4B,MAAAA,CAAAA,6BAAAA,EAAAA,+BAAAA,CAAAA;AAetB,MAAA,SAAsBG,uBAAAA,CAAwBxD,IAAAA,EAAgCyD,QAAAA,EAA6B;AACzG,EAAA,MAAMxD,OAAAA,EAAS,KAAA;AACf,EAAA,MAAMyB,IAAAA,EAAY1B,IAAAA,CAAKjB,UAAAA;AACvB,EAAA,GAAA,CAAIiB,IAAAA,CAAK2C,UAAAA,GAAa3C,IAAAA,CAAK2C,UAAAA,IAAcjB,GAAAA,CAAIG,GAAAA,EAAK;AAChD,IAAA,OAAOE,OAAAA,CAAQC,MAAAA,CAAOC,KAAAA,CAAM,CAAA,uFAAA,CAAyF,CAAA,CAAA;AP22IzH,EO12IE;AACA,EAAA,MAAMW,IAAAA,EAAMC,sCAAAA,GAAMnB,CAAIoB,YAAAA,EAAcpB,GAAAA,CAAIqB,IAAAA,EAAM;AP22IhD,IO32IkDrB;AP42IlD,EO52IsD,CAAA,CAAA;AACpD,EAAA,MAAMsB,cAAAA,mCAAiBtB,GAAAA,uBAAIY,IAAAA,+BAAMU,eAAAA,UAA4BC,uDAAAA;AP62I/D,IO72IwFL;AP82IxF,EO92I4F,CAAA,GAAA;AAC1F,EAAA,MAAMf,IAAAA,oCAAM7B,IAAAA,CAAK6B,GAAAA,0BAAQH,GAAAA,uBAAIY,IAAAA,+BAAMC,kBAAAA,+BAAoBC,MAAAA,UAAiBQ,eAAAA;AACxE,EAAA,MAAMpB,OAAAA,mBAAS5B,IAAAA,CAAK4B,MAAAA,UAAUC,KAAAA;AAC9B,EAAA,OAAO;AP+2IT,IO92II5B,MAAAA;AP+2IJ,IO92IIyB,GAAAA;AP+2IJ,IO92II3C,UAAAA,EAAY2C,GAAAA;AP+2IhB,IO92IIkB,GAAAA;AP+2IJ,IO92III,aAAAA;AP+2IJ,IO92IInB,GAAAA;AP+2IJ,IO92IID,MAAAA;AP+2IJ,IO92IIe,SAAAA,EAAWjB,GAAAA,CAAIG,GAAAA;AP+2InB,IO92IIqB,QAAAA,EAAUlD,IAAAA,CAAKkD,QAAAA;AP+2InB,IO92IIC,cAAAA,EAAgBnD,IAAAA,CAAKmD,cAAAA;AP+2IzB,IO92IInD;AP+2IJ,EO92IE,CAAA;AACF;AAvBsBwD,MAAAA,CAAAA,uBAAAA,EAAAA,yBAAAA,CAAAA;AA8BtB,MAAA,SAAsBE,2BAAAA,CACpB1D,IAAAA,EACAyB,OAAAA,EAA2B;AAE3B,EAAA,MAAMxB,OAAAA,EAAS,UAAA;AACf,EAAA,MAAM0D,QAAAA,EAAwB3D,IAAAA,CAAKjB,UAAAA;AACnC,EAAA,GAAA,CAAI,CAAC+C,qDAAAA,OAAqBL,CAAAA,EAAU;AAClC,IAAA,OAAOM,OAAAA,CAAQC,MAAAA,CAAOC,KAAAA,CAAM,CAAA,mEAAA,CAAqE,CAAA,CAAA;APu2IrG,EOt2IE;AACA,EAAA,MAAMW,IAAAA,EAAMgB,6CAAAA,OAAaD,CAAAA;AACzB,EAAA,MAAMX,cAAAA,EAAgBC,uDAAAA;APu2IxB,IOv2IiDL;APw2IjD,EOx2IqD,CAAA,CAAA;AACnD,EAAA,MAAMlB,IAAAA,EAAM,MAAMD,OAAAA,CAAQgB,KAAAA,CAAMC,aAAAA,CAAc;APy2IhD,IOz2IkDb,GAAAA,mBAAK7B,IAAAA,CAAK2C,SAAAA,UAAaK;AP02IzE,EO12IuF,CAAA,CAAA;AACrF,EAAA,MAAMnB,IAAAA,oCAAM7B,IAAAA,CAAK6B,GAAAA,UAAO8B,OAAAA,CAAQ9B,KAAAA,UAAOmB,eAAAA;AACvC,EAAA,MAAMpB,OAAAA,EAAS5B,IAAAA,CAAK4B,MAAAA;AACpB,EAAA,OAAO;AP22IT,IO12II3B,MAAAA;AP22IJ,IO12IIyB,GAAAA;AP22IJ,IO12II3C,UAAAA,EAAYiB,IAAAA,CAAKjB,UAAAA;AP22IrB,IO12II6D,GAAAA;AP22IJ,IO12III,aAAAA;AP22IJ,IO12IInB,GAAAA;AP22IJ,IO12IID,MAAAA;AP22IJ,IO12IIe,SAAAA,EAAWjB,GAAAA,CAAIG,GAAAA;AP22InB,IO12IIqB,QAAAA,EAAUlD,IAAAA,CAAKkD,QAAAA;AP22InB,IO12IIC,cAAAA,EAAgBnD,IAAAA,CAAKmD,cAAAA;AP22IzB,IO12IInD;AP22IJ,EO12IE,CAAA;AACF;AA3BsB0D,MAAAA,CAAAA,2BAAAA,EAAAA,6BAAAA,CAAAA;AA6BtB,MAAA,SAAsBrB,uBAAAA,CAAwBrC,IAAAA,EAAgCyB,OAAAA,EAA2B;AACvG,EAAA,MAAMxB,OAAAA,EAAS,KAAA;AACf,EAAA,GAAA,CAAI,CAAC4D,qDAAAA,OAAqBpC,CAAAA,EAAU;AAClC,IAAA,OAAOM,OAAAA,CAAQC,MAAAA,CAAOC,KAAAA,CAAM,CAAA,+DAAA,CAAiE,CAAA,CAAA;AP22IjG,EO12IE;AAEA,EAAA,IAAIlD,UAAAA;AACJ,EAAA,GAAA,CAAI,OAAOiB,IAAAA,CAAKjB,WAAAA,IAAe,QAAA,EAAU;AACvCA,IAAAA,WAAAA,EAAa,MAAM0C,OAAAA,CAAQgB,KAAAA,CAAMqB,aAAAA,CAAc;AP02InD,MO12IqD5B,GAAAA,EAAKlC,IAAAA,CAAKjB,UAAAA,CAAWoD,KAAAA,CAAM,GAAA,CAAA,CAAK,CAAA;AP22IrF,IO32IwF,CAAA,CAAA;AP42IxF,EO32IE,EAAA,KAAO;AACLpD,IAAAA,WAAAA,EAAaiB,IAAAA,CAAKjB,UAAAA;AP42ItB,EO32IE;AAEA,EAAA,MAAMmD,IAAAA,EAAMnD,UAAAA,CAAWmD,GAAAA;AACvB,EAAA,MAAM6B,KAAAA,kBAAOhF,UAAAA,+BAAYgF,MAAAA;AACzB,EAAA,MAAMC,YAAAA,EAAc,MAAMC,wDAAAA;AP22I5B,IOz2IM,GAAGjE,IAAAA;AP02IT,IOz2IMjB,UAAAA;AP02IN,IOz2IMmF,cAAAA,mBAAgBlE,IAAAA,CAAKkE,cAAAA,UAAkB;AP02I7C,EOz2II,CAAA,EACAzC,OAAAA,CAAAA;AAEF,EAAA,MAAMC,IAAAA,EAAMsC,WAAAA;AACZ,EAAA,MAAMG,gBAAAA,EAAkBpF,UAAAA,CAAWoF,eAAAA;AACnC,EAAA,MAAMvB,IAAAA,EAAMC,sCAAAA,GAAMnB,CAAIoB,YAAAA,EAAcpB,GAAAA,CAAIqB,IAAAA,EAAM;APw2IhD,IOx2IkDrB;APy2IlD,EOz2IsD,CAAA,CAAA;AACpD,EAAA,MAAMsB,cAAAA,mCAAgBtB,GAAAA,uBAAIY,IAAAA,+BAAMU,eAAAA,UAAiBC,uDAAAA;AP02InD,IO12I4EL;AP22I5E,EO32IgF,CAAA,GAAA;AAC9E,EAAA,IAAIf,IAAAA,mBAAM7B,IAAAA,CAAK6B,GAAAA,0BAAOmC,WAAAA,uBAAY1B,IAAAA,+BAAMC,kBAAAA,+BAAoBC,MAAAA;AAC5D,EAAA,GAAA,CAAI,CAACX,GAAAA,CAAI5C,UAAAA,CAAWiD,GAAAA,CAAAA,EAAM;AAExB,IAAA,MAAMkC,KAAAA,EAAOvC,GAAAA,CAAI5C,UAAAA,CAAW,GAAA,EAAA,EAAO,GAAA,EAAK,GAAA;AACxC4C,IAAAA,IAAAA,EAAM,CAAA,EAAA;AACR,EAAA;AACMD,EAAAA;AACC,EAAA;AACL3B,IAAAA;AACAyB,IAAAA;AACAQ,IAAAA;AACAS,IAAAA;AACAC,IAAAA;AACAI,IAAAA;AACAmB,IAAAA;AACAtC,IAAAA;AACAkC,IAAAA;AACAnC,IAAAA;AACA7C,IAAAA;AACAmE,IAAAA;AACAC,IAAAA;AACAnD,IAAAA;AACF,EAAA;AACF;AAlDsBqC;AAoDtB;AAIQpC,EAAAA;AACE4B,EAAAA;AACHC,EAAAA;AACIC,IAAAA;AACT,EAAA;AACML,EAAAA;AAA+C1B,IAAAA;AAAgDA,MAAAA;AAAgB,IAAA;AAAG,EAAA;AAClH4C,EAAAA;AAA6DlB,IAAAA;AAAI,EAAA;AACjEsB,EAAAA;AAAgFJ,IAAAA;AAAI,EAAA;AAEnF,EAAA;AACL3C,IAAAA;AACAyB,IAAAA;AACAiB,IAAAA;AACA5D,IAAAA;AACA6D,IAAAA;AACAI,IAAAA;AACAnB,IAAAA;AACAD,IAAAA;AACAsB,IAAAA;AACAC,IAAAA;AACAnD,IAAAA;AACF,EAAA;AACF;AA1BsBqE;AA4BtB;AAMUxC,EAAAA;AACF5B,EAAAA;AACAqE,EAAAA;AACExE,EAAAA;AACCiC,IAAAA;AACT,EAAA;AACSA,IAAAA;AACT,EAAA;AACMwC,EAAAA;AACAC,EAAAA;AACAC,EAAAA;AAAwC,IAAA;AAA+BC,IAAAA;AAAmB,EAAA;AAChGC,EAAAA;AACMC,EAAAA;AACAhC,EAAAA;AACAI,EAAAA;AAAyCJ,IAAAA;AAAI,EAAA;AAC7ClB,EAAAA;AAA+C1B,IAAAA;AAAgC,EAAA;AAG9E,EAAA;AACLC,IAAAA;AACAqE,IAAAA;AACAvF,IAAAA;AACAyF,IAAAA;AACA5B,IAAAA;AACAI,IAAAA;AACAtB,IAAAA;AACAiB,IAAAA;AACAd,IAAAA;AACAD,IAAAA;AACAsB,IAAAA;AACAC,IAAAA;AACAnD,IAAAA;AACF,EAAA;AACF;AAvCsB6E;AAyCtB;AAIU9F,EAAAA;AACFkB,EAAAA;AAEA2C,EAAAA;AACC,IAAA;AACA,IAAA;AACA,IAAA;AACF,IAAA;AACA,IAAA;AACA,IAAA;AACA,IAAA;AACA,IAAA;AACC,IAAA;AACA,IAAA;AACA,IAAA;AACN,EAAA;AACMI,EAAAA;AAAyCJ,IAAAA;AAAI,EAAA;AAE7ClB,EAAAA;AACC,IAAA;AACA,IAAA;AACC,IAAA;AACNoB,IAAAA;AACF,EAAA;AAEO,EAAA;AACL7C,IAAAA;AACAlB,IAAAA;AACA6D,IAAAA;AACAI,IAAAA;AACAtB,IAAAA;AACAiB,IAAAA;AACAf,IAAAA;AACAsB,IAAAA;AACAC,IAAAA;AACAnD,IAAAA;AACF,EAAA;AACF;AAzCsB8E;AA2CtB;AAMMC,EAAAA;AACA3B,EAAAA;AACFpD,IAAAA;AACF,EAAA;AACIU,EAAAA;AACFqE,IAAAA;AACF,EAAA;AACEA,IAAAA;AACF,EAAA;AACEA,IAAAA;AACF,EAAA;AACEA,IAAAA;AACF,EAAA;AACEA,IAAAA;AACF,EAAA;AACEA,IAAAA;AACF,EAAA;AACEA,IAAAA;AACK,EAAA;AACEhD,IAAAA;AACT,EAAA;AACQL,EAAAA;AAEJA,EAAAA;AAGFsD,IAAAA;AACOjD,IAAAA;AACT,EAAA;AACOgD,EAAAA;AACT;AApCsBxB;AAsCtB;AAIQ0B,EAAAA;AACF3D,EAAAA;AACK2D,IAAAA;AACT,EAAA;AAEO,EAAA;AACFA,IAAAA;AACHhF,IAAAA;AACAlB,IAAAA;AACF,EAAA;AACF;AAdsBmG;AAgBtB;AAIQD,EAAAA;AACF7D,EAAAA;AACK6D,IAAAA;AACT,EAAA;AACO,EAAA;AACFA,IAAAA;AACHhF,IAAAA;AACAlB,IAAAA;AACF,EAAA;AACF;AAbsBoG;AP02IX;AACA;AQ7uJFC;AACAnC;AAEPoC;AAMOC;AACiBC;AAEjBC;AACAC;AA0BT;AAMMxF,EAAAA;AACAF,EAAAA;AACK2F,IAAAA;AACT,EAAA;AACSC,IAAAA;AACT,EAAA;AACSC,IAAAA;AACT,EAAA;AACSC,IAAAA;AACT,EAAA;AACSC,IAAAA;AACT,EAAA;AACE7F,IAAAA;AACF,EAAA;AACEA,IAAAA;AACF,EAAA;AACEA,IAAAA;AACF,EAAA;AACMgC,EAAAA;AACR;AAzBsB8D;AA2BtB;AAMOvF,EAAAA;AACIuB,IAAAA;AACT,EAAA;AACMiE,EAAAA;AACA1B,EAAAA;AACExE,EAAAA;AACCiC,IAAAA;AACT,EAAA;AACMkE,EAAAA;AAEFC,EAAAA;AACAC,EAAAA;AACAC,EAAAA;AAEAJ,EAAAA;AAEEV,IAAAA;AACFY,MAAAA;AACEG,QAAAA;AACAC,QAAAA;AACAC,QAAAA;AACF,MAAA;AACK,IAAA;AACLL,MAAAA;AACEG,QAAAA;AACAC,QAAAA;AACAC,QAAAA;AACAvG,QAAAA;AACF,MAAA;AACF,IAAA;AACIkG,IAAAA;AACFE,MAAAA;AACE,QAAA;AACExD,UAAAA;AACAf,UAAAA;AACAmB,UAAAA;ARksJC,YAAA;AQlsJ8D,UAAA;AAC/DF,UAAAA;AACF,QAAA;AACF,MAAA;AACF,IAAA;AACF,EAAA;AACKsD,EAAAA;AACG3B,IAAAA;AACJ+B,MAAAA;AACA9B,MAAAA;AACF,IAAA;AACAC,IAAAA;AACO,IAAA;AAEH,MAAA;AACA,MAAA;AACA,MAAA;AACE/B,QAAAA;AACAf,QAAAA;AACAmB,QAAAA;AAAwCJ,UAAAA;AAAI,QAAA;AAC5CE,QAAAA;AACF,MAAA;AACF,IAAA;AAEJ,EAAA;AACShD,EAAAA;AACAiC,IAAAA;AACT,EAAA;AACKoE,EAAAA;AACHA,IAAAA;AACF,EAAA;AAEO,EAAA;AACLlG,IAAAA;AACAiG,IAAAA;AACAC,IAAAA;AACAC,IAAAA;AACAH,IAAAA;AACA3B,IAAAA;AACF,EAAA;AACF;AAjFsBqB;AAwFtB;AAMOxF,EAAAA;AACI4B,IAAAA;AACT,EAAA;AACMa,EAAAA;AACF0B,EAAAA;AACIA,EAAAA;AACA,IAAA;AAAwCtE,MAAAA;AAAUjB,MAAAA;AAAuB0C,IAAAA;AACjF,EAAA;AACMuB,EAAAA;AAAyCJ,IAAAA;AAAI,EAAA;AAC5C,EAAA;AACL3C,IAAAA;AACA2C,IAAAA;AACM,IAAA;AACJ,MAAA;AACEA,QAAAA;AACAI,QAAAA;AACAnB,QAAAA;AACAiB,QAAAA;AACF,MAAA;AR8rJK,IAAA;AQ5rJPwB,IAAAA;AACF,EAAA;AACF;AA5BsBsB;AAmCtB;AAMOxF,EAAAA;AACI2B,IAAAA;AACT,EAAA;AAEM4B,EAAAA;AACFW,EAAAA;AACAX,EAAAA;AACI,IAAA;AAAwC3D,MAAAA;AAAUjB,MAAAA;AAA+B0C,IAAAA;AACzF,EAAA;AACMmB,EAAAA;AACAI,EAAAA;AAAyCJ,IAAAA;AAAI,EAAA;AAC5C,EAAA;AACL3C,IAAAA;AACA0D,IAAAA;AACM,IAAA;AACJ,MAAA;AACEf,QAAAA;AACAI,QAAAA;AACAnB,QAAAA;AACAiB,QAAAA;AACF,MAAA;ARwrJK,IAAA;AQtrJPwB,IAAAA;AACF,EAAA;AACF;AA9BsBuB;AAgCtB;AAIO9F,EAAAA;AACIgC,IAAAA;AACT,EAAA;AACSA,IAAAA;AACT,EAAA;AACQ0E,EAAAA;AACFvE,EAAAA;AACFwE,EAAAA;AACA,EAAA;AACFA,IAAAA;AACOC,EAAAA;AAEA5E,IAAAA;AACT,EAAA;AACM6E,EAAAA;AACAC,EAAAA;AACJJ,IAAAA;AACAK,IAAAA;AACAC,IAAAA;AACCC,EAAAA;AACGC,EAAAA;AACAC,EAAAA;AACAd,EAAAA;AASa,IAAA;AACLxD,MAAAA;AACAI,MAAAA;AAAwCJ,QAAAA;AAAI,MAAA;AACvCA,MAAAA;AACLE,MAAAA;AACF,IAAA;AAEIF,EAAAA;AAKZiE,EAAAA;AAEKA,IAAAA;AACT,EAAA;AACO,EAAA;AACL5G,IAAAA;AACAiC,IAAAA;AACAkE,IAAAA;AACAc,IAAAA;AACAD,IAAAA;AACAJ,IAAAA;AACAD,IAAAA;AACF,EAAA;AACF;AA5DsBlB;ARquJX;AACA;ASh8JFJ;AAGA6B;AAEAC;AAeT;AAIQd,EAAAA;AAEDA,EAAAA;AACIvE,IAAAA;AACT,EAAA;AAEKuD,EAAAA;AACIvD,IAAAA;AACT,EAAA;AAEMsF,EAAAA;AACAC,EAAAA;AACAC,EAAAA;AAEFC,EAAAA;AACJ,EAAA;AACQC,IAAAA;AACJC,MAAAA;AACApB,MAAAA;AAAeqB,QAAAA;AT26JV,MAAA;AS16JP,IAAA;AAEIF,IAAAA;AACFH,MAAAA;AACK,IAAA;AACL,MAAA;AACIM,MAAAA;AACFN,QAAAA;AACA,QAAA;AACF,MAAA;AAEA,MAAA;AACA,MAAA;AAA0FO,QAAAA;AAAS,MAAA;AAE/FC,MAAAA;AACFR,QAAAA;AACA,QAAA;AACF,MAAA;AAEIQ,MAAAA;AACFR,QAAAA;AACA,QAAA;AACF,MAAA;AAEAE,MAAAA;AACA,MAAA;AACIO,MAAAA;AACFT,QAAAA;AACA,QAAA;AACF,MAAA;AAEIC,MAAAA;AAEFA,QAAAA;AACF,MAAA;AACAF,MAAAA;AACF,IAAA;AACF,EAAA;AAEO,EAAA;AACLpH,IAAAA;AACAoH,IAAAA;AACIW,IAAAA;AAAuCV,MAAAA;AAAU,IAAA;AAC/CC,IAAAA;AACNU,IAAAA;AACAC,IAAAA;AACF,EAAA;AACF;AAtEsBpC;AT++JX;AACA;AUhgKKqC;AAMTnI,EAAAA;AACHgF,IAAAA;AAIIrC,IAAAA;AAMCA,IAAAA;AACH,MAAA;AACF,IAAA;AACI5D,IAAAA;AAEG,IAAA;AACL4D,MAAAA;AACA5D,MAAAA;AACA6C,MAAAA;AACF,IAAA;AACK,EAAA;AACCwG,IAAAA;AACFpI,IAAAA;AAEFgF,MAAAA;AAGAoD,MAAAA;AACF,IAAA;AACIpI,IAAAA;AAEFgF,MAAAA;AAGAoD,MAAAA;AACF,IAAA;AAEOA,IAAAA;AACT,EAAA;AACF;AA9CgBD;AV4hKL;AACA;AM3/JEE;AAAAA,EAAAA;AN8/JF,IAAA;AACA,EAAA;AM7/JAC,EAAAA;AAESC,iBAAAA;AACTC,kBAAAA;AACPC,IAAAA;AACAC,IAAAA;AACAC,IAAAA;AACAC,IAAAA;AACAC,IAAAA;AACAC,IAAAA;AACAC,IAAAA;AACAC,IAAAA;AAEAC,IAAAA;AACAC,IAAAA;AACAC,IAAAA;AACAC,IAAAA;AACAC,IAAAA;AACAC,IAAAA;AAGF,EAAA;AN2/JS;AACA;AACA;AMx/JTC,EAAAA;AAGOjB,IAAAA;AACP,EAAA;ANw/JS;AACA;AACA;AACA;AACA;AACA;AMr/JKG,EAAAA;AAIL,IAAA;AAAyCe,MAAAA;AAAM9E,MAAAA;AAAwBjD,IAAAA;AAChF,EAAA;AAEciH,EAAAA;AAIJ,IAAA;AAAqCc,MAAAA;AAAMvJ,MAAAA;AAAiBwB,IAAAA;AACtE,EAAA;AAEckH,EAAAA;AAIJ,IAAA;AAAqCa,MAAAA;AAAMvJ,MAAAA;AAAiBwB,IAAAA;AACtE,EAAA;AAEcqH,EAAAA;AAIJ,IAAA;AAAqCU,MAAAA;AAAMvJ,MAAAA;AAAiBwB,IAAAA;AACtE,EAAA;AAEcsH,EAAAA;AAIJ,IAAA;AAAqCS,MAAAA;AAAMvJ,MAAAA;AAAsBwB,IAAAA;AAC3E,EAAA;AAEcuH,EAAAA;AAIJ,IAAA;AAAqCQ,MAAAA;AAAMvJ,MAAAA;AAA4BwB,IAAAA;AACjF,EAAA;AAEcmH,EAAAA;AAIJ,IAAA;AAAqCY,MAAAA;AAAMvJ,MAAAA;AAAiBwB,IAAAA;AACtE,EAAA;AAEcoH,EAAAA;AAIJ,IAAA;AAAqCW,MAAAA;AAAMvJ,MAAAA;AAAiBwB,IAAAA;AACtE,EAAA;AAEcwH,EAAAA;AAIL,IAAA;AAAqCO,MAAAA;AAAM9E,MAAAA;AAAwBjD,IAAAA;AAC5E,EAAA;AAEcyH,EAAAA;AACJ,IAAA;AAA0CM,MAAAA;AAAMvJ,MAAAA;AAAiBwB,IAAAA;AAC3E,EAAA;AAEc0H,EAAAA;AACJ,IAAA;AAA0CK,MAAAA;AAAMvJ,MAAAA;AAAiBwB,IAAAA;AAC3E,EAAA;AAEc4H,EAAAA;AAIJ,IAAA;AAA0CG,MAAAA;AAAMvJ,MAAAA;AAAsBwB,IAAAA;AAChF,EAAA;AAEc2H,EAAAA;AACJ,IAAA;AAA0CI,MAAAA;AAAMvJ,MAAAA;AAAiBwB,IAAAA;AAC3E,EAAA;AAEc6H,EAAAA;AAIJ,IAAA;AAA0CE,MAAAA;AAAMvJ,MAAAA;AAAuBwB,IAAAA;AACjF,EAAA;AACF;ANm/JW;AACA;AW1pKL8G;AX4pKK;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA","file":"/home/runner/work/SSI-SDK-crypto-extensions/SSI-SDK-crypto-extensions/packages/identifier-resolution/dist/index.cjs","sourcesContent":[null,"{\n \"IIdentifierResolution\": {\n \"components\": {\n \"schemas\": {\n \"ExternalIdentifierOpts\": {\n \"anyOf\": [\n {\n \"type\": \"object\",\n \"properties\": {\n \"method\": {\n \"type\": \"string\",\n \"const\": \"jwk\"\n },\n \"identifier\": {\n \"$ref\": \"#/components/schemas/ExternalIdentifierType\"\n },\n \"x5c\": {\n \"$ref\": \"#/components/schemas/ExternalIdentifierX5cOpts\"\n }\n },\n \"required\": [\n \"identifier\"\n ]\n },\n {\n \"type\": \"object\",\n \"properties\": {\n \"method\": {\n \"type\": \"string\",\n \"const\": \"x5c\"\n },\n \"identifier\": {\n \"$ref\": \"#/components/schemas/ExternalIdentifierType\"\n },\n \"verify\": {\n \"type\": \"boolean\"\n },\n \"verificationTime\": {\n \"type\": \"string\",\n \"format\": \"date-time\"\n },\n \"trustAnchors\": {\n \"type\": \"array\",\n \"items\": {\n \"type\": \"string\"\n }\n },\n \"allowNoTrustAnchorsFound\": {\n \"type\": \"boolean\"\n },\n \"trustRootWhenNoAnchors\": {\n \"type\": \"boolean\"\n },\n \"allowSingleNoCAChainElement\": {\n \"type\": \"boolean\"\n },\n \"blindlyTrustedAnchors\": {\n \"type\": \"array\",\n \"items\": {\n \"type\": \"string\"\n }\n },\n \"disallowReversedChain\": {\n \"type\": \"boolean\"\n },\n \"client\": {\n \"type\": \"object\",\n \"properties\": {\n \"clientId\": {\n \"type\": \"string\"\n },\n \"clientIdScheme\": {\n \"type\": \"string\",\n \"enum\": [\n \"x509_san_dns\",\n \"x509_san_uri\"\n ]\n }\n },\n \"required\": [\n \"clientId\",\n \"clientIdScheme\"\n ]\n }\n },\n \"required\": [\n \"identifier\"\n ]\n },\n {\n \"type\": \"object\",\n \"properties\": {\n \"method\": {\n \"type\": \"string\",\n \"const\": \"did\"\n },\n \"identifier\": {\n \"$ref\": \"#/components/schemas/ExternalIdentifierType\"\n },\n \"noVerificationMethodFallback\": {\n \"type\": \"boolean\"\n },\n \"vmRelationship\": {\n \"$ref\": \"#/components/schemas/DIDDocumentSection\"\n },\n \"localResolution\": {\n \"type\": \"boolean\"\n },\n \"uniresolverResolution\": {\n \"type\": \"boolean\"\n },\n \"resolverResolution\": {\n \"type\": \"boolean\"\n }\n },\n \"required\": [\n \"identifier\"\n ]\n },\n {\n \"type\": \"object\",\n \"properties\": {\n \"method\": {\n \"type\": \"string\",\n \"const\": \"kid\"\n },\n \"identifier\": {\n \"$ref\": \"#/components/schemas/ExternalIdentifierType\"\n }\n },\n \"required\": [\n \"identifier\"\n ]\n },\n {\n \"type\": \"object\",\n \"properties\": {\n \"method\": {\n \"type\": \"string\",\n \"const\": \"cose_key\"\n },\n \"identifier\": {\n \"$ref\": \"#/components/schemas/ExternalIdentifierType\"\n }\n },\n \"required\": [\n \"identifier\"\n ]\n },\n {\n \"type\": \"object\",\n \"properties\": {\n \"method\": {\n \"type\": \"string\",\n \"const\": \"entity_id\"\n },\n \"identifier\": {\n \"$ref\": \"#/components/schemas/ExternalIdentifierType\"\n },\n \"trustAnchors\": {\n \"type\": \"array\",\n \"items\": {\n \"type\": \"string\"\n }\n }\n },\n \"required\": [\n \"identifier\"\n ]\n }\n ]\n },\n \"ExternalIdentifierType\": {\n \"anyOf\": [\n {\n \"type\": \"string\"\n },\n {\n \"type\": \"array\",\n \"items\": {\n \"type\": \"string\"\n }\n },\n {\n \"$ref\": \"#/components/schemas/JWK\"\n }\n ],\n \"description\": \"Use whenever we need to resolve an external identifier. We can pass in kids, DIDs, and x5chains\\n\\nThe functions below can be used to check the type, and they also provide the proper runtime types\"\n },\n \"JWK\": {\n \"type\": \"object\",\n \"properties\": {\n \"kty\": {\n \"anyOf\": [\n {\n \"$ref\": \"#/components/schemas/JwkKeyType\"\n },\n {\n \"$ref\": \"#/components/schemas/JwkKeyTypeString\"\n }\n ]\n },\n \"crv\": {\n \"anyOf\": [\n {\n \"$ref\": \"#/components/schemas/JoseCurve\"\n },\n {\n \"$ref\": \"#/components/schemas/JoseCurveString\"\n }\n ]\n },\n \"alg\": {\n \"anyOf\": [\n {\n \"$ref\": \"#/components/schemas/JoseSignatureAlgorithm\"\n },\n {\n \"$ref\": \"#/components/schemas/JoseSignatureAlgorithmString\"\n }\n ]\n },\n \"x\": {\n \"type\": \"string\"\n },\n \"y\": {\n \"type\": \"string\"\n },\n \"e\": {\n \"type\": \"string\"\n },\n \"n\": {\n \"type\": \"string\"\n },\n \"d\": {\n \"type\": \"string\"\n },\n \"dp\": {\n \"type\": \"string\"\n },\n \"dq\": {\n \"type\": \"string\"\n },\n \"ext\": {\n \"type\": \"boolean\"\n },\n \"k\": {\n \"type\": \"string\"\n },\n \"key_ops\": {\n \"type\": \"array\",\n \"items\": {\n \"anyOf\": [\n {\n \"$ref\": \"#/components/schemas/JoseKeyOperation\"\n },\n {\n \"$ref\": \"#/components/schemas/JoseKeyOperationString\"\n }\n ]\n }\n },\n \"kid\": {\n \"type\": \"string\"\n },\n \"oth\": {\n \"type\": \"array\",\n \"items\": {\n \"type\": \"object\",\n \"properties\": {\n \"d\": {\n \"type\": \"string\"\n },\n \"r\": {\n \"type\": \"string\"\n },\n \"t\": {\n \"type\": \"string\"\n }\n }\n }\n },\n \"p\": {\n \"type\": \"string\"\n },\n \"q\": {\n \"type\": \"string\"\n },\n \"qi\": {\n \"type\": \"string\"\n },\n \"use\": {\n \"type\": \"string\"\n },\n \"x5c\": {\n \"type\": \"array\",\n \"items\": {\n \"type\": \"string\"\n },\n \"description\": \"JWK \\\"x5c\\\" (X.509 Certificate Chain) Parameter.\"\n },\n \"x5t\": {\n \"type\": \"string\",\n \"description\": \"JWK \\\"x5t\\\" (X.509 Certificate SHA-1 Thumbprint) Parameter.\"\n },\n \"x5t#S256\": {\n \"type\": \"string\",\n \"description\": \"\\\"x5t#S256\\\" (X.509 Certificate SHA-256 Thumbprint) Parameter.\"\n },\n \"x5u\": {\n \"type\": \"string\",\n \"description\": \"JWK \\\"x5u\\\" (X.509 URL) Parameter.\"\n },\n \"iv\": {\n \"type\": \"string\"\n }\n },\n \"additionalProperties\": {},\n \"required\": [\n \"kty\"\n ]\n },\n \"JwkKeyType\": {\n \"type\": \"string\",\n \"enum\": [\n \"EC\",\n \"RSA\",\n \"oct\",\n \"OKP\"\n ]\n },\n \"JwkKeyTypeString\": {\n \"type\": \"string\",\n \"enum\": [\n \"EC\",\n \"RSA\",\n \"oct\",\n \"OKP\"\n ]\n },\n \"JoseCurve\": {\n \"type\": \"string\",\n \"enum\": [\n \"P-256\",\n \"P-384\",\n \"P-521\",\n \"X25519\",\n \"X448\",\n \"EdDSA\",\n \"Ed25519\",\n \"Ed448\",\n \"secp256k1\"\n ]\n },\n \"JoseCurveString\": {\n \"type\": \"string\",\n \"enum\": [\n \"P-256\",\n \"P-384\",\n \"P-521\",\n \"X25519\",\n \"X448\",\n \"EdDSA\",\n \"Ed25519\",\n \"Ed448\",\n \"secp256k1\"\n ]\n },\n \"JoseSignatureAlgorithm\": {\n \"type\": \"string\",\n \"enum\": [\n \"RS256\",\n \"RS384\",\n \"RS512\",\n \"ES256\",\n \"ES256K\",\n \"ES384\",\n \"ES512\",\n \"EdDSA\",\n \"HS256\",\n \"HS384\",\n \"HS512\",\n \"PS256\",\n \"PS384\",\n \"PS512\",\n \"none\"\n ]\n },\n \"JoseSignatureAlgorithmString\": {\n \"type\": \"string\",\n \"enum\": [\n \"RS256\",\n \"RS384\",\n \"RS512\",\n \"ES256\",\n \"ES256K\",\n \"ES384\",\n \"ES512\",\n \"EdDSA\",\n \"HS256\",\n \"HS384\",\n \"HS512\",\n \"PS256\",\n \"PS384\",\n \"PS512\",\n \"none\"\n ]\n },\n \"JoseKeyOperation\": {\n \"type\": \"string\",\n \"enum\": [\n \"sign\",\n \"verify\",\n \"encrypt\",\n \"decrypt\",\n \"wrapKey\",\n \"unwrapKey\",\n \"deriveKey\",\n \"deriveBits\"\n ]\n },\n \"JoseKeyOperationString\": {\n \"type\": \"string\",\n \"enum\": [\n \"sign\",\n \"verify\",\n \"encrypt\",\n \"decrypt\",\n \"wrapKey\",\n \"unwrapKey\",\n \"deriveKey\",\n \"deriveBits\"\n ]\n },\n \"ExternalIdentifierX5cOpts\": {\n \"type\": \"object\",\n \"properties\": {\n \"method\": {\n \"type\": \"string\",\n \"const\": \"x5c\"\n },\n \"identifier\": {\n \"$ref\": \"#/components/schemas/ExternalIdentifierType\"\n },\n \"verify\": {\n \"type\": \"boolean\"\n },\n \"verificationTime\": {\n \"type\": \"string\",\n \"format\": \"date-time\"\n },\n \"trustAnchors\": {\n \"type\": \"array\",\n \"items\": {\n \"type\": \"string\"\n }\n },\n \"allowNoTrustAnchorsFound\": {\n \"type\": \"boolean\"\n },\n \"trustRootWhenNoAnchors\": {\n \"type\": \"boolean\"\n },\n \"allowSingleNoCAChainElement\": {\n \"type\": \"boolean\"\n },\n \"blindlyTrustedAnchors\": {\n \"type\": \"array\",\n \"items\": {\n \"type\": \"string\"\n }\n },\n \"disallowReversedChain\": {\n \"type\": \"boolean\"\n },\n \"client\": {\n \"type\": \"object\",\n \"properties\": {\n \"clientId\": {\n \"type\": \"string\"\n },\n \"clientIdScheme\": {\n \"type\": \"string\",\n \"enum\": [\n \"x509_san_dns\",\n \"x509_san_uri\"\n ]\n }\n },\n \"required\": [\n \"clientId\",\n \"clientIdScheme\"\n ]\n }\n },\n \"required\": [\n \"identifier\"\n ]\n },\n \"DIDDocumentSection\": {\n \"type\": \"string\",\n \"enum\": [\n \"verificationMethod\",\n \"publicKey\",\n \"service\",\n \"authentication\",\n \"assertionMethod\",\n \"keyAgreement\",\n \"capabilityInvocation\",\n \"capabilityDelegation\"\n ],\n \"description\": \"Refers to a section of a DID document. Either the list of verification methods or services or one of the verification relationships.\\n\\nSee {@link https://www.w3.org/TR/did-core/#verification-relationships | verification relationships }\"\n },\n \"ExternalIdentifierResult\": {\n \"anyOf\": [\n {\n \"type\": \"object\",\n \"properties\": {\n \"method\": {\n \"$ref\": \"#/components/schemas/ExternalIdentifierMethod\"\n },\n \"jwks\": {\n \"type\": \"array\",\n \"items\": {\n \"$ref\": \"#/components/schemas/ExternalJwkInfo\"\n }\n },\n \"did\": {\n \"type\": \"string\"\n },\n \"didDocument\": {\n \"$ref\": \"#/components/schemas/DIDDocument\"\n },\n \"didJwks\": {\n \"type\": \"object\",\n \"properties\": {\n \"verificationMethod\": {\n \"type\": \"array\",\n \"items\": {\n \"$ref\": \"#/components/schemas/JWK\"\n }\n },\n \"authentication\": {\n \"type\": \"array\",\n \"items\": {\n \"$ref\": \"#/components/schemas/JWK\"\n }\n },\n \"assertionMethod\": {\n \"type\": \"array\",\n \"items\": {\n \"$ref\": \"#/components/schemas/JWK\"\n }\n },\n \"keyAgreement\": {\n \"type\": \"array\",\n \"items\": {\n \"$ref\": \"#/components/schemas/JWK\"\n }\n },\n \"capabilityInvocation\": {\n \"type\": \"array\",\n \"items\": {\n \"$ref\": \"#/components/schemas/JWK\"\n }\n },\n \"capabilityDelegation\": {\n \"type\": \"array\",\n \"items\": {\n \"$ref\": \"#/components/schemas/JWK\"\n }\n }\n },\n \"required\": [\n \"verificationMethod\",\n \"authentication\",\n \"assertionMethod\",\n \"keyAgreement\",\n \"capabilityInvocation\",\n \"capabilityDelegation\"\n ]\n },\n \"didResolutionResult\": {\n \"type\": \"object\",\n \"properties\": {\n \"@context\": {\n \"anyOf\": [\n {\n \"type\": \"string\",\n \"const\": \"https://w3id.org/did-resolution/v1\"\n },\n {\n \"type\": \"string\"\n },\n {\n \"type\": \"array\",\n \"items\": {\n \"type\": \"string\"\n }\n }\n ]\n },\n \"didResolutionMetadata\": {\n \"$ref\": \"#/components/schemas/DIDResolutionMetadata\"\n },\n \"didDocumentMetadata\": {\n \"$ref\": \"#/components/schemas/DIDDocumentMetadata\"\n }\n },\n \"required\": [\n \"didResolutionMetadata\",\n \"didDocumentMetadata\"\n ]\n },\n \"didParsed\": {\n \"$ref\": \"#/components/schemas/IParsedDID\"\n }\n },\n \"required\": [\n \"did\",\n \"didParsed\",\n \"didResolutionResult\",\n \"jwks\",\n \"method\"\n ]\n },\n {\n \"type\": \"object\",\n \"properties\": {\n \"method\": {\n \"$ref\": \"#/components/schemas/ExternalIdentifierMethod\"\n },\n \"jwks\": {\n \"type\": \"array\",\n \"items\": {\n \"$ref\": \"#/components/schemas/ExternalJwkInfo\"\n }\n },\n \"x5c\": {\n \"type\": \"array\",\n \"items\": {\n \"type\": \"string\"\n }\n },\n \"issuerJWK\": {\n \"$ref\": \"#/components/schemas/JWK\"\n },\n \"verificationResult\": {\n \"type\": \"object\",\n \"properties\": {\n \"error\": {\n \"type\": \"boolean\"\n },\n \"critical\": {\n \"type\": \"boolean\"\n },\n \"message\": {\n \"type\": \"string\"\n },\n \"detailMessage\": {\n \"type\": \"string\"\n },\n \"verificationTime\": {\n \"type\": \"string\",\n \"format\": \"date-time\"\n },\n \"certificateChain\": {\n \"type\": \"array\",\n \"items\": {\n \"type\": \"object\",\n \"properties\": {\n \"certificate\": {},\n \"notBefore\": {\n \"type\": \"string\",\n \"format\": \"date-time\"\n },\n \"notAfter\": {\n \"type\": \"string\",\n \"format\": \"date-time\"\n },\n \"publicKeyJWK\": {},\n \"issuer\": {\n \"type\": \"object\",\n \"properties\": {\n \"dn\": {\n \"type\": \"object\",\n \"properties\": {\n \"DN\": {\n \"type\": \"string\"\n },\n \"attributes\": {\n \"type\": \"object\",\n \"additionalProperties\": {\n \"type\": \"string\"\n }\n }\n },\n \"required\": [\n \"DN\",\n \"attributes\"\n ]\n }\n },\n \"required\": [\n \"dn\"\n ]\n },\n \"subject\": {\n \"type\": \"object\",\n \"properties\": {\n \"dn\": {\n \"type\": \"object\",\n \"properties\": {\n \"DN\": {\n \"type\": \"string\"\n },\n \"attributes\": {\n \"type\": \"object\",\n \"additionalProperties\": {\n \"type\": \"string\"\n }\n }\n },\n \"required\": [\n \"DN\",\n \"attributes\"\n ]\n },\n \"subjectAlternativeNames\": {\n \"type\": \"array\",\n \"items\": {\n \"type\": \"object\",\n \"properties\": {\n \"value\": {\n \"type\": \"string\"\n },\n \"type\": {\n \"type\": \"number\",\n \"enum\": [\n 1,\n 2,\n 6,\n 7\n ],\n \"description\": \"otherName [0] OtherName, rfc822Name [1] IA5String, dNSName [2] IA5String, x400Address [3] ORAddress, directoryName [4] Name, ediPartyName [5] EDIPartyName, uniformResourceIdentifier [6] IA5String, iPAddress [7] OCTET STRING, registeredID [8] OBJECT IDENTIFIER }\"\n }\n },\n \"required\": [\n \"value\",\n \"type\"\n ]\n }\n }\n },\n \"required\": [\n \"dn\",\n \"subjectAlternativeNames\"\n ]\n }\n },\n \"required\": [\n \"notBefore\",\n \"notAfter\",\n \"issuer\",\n \"subject\"\n ]\n }\n },\n \"trustAnchor\": {\n \"type\": \"object\",\n \"properties\": {\n \"certificate\": {},\n \"notBefore\": {\n \"type\": \"string\",\n \"format\": \"date-time\"\n },\n \"notAfter\": {\n \"type\": \"string\",\n \"format\": \"date-time\"\n },\n \"publicKeyJWK\": {},\n \"issuer\": {\n \"type\": \"object\",\n \"properties\": {\n \"dn\": {\n \"type\": \"object\",\n \"properties\": {\n \"DN\": {\n \"type\": \"string\"\n },\n \"attributes\": {\n \"type\": \"object\",\n \"additionalProperties\": {\n \"type\": \"string\"\n }\n }\n },\n \"required\": [\n \"DN\",\n \"attributes\"\n ]\n }\n },\n \"required\": [\n \"dn\"\n ]\n },\n \"subject\": {\n \"type\": \"object\",\n \"properties\": {\n \"dn\": {\n \"type\": \"object\",\n \"properties\": {\n \"DN\": {\n \"type\": \"string\"\n },\n \"attributes\": {\n \"type\": \"object\",\n \"additionalProperties\": {\n \"type\": \"string\"\n }\n }\n },\n \"required\": [\n \"DN\",\n \"attributes\"\n ]\n },\n \"subjectAlternativeNames\": {\n \"type\": \"array\",\n \"items\": {\n \"type\": \"object\",\n \"properties\": {\n \"value\": {\n \"type\": \"string\"\n },\n \"type\": {\n \"type\": \"number\",\n \"enum\": [\n 1,\n 2,\n 6,\n 7\n ],\n \"description\": \"otherName [0] OtherName, rfc822Name [1] IA5String, dNSName [2] IA5String, x400Address [3] ORAddress, directoryName [4] Name, ediPartyName [5] EDIPartyName, uniformResourceIdentifier [6] IA5String, iPAddress [7] OCTET STRING, registeredID [8] OBJECT IDENTIFIER }\"\n }\n },\n \"required\": [\n \"value\",\n \"type\"\n ]\n }\n }\n },\n \"required\": [\n \"dn\",\n \"subjectAlternativeNames\"\n ]\n }\n },\n \"required\": [\n \"notBefore\",\n \"notAfter\",\n \"issuer\",\n \"subject\"\n ]\n },\n \"client\": {\n \"type\": \"object\",\n \"properties\": {\n \"clientId\": {\n \"type\": \"string\"\n },\n \"clientIdScheme\": {\n \"type\": \"string\",\n \"enum\": [\n \"x509_san_dns\",\n \"x509_san_uri\"\n ]\n }\n },\n \"required\": [\n \"clientId\",\n \"clientIdScheme\"\n ]\n }\n },\n \"required\": [\n \"error\",\n \"critical\",\n \"message\",\n \"verificationTime\"\n ]\n },\n \"certificates\": {\n \"type\": \"array\",\n \"items\": {}\n }\n },\n \"required\": [\n \"certificates\",\n \"issuerJWK\",\n \"jwks\",\n \"method\",\n \"x5c\"\n ]\n },\n {\n \"type\": \"object\",\n \"properties\": {\n \"method\": {\n \"$ref\": \"#/components/schemas/ExternalIdentifierMethod\"\n },\n \"jwks\": {\n \"type\": \"array\",\n \"items\": {\n \"$ref\": \"#/components/schemas/ExternalJwkInfo\"\n }\n },\n \"jwk\": {\n \"$ref\": \"#/components/schemas/JWK\"\n },\n \"x5c\": {\n \"$ref\": \"#/components/schemas/ExternalIdentifierX5cResult\"\n }\n },\n \"required\": [\n \"jwk\",\n \"jwks\",\n \"method\"\n ]\n },\n {\n \"type\": \"object\",\n \"properties\": {\n \"method\": {\n \"$ref\": \"#/components/schemas/ExternalIdentifierMethod\"\n },\n \"jwks\": {\n \"type\": \"array\",\n \"items\": {\n \"$ref\": \"#/components/schemas/ExternalJwkInfo\"\n }\n },\n \"trustedAnchors\": {\n \"type\": \"array\",\n \"items\": {\n \"$ref\": \"#/components/schemas/TrustedAnchor\"\n }\n },\n \"errorList\": {\n \"type\": \"object\",\n \"additionalProperties\": {\n \"$ref\": \"#/components/schemas/ErrorMessage\"\n }\n },\n \"jwtPayload\": {\n \"$ref\": \"#/components/schemas/JwsPayload\"\n },\n \"trustEstablished\": {\n \"type\": \"boolean\"\n }\n },\n \"required\": [\n \"jwks\",\n \"method\",\n \"trustEstablished\",\n \"trustedAnchors\"\n ]\n },\n {\n \"type\": \"object\",\n \"properties\": {\n \"method\": {\n \"$ref\": \"#/components/schemas/ExternalIdentifierMethod\"\n },\n \"jwks\": {\n \"type\": \"array\",\n \"items\": {\n \"$ref\": \"#/components/schemas/ExternalJwkInfo\"\n }\n },\n \"coseKey\": {\n \"$ref\": \"#/components/schemas/ICoseKeyJson\"\n },\n \"x5c\": {\n \"$ref\": \"#/components/schemas/ExternalIdentifierX5cResult\"\n }\n },\n \"required\": [\n \"coseKey\",\n \"jwks\",\n \"method\"\n ]\n }\n ]\n },\n \"ExternalIdentifierMethod\": {\n \"type\": \"string\",\n \"enum\": [\n \"did\",\n \"jwk\",\n \"x5c\",\n \"kid\",\n \"cose_key\",\n \"oidc-discovery\",\n \"jwks-url\",\n \"oid4vci-issuer\",\n \"entity_id\"\n ]\n },\n \"ExternalJwkInfo\": {\n \"type\": \"object\",\n \"properties\": {\n \"jwk\": {\n \"$ref\": \"#/components/schemas/JWK\"\n },\n \"jwkThumbprint\": {\n \"type\": \"string\"\n },\n \"kid\": {\n \"type\": \"string\"\n },\n \"publicKeyHex\": {\n \"type\": \"string\"\n }\n },\n \"required\": [\n \"jwk\",\n \"jwkThumbprint\",\n \"publicKeyHex\"\n ]\n },\n \"DIDDocument\": {\n \"type\": \"object\",\n \"properties\": {\n \"authentication\": {\n \"type\": \"array\",\n \"items\": {\n \"anyOf\": [\n {\n \"type\": \"string\"\n },\n {\n \"$ref\": \"#/components/schemas/VerificationMethod\"\n }\n ]\n }\n },\n \"assertionMethod\": {\n \"type\": \"array\",\n \"items\": {\n \"anyOf\": [\n {\n \"type\": \"string\"\n },\n {\n \"$ref\": \"#/components/schemas/VerificationMethod\"\n }\n ]\n }\n },\n \"keyAgreement\": {\n \"type\": \"array\",\n \"items\": {\n \"anyOf\": [\n {\n \"type\": \"string\"\n },\n {\n \"$ref\": \"#/components/schemas/VerificationMethod\"\n }\n ]\n }\n },\n \"capabilityInvocation\": {\n \"type\": \"array\",\n \"items\": {\n \"anyOf\": [\n {\n \"type\": \"string\"\n },\n {\n \"$ref\": \"#/components/schemas/VerificationMethod\"\n }\n ]\n }\n },\n \"capabilityDelegation\": {\n \"type\": \"array\",\n \"items\": {\n \"anyOf\": [\n {\n \"type\": \"string\"\n },\n {\n \"$ref\": \"#/components/schemas/VerificationMethod\"\n }\n ]\n }\n },\n \"@context\": {\n \"anyOf\": [\n {\n \"type\": \"string\",\n \"const\": \"https://www.w3.org/ns/did/v1\"\n },\n {\n \"type\": \"string\"\n },\n {\n \"type\": \"array\",\n \"items\": {\n \"type\": \"string\"\n }\n }\n ]\n },\n \"id\": {\n \"type\": \"string\"\n },\n \"alsoKnownAs\": {\n \"type\": \"array\",\n \"items\": {\n \"type\": \"string\"\n }\n },\n \"controller\": {\n \"anyOf\": [\n {\n \"type\": \"string\"\n },\n {\n \"type\": \"array\",\n \"items\": {\n \"type\": \"string\"\n }\n }\n ]\n },\n \"verificationMethod\": {\n \"type\": \"array\",\n \"items\": {\n \"$ref\": \"#/components/schemas/VerificationMethod\"\n }\n },\n \"service\": {\n \"type\": \"array\",\n \"items\": {\n \"$ref\": \"#/components/schemas/Service\"\n }\n },\n \"publicKey\": {\n \"type\": \"array\",\n \"items\": {\n \"$ref\": \"#/components/schemas/VerificationMethod\"\n },\n \"deprecated\": true\n }\n },\n \"required\": [\n \"id\"\n ],\n \"description\": \"Represents a DID document.\"\n },\n \"VerificationMethod\": {\n \"type\": \"object\",\n \"properties\": {\n \"id\": {\n \"type\": \"string\"\n },\n \"type\": {\n \"type\": \"string\"\n },\n \"controller\": {\n \"type\": \"string\"\n },\n \"publicKeyBase58\": {\n \"type\": \"string\"\n },\n \"publicKeyBase64\": {\n \"type\": \"string\"\n },\n \"publicKeyJwk\": {\n \"$ref\": \"#/components/schemas/JsonWebKey\"\n },\n \"publicKeyHex\": {\n \"type\": \"string\"\n },\n \"publicKeyMultibase\": {\n \"type\": \"string\"\n },\n \"blockchainAccountId\": {\n \"type\": \"string\"\n },\n \"ethereumAddress\": {\n \"type\": \"string\"\n },\n \"conditionOr\": {\n \"type\": \"array\",\n \"items\": {\n \"$ref\": \"#/components/schemas/VerificationMethod\"\n }\n },\n \"conditionAnd\": {\n \"type\": \"array\",\n \"items\": {\n \"$ref\": \"#/components/schemas/VerificationMethod\"\n }\n },\n \"threshold\": {\n \"type\": \"number\"\n },\n \"conditionThreshold\": {\n \"type\": \"array\",\n \"items\": {\n \"$ref\": \"#/components/schemas/VerificationMethod\"\n }\n },\n \"conditionWeightedThreshold\": {\n \"type\": \"array\",\n \"items\": {\n \"$ref\": \"#/components/schemas/ConditionWeightedThreshold\"\n }\n },\n \"conditionDelegated\": {\n \"type\": \"string\"\n },\n \"relationshipParent\": {\n \"type\": \"array\",\n \"items\": {\n \"type\": \"string\"\n }\n },\n \"relationshipChild\": {\n \"type\": \"array\",\n \"items\": {\n \"type\": \"string\"\n }\n },\n \"relationshipSibling\": {\n \"type\": \"array\",\n \"items\": {\n \"type\": \"string\"\n }\n }\n },\n \"required\": [\n \"id\",\n \"type\",\n \"controller\"\n ],\n \"description\": \"Represents the properties of a Verification Method listed in a DID document.\\n\\nThis data type includes public key representations that are no longer present in the spec but are still used by several DID methods / resolvers and kept for backward compatibility.\"\n },\n \"JsonWebKey\": {\n \"type\": \"object\",\n \"properties\": {\n \"alg\": {\n \"type\": \"string\"\n },\n \"crv\": {\n \"type\": \"string\"\n },\n \"e\": {\n \"type\": \"string\"\n },\n \"ext\": {\n \"type\": \"boolean\"\n },\n \"key_ops\": {\n \"type\": \"array\",\n \"items\": {\n \"type\": \"string\"\n }\n },\n \"kid\": {\n \"type\": \"string\"\n },\n \"kty\": {\n \"type\": \"string\"\n },\n \"n\": {\n \"type\": \"string\"\n },\n \"use\": {\n \"type\": \"string\"\n },\n \"x\": {\n \"type\": \"string\"\n },\n \"y\": {\n \"type\": \"string\"\n }\n },\n \"required\": [\n \"kty\"\n ],\n \"description\": \"Encapsulates a JSON web key type that includes only the public properties that can be used in DID documents.\\n\\nThe private properties are intentionally omitted to discourage the use (and accidental disclosure) of private keys in DID documents.\"\n },\n \"ConditionWeightedThreshold\": {\n \"type\": \"object\",\n \"properties\": {\n \"condition\": {\n \"$ref\": \"#/components/schemas/VerificationMethod\"\n },\n \"weight\": {\n \"type\": \"number\"\n }\n },\n \"required\": [\n \"condition\",\n \"weight\"\n ]\n },\n \"Service\": {\n \"type\": \"object\",\n \"properties\": {\n \"id\": {\n \"type\": \"string\"\n },\n \"type\": {\n \"type\": \"string\"\n },\n \"serviceEndpoint\": {\n \"anyOf\": [\n {\n \"$ref\": \"#/components/schemas/ServiceEndpoint\"\n },\n {\n \"type\": \"array\",\n \"items\": {\n \"$ref\": \"#/components/schemas/ServiceEndpoint\"\n }\n }\n ]\n }\n },\n \"required\": [\n \"id\",\n \"type\",\n \"serviceEndpoint\"\n ],\n \"description\": \"Represents a Service entry in a {@link https://www.w3.org/TR/did-core/#did-document-properties | DID document } .\"\n },\n \"ServiceEndpoint\": {\n \"anyOf\": [\n {\n \"type\": \"string\"\n },\n {\n \"type\": \"object\"\n }\n ],\n \"description\": \"Represents an endpoint of a Service entry in a DID document.\"\n },\n \"DIDResolutionMetadata\": {\n \"type\": \"object\",\n \"properties\": {\n \"contentType\": {\n \"type\": \"string\"\n },\n \"error\": {\n \"type\": \"string\"\n }\n },\n \"description\": \"Encapsulates the resolution metadata resulting from a {@link Resolvable.resolve } operation.\"\n },\n \"DIDDocumentMetadata\": {\n \"type\": \"object\",\n \"properties\": {\n \"created\": {\n \"type\": \"string\"\n },\n \"updated\": {\n \"type\": \"string\"\n },\n \"deactivated\": {\n \"type\": \"boolean\"\n },\n \"versionId\": {\n \"type\": \"string\"\n },\n \"nextUpdate\": {\n \"type\": \"string\"\n },\n \"nextVersionId\": {\n \"type\": \"string\"\n },\n \"equivalentId\": {\n \"type\": \"string\"\n },\n \"canonicalId\": {\n \"type\": \"string\"\n }\n },\n \"description\": \"Represents metadata about the DID document resulting from a {@link Resolvable.resolve } operation.\"\n },\n \"IParsedDID\": {\n \"type\": \"object\",\n \"properties\": {\n \"did\": {\n \"type\": \"string\"\n },\n \"didUrl\": {\n \"type\": \"string\"\n },\n \"method\": {\n \"type\": \"string\"\n },\n \"id\": {\n \"type\": \"string\"\n },\n \"path\": {\n \"type\": \"string\"\n },\n \"fragment\": {\n \"type\": \"string\"\n },\n \"query\": {\n \"type\": \"string\"\n },\n \"params\": {\n \"type\": \"object\",\n \"additionalProperties\": {\n \"type\": \"string\"\n }\n }\n },\n \"required\": [\n \"did\",\n \"didUrl\",\n \"method\",\n \"id\"\n ]\n },\n \"ExternalIdentifierX5cResult\": {\n \"type\": \"object\",\n \"properties\": {\n \"method\": {\n \"type\": \"string\",\n \"const\": \"x5c\"\n },\n \"jwks\": {\n \"type\": \"array\",\n \"items\": {\n \"$ref\": \"#/components/schemas/ExternalJwkInfo\"\n }\n },\n \"x5c\": {\n \"type\": \"array\",\n \"items\": {\n \"type\": \"string\"\n }\n },\n \"issuerJWK\": {\n \"$ref\": \"#/components/schemas/JWK\"\n },\n \"verificationResult\": {\n \"type\": \"object\",\n \"properties\": {\n \"error\": {\n \"type\": \"boolean\"\n },\n \"critical\": {\n \"type\": \"boolean\"\n },\n \"message\": {\n \"type\": \"string\"\n },\n \"detailMessage\": {\n \"type\": \"string\"\n },\n \"verificationTime\": {\n \"type\": \"string\",\n \"format\": \"date-time\"\n },\n \"certificateChain\": {\n \"type\": \"array\",\n \"items\": {\n \"type\": \"object\",\n \"properties\": {\n \"certificate\": {},\n \"notBefore\": {\n \"type\": \"string\",\n \"format\": \"date-time\"\n },\n \"notAfter\": {\n \"type\": \"string\",\n \"format\": \"date-time\"\n },\n \"publicKeyJWK\": {},\n \"issuer\": {\n \"type\": \"object\",\n \"properties\": {\n \"dn\": {\n \"type\": \"object\",\n \"properties\": {\n \"DN\": {\n \"type\": \"string\"\n },\n \"attributes\": {\n \"type\": \"object\",\n \"additionalProperties\": {\n \"type\": \"string\"\n }\n }\n },\n \"required\": [\n \"DN\",\n \"attributes\"\n ]\n }\n },\n \"required\": [\n \"dn\"\n ]\n },\n \"subject\": {\n \"type\": \"object\",\n \"properties\": {\n \"dn\": {\n \"type\": \"object\",\n \"properties\": {\n \"DN\": {\n \"type\": \"string\"\n },\n \"attributes\": {\n \"type\": \"object\",\n \"additionalProperties\": {\n \"type\": \"string\"\n }\n }\n },\n \"required\": [\n \"DN\",\n \"attributes\"\n ]\n },\n \"subjectAlternativeNames\": {\n \"type\": \"array\",\n \"items\": {\n \"type\": \"object\",\n \"properties\": {\n \"value\": {\n \"type\": \"string\"\n },\n \"type\": {\n \"type\": \"number\",\n \"enum\": [\n 1,\n 2,\n 6,\n 7\n ],\n \"description\": \"otherName [0] OtherName, rfc822Name [1] IA5String, dNSName [2] IA5String, x400Address [3] ORAddress, directoryName [4] Name, ediPartyName [5] EDIPartyName, uniformResourceIdentifier [6] IA5String, iPAddress [7] OCTET STRING, registeredID [8] OBJECT IDENTIFIER }\"\n }\n },\n \"required\": [\n \"value\",\n \"type\"\n ]\n }\n }\n },\n \"required\": [\n \"dn\",\n \"subjectAlternativeNames\"\n ]\n }\n },\n \"required\": [\n \"notBefore\",\n \"notAfter\",\n \"issuer\",\n \"subject\"\n ]\n }\n },\n \"trustAnchor\": {\n \"type\": \"object\",\n \"properties\": {\n \"certificate\": {},\n \"notBefore\": {\n \"type\": \"string\",\n \"format\": \"date-time\"\n },\n \"notAfter\": {\n \"type\": \"string\",\n \"format\": \"date-time\"\n },\n \"publicKeyJWK\": {},\n \"issuer\": {\n \"type\": \"object\",\n \"properties\": {\n \"dn\": {\n \"type\": \"object\",\n \"properties\": {\n \"DN\": {\n \"type\": \"string\"\n },\n \"attributes\": {\n \"type\": \"object\",\n \"additionalProperties\": {\n \"type\": \"string\"\n }\n }\n },\n \"required\": [\n \"DN\",\n \"attributes\"\n ]\n }\n },\n \"required\": [\n \"dn\"\n ]\n },\n \"subject\": {\n \"type\": \"object\",\n \"properties\": {\n \"dn\": {\n \"type\": \"object\",\n \"properties\": {\n \"DN\": {\n \"type\": \"string\"\n },\n \"attributes\": {\n \"type\": \"object\",\n \"additionalProperties\": {\n \"type\": \"string\"\n }\n }\n },\n \"required\": [\n \"DN\",\n \"attributes\"\n ]\n },\n \"subjectAlternativeNames\": {\n \"type\": \"array\",\n \"items\": {\n \"type\": \"object\",\n \"properties\": {\n \"value\": {\n \"type\": \"string\"\n },\n \"type\": {\n \"type\": \"number\",\n \"enum\": [\n 1,\n 2,\n 6,\n 7\n ],\n \"description\": \"otherName [0] OtherName, rfc822Name [1] IA5String, dNSName [2] IA5String, x400Address [3] ORAddress, directoryName [4] Name, ediPartyName [5] EDIPartyName, uniformResourceIdentifier [6] IA5String, iPAddress [7] OCTET STRING, registeredID [8] OBJECT IDENTIFIER }\"\n }\n },\n \"required\": [\n \"value\",\n \"type\"\n ]\n }\n }\n },\n \"required\": [\n \"dn\",\n \"subjectAlternativeNames\"\n ]\n }\n },\n \"required\": [\n \"notBefore\",\n \"notAfter\",\n \"issuer\",\n \"subject\"\n ]\n },\n \"client\": {\n \"type\": \"object\",\n \"properties\": {\n \"clientId\": {\n \"type\": \"string\"\n },\n \"clientIdScheme\": {\n \"type\": \"string\",\n \"enum\": [\n \"x509_san_dns\",\n \"x509_san_uri\"\n ]\n }\n },\n \"required\": [\n \"clientId\",\n \"clientIdScheme\"\n ]\n }\n },\n \"required\": [\n \"error\",\n \"critical\",\n \"message\",\n \"verificationTime\"\n ]\n },\n \"certificates\": {\n \"type\": \"array\",\n \"items\": {}\n }\n },\n \"required\": [\n \"certificates\",\n \"issuerJWK\",\n \"jwks\",\n \"method\",\n \"x5c\"\n ]\n },\n \"TrustedAnchor\": {\n \"type\": \"string\"\n },\n \"ErrorMessage\": {\n \"type\": \"string\"\n },\n \"JwsPayload\": {\n \"type\": \"object\",\n \"additionalProperties\": {},\n \"properties\": {\n \"iss\": {\n \"type\": \"string\"\n },\n \"sub\": {\n \"type\": \"string\"\n },\n \"aud\": {\n \"anyOf\": [\n {\n \"type\": \"array\",\n \"items\": {\n \"type\": \"string\"\n }\n },\n {\n \"type\": \"string\"\n }\n ]\n },\n \"exp\": {\n \"type\": \"number\"\n },\n \"nbf\": {\n \"type\": \"number\"\n },\n \"iat\": {\n \"type\": \"number\"\n },\n \"jti\": {\n \"type\": \"string\"\n }\n }\n },\n \"ICoseKeyJson\": {\n \"type\": \"object\",\n \"properties\": {\n \"kty\": {\n \"$ref\": \"#/components/schemas/ICoseKeyType\"\n },\n \"kid\": {\n \"type\": \"string\"\n },\n \"alg\": {\n \"$ref\": \"#/components/schemas/ICoseSignatureAlgorithm\"\n },\n \"key_ops\": {\n \"type\": \"array\",\n \"items\": {\n \"$ref\": \"#/components/schemas/ICoseKeyOperation\"\n }\n },\n \"baseIV\": {\n \"type\": \"string\"\n },\n \"crv\": {\n \"$ref\": \"#/components/schemas/ICoseCurve\"\n },\n \"x\": {\n \"type\": \"string\"\n },\n \"y\": {\n \"type\": \"string\"\n },\n \"d\": {\n \"type\": \"string\"\n },\n \"x5chain\": {\n \"type\": \"array\",\n \"items\": {\n \"type\": \"string\"\n }\n }\n },\n \"required\": [\n \"kty\"\n ],\n \"additionalProperties\": {},\n \"description\": \"See our mdl-mdoc and crypto library for more information https://github.com/Sphereon-Opensource/mdoc-cbor-crypto-multiplatform\\n\\nConversion functions are available in above library. Conversion functions are also available for TS in our\"\n },\n \"ICoseKeyType\": {\n \"type\": \"number\",\n \"enum\": [\n 1,\n 2,\n 3,\n 4,\n 0\n ]\n },\n \"ICoseSignatureAlgorithm\": {\n \"type\": \"number\",\n \"enum\": [\n -7,\n -47,\n -35,\n -36,\n -8,\n 4,\n 5,\n 6,\n 7,\n -37,\n -38,\n -39\n ]\n },\n \"ICoseKeyOperation\": {\n \"type\": \"number\",\n \"enum\": [\n 1,\n 2,\n 3,\n 4,\n 5,\n 6,\n 7,\n 8,\n 9,\n 10\n ]\n },\n \"ICoseCurve\": {\n \"type\": \"number\",\n \"enum\": [\n 1,\n 2,\n 3,\n 4,\n 5,\n 6,\n 7,\n -1\n ]\n },\n \"ExternalIdentifierCoseKeyOpts\": {\n \"type\": \"object\",\n \"properties\": {\n \"method\": {\n \"type\": \"string\",\n \"const\": \"cose_key\"\n },\n \"identifier\": {\n \"$ref\": \"#/components/schemas/ExternalIdentifierType\"\n }\n },\n \"required\": [\n \"identifier\"\n ]\n },\n \"ExternalIdentifierCoseKeyResult\": {\n \"type\": \"object\",\n \"properties\": {\n \"method\": {\n \"type\": \"string\",\n \"const\": \"cose_key\"\n },\n \"jwks\": {\n \"type\": \"array\",\n \"items\": {\n \"$ref\": \"#/components/schemas/ExternalJwkInfo\"\n }\n },\n \"coseKey\": {\n \"$ref\": \"#/components/schemas/ICoseKeyJson\"\n },\n \"x5c\": {\n \"$ref\": \"#/components/schemas/ExternalIdentifierX5cResult\"\n }\n },\n \"required\": [\n \"coseKey\",\n \"jwks\",\n \"method\"\n ]\n },\n \"ExternalIdentifierDidOpts\": {\n \"type\": \"object\",\n \"properties\": {\n \"method\": {\n \"type\": \"string\",\n \"const\": \"did\"\n },\n \"identifier\": {\n \"$ref\": \"#/components/schemas/ExternalIdentifierType\"\n },\n \"noVerificationMethodFallback\": {\n \"type\": \"boolean\"\n },\n \"vmRelationship\": {\n \"$ref\": \"#/components/schemas/DIDDocumentSection\"\n },\n \"localResolution\": {\n \"type\": \"boolean\"\n },\n \"uniresolverResolution\": {\n \"type\": \"boolean\"\n },\n \"resolverResolution\": {\n \"type\": \"boolean\"\n }\n },\n \"required\": [\n \"identifier\"\n ]\n },\n \"ExternalIdentifierDidResult\": {\n \"type\": \"object\",\n \"properties\": {\n \"method\": {\n \"type\": \"string\",\n \"const\": \"did\"\n },\n \"jwks\": {\n \"type\": \"array\",\n \"items\": {\n \"$ref\": \"#/components/schemas/ExternalJwkInfo\"\n }\n },\n \"did\": {\n \"type\": \"string\"\n },\n \"didDocument\": {\n \"$ref\": \"#/components/schemas/DIDDocument\"\n },\n \"didJwks\": {\n \"type\": \"object\",\n \"properties\": {\n \"verificationMethod\": {\n \"type\": \"array\",\n \"items\": {\n \"$ref\": \"#/components/schemas/JWK\"\n }\n },\n \"authentication\": {\n \"type\": \"array\",\n \"items\": {\n \"$ref\": \"#/components/schemas/JWK\"\n }\n },\n \"assertionMethod\": {\n \"type\": \"array\",\n \"items\": {\n \"$ref\": \"#/components/schemas/JWK\"\n }\n },\n \"keyAgreement\": {\n \"type\": \"array\",\n \"items\": {\n \"$ref\": \"#/components/schemas/JWK\"\n }\n },\n \"capabilityInvocation\": {\n \"type\": \"array\",\n \"items\": {\n \"$ref\": \"#/components/schemas/JWK\"\n }\n },\n \"capabilityDelegation\": {\n \"type\": \"array\",\n \"items\": {\n \"$ref\": \"#/components/schemas/JWK\"\n }\n }\n },\n \"required\": [\n \"verificationMethod\",\n \"authentication\",\n \"assertionMethod\",\n \"keyAgreement\",\n \"capabilityInvocation\",\n \"capabilityDelegation\"\n ]\n },\n \"didResolutionResult\": {\n \"type\": \"object\",\n \"properties\": {\n \"@context\": {\n \"anyOf\": [\n {\n \"type\": \"string\",\n \"const\": \"https://w3id.org/did-resolution/v1\"\n },\n {\n \"type\": \"string\"\n },\n {\n \"type\": \"array\",\n \"items\": {\n \"type\": \"string\"\n }\n }\n ]\n },\n \"didResolutionMetadata\": {\n \"$ref\": \"#/components/schemas/DIDResolutionMetadata\"\n },\n \"didDocumentMetadata\": {\n \"$ref\": \"#/components/schemas/DIDDocumentMetadata\"\n }\n },\n \"required\": [\n \"didResolutionMetadata\",\n \"didDocumentMetadata\"\n ]\n },\n \"didParsed\": {\n \"$ref\": \"#/components/schemas/IParsedDID\"\n }\n },\n \"required\": [\n \"did\",\n \"didParsed\",\n \"didResolutionResult\",\n \"jwks\",\n \"method\"\n ]\n },\n \"ExternalIdentifierJwkOpts\": {\n \"type\": \"object\",\n \"properties\": {\n \"method\": {\n \"type\": \"string\",\n \"const\": \"jwk\"\n },\n \"identifier\": {\n \"$ref\": \"#/components/schemas/ExternalIdentifierType\"\n },\n \"x5c\": {\n \"$ref\": \"#/components/schemas/ExternalIdentifierX5cOpts\"\n }\n },\n \"required\": [\n \"identifier\"\n ]\n },\n \"ExternalIdentifierJwkResult\": {\n \"type\": \"object\",\n \"properties\": {\n \"method\": {\n \"type\": \"string\",\n \"const\": \"jwk\"\n },\n \"jwks\": {\n \"type\": \"array\",\n \"items\": {\n \"$ref\": \"#/components/schemas/ExternalJwkInfo\"\n }\n },\n \"jwk\": {\n \"$ref\": \"#/components/schemas/JWK\"\n },\n \"x5c\": {\n \"$ref\": \"#/components/schemas/ExternalIdentifierX5cResult\"\n }\n },\n \"required\": [\n \"jwk\",\n \"jwks\",\n \"method\"\n ]\n },\n \"ExternalIdentifierOIDFEntityIdOpts\": {\n \"type\": \"object\",\n \"properties\": {\n \"method\": {\n \"type\": \"string\",\n \"const\": \"entity_id\"\n },\n \"identifier\": {\n \"$ref\": \"#/components/schemas/ExternalIdentifierType\"\n },\n \"trustAnchors\": {\n \"type\": \"array\",\n \"items\": {\n \"type\": \"string\"\n }\n }\n },\n \"required\": [\n \"identifier\"\n ]\n },\n \"ExternalIdentifierOIDFEntityIdResult\": {\n \"type\": \"object\",\n \"properties\": {\n \"method\": {\n \"type\": \"string\",\n \"const\": \"entity_id\"\n },\n \"jwks\": {\n \"type\": \"array\",\n \"items\": {\n \"$ref\": \"#/components/schemas/ExternalJwkInfo\"\n }\n },\n \"trustedAnchors\": {\n \"type\": \"array\",\n \"items\": {\n \"$ref\": \"#/components/schemas/TrustedAnchor\"\n }\n },\n \"errorList\": {\n \"type\": \"object\",\n \"additionalProperties\": {\n \"$ref\": \"#/components/schemas/ErrorMessage\"\n }\n },\n \"jwtPayload\": {\n \"$ref\": \"#/components/schemas/JwsPayload\"\n },\n \"trustEstablished\": {\n \"type\": \"boolean\"\n }\n },\n \"required\": [\n \"jwks\",\n \"method\",\n \"trustEstablished\",\n \"trustedAnchors\"\n ]\n },\n \"ManagedIdentifierOptsOrResult\": {\n \"anyOf\": [\n {\n \"type\": \"object\",\n \"properties\": {\n \"lazyDisabled\": {\n \"type\": \"boolean\"\n },\n \"jwk\": {\n \"$ref\": \"#/components/schemas/JWK\"\n },\n \"jwkThumbprint\": {\n \"type\": \"string\"\n },\n \"kmsKeyRef\": {\n \"type\": \"string\"\n },\n \"method\": {\n \"$ref\": \"#/components/schemas/ManagedIdentifierMethod\"\n },\n \"opts\": {\n \"$ref\": \"#/components/schemas/ManagedIdentifierOpts\"\n },\n \"key\": {\n \"$ref\": \"#/components/schemas/IKey\"\n },\n \"kid\": {\n \"type\": \"string\"\n },\n \"issuer\": {\n \"type\": \"string\"\n },\n \"clientId\": {\n \"type\": \"string\"\n },\n \"clientIdScheme\": {\n \"type\": \"string\"\n },\n \"identifier\": {\n \"$ref\": \"#/components/schemas/ManagedIdentifierType\"\n },\n \"x5c\": {\n \"type\": \"array\",\n \"items\": {\n \"type\": \"string\"\n }\n },\n \"certificate\": {}\n },\n \"required\": [\n \"certificate\",\n \"identifier\",\n \"jwk\",\n \"jwkThumbprint\",\n \"key\",\n \"kmsKeyRef\",\n \"method\",\n \"opts\",\n \"x5c\"\n ]\n },\n {\n \"type\": \"object\",\n \"properties\": {\n \"lazyDisabled\": {\n \"type\": \"boolean\"\n },\n \"jwk\": {\n \"$ref\": \"#/components/schemas/JWK\"\n },\n \"jwkThumbprint\": {\n \"type\": \"string\"\n },\n \"kmsKeyRef\": {\n \"type\": \"string\"\n },\n \"method\": {\n \"$ref\": \"#/components/schemas/ManagedIdentifierMethod\"\n },\n \"opts\": {\n \"$ref\": \"#/components/schemas/ManagedIdentifierOpts\"\n },\n \"key\": {\n \"$ref\": \"#/components/schemas/IKey\"\n },\n \"kid\": {\n \"type\": \"string\"\n },\n \"issuer\": {\n \"type\": \"string\"\n },\n \"clientId\": {\n \"type\": \"string\"\n },\n \"clientIdScheme\": {\n \"type\": \"string\"\n },\n \"identifier\": {\n \"$ref\": \"#/components/schemas/ManagedIdentifierType\"\n },\n \"did\": {\n \"type\": \"string\"\n },\n \"keys\": {\n \"type\": \"array\",\n \"items\": {\n \"$ref\": \"#/components/schemas/IKey\"\n }\n },\n \"verificationMethodSection\": {\n \"$ref\": \"#/components/schemas/DIDDocumentSection\"\n },\n \"controllerKeyId\": {\n \"type\": \"string\"\n }\n },\n \"required\": [\n \"did\",\n \"identifier\",\n \"issuer\",\n \"jwk\",\n \"jwkThumbprint\",\n \"key\",\n \"keys\",\n \"kid\",\n \"kmsKeyRef\",\n \"method\",\n \"opts\"\n ]\n },\n {\n \"type\": \"object\",\n \"properties\": {\n \"lazyDisabled\": {\n \"type\": \"boolean\"\n },\n \"jwk\": {\n \"$ref\": \"#/components/schemas/JWK\"\n },\n \"jwkThumbprint\": {\n \"type\": \"string\"\n },\n \"kmsKeyRef\": {\n \"type\": \"string\"\n },\n \"method\": {\n \"$ref\": \"#/components/schemas/ManagedIdentifierMethod\"\n },\n \"opts\": {\n \"$ref\": \"#/components/schemas/ManagedIdentifierOpts\"\n },\n \"key\": {\n \"$ref\": \"#/components/schemas/IKey\"\n },\n \"kid\": {\n \"type\": \"string\"\n },\n \"issuer\": {\n \"type\": \"string\"\n },\n \"clientId\": {\n \"type\": \"string\"\n },\n \"clientIdScheme\": {\n \"type\": \"string\"\n },\n \"identifier\": {\n \"$ref\": \"#/components/schemas/ManagedIdentifierType\"\n }\n },\n \"required\": [\n \"identifier\",\n \"jwk\",\n \"jwkThumbprint\",\n \"key\",\n \"kmsKeyRef\",\n \"method\",\n \"opts\"\n ]\n },\n {\n \"type\": \"object\",\n \"properties\": {\n \"lazyDisabled\": {\n \"type\": \"boolean\"\n },\n \"jwk\": {\n \"$ref\": \"#/components/schemas/JWK\"\n },\n \"jwkThumbprint\": {\n \"type\": \"string\"\n },\n \"kmsKeyRef\": {\n \"type\": \"string\"\n },\n \"method\": {\n \"$ref\": \"#/components/schemas/ManagedIdentifierMethod\"\n },\n \"opts\": {\n \"$ref\": \"#/components/schemas/ManagedIdentifierOpts\"\n },\n \"key\": {\n \"$ref\": \"#/components/schemas/IKey\"\n },\n \"kid\": {\n \"type\": \"string\"\n },\n \"issuer\": {\n \"type\": \"string\"\n },\n \"clientId\": {\n \"type\": \"string\"\n },\n \"clientIdScheme\": {\n \"type\": \"string\"\n },\n \"identifier\": {\n \"$ref\": \"#/components/schemas/ManagedIdentifierType\"\n }\n },\n \"required\": [\n \"identifier\",\n \"jwk\",\n \"jwkThumbprint\",\n \"key\",\n \"kid\",\n \"kmsKeyRef\",\n \"method\",\n \"opts\"\n ]\n },\n {\n \"type\": \"object\",\n \"properties\": {\n \"lazyDisabled\": {\n \"type\": \"boolean\"\n },\n \"jwk\": {\n \"$ref\": \"#/components/schemas/JWK\"\n },\n \"jwkThumbprint\": {\n \"type\": \"string\"\n },\n \"kmsKeyRef\": {\n \"type\": \"string\"\n },\n \"method\": {\n \"$ref\": \"#/components/schemas/ManagedIdentifierMethod\"\n },\n \"opts\": {\n \"$ref\": \"#/components/schemas/ManagedIdentifierOpts\"\n },\n \"key\": {\n \"$ref\": \"#/components/schemas/IKey\"\n },\n \"kid\": {\n \"type\": \"string\"\n },\n \"issuer\": {\n \"type\": \"string\"\n },\n \"clientId\": {\n \"type\": \"string\"\n },\n \"clientIdScheme\": {\n \"type\": \"string\"\n },\n \"identifier\": {\n \"$ref\": \"#/components/schemas/ManagedIdentifierType\"\n }\n },\n \"required\": [\n \"identifier\",\n \"jwk\",\n \"jwkThumbprint\",\n \"key\",\n \"kmsKeyRef\",\n \"method\",\n \"opts\"\n ]\n },\n {\n \"type\": \"object\",\n \"properties\": {\n \"lazyDisabled\": {\n \"type\": \"boolean\"\n },\n \"jwk\": {\n \"$ref\": \"#/components/schemas/JWK\"\n },\n \"jwkThumbprint\": {\n \"type\": \"string\"\n },\n \"kmsKeyRef\": {\n \"type\": \"string\"\n },\n \"method\": {\n \"$ref\": \"#/components/schemas/ManagedIdentifierMethod\"\n },\n \"opts\": {\n \"$ref\": \"#/components/schemas/ManagedIdentifierOpts\"\n },\n \"key\": {\n \"$ref\": \"#/components/schemas/IKey\"\n },\n \"kid\": {\n \"type\": \"string\"\n },\n \"issuer\": {\n \"type\": \"string\"\n },\n \"clientId\": {\n \"type\": \"string\"\n },\n \"clientIdScheme\": {\n \"type\": \"string\"\n },\n \"identifier\": {\n \"$ref\": \"#/components/schemas/ManagedIdentifierType\"\n }\n },\n \"required\": [\n \"identifier\",\n \"jwk\",\n \"jwkThumbprint\",\n \"key\",\n \"kmsKeyRef\",\n \"method\",\n \"opts\"\n ]\n },\n {\n \"type\": \"object\",\n \"properties\": {\n \"lazyDisabled\": {\n \"type\": \"boolean\"\n },\n \"jwk\": {\n \"$ref\": \"#/components/schemas/JWK\"\n },\n \"jwkThumbprint\": {\n \"type\": \"string\"\n },\n \"kmsKeyRef\": {\n \"type\": \"string\"\n },\n \"method\": {\n \"$ref\": \"#/components/schemas/ManagedIdentifierMethod\"\n },\n \"opts\": {\n \"$ref\": \"#/components/schemas/ManagedIdentifierOpts\"\n },\n \"key\": {\n \"$ref\": \"#/components/schemas/IKey\"\n },\n \"kid\": {\n \"type\": \"string\"\n },\n \"issuer\": {\n \"type\": \"string\"\n },\n \"clientId\": {\n \"type\": \"string\"\n },\n \"clientIdScheme\": {\n \"type\": \"string\"\n },\n \"identifier\": {\n \"$ref\": \"#/components/schemas/ManagedIdentifierType\"\n }\n },\n \"required\": [\n \"identifier\",\n \"jwk\",\n \"jwkThumbprint\",\n \"key\",\n \"kmsKeyRef\",\n \"method\",\n \"opts\"\n ]\n },\n {\n \"type\": \"object\",\n \"properties\": {\n \"lazyDisabled\": {\n \"type\": \"boolean\"\n },\n \"method\": {\n \"type\": \"string\",\n \"const\": \"jwk\"\n },\n \"identifier\": {\n \"$ref\": \"#/components/schemas/JWK\"\n },\n \"kmsKeyRef\": {\n \"type\": \"string\"\n },\n \"issuer\": {\n \"type\": \"string\"\n },\n \"kid\": {\n \"type\": \"string\"\n },\n \"clientId\": {\n \"type\": \"string\"\n },\n \"clientIdScheme\": {\n \"type\": \"string\"\n }\n },\n \"required\": [\n \"identifier\"\n ]\n },\n {\n \"type\": \"object\",\n \"properties\": {\n \"lazyDisabled\": {\n \"type\": \"boolean\"\n },\n \"method\": {\n \"type\": \"string\",\n \"const\": \"x5c\"\n },\n \"identifier\": {\n \"type\": \"array\",\n \"items\": {\n \"type\": \"string\"\n }\n },\n \"kmsKeyRef\": {\n \"type\": \"string\"\n },\n \"issuer\": {\n \"type\": \"string\"\n },\n \"kid\": {\n \"type\": \"string\"\n },\n \"clientId\": {\n \"type\": \"string\"\n },\n \"clientIdScheme\": {\n \"type\": \"string\"\n }\n },\n \"required\": [\n \"identifier\"\n ]\n },\n {\n \"type\": \"object\",\n \"properties\": {\n \"lazyDisabled\": {\n \"type\": \"boolean\"\n },\n \"method\": {\n \"type\": \"string\",\n \"const\": \"did\"\n },\n \"identifier\": {\n \"anyOf\": [\n {\n \"$ref\": \"#/components/schemas/IIdentifier\"\n },\n {\n \"type\": \"string\"\n }\n ]\n },\n \"kmsKeyRef\": {\n \"type\": \"string\"\n },\n \"issuer\": {\n \"type\": \"string\"\n },\n \"kid\": {\n \"type\": \"string\"\n },\n \"clientId\": {\n \"type\": \"string\"\n },\n \"clientIdScheme\": {\n \"type\": \"string\"\n },\n \"keyType\": {\n \"$ref\": \"#/components/schemas/TKeyType\"\n },\n \"offlineWhenNoDIDRegistered\": {\n \"type\": \"boolean\"\n },\n \"noVerificationMethodFallback\": {\n \"type\": \"boolean\"\n },\n \"controllerKey\": {\n \"type\": \"boolean\"\n },\n \"vmRelationship\": {\n \"$ref\": \"#/components/schemas/DIDDocumentSection\"\n }\n },\n \"required\": [\n \"identifier\"\n ]\n },\n {\n \"type\": \"object\",\n \"properties\": {\n \"lazyDisabled\": {\n \"type\": \"boolean\"\n },\n \"method\": {\n \"type\": \"string\",\n \"const\": \"kid\"\n },\n \"identifier\": {\n \"type\": \"string\"\n },\n \"kmsKeyRef\": {\n \"type\": \"string\"\n },\n \"issuer\": {\n \"type\": \"string\"\n },\n \"kid\": {\n \"type\": \"string\"\n },\n \"clientId\": {\n \"type\": \"string\"\n },\n \"clientIdScheme\": {\n \"type\": \"string\"\n }\n },\n \"required\": [\n \"identifier\"\n ]\n },\n {\n \"type\": \"object\",\n \"properties\": {\n \"lazyDisabled\": {\n \"type\": \"boolean\"\n },\n \"method\": {\n \"type\": \"string\",\n \"const\": \"key\"\n },\n \"identifier\": {\n \"$ref\": \"#/components/schemas/IKey\"\n },\n \"kmsKeyRef\": {\n \"type\": \"string\"\n },\n \"issuer\": {\n \"type\": \"string\"\n },\n \"kid\": {\n \"type\": \"string\"\n },\n \"clientId\": {\n \"type\": \"string\"\n },\n \"clientIdScheme\": {\n \"type\": \"string\"\n }\n },\n \"required\": [\n \"identifier\"\n ]\n },\n {\n \"type\": \"object\",\n \"properties\": {\n \"lazyDisabled\": {\n \"type\": \"boolean\"\n },\n \"method\": {\n \"type\": \"string\",\n \"const\": \"cose_key\"\n },\n \"identifier\": {\n \"$ref\": \"#/components/schemas/ICoseKeyJson\"\n },\n \"kmsKeyRef\": {\n \"type\": \"string\"\n },\n \"issuer\": {\n \"type\": \"string\"\n },\n \"kid\": {\n \"type\": \"string\"\n },\n \"clientId\": {\n \"type\": \"string\"\n },\n \"clientIdScheme\": {\n \"type\": \"string\"\n }\n },\n \"required\": [\n \"identifier\"\n ]\n },\n {\n \"type\": \"object\",\n \"properties\": {\n \"lazyDisabled\": {\n \"type\": \"boolean\"\n },\n \"method\": {\n \"type\": \"string\",\n \"const\": \"oid4vci-issuer\"\n },\n \"identifier\": {\n \"type\": \"string\"\n },\n \"kmsKeyRef\": {\n \"type\": \"string\"\n },\n \"issuer\": {\n \"type\": \"string\"\n },\n \"kid\": {\n \"type\": \"string\"\n },\n \"clientId\": {\n \"type\": \"string\"\n },\n \"clientIdScheme\": {\n \"type\": \"string\"\n }\n },\n \"required\": [\n \"identifier\"\n ]\n }\n ]\n },\n \"ManagedIdentifierMethod\": {\n \"type\": \"string\",\n \"enum\": [\n \"did\",\n \"jwk\",\n \"x5c\",\n \"kid\",\n \"key\",\n \"cose_key\",\n \"oid4vci-issuer\"\n ]\n },\n \"ManagedIdentifierOpts\": {\n \"anyOf\": [\n {\n \"type\": \"object\",\n \"properties\": {\n \"method\": {\n \"type\": \"string\",\n \"const\": \"jwk\"\n },\n \"identifier\": {\n \"$ref\": \"#/components/schemas/JWK\"\n },\n \"kmsKeyRef\": {\n \"type\": \"string\"\n },\n \"issuer\": {\n \"type\": \"string\"\n },\n \"kid\": {\n \"type\": \"string\"\n },\n \"clientId\": {\n \"type\": \"string\"\n },\n \"clientIdScheme\": {\n \"type\": \"string\"\n }\n },\n \"required\": [\n \"identifier\"\n ]\n },\n {\n \"type\": \"object\",\n \"properties\": {\n \"method\": {\n \"type\": \"string\",\n \"const\": \"x5c\"\n },\n \"identifier\": {\n \"type\": \"array\",\n \"items\": {\n \"type\": \"string\"\n }\n },\n \"kmsKeyRef\": {\n \"type\": \"string\"\n },\n \"issuer\": {\n \"type\": \"string\"\n },\n \"kid\": {\n \"type\": \"string\"\n },\n \"clientId\": {\n \"type\": \"string\"\n },\n \"clientIdScheme\": {\n \"type\": \"string\"\n }\n },\n \"required\": [\n \"identifier\"\n ]\n },\n {\n \"type\": \"object\",\n \"properties\": {\n \"method\": {\n \"type\": \"string\",\n \"const\": \"did\"\n },\n \"identifier\": {\n \"anyOf\": [\n {\n \"$ref\": \"#/components/schemas/IIdentifier\"\n },\n {\n \"type\": \"string\"\n }\n ]\n },\n \"kmsKeyRef\": {\n \"type\": \"string\"\n },\n \"issuer\": {\n \"type\": \"string\"\n },\n \"kid\": {\n \"type\": \"string\"\n },\n \"clientId\": {\n \"type\": \"string\"\n },\n \"clientIdScheme\": {\n \"type\": \"string\"\n },\n \"keyType\": {\n \"$ref\": \"#/components/schemas/TKeyType\"\n },\n \"offlineWhenNoDIDRegistered\": {\n \"type\": \"boolean\"\n },\n \"noVerificationMethodFallback\": {\n \"type\": \"boolean\"\n },\n \"controllerKey\": {\n \"type\": \"boolean\"\n },\n \"vmRelationship\": {\n \"$ref\": \"#/components/schemas/DIDDocumentSection\"\n }\n },\n \"required\": [\n \"identifier\"\n ]\n },\n {\n \"type\": \"object\",\n \"properties\": {\n \"method\": {\n \"type\": \"string\",\n \"const\": \"kid\"\n },\n \"identifier\": {\n \"type\": \"string\"\n },\n \"kmsKeyRef\": {\n \"type\": \"string\"\n },\n \"issuer\": {\n \"type\": \"string\"\n },\n \"kid\": {\n \"type\": \"string\"\n },\n \"clientId\": {\n \"type\": \"string\"\n },\n \"clientIdScheme\": {\n \"type\": \"string\"\n }\n },\n \"required\": [\n \"identifier\"\n ]\n },\n {\n \"type\": \"object\",\n \"properties\": {\n \"method\": {\n \"type\": \"string\",\n \"const\": \"key\"\n },\n \"identifier\": {\n \"$ref\": \"#/components/schemas/IKey\"\n },\n \"kmsKeyRef\": {\n \"type\": \"string\"\n },\n \"issuer\": {\n \"type\": \"string\"\n },\n \"kid\": {\n \"type\": \"string\"\n },\n \"clientId\": {\n \"type\": \"string\"\n },\n \"clientIdScheme\": {\n \"type\": \"string\"\n }\n },\n \"required\": [\n \"identifier\"\n ]\n },\n {\n \"type\": \"object\",\n \"properties\": {\n \"method\": {\n \"type\": \"string\",\n \"const\": \"cose_key\"\n },\n \"identifier\": {\n \"$ref\": \"#/components/schemas/ICoseKeyJson\"\n },\n \"kmsKeyRef\": {\n \"type\": \"string\"\n },\n \"issuer\": {\n \"type\": \"string\"\n },\n \"kid\": {\n \"type\": \"string\"\n },\n \"clientId\": {\n \"type\": \"string\"\n },\n \"clientIdScheme\": {\n \"type\": \"string\"\n }\n },\n \"required\": [\n \"identifier\"\n ]\n },\n {\n \"type\": \"object\",\n \"properties\": {\n \"method\": {\n \"type\": \"string\",\n \"const\": \"oid4vci-issuer\"\n },\n \"identifier\": {\n \"type\": \"string\"\n },\n \"kmsKeyRef\": {\n \"type\": \"string\"\n },\n \"issuer\": {\n \"type\": \"string\"\n },\n \"kid\": {\n \"type\": \"string\"\n },\n \"clientId\": {\n \"type\": \"string\"\n },\n \"clientIdScheme\": {\n \"type\": \"string\"\n }\n },\n \"required\": [\n \"identifier\"\n ]\n }\n ]\n },\n \"IIdentifier\": {\n \"type\": \"object\",\n \"properties\": {\n \"did\": {\n \"type\": \"string\",\n \"description\": \"Decentralized identifier\"\n },\n \"alias\": {\n \"type\": \"string\",\n \"description\": \"Optional. Identifier alias. Can be used to reference an object in an external system\"\n },\n \"provider\": {\n \"type\": \"string\",\n \"description\": \"Identifier provider name\"\n },\n \"controllerKeyId\": {\n \"type\": \"string\",\n \"description\": \"Controller key id\"\n },\n \"keys\": {\n \"type\": \"array\",\n \"items\": {\n \"$ref\": \"#/components/schemas/IKey\"\n },\n \"description\": \"Array of managed keys\"\n },\n \"services\": {\n \"type\": \"array\",\n \"items\": {\n \"$ref\": \"#/components/schemas/IService\"\n },\n \"description\": \"Array of services\"\n }\n },\n \"required\": [\n \"did\",\n \"provider\",\n \"keys\",\n \"services\"\n ],\n \"description\": \"Identifier interface\"\n },\n \"IKey\": {\n \"type\": \"object\",\n \"properties\": {\n \"kid\": {\n \"type\": \"string\",\n \"description\": \"Key ID\"\n },\n \"kms\": {\n \"type\": \"string\",\n \"description\": \"Key Management System\"\n },\n \"type\": {\n \"$ref\": \"#/components/schemas/TKeyType\",\n \"description\": \"Key type\"\n },\n \"publicKeyHex\": {\n \"type\": \"string\",\n \"description\": \"Public key\"\n },\n \"privateKeyHex\": {\n \"type\": \"string\",\n \"description\": \"Optional. Private key\"\n },\n \"meta\": {\n \"anyOf\": [\n {\n \"$ref\": \"#/components/schemas/KeyMetadata\"\n },\n {\n \"type\": \"null\"\n }\n ],\n \"description\": \"Optional. Key metadata. This should be used to determine which algorithms are supported.\"\n }\n },\n \"required\": [\n \"kid\",\n \"kms\",\n \"type\",\n \"publicKeyHex\"\n ],\n \"description\": \"Cryptographic key\"\n },\n \"TKeyType\": {\n \"type\": \"string\",\n \"enum\": [\n \"Ed25519\",\n \"Secp256k1\",\n \"Secp256r1\",\n \"X25519\",\n \"Bls12381G1\",\n \"Bls12381G2\",\n \"RSA\"\n ],\n \"description\": \"Cryptographic key type.\"\n },\n \"KeyMetadata\": {\n \"type\": \"object\",\n \"properties\": {\n \"algorithms\": {\n \"type\": \"array\",\n \"items\": {\n \"type\": \"string\"\n }\n }\n },\n \"description\": \"This encapsulates data about a key.\\n\\nImplementations of {@link @veramo/key-manager#AbstractKeyManagementSystem | AbstractKeyManagementSystem } should populate this object, for each key, with the algorithms that can be performed using it.\\n\\nThis can also be used to add various tags to the keys under management.\"\n },\n \"IService\": {\n \"type\": \"object\",\n \"properties\": {\n \"id\": {\n \"type\": \"string\",\n \"description\": \"ID\"\n },\n \"type\": {\n \"type\": \"string\",\n \"description\": \"Service type\"\n },\n \"serviceEndpoint\": {\n \"anyOf\": [\n {\n \"$ref\": \"#/components/schemas/IServiceEndpoint\"\n },\n {\n \"type\": \"array\",\n \"items\": {\n \"$ref\": \"#/components/schemas/IServiceEndpoint\"\n }\n }\n ],\n \"description\": \"Endpoint URL\"\n },\n \"description\": {\n \"type\": \"string\",\n \"description\": \"Optional. Description\"\n }\n },\n \"required\": [\n \"id\",\n \"type\",\n \"serviceEndpoint\"\n ],\n \"description\": \"Identifier service\"\n },\n \"IServiceEndpoint\": {\n \"anyOf\": [\n {\n \"type\": \"string\"\n },\n {\n \"type\": \"object\"\n }\n ],\n \"description\": \"Represents a service endpoint URL or a map of URLs\"\n },\n \"ManagedIdentifierType\": {\n \"anyOf\": [\n {\n \"$ref\": \"#/components/schemas/IIdentifier\"\n },\n {\n \"type\": \"string\"\n },\n {\n \"type\": \"array\",\n \"items\": {\n \"type\": \"string\"\n }\n },\n {\n \"$ref\": \"#/components/schemas/JWK\"\n },\n {\n \"$ref\": \"#/components/schemas/IKey\"\n },\n {\n \"$ref\": \"#/components/schemas/ICoseKeyJson\"\n }\n ],\n \"description\": \"Use whenever we need to pass in an identifier. We can pass in kids, DIDs, IIdentifier objects and x5chains\\n\\nThe functions below can be used to check the type, and they also provide the proper 'runtime' types\"\n },\n \"ManagedIdentifierResult\": {\n \"anyOf\": [\n {\n \"type\": \"object\",\n \"properties\": {\n \"jwk\": {\n \"$ref\": \"#/components/schemas/JWK\"\n },\n \"jwkThumbprint\": {\n \"type\": \"string\"\n },\n \"kmsKeyRef\": {\n \"type\": \"string\"\n },\n \"method\": {\n \"$ref\": \"#/components/schemas/ManagedIdentifierMethod\"\n },\n \"opts\": {\n \"$ref\": \"#/components/schemas/ManagedIdentifierOpts\"\n },\n \"key\": {\n \"$ref\": \"#/components/schemas/IKey\"\n },\n \"kid\": {\n \"type\": \"string\"\n },\n \"issuer\": {\n \"type\": \"string\"\n },\n \"clientId\": {\n \"type\": \"string\"\n },\n \"clientIdScheme\": {\n \"type\": \"string\"\n },\n \"identifier\": {\n \"$ref\": \"#/components/schemas/ManagedIdentifierType\"\n },\n \"x5c\": {\n \"type\": \"array\",\n \"items\": {\n \"type\": \"string\"\n }\n },\n \"certificate\": {}\n },\n \"required\": [\n \"certificate\",\n \"identifier\",\n \"jwk\",\n \"jwkThumbprint\",\n \"key\",\n \"kmsKeyRef\",\n \"method\",\n \"opts\",\n \"x5c\"\n ]\n },\n {\n \"type\": \"object\",\n \"properties\": {\n \"jwk\": {\n \"$ref\": \"#/components/schemas/JWK\"\n },\n \"jwkThumbprint\": {\n \"type\": \"string\"\n },\n \"kmsKeyRef\": {\n \"type\": \"string\"\n },\n \"method\": {\n \"$ref\": \"#/components/schemas/ManagedIdentifierMethod\"\n },\n \"opts\": {\n \"$ref\": \"#/components/schemas/ManagedIdentifierOpts\"\n },\n \"key\": {\n \"$ref\": \"#/components/schemas/IKey\"\n },\n \"kid\": {\n \"type\": \"string\"\n },\n \"issuer\": {\n \"type\": \"string\"\n },\n \"clientId\": {\n \"type\": \"string\"\n },\n \"clientIdScheme\": {\n \"type\": \"string\"\n },\n \"identifier\": {\n \"$ref\": \"#/components/schemas/ManagedIdentifierType\"\n },\n \"did\": {\n \"type\": \"string\"\n },\n \"keys\": {\n \"type\": \"array\",\n \"items\": {\n \"$ref\": \"#/components/schemas/IKey\"\n }\n },\n \"verificationMethodSection\": {\n \"$ref\": \"#/components/schemas/DIDDocumentSection\"\n },\n \"controllerKeyId\": {\n \"type\": \"string\"\n }\n },\n \"required\": [\n \"did\",\n \"identifier\",\n \"issuer\",\n \"jwk\",\n \"jwkThumbprint\",\n \"key\",\n \"keys\",\n \"kid\",\n \"kmsKeyRef\",\n \"method\",\n \"opts\"\n ]\n },\n {\n \"type\": \"object\",\n \"properties\": {\n \"jwk\": {\n \"$ref\": \"#/components/schemas/JWK\"\n },\n \"jwkThumbprint\": {\n \"type\": \"string\"\n },\n \"kmsKeyRef\": {\n \"type\": \"string\"\n },\n \"method\": {\n \"$ref\": \"#/components/schemas/ManagedIdentifierMethod\"\n },\n \"opts\": {\n \"$ref\": \"#/components/schemas/ManagedIdentifierOpts\"\n },\n \"key\": {\n \"$ref\": \"#/components/schemas/IKey\"\n },\n \"kid\": {\n \"type\": \"string\"\n },\n \"issuer\": {\n \"type\": \"string\"\n },\n \"clientId\": {\n \"type\": \"string\"\n },\n \"clientIdScheme\": {\n \"type\": \"string\"\n },\n \"identifier\": {\n \"$ref\": \"#/components/schemas/ManagedIdentifierType\"\n }\n },\n \"required\": [\n \"identifier\",\n \"jwk\",\n \"jwkThumbprint\",\n \"key\",\n \"kmsKeyRef\",\n \"method\",\n \"opts\"\n ]\n },\n {\n \"type\": \"object\",\n \"properties\": {\n \"jwk\": {\n \"$ref\": \"#/components/schemas/JWK\"\n },\n \"jwkThumbprint\": {\n \"type\": \"string\"\n },\n \"kmsKeyRef\": {\n \"type\": \"string\"\n },\n \"method\": {\n \"$ref\": \"#/components/schemas/ManagedIdentifierMethod\"\n },\n \"opts\": {\n \"$ref\": \"#/components/schemas/ManagedIdentifierOpts\"\n },\n \"key\": {\n \"$ref\": \"#/components/schemas/IKey\"\n },\n \"kid\": {\n \"type\": \"string\"\n },\n \"issuer\": {\n \"type\": \"string\"\n },\n \"clientId\": {\n \"type\": \"string\"\n },\n \"clientIdScheme\": {\n \"type\": \"string\"\n },\n \"identifier\": {\n \"$ref\": \"#/components/schemas/ManagedIdentifierType\"\n }\n },\n \"required\": [\n \"identifier\",\n \"jwk\",\n \"jwkThumbprint\",\n \"key\",\n \"kid\",\n \"kmsKeyRef\",\n \"method\",\n \"opts\"\n ]\n },\n {\n \"type\": \"object\",\n \"properties\": {\n \"jwk\": {\n \"$ref\": \"#/components/schemas/JWK\"\n },\n \"jwkThumbprint\": {\n \"type\": \"string\"\n },\n \"kmsKeyRef\": {\n \"type\": \"string\"\n },\n \"method\": {\n \"$ref\": \"#/components/schemas/ManagedIdentifierMethod\"\n },\n \"opts\": {\n \"$ref\": \"#/components/schemas/ManagedIdentifierOpts\"\n },\n \"key\": {\n \"$ref\": \"#/components/schemas/IKey\"\n },\n \"kid\": {\n \"type\": \"string\"\n },\n \"issuer\": {\n \"type\": \"string\"\n },\n \"clientId\": {\n \"type\": \"string\"\n },\n \"clientIdScheme\": {\n \"type\": \"string\"\n },\n \"identifier\": {\n \"$ref\": \"#/components/schemas/ManagedIdentifierType\"\n }\n },\n \"required\": [\n \"identifier\",\n \"jwk\",\n \"jwkThumbprint\",\n \"key\",\n \"kmsKeyRef\",\n \"method\",\n \"opts\"\n ]\n },\n {\n \"type\": \"object\",\n \"properties\": {\n \"jwk\": {\n \"$ref\": \"#/components/schemas/JWK\"\n },\n \"jwkThumbprint\": {\n \"type\": \"string\"\n },\n \"kmsKeyRef\": {\n \"type\": \"string\"\n },\n \"method\": {\n \"$ref\": \"#/components/schemas/ManagedIdentifierMethod\"\n },\n \"opts\": {\n \"$ref\": \"#/components/schemas/ManagedIdentifierOpts\"\n },\n \"key\": {\n \"$ref\": \"#/components/schemas/IKey\"\n },\n \"kid\": {\n \"type\": \"string\"\n },\n \"issuer\": {\n \"type\": \"string\"\n },\n \"clientId\": {\n \"type\": \"string\"\n },\n \"clientIdScheme\": {\n \"type\": \"string\"\n },\n \"identifier\": {\n \"$ref\": \"#/components/schemas/ManagedIdentifierType\"\n }\n },\n \"required\": [\n \"identifier\",\n \"jwk\",\n \"jwkThumbprint\",\n \"key\",\n \"kmsKeyRef\",\n \"method\",\n \"opts\"\n ]\n },\n {\n \"type\": \"object\",\n \"properties\": {\n \"jwk\": {\n \"$ref\": \"#/components/schemas/JWK\"\n },\n \"jwkThumbprint\": {\n \"type\": \"string\"\n },\n \"kmsKeyRef\": {\n \"type\": \"string\"\n },\n \"method\": {\n \"$ref\": \"#/components/schemas/ManagedIdentifierMethod\"\n },\n \"opts\": {\n \"$ref\": \"#/components/schemas/ManagedIdentifierOpts\"\n },\n \"key\": {\n \"$ref\": \"#/components/schemas/IKey\"\n },\n \"kid\": {\n \"type\": \"string\"\n },\n \"issuer\": {\n \"type\": \"string\"\n },\n \"clientId\": {\n \"type\": \"string\"\n },\n \"clientIdScheme\": {\n \"type\": \"string\"\n },\n \"identifier\": {\n \"$ref\": \"#/components/schemas/ManagedIdentifierType\"\n }\n },\n \"required\": [\n \"identifier\",\n \"jwk\",\n \"jwkThumbprint\",\n \"key\",\n \"kmsKeyRef\",\n \"method\",\n \"opts\"\n ]\n }\n ]\n },\n \"ManagedIdentifierCoseKeyOpts\": {\n \"type\": \"object\",\n \"properties\": {\n \"method\": {\n \"type\": \"string\",\n \"const\": \"cose_key\"\n },\n \"identifier\": {\n \"$ref\": \"#/components/schemas/ICoseKeyJson\"\n },\n \"kmsKeyRef\": {\n \"type\": \"string\"\n },\n \"issuer\": {\n \"type\": \"string\"\n },\n \"kid\": {\n \"type\": \"string\"\n },\n \"clientId\": {\n \"type\": \"string\"\n },\n \"clientIdScheme\": {\n \"type\": \"string\"\n }\n },\n \"required\": [\n \"identifier\"\n ]\n },\n \"ManagedIdentifierCoseKeyResult\": {\n \"type\": \"object\",\n \"properties\": {\n \"jwk\": {\n \"$ref\": \"#/components/schemas/JWK\"\n },\n \"jwkThumbprint\": {\n \"type\": \"string\"\n },\n \"kmsKeyRef\": {\n \"type\": \"string\"\n },\n \"method\": {\n \"type\": \"string\",\n \"const\": \"cose_key\"\n },\n \"opts\": {\n \"$ref\": \"#/components/schemas/ManagedIdentifierOpts\"\n },\n \"key\": {\n \"$ref\": \"#/components/schemas/IKey\"\n },\n \"kid\": {\n \"type\": \"string\"\n },\n \"issuer\": {\n \"type\": \"string\"\n },\n \"clientId\": {\n \"type\": \"string\"\n },\n \"clientIdScheme\": {\n \"type\": \"string\"\n },\n \"identifier\": {\n \"$ref\": \"#/components/schemas/ICoseKeyJson\"\n }\n },\n \"required\": [\n \"identifier\",\n \"jwk\",\n \"jwkThumbprint\",\n \"key\",\n \"kmsKeyRef\",\n \"method\",\n \"opts\"\n ]\n },\n \"ManagedIdentifierDidOpts\": {\n \"type\": \"object\",\n \"properties\": {\n \"method\": {\n \"type\": \"string\",\n \"const\": \"did\"\n },\n \"identifier\": {\n \"anyOf\": [\n {\n \"$ref\": \"#/components/schemas/IIdentifier\"\n },\n {\n \"type\": \"string\"\n }\n ]\n },\n \"keyType\": {\n \"$ref\": \"#/components/schemas/TKeyType\"\n },\n \"offlineWhenNoDIDRegistered\": {\n \"type\": \"boolean\"\n },\n \"noVerificationMethodFallback\": {\n \"type\": \"boolean\"\n },\n \"controllerKey\": {\n \"type\": \"boolean\"\n },\n \"vmRelationship\": {\n \"$ref\": \"#/components/schemas/DIDDocumentSection\"\n },\n \"kmsKeyRef\": {\n \"type\": \"string\"\n },\n \"issuer\": {\n \"type\": \"string\"\n },\n \"kid\": {\n \"type\": \"string\"\n },\n \"clientId\": {\n \"type\": \"string\"\n },\n \"clientIdScheme\": {\n \"type\": \"string\"\n }\n },\n \"required\": [\n \"identifier\"\n ]\n },\n \"ManagedIdentifierDidResult\": {\n \"type\": \"object\",\n \"properties\": {\n \"jwk\": {\n \"$ref\": \"#/components/schemas/JWK\"\n },\n \"jwkThumbprint\": {\n \"type\": \"string\"\n },\n \"kmsKeyRef\": {\n \"type\": \"string\"\n },\n \"method\": {\n \"type\": \"string\",\n \"const\": \"did\"\n },\n \"opts\": {\n \"$ref\": \"#/components/schemas/ManagedIdentifierOpts\"\n },\n \"key\": {\n \"$ref\": \"#/components/schemas/IKey\"\n },\n \"kid\": {\n \"type\": \"string\"\n },\n \"issuer\": {\n \"type\": \"string\"\n },\n \"clientId\": {\n \"type\": \"string\"\n },\n \"clientIdScheme\": {\n \"type\": \"string\"\n },\n \"identifier\": {\n \"$ref\": \"#/components/schemas/IIdentifier\"\n },\n \"did\": {\n \"type\": \"string\"\n },\n \"keys\": {\n \"type\": \"array\",\n \"items\": {\n \"$ref\": \"#/components/schemas/IKey\"\n }\n },\n \"verificationMethodSection\": {\n \"$ref\": \"#/components/schemas/DIDDocumentSection\"\n },\n \"controllerKeyId\": {\n \"type\": \"string\"\n }\n },\n \"required\": [\n \"did\",\n \"identifier\",\n \"issuer\",\n \"jwk\",\n \"jwkThumbprint\",\n \"key\",\n \"keys\",\n \"kid\",\n \"kmsKeyRef\",\n \"method\",\n \"opts\"\n ]\n },\n \"ManagedIdentifierJwkOpts\": {\n \"type\": \"object\",\n \"properties\": {\n \"method\": {\n \"type\": \"string\",\n \"const\": \"jwk\"\n },\n \"identifier\": {\n \"$ref\": \"#/components/schemas/JWK\"\n },\n \"kmsKeyRef\": {\n \"type\": \"string\"\n },\n \"issuer\": {\n \"type\": \"string\"\n },\n \"kid\": {\n \"type\": \"string\"\n },\n \"clientId\": {\n \"type\": \"string\"\n },\n \"clientIdScheme\": {\n \"type\": \"string\"\n }\n },\n \"required\": [\n \"identifier\"\n ]\n },\n \"ManagedIdentifierJwkResult\": {\n \"type\": \"object\",\n \"properties\": {\n \"jwk\": {\n \"$ref\": \"#/components/schemas/JWK\"\n },\n \"jwkThumbprint\": {\n \"type\": \"string\"\n },\n \"kmsKeyRef\": {\n \"type\": \"string\"\n },\n \"method\": {\n \"type\": \"string\",\n \"const\": \"jwk\"\n },\n \"opts\": {\n \"$ref\": \"#/components/schemas/ManagedIdentifierOpts\"\n },\n \"key\": {\n \"$ref\": \"#/components/schemas/IKey\"\n },\n \"kid\": {\n \"type\": \"string\"\n },\n \"issuer\": {\n \"type\": \"string\"\n },\n \"clientId\": {\n \"type\": \"string\"\n },\n \"clientIdScheme\": {\n \"type\": \"string\"\n },\n \"identifier\": {\n \"$ref\": \"#/components/schemas/JWK\"\n }\n },\n \"required\": [\n \"identifier\",\n \"jwk\",\n \"jwkThumbprint\",\n \"key\",\n \"kmsKeyRef\",\n \"method\",\n \"opts\"\n ]\n },\n \"ManagedIdentifierKeyOpts\": {\n \"type\": \"object\",\n \"properties\": {\n \"method\": {\n \"type\": \"string\",\n \"const\": \"key\"\n },\n \"identifier\": {\n \"$ref\": \"#/components/schemas/IKey\"\n },\n \"kmsKeyRef\": {\n \"type\": \"string\"\n },\n \"issuer\": {\n \"type\": \"string\"\n },\n \"kid\": {\n \"type\": \"string\"\n },\n \"clientId\": {\n \"type\": \"string\"\n },\n \"clientIdScheme\": {\n \"type\": \"string\"\n }\n },\n \"required\": [\n \"identifier\"\n ]\n },\n \"ManagedIdentifierKeyResult\": {\n \"type\": \"object\",\n \"properties\": {\n \"jwk\": {\n \"$ref\": \"#/components/schemas/JWK\"\n },\n \"jwkThumbprint\": {\n \"type\": \"string\"\n },\n \"kmsKeyRef\": {\n \"type\": \"string\"\n },\n \"method\": {\n \"type\": \"string\",\n \"const\": \"key\"\n },\n \"opts\": {\n \"$ref\": \"#/components/schemas/ManagedIdentifierOpts\"\n },\n \"key\": {\n \"$ref\": \"#/components/schemas/IKey\"\n },\n \"kid\": {\n \"type\": \"string\"\n },\n \"issuer\": {\n \"type\": \"string\"\n },\n \"clientId\": {\n \"type\": \"string\"\n },\n \"clientIdScheme\": {\n \"type\": \"string\"\n },\n \"identifier\": {\n \"$ref\": \"#/components/schemas/IKey\"\n }\n },\n \"required\": [\n \"identifier\",\n \"jwk\",\n \"jwkThumbprint\",\n \"key\",\n \"kmsKeyRef\",\n \"method\",\n \"opts\"\n ]\n },\n \"ManagedIdentifierKidOpts\": {\n \"type\": \"object\",\n \"properties\": {\n \"method\": {\n \"type\": \"string\",\n \"const\": \"kid\"\n },\n \"identifier\": {\n \"type\": \"string\"\n },\n \"kmsKeyRef\": {\n \"type\": \"string\"\n },\n \"issuer\": {\n \"type\": \"string\"\n },\n \"kid\": {\n \"type\": \"string\"\n },\n \"clientId\": {\n \"type\": \"string\"\n },\n \"clientIdScheme\": {\n \"type\": \"string\"\n }\n },\n \"required\": [\n \"identifier\"\n ]\n },\n \"ManagedIdentifierKidResult\": {\n \"type\": \"object\",\n \"properties\": {\n \"jwk\": {\n \"$ref\": \"#/components/schemas/JWK\"\n },\n \"jwkThumbprint\": {\n \"type\": \"string\"\n },\n \"kmsKeyRef\": {\n \"type\": \"string\"\n },\n \"method\": {\n \"type\": \"string\",\n \"const\": \"kid\"\n },\n \"opts\": {\n \"$ref\": \"#/components/schemas/ManagedIdentifierOpts\"\n },\n \"key\": {\n \"$ref\": \"#/components/schemas/IKey\"\n },\n \"kid\": {\n \"type\": \"string\"\n },\n \"issuer\": {\n \"type\": \"string\"\n },\n \"clientId\": {\n \"type\": \"string\"\n },\n \"clientIdScheme\": {\n \"type\": \"string\"\n },\n \"identifier\": {\n \"type\": \"string\"\n }\n },\n \"required\": [\n \"identifier\",\n \"jwk\",\n \"jwkThumbprint\",\n \"key\",\n \"kid\",\n \"kmsKeyRef\",\n \"method\",\n \"opts\"\n ]\n },\n \"ManagedIdentifierOID4VCIssuerOpts\": {\n \"type\": \"object\",\n \"properties\": {\n \"method\": {\n \"type\": \"string\",\n \"const\": \"oid4vci-issuer\"\n },\n \"identifier\": {\n \"type\": \"string\"\n },\n \"kmsKeyRef\": {\n \"type\": \"string\"\n },\n \"issuer\": {\n \"type\": \"string\"\n },\n \"kid\": {\n \"type\": \"string\"\n },\n \"clientId\": {\n \"type\": \"string\"\n },\n \"clientIdScheme\": {\n \"type\": \"string\"\n }\n },\n \"required\": [\n \"identifier\"\n ]\n },\n \"ManagedIdentifierOID4VCIssuerResult\": {\n \"type\": \"object\",\n \"properties\": {\n \"jwk\": {\n \"$ref\": \"#/components/schemas/JWK\"\n },\n \"jwkThumbprint\": {\n \"type\": \"string\"\n },\n \"kmsKeyRef\": {\n \"type\": \"string\"\n },\n \"method\": {\n \"type\": \"string\",\n \"const\": \"oid4vci-issuer\"\n },\n \"opts\": {\n \"$ref\": \"#/components/schemas/ManagedIdentifierOpts\"\n },\n \"key\": {\n \"$ref\": \"#/components/schemas/IKey\"\n },\n \"kid\": {\n \"type\": \"string\"\n },\n \"issuer\": {\n \"type\": \"string\"\n },\n \"clientId\": {\n \"type\": \"string\"\n },\n \"clientIdScheme\": {\n \"type\": \"string\"\n },\n \"identifier\": {\n \"type\": \"string\"\n }\n },\n \"required\": [\n \"identifier\",\n \"jwk\",\n \"jwkThumbprint\",\n \"key\",\n \"kmsKeyRef\",\n \"method\",\n \"opts\"\n ]\n },\n \"ManagedIdentifierX5cOpts\": {\n \"type\": \"object\",\n \"properties\": {\n \"method\": {\n \"type\": \"string\",\n \"const\": \"x5c\"\n },\n \"identifier\": {\n \"type\": \"array\",\n \"items\": {\n \"type\": \"string\"\n }\n },\n \"kmsKeyRef\": {\n \"type\": \"string\"\n },\n \"issuer\": {\n \"type\": \"string\"\n },\n \"kid\": {\n \"type\": \"string\"\n },\n \"clientId\": {\n \"type\": \"string\"\n },\n \"clientIdScheme\": {\n \"type\": \"string\"\n }\n },\n \"required\": [\n \"identifier\"\n ]\n },\n \"ManagedIdentifierX5cResult\": {\n \"type\": \"object\",\n \"properties\": {\n \"jwk\": {\n \"$ref\": \"#/components/schemas/JWK\"\n },\n \"jwkThumbprint\": {\n \"type\": \"string\"\n },\n \"kmsKeyRef\": {\n \"type\": \"string\"\n },\n \"method\": {\n \"type\": \"string\",\n \"const\": \"x5c\"\n },\n \"opts\": {\n \"$ref\": \"#/components/schemas/ManagedIdentifierOpts\"\n },\n \"key\": {\n \"$ref\": \"#/components/schemas/IKey\"\n },\n \"kid\": {\n \"type\": \"string\"\n },\n \"issuer\": {\n \"type\": \"string\"\n },\n \"clientId\": {\n \"type\": \"string\"\n },\n \"clientIdScheme\": {\n \"type\": \"string\"\n },\n \"identifier\": {\n \"type\": \"array\",\n \"items\": {\n \"type\": \"string\"\n }\n },\n \"x5c\": {\n \"type\": \"array\",\n \"items\": {\n \"type\": \"string\"\n }\n },\n \"certificate\": {}\n },\n \"required\": [\n \"certificate\",\n \"identifier\",\n \"jwk\",\n \"jwkThumbprint\",\n \"key\",\n \"kmsKeyRef\",\n \"method\",\n \"opts\",\n \"x5c\"\n ]\n }\n },\n \"methods\": {\n \"identifierExternalResolve\": {\n \"description\": \"Main method for external identifiers. We always go through this method (also the others) as we want to integrate a plugin for anomaly detection. Having a single method helps\",\n \"arguments\": {\n \"$ref\": \"#/components/schemas/ExternalIdentifierOpts\"\n },\n \"returnType\": {\n \"$ref\": \"#/components/schemas/ExternalIdentifierResult\"\n }\n },\n \"identifierExternalResolveByCoseKey\": {\n \"description\": \"\",\n \"arguments\": {\n \"$ref\": \"#/components/schemas/ExternalIdentifierCoseKeyOpts\"\n },\n \"returnType\": {\n \"$ref\": \"#/components/schemas/ExternalIdentifierCoseKeyResult\"\n }\n },\n \"identifierExternalResolveByDid\": {\n \"description\": \"\",\n \"arguments\": {\n \"$ref\": \"#/components/schemas/ExternalIdentifierDidOpts\"\n },\n \"returnType\": {\n \"$ref\": \"#/components/schemas/ExternalIdentifierDidResult\"\n }\n },\n \"identifierExternalResolveByJwk\": {\n \"description\": \"\",\n \"arguments\": {\n \"$ref\": \"#/components/schemas/ExternalIdentifierJwkOpts\"\n },\n \"returnType\": {\n \"$ref\": \"#/components/schemas/ExternalIdentifierJwkResult\"\n }\n },\n \"identifierExternalResolveByOIDFEntityId\": {\n \"description\": \"\",\n \"arguments\": {\n \"$ref\": \"#/components/schemas/ExternalIdentifierOIDFEntityIdOpts\"\n },\n \"returnType\": {\n \"$ref\": \"#/components/schemas/ExternalIdentifierOIDFEntityIdResult\"\n }\n },\n \"identifierExternalResolveByX5c\": {\n \"description\": \"\",\n \"arguments\": {\n \"$ref\": \"#/components/schemas/ExternalIdentifierX5cOpts\"\n },\n \"returnType\": {\n \"$ref\": \"#/components/schemas/ExternalIdentifierX5cResult\"\n }\n },\n \"identifierManagedGet\": {\n \"description\": \"Main method for managed identifiers. We always go through this method (also the others) as we want to integrate a plugin for anomaly detection. Having a single method helps\",\n \"arguments\": {\n \"$ref\": \"#/components/schemas/ManagedIdentifierOptsOrResult\"\n },\n \"returnType\": {\n \"$ref\": \"#/components/schemas/ManagedIdentifierResult\"\n }\n },\n \"identifierManagedGetByCoseKey\": {\n \"description\": \"\",\n \"arguments\": {\n \"$ref\": \"#/components/schemas/ManagedIdentifierCoseKeyOpts\"\n },\n \"returnType\": {\n \"$ref\": \"#/components/schemas/ManagedIdentifierCoseKeyResult\"\n }\n },\n \"identifierManagedGetByDid\": {\n \"description\": \"\",\n \"arguments\": {\n \"$ref\": \"#/components/schemas/ManagedIdentifierDidOpts\"\n },\n \"returnType\": {\n \"$ref\": \"#/components/schemas/ManagedIdentifierDidResult\"\n }\n },\n \"identifierManagedGetByJwk\": {\n \"description\": \"\",\n \"arguments\": {\n \"$ref\": \"#/components/schemas/ManagedIdentifierJwkOpts\"\n },\n \"returnType\": {\n \"$ref\": \"#/components/schemas/ManagedIdentifierJwkResult\"\n }\n },\n \"identifierManagedGetByKey\": {\n \"description\": \"\",\n \"arguments\": {\n \"$ref\": \"#/components/schemas/ManagedIdentifierKeyOpts\"\n },\n \"returnType\": {\n \"$ref\": \"#/components/schemas/ManagedIdentifierKeyResult\"\n }\n },\n \"identifierManagedGetByKid\": {\n \"description\": \"\",\n \"arguments\": {\n \"$ref\": \"#/components/schemas/ManagedIdentifierKidOpts\"\n },\n \"returnType\": {\n \"$ref\": \"#/components/schemas/ManagedIdentifierKidResult\"\n }\n },\n \"identifierManagedGetByOID4VCIssuer\": {\n \"description\": \"\",\n \"arguments\": {\n \"$ref\": \"#/components/schemas/ManagedIdentifierOID4VCIssuerOpts\"\n },\n \"returnType\": {\n \"$ref\": \"#/components/schemas/ManagedIdentifierOID4VCIssuerResult\"\n }\n },\n \"identifierManagedGetByX5c\": {\n \"description\": \"\",\n \"arguments\": {\n \"$ref\": \"#/components/schemas/ManagedIdentifierX5cOpts\"\n },\n \"returnType\": {\n \"$ref\": \"#/components/schemas/ManagedIdentifierX5cResult\"\n }\n }\n }\n }\n }\n}","import { ICoseKeyJson, JWK } from '@sphereon/ssi-types'\nimport { IIdentifier, IKey } from '@veramo/core'\nimport { ExternalIdentifierType } from './externalIdentifierTypes'\nimport { ManagedIdentifierType } from './managedIdentifierTypes'\n\nexport interface JwkInfo {\n jwk: JWK\n jwkThumbprint: string\n}\n\nexport function isDidIdentifier(identifier: ManagedIdentifierType | ExternalIdentifierType): identifier is IIdentifier | string {\n return isIIdentifier(identifier) || (typeof identifier === 'string' && identifier.startsWith('did:'))\n}\n\nexport function isIIdentifier(identifier: ManagedIdentifierType | ExternalIdentifierType): identifier is IIdentifier {\n return typeof identifier === 'object' && !Array.isArray(identifier) && 'did' in identifier && 'keys' in identifier\n}\n\nexport function isJwkIdentifier(identifier: ManagedIdentifierType | ExternalIdentifierType): identifier is JWK {\n return typeof identifier === 'object' && !Array.isArray(identifier) && 'kty' in identifier\n}\n\nexport function isOidcDiscoveryIdentifier(identifier: ManagedIdentifierType | ExternalIdentifierType): identifier is string {\n return typeof identifier === 'string' && identifier.startsWith('http') && identifier.endsWith('/.well-known/openid-configuration')\n}\n\nexport function isJwksUrlIdentifier(identifier: ManagedIdentifierType | ExternalIdentifierType): identifier is string {\n return typeof identifier === 'string' && identifier.startsWith('http') && identifier.endsWith('jwks.json')\n}\n\nexport function isKidIdentifier(identifier: ManagedIdentifierType | ExternalIdentifierType): identifier is string {\n return typeof identifier === 'string' && !identifier.startsWith('did:') && !identifier.startsWith('http')\n}\n\nexport function isOID4VCIssuerIdentifier(identifier: ManagedIdentifierType | ExternalIdentifierType): identifier is string {\n return typeof identifier === 'string' && identifier.startsWith('http') && identifier.endsWith('/.well-known/openid-credential-issuer')\n}\n\nexport function isKeyIdentifier(identifier: ManagedIdentifierType): identifier is IKey {\n return (\n typeof identifier === 'string' &&\n !Array.isArray(identifier) &&\n typeof identifier === 'object' &&\n `kid` in identifier &&\n 'publicKeyHex' in identifier\n )\n}\n\nexport function isCoseKeyIdentifier(identifier: ManagedIdentifierType): identifier is ICoseKeyJson {\n return typeof identifier === 'object' && `kty` in identifier && ('baseIV' in identifier || 'x5chain' in identifier) && !('x5c' in identifier)\n}\n\nexport function isOIDFEntityIdIdentifier(identifier: ManagedIdentifierType): identifier is string {\n return typeof identifier === 'string' && identifier.startsWith('https://')\n}\n\nexport function isX5cIdentifier(identifier: ManagedIdentifierType | ExternalIdentifierType): identifier is string[] {\n return Array.isArray(identifier) && identifier.length > 0 // todo: Do we want to do additional validation? We know it must be DER and thus hex for instance\n}\n","import { DidDocumentJwks } from '@sphereon/ssi-sdk-ext.did-utils'\nimport { ICoseKeyJson, JWK } from '@sphereon/ssi-types'\nimport { X509CertificateChainValidationOpts, X509ValidationResult } from '@sphereon/ssi-sdk-ext.x509-utils'\nimport { IParsedDID } from '@sphereon/ssi-types'\nimport { DIDDocument, DIDDocumentSection, DIDResolutionResult } from '@veramo/core'\nimport {\n isCoseKeyIdentifier,\n isDidIdentifier,\n isOIDFEntityIdIdentifier,\n isJwkIdentifier,\n isJwksUrlIdentifier,\n isKidIdentifier,\n isOidcDiscoveryIdentifier,\n isX5cIdentifier,\n JwkInfo,\n} from './common'\nimport { JwsPayload } from './IJwtService'\n\n/**\n * Use whenever we need to resolve an external identifier. We can pass in kids, DIDs, and x5chains\n *\n * The functions below can be used to check the type, and they also provide the proper runtime types\n */\nexport type ExternalIdentifierType = string | string[] | JWK\n\nexport type ExternalIdentifierOptsBase = {\n method?: ExternalIdentifierMethod // If provided always takes precedences otherwise it will be inferred from the identifier\n identifier: ExternalIdentifierType\n}\n\nexport type ExternalIdentifierDidOpts = Omit<ExternalIdentifierOptsBase, 'method'> & {\n method?: 'did'\n identifier: string\n noVerificationMethodFallback?: boolean\n vmRelationship?: DIDDocumentSection\n localResolution?: boolean // Resolve identifiers hosted by the agent\n uniresolverResolution?: boolean // Resolve identifiers using universal resolver\n resolverResolution?: boolean // Use registered drivers\n}\n\nexport function isExternalIdentifierDidOpts(opts: ExternalIdentifierOptsBase): opts is ExternalIdentifierDidOpts {\n const { identifier } = opts\n return ('method' in opts && opts.method === 'did') || isDidIdentifier(identifier)\n}\n\nexport type ExternalIdentifierOpts = (\n | ExternalIdentifierJwkOpts\n | ExternalIdentifierX5cOpts\n | ExternalIdentifierDidOpts\n | ExternalIdentifierKidOpts\n | ExternalIdentifierCoseKeyOpts\n | ExternalIdentifierOIDFEntityIdOpts\n) &\n ExternalIdentifierOptsBase\n\nexport type ExternalIdentifierKidOpts = Omit<ExternalIdentifierOptsBase, 'method'> & {\n method?: 'kid'\n identifier: string\n}\n\nexport function isExternalIdentifierKidOpts(opts: ExternalIdentifierOptsBase): opts is ExternalIdentifierKidOpts {\n const { identifier } = opts\n return ('method' in opts && opts.method === 'kid') || isKidIdentifier(identifier)\n}\n\nexport type ExternalIdentifierJwkOpts = Omit<ExternalIdentifierOptsBase, 'method'> & {\n method?: 'jwk'\n identifier: JWK\n x5c?: ExternalIdentifierX5cOpts\n}\n\nexport function isExternalIdentifierJwkOpts(opts: ExternalIdentifierOptsBase): opts is ExternalIdentifierJwkOpts {\n const { identifier } = opts\n return ('method' in opts && opts.method === 'jwk') || isJwkIdentifier(identifier)\n}\n\nexport type ExternalIdentifierCoseKeyOpts = Omit<ExternalIdentifierOptsBase, 'method'> & {\n method?: 'cose_key'\n identifier: ICoseKeyJson\n}\n\nexport function isExternalIdentifierCoseKeyOpts(opts: ExternalIdentifierOptsBase): opts is ExternalIdentifierCoseKeyOpts {\n const { identifier } = opts\n return ('method' in opts && opts.method === 'cose_key') || isCoseKeyIdentifier(identifier)\n}\n\nexport type ExternalIdentifierOidcDiscoveryOpts = Omit<ExternalIdentifierOptsBase, 'method'> & {\n method?: 'oidc-discovery'\n identifier: string\n}\n\nexport function isExternalIdentifierOidcDiscoveryOpts(opts: ExternalIdentifierOptsBase): opts is ExternalIdentifierJwkOpts {\n const { identifier } = opts\n return ('method' in opts && opts.method === 'oidc-discovery') || isOidcDiscoveryIdentifier(identifier)\n}\n\nexport type ExternalIdentifierJwksUrlOpts = Omit<ExternalIdentifierOptsBase, 'method'> & {\n method?: 'jwks-url'\n identifier: string\n}\n\nexport function isExternalIdentifierJwksUrlOpts(opts: ExternalIdentifierOptsBase): opts is ExternalIdentifierJwksUrlOpts {\n const { identifier } = opts\n return ('method' in opts && opts.method === 'oidc-discovery') || isJwksUrlIdentifier(identifier)\n}\n\nexport type ExternalIdentifierOIDFEntityIdOpts = Omit<ExternalIdentifierOptsBase, 'method'> & {\n method?: 'entity_id'\n identifier: string\n trustAnchors?: Array<string>\n}\n\nexport function isExternalIdentifierOIDFEntityIdOpts(opts: ExternalIdentifierOptsBase): opts is ExternalIdentifierOIDFEntityIdOpts {\n const { identifier } = opts\n return (('method' in opts && opts.method === 'entity_id') || 'trustAnchors' in opts) && isOIDFEntityIdIdentifier(identifier)\n}\n\nexport type ExternalIdentifierX5cOpts = Omit<ExternalIdentifierOptsBase, 'method'> &\n X509CertificateChainValidationOpts & {\n method?: 'x5c'\n identifier: string[]\n verify?: boolean // defaults to true\n verificationTime?: Date\n trustAnchors?: string[]\n }\n\nexport function isExternalIdentifierX5cOpts(opts: ExternalIdentifierOptsBase): opts is ExternalIdentifierX5cOpts {\n const { identifier } = opts\n return ('method' in opts && opts.method === 'x5c') || isX5cIdentifier(identifier)\n}\n\nexport type ExternalIdentifierMethod = 'did' | 'jwk' | 'x5c' | 'kid' | 'cose_key' | 'oidc-discovery' | 'jwks-url' | 'oid4vci-issuer' | 'entity_id'\n\nexport type ExternalIdentifierResult = IExternalIdentifierResultBase &\n (\n | ExternalIdentifierDidResult\n | ExternalIdentifierX5cResult\n | ExternalIdentifierJwkResult\n | ExternalIdentifierOIDFEntityIdResult\n | ExternalIdentifierCoseKeyResult\n )\n\nexport interface IExternalIdentifierResultBase {\n method: ExternalIdentifierMethod\n jwks: Array<ExternalJwkInfo>\n}\n\nexport interface ExternalIdentifierJwkResult extends IExternalIdentifierResultBase {\n method: 'jwk'\n jwk: JWK\n x5c?: ExternalIdentifierX5cResult\n}\n\nexport interface ExternalIdentifierCoseKeyResult extends IExternalIdentifierResultBase {\n method: 'cose_key'\n coseKey: ICoseKeyJson\n x5c?: ExternalIdentifierX5cResult\n}\n\nexport interface ExternalIdentifierX5cResult extends IExternalIdentifierResultBase {\n method: 'x5c'\n x5c: string[]\n issuerJWK: JWK\n verificationResult?: X509ValidationResult\n certificates: any[] // for now since our schema generator trips on pkijs Certificate(Json) object //fixme\n}\n\nexport type TrustedAnchor = string\nexport type PublicKeyHex = string\nexport type ErrorMessage = string\n\nexport interface ExternalIdentifierOIDFEntityIdResult extends IExternalIdentifierResultBase {\n method: 'entity_id'\n trustedAnchors: Array<TrustedAnchor>\n errorList?: Record<TrustedAnchor, ErrorMessage>\n jwtPayload?: JwsPayload\n trustEstablished: boolean\n}\n\nexport interface ExternalJwkInfo extends JwkInfo {\n kid?: string\n publicKeyHex: string\n}\n\nexport interface ExternalIdentifierDidResult extends IExternalIdentifierResultBase {\n method: 'did'\n did: string\n didDocument?: DIDDocument\n didJwks?: DidDocumentJwks\n didResolutionResult: Omit<DIDResolutionResult, 'didDocument'> // we already provide that directly\n didParsed: IParsedDID\n}\n","import { ClientIdScheme } from '@sphereon/ssi-sdk-ext.x509-utils'\nimport { ICoseKeyJson, JWK } from '@sphereon/ssi-types'\nimport { DIDDocumentSection, IIdentifier, IKey, TKeyType } from '@veramo/core'\nimport {\n isCoseKeyIdentifier,\n isDidIdentifier,\n isOID4VCIssuerIdentifier,\n isJwkIdentifier,\n isKeyIdentifier,\n isKidIdentifier,\n isX5cIdentifier,\n JwkInfo,\n} from './common'\n\n/**\n * Use whenever we need to pass in an identifier. We can pass in kids, DIDs, IIdentifier objects and x5chains\n *\n * The functions below can be used to check the type, and they also provide the proper 'runtime' types\n */\nexport type ManagedIdentifierType = IIdentifier /*did*/ | string /*did or kid*/ | string[] /*x5c*/ | JWK | IKey | ICoseKeyJson\n\nexport type ManagedIdentifierOpts = (\n | ManagedIdentifierJwkOpts\n | ManagedIdentifierX5cOpts\n | ManagedIdentifierDidOpts\n | ManagedIdentifierKidOpts\n | ManagedIdentifierKeyOpts\n | ManagedIdentifierCoseKeyOpts\n | ManagedIdentifierOID4VCIssuerOpts\n) &\n ManagedIdentifierOptsBase\n\nexport type ManagedIdentifierOptsBase = {\n method?: ManagedIdentifierMethod // If provided always takes precedences otherwise it will be inferred from the identifier\n identifier: ManagedIdentifierType\n kmsKeyRef?: string // The key reference for the KMS system. If provided this value will be used to determine the appropriate key. Otherwise it will be inferred\n issuer?: string // can be used when a specific issuer needs to end up, for instance when signing JWTs. Will be returned or inferred if not provided\n kid?: string // can be used when a specific kid value needs to be used. For instance when signing JWTs. Will be returned or inferred if not provided\n clientId?: string\n clientIdScheme?: ClientIdScheme | 'did' | string\n}\n\nexport type ManagedIdentifierDidOpts = Omit<ManagedIdentifierOptsBase, 'method' | 'identifier'> & {\n method?: 'did'\n identifier: IIdentifier | string\n keyType?: TKeyType\n offlineWhenNoDIDRegistered?: boolean\n noVerificationMethodFallback?: boolean\n controllerKey?: boolean\n vmRelationship?: DIDDocumentSection\n}\n\nexport function isManagedIdentifierDidOpts(opts: ManagedIdentifierOptsBase): opts is ManagedIdentifierDidOpts {\n const { identifier } = opts\n return ('method' in opts && opts.method === 'did') || isDidIdentifier(identifier)\n}\n\nexport type ManagedIdentifierKidOpts = Omit<ManagedIdentifierOptsBase, 'method' | 'identifier'> & {\n method?: 'kid'\n identifier: string\n}\n\nexport function isManagedIdentifierKidOpts(opts: ManagedIdentifierOptsBase): opts is ManagedIdentifierKidOpts {\n const { identifier } = opts\n return ('method' in opts && opts.method === 'kid') || isKidIdentifier(identifier)\n}\n\nexport type ManagedIdentifierKeyOpts = Omit<ManagedIdentifierOptsBase, 'method' | 'identifier'> & {\n method?: 'key'\n identifier: IKey\n}\n\nexport function isManagedIdentifierKeyOpts(opts: ManagedIdentifierOptsBase): opts is ManagedIdentifierKeyOpts {\n const { identifier } = opts\n return ('method' in opts && opts.method === 'key') || isKeyIdentifier(identifier)\n}\n\nexport type ManagedIdentifierCoseKeyOpts = Omit<ManagedIdentifierOptsBase, 'method' | 'identifier'> & {\n method?: 'cose_key'\n identifier: ICoseKeyJson\n}\n\nexport function isManagedIdentifierCoseKeyOpts(opts: ManagedIdentifierOptsBase): opts is ManagedIdentifierCoseKeyOpts {\n const { identifier } = opts\n return ('method' in opts && opts.method === 'cose_key') || isCoseKeyIdentifier(identifier)\n}\n\nexport type ManagedIdentifierOID4VCIssuerOpts = Omit<ManagedIdentifierOptsBase, 'method' | 'identifier'> & {\n method?: 'oid4vci-issuer'\n identifier: string\n}\n\nexport function isManagedIdentifierOID4VCIssuerOpts(opts: ManagedIdentifierOptsBase): opts is ManagedIdentifierCoseKeyOpts {\n const { identifier } = opts\n return ('method' in opts && opts.method === 'oid4vci-issuer') || isOID4VCIssuerIdentifier(identifier)\n}\n\nexport type ManagedIdentifierJwkOpts = Omit<ManagedIdentifierOptsBase, 'method' | 'identifier'> & {\n method?: 'jwk'\n identifier: JWK\n}\n\nexport function isManagedIdentifierJwkOpts(opts: ManagedIdentifierOptsBase): opts is ManagedIdentifierJwkOpts {\n const { identifier } = opts\n return ('method' in opts && opts.method === 'jwk') || isJwkIdentifier(identifier)\n}\n\nexport type ManagedIdentifierX5cOpts = Omit<ManagedIdentifierOptsBase, 'method' | 'identifier'> & {\n method?: 'x5c'\n identifier: string[]\n}\n\nexport function isManagedIdentifierX5cOpts(opts: ManagedIdentifierOptsBase): opts is ManagedIdentifierX5cOpts {\n const { identifier } = opts\n return ('method' in opts && opts.method === 'x5c') || isX5cIdentifier(identifier)\n}\n\nexport interface ManagedJwkInfo extends JwkInfo {\n kmsKeyRef: string\n}\n\nexport interface IManagedIdentifierResultBase extends ManagedJwkInfo {\n method: ManagedIdentifierMethod\n opts: ManagedIdentifierOpts\n key: IKey\n kid?: string\n issuer?: string\n clientId?: string\n clientIdScheme?: ClientIdScheme | 'did' | string\n identifier: ManagedIdentifierType\n}\n\nexport function isManagedIdentifierCoseKeyResult(object: IManagedIdentifierResultBase): object is ManagedIdentifierCoseKeyResult {\n return object!! && typeof object === 'object' && 'method' in object && object.method === 'cose_key'\n}\n\nexport function isManagedIdentifierDidResult(object: IManagedIdentifierResultBase): object is ManagedIdentifierDidResult {\n return object!! && typeof object === 'object' && 'method' in object && object.method === 'did'\n}\n\nexport function isManagedIdentifierX5cResult(object: IManagedIdentifierResultBase): object is ManagedIdentifierX5cResult {\n return object!! && typeof object === 'object' && 'method' in object && object.method === 'x5c'\n}\n\nexport function isManagedIdentifierJwkResult(object: IManagedIdentifierResultBase): object is ManagedIdentifierJwkResult {\n return object!! && typeof object === 'object' && 'method' in object && object.method === 'jwk'\n}\n\nexport function isManagedIdentifierKidResult(object: IManagedIdentifierResultBase): object is ManagedIdentifierKidResult {\n return object!! && typeof object === 'object' && 'method' in object && object.method === 'kid'\n}\n\nexport function isManagedIdentifierKeyResult(object: IManagedIdentifierResultBase): object is ManagedIdentifierKeyResult {\n return object!! && typeof object === 'object' && 'method' in object && object.method === 'key'\n}\n\nexport interface ManagedIdentifierDidResult extends IManagedIdentifierResultBase {\n method: 'did'\n identifier: IIdentifier\n did: string\n // key: IKey // The key associated with the requested did method sections. Controller key in case of no DID method section requested\n keys: Array<IKey> // If there is more than one key for the VM relationship.\n verificationMethodSection?: DIDDocumentSection\n controllerKeyId?: string\n issuer: string\n kid: string\n}\n\nexport interface ManagedIdentifierJwkResult extends IManagedIdentifierResultBase {\n identifier: JWK\n method: 'jwk'\n}\n\nexport interface ManagedIdentifierKidResult extends IManagedIdentifierResultBase {\n method: 'kid'\n identifier: string\n kid: string\n}\n\nexport interface ManagedIdentifierKeyResult extends IManagedIdentifierResultBase {\n method: 'key'\n identifier: IKey\n}\n\nexport interface ManagedIdentifierCoseKeyResult extends IManagedIdentifierResultBase {\n method: 'cose_key'\n identifier: ICoseKeyJson\n}\n\nexport interface ManagedIdentifierOID4VCIssuerResult extends IManagedIdentifierResultBase {\n method: 'oid4vci-issuer'\n identifier: string\n}\n\nexport interface ManagedIdentifierX5cResult extends IManagedIdentifierResultBase {\n method: 'x5c'\n identifier: string[]\n x5c: string[]\n certificate: any // Certificate(JSON_, but trips schema generator. Probably want to create our own DTO\n}\n\nexport type ManagedIdentifierMethod = 'did' | 'jwk' | 'x5c' | 'kid' | 'key' | 'cose_key' | 'oid4vci-issuer'\n\nexport type ManagedIdentifierResult = IManagedIdentifierResultBase &\n (\n | ManagedIdentifierX5cResult\n | ManagedIdentifierDidResult\n | ManagedIdentifierJwkResult\n | ManagedIdentifierKidResult\n | ManagedIdentifierKeyResult\n | ManagedIdentifierCoseKeyResult\n | ManagedIdentifierOID4VCIssuerResult\n )\n\nexport type ManagedIdentifierOptsOrResult = (ManagedIdentifierResult | ManagedIdentifierOpts) & {\n lazyDisabled?: boolean\n}\n","import { IAgentContext, IDIDManager, IKeyManager, IPluginMethodMap } from '@veramo/core'\nimport {\n ExternalIdentifierCoseKeyOpts,\n ExternalIdentifierCoseKeyResult,\n ExternalIdentifierDidOpts,\n ExternalIdentifierDidResult,\n ExternalIdentifierJwkOpts,\n ExternalIdentifierJwkResult,\n ExternalIdentifierOIDFEntityIdOpts,\n ExternalIdentifierOIDFEntityIdResult,\n ExternalIdentifierOpts,\n ExternalIdentifierResult,\n ExternalIdentifierX5cOpts,\n ExternalIdentifierX5cResult,\n} from './externalIdentifierTypes'\nimport {\n ManagedIdentifierCoseKeyOpts,\n ManagedIdentifierCoseKeyResult,\n ManagedIdentifierDidOpts,\n ManagedIdentifierDidResult,\n ManagedIdentifierJwkOpts,\n ManagedIdentifierJwkResult,\n ManagedIdentifierKeyOpts,\n ManagedIdentifierKeyResult,\n ManagedIdentifierKidOpts,\n ManagedIdentifierKidResult,\n ManagedIdentifierOID4VCIssuerOpts,\n ManagedIdentifierOID4VCIssuerResult,\n ManagedIdentifierOptsOrResult,\n ManagedIdentifierResult,\n ManagedIdentifierX5cOpts,\n ManagedIdentifierX5cResult,\n} from './managedIdentifierTypes'\n\n// Exposing the methods here for any REST implementation\nexport const identifierResolutionContextMethods: Array<string> = [\n 'identifierManagedGet',\n 'identifierManagedGetByDid',\n 'identifierManagedGetByKid',\n 'identifierManagedGetByJwk',\n 'identifierManagedGetByX5c',\n 'identifierManagedGetByKey',\n 'identifierManagedGetByOID4VCIssuer',\n 'identifierManagedGetByCoseKey',\n 'identifierExternalResolve',\n 'identifierExternalResolveByDid',\n 'identifierExternalResolveByX5c',\n 'identifierExternalResolveByJwk',\n 'identifierExternalResolveByCoseKey',\n 'identifierExternalResolveByOIDFEntityId',\n]\n\n/**\n * @public\n */\nexport interface IIdentifierResolution extends IPluginMethodMap {\n /**\n * Main method for managed identifiers. We always go through this method (also the others) as we want to integrate a plugin for anomaly detection. Having a single method helps\n *\n * The end result of all these methods is a common baseline response that allows to use a key from the registered KMS systems. It also provides kid and iss(uer) values that can be used in a JWT/JWS for instance\n * Allows to get a managed identifier result in case identifier options are passed in, but returns the identifier directly in case results are passed in. This means resolution can have happened before, or happens in this method\n *\n * We use the opts or result type almost everywhere, as it allows for just in time resolution whenever this method is called and afterwards we have the result, so resolution doesn't have to hit the DB, or external endpoints.\n * Also use this method in the local agent, not using REST. If case the identifier needs to be resolved, you can always have the above methods using REST\n * @param args\n * @param context\n * @public\n */\n identifierManagedGet(args: ManagedIdentifierOptsOrResult, context: IAgentContext<IKeyManager>): Promise<ManagedIdentifierResult>\n\n identifierManagedGetByDid(args: ManagedIdentifierDidOpts, context: IAgentContext<IKeyManager & IDIDManager>): Promise<ManagedIdentifierDidResult>\n\n identifierManagedGetByKid(args: ManagedIdentifierKidOpts, context: IAgentContext<IKeyManager>): Promise<ManagedIdentifierKidResult>\n\n identifierManagedGetByJwk(args: ManagedIdentifierJwkOpts, context: IAgentContext<IKeyManager>): Promise<ManagedIdentifierJwkResult>\n\n identifierManagedGetByX5c(args: ManagedIdentifierX5cOpts, context: IAgentContext<IKeyManager>): Promise<ManagedIdentifierX5cResult>\n\n identifierManagedGetByKey(args: ManagedIdentifierKeyOpts, context: IAgentContext<IKeyManager>): Promise<ManagedIdentifierKeyResult>\n\n identifierManagedGetByCoseKey(\n args: ManagedIdentifierCoseKeyOpts,\n context: IAgentContext<IKeyManager & IIdentifierResolution>\n ): Promise<ManagedIdentifierCoseKeyResult>\n\n identifierManagedGetByOID4VCIssuer(\n args: ManagedIdentifierOID4VCIssuerOpts,\n context: IAgentContext<any>\n ): Promise<ManagedIdentifierOID4VCIssuerResult>\n\n // TODO: We can create a custom managed identifier method allowing developers to register a callback function to get their implementation hooked up. Needs more investigation as it would also impact the KMS\n\n /**\n * Main method for external identifiers. We always go through this method (also the others) as we want to integrate a plugin for anomaly detection. Having a single method helps\n * @param args\n * @param context\n * @public\n */\n identifierExternalResolve(args: ExternalIdentifierOpts, context: IAgentContext<any>): Promise<ExternalIdentifierResult>\n\n identifierExternalResolveByDid(args: ExternalIdentifierDidOpts, context: IAgentContext<any>): Promise<ExternalIdentifierDidResult>\n\n identifierExternalResolveByJwk(args: ExternalIdentifierJwkOpts, context: IAgentContext<any>): Promise<ExternalIdentifierJwkResult>\n\n identifierExternalResolveByCoseKey(args: ExternalIdentifierCoseKeyOpts, context: IAgentContext<any>): Promise<ExternalIdentifierCoseKeyResult>\n\n identifierExternalResolveByX5c(args: ExternalIdentifierX5cOpts, context: IAgentContext<any>): Promise<ExternalIdentifierX5cResult>\n\n identifierExternalResolveByOIDFEntityId(\n args: ExternalIdentifierOIDFEntityIdOpts,\n context: IAgentContext<any>\n ): Promise<ExternalIdentifierOIDFEntityIdResult>\n}\n","import { globalCrypto } from '@sphereon/ssi-sdk-ext.key-utils'\nimport { IAgentContext, IAgentPlugin, IDIDManager, IKeyManager } from '@veramo/core'\nimport { ExternalIdentifierOIDFEntityIdOpts, ExternalIdentifierOIDFEntityIdResult } from '../types'\nimport { schema } from '../index'\nimport { resolveExternalIdentifier, ensureManagedIdentifierResult } from '../functions'\nimport {\n ExternalIdentifierDidOpts,\n ExternalIdentifierDidResult,\n ExternalIdentifierOpts,\n ExternalIdentifierResult,\n ExternalIdentifierX5cOpts,\n ExternalIdentifierX5cResult,\n ExternalIdentifierCoseKeyOpts,\n ExternalIdentifierCoseKeyResult,\n ExternalIdentifierJwkOpts,\n ExternalIdentifierJwkResult,\n IIdentifierResolution,\n ManagedIdentifierCoseKeyOpts,\n ManagedIdentifierCoseKeyResult,\n ManagedIdentifierDidOpts,\n ManagedIdentifierDidResult,\n ManagedIdentifierJwkOpts,\n ManagedIdentifierJwkResult,\n ManagedIdentifierKidOpts,\n ManagedIdentifierKidResult,\n ManagedIdentifierResult,\n ManagedIdentifierX5cOpts,\n ManagedIdentifierX5cResult,\n ManagedIdentifierOID4VCIssuerResult,\n ManagedIdentifierKeyOpts,\n ManagedIdentifierKeyResult,\n ManagedIdentifierOptsOrResult,\n ManagedIdentifierOID4VCIssuerOpts,\n} from '../types'\nimport { IOIDFClient } from '@sphereon/ssi-sdk.oidf-client'\n\nimport { webcrypto } from 'node:crypto'\n\n/**\n * @public\n */\nexport class IdentifierResolution implements IAgentPlugin {\n\n readonly _crypto: webcrypto.Crypto\n\n readonly schema = schema.IMnemonicInfoGenerator\n readonly methods: IIdentifierResolution = {\n identifierManagedGet: this.identifierManagedGet.bind(this),\n identifierManagedGetByDid: this.identifierManagedGetByDid.bind(this),\n identifierManagedGetByKid: this.identifierManagedGetByKid.bind(this),\n identifierManagedGetByJwk: this.identifierManagedGetByJwk.bind(this),\n identifierManagedGetByX5c: this.identifierManagedGetByX5c.bind(this),\n identifierManagedGetByKey: this.identifierManagedGetByKey.bind(this),\n identifierManagedGetByCoseKey: this.identifierManagedGetByCoseKey.bind(this),\n identifierManagedGetByOID4VCIssuer: this.identifierManagedGetByOID4VCIssuer.bind(this),\n\n identifierExternalResolve: this.identifierExternalResolve.bind(this),\n identifierExternalResolveByDid: this.identifierExternalResolveByDid.bind(this),\n identifierExternalResolveByX5c: this.identifierExternalResolveByX5c.bind(this),\n identifierExternalResolveByJwk: this.identifierExternalResolveByJwk.bind(this),\n identifierExternalResolveByCoseKey: this.identifierExternalResolveByCoseKey.bind(this),\n identifierExternalResolveByOIDFEntityId: this.identifierExternalResolveByOIDFEntityId.bind(this),\n\n // todo: JWKSet, oidc-discovery, oid4vci-issuer etc. Anything we already can resolve and need keys of\n }\n\n /**\n * TODO: Add a cache, as we are retrieving the same keys/info quite often\n */\n constructor(opts?: {\n crypto?: webcrypto.Crypto\n }) {\n this._crypto = globalCrypto(false, opts?.crypto)\n }\n\n /**\n * Main method for managed identifiers. We always go through this method (also the other methods below) as we want to\n * integrate a plugin for anomaly detection. Having a single method helps\n * @param args\n * @param context\n */\n private async identifierManagedGet(\n args: ManagedIdentifierOptsOrResult,\n context: IAgentContext<IKeyManager & IIdentifierResolution>\n ): Promise<ManagedIdentifierResult> {\n return await ensureManagedIdentifierResult({ ...args, crypto: this._crypto }, context)\n }\n\n private async identifierManagedGetByDid(\n args: ManagedIdentifierDidOpts,\n context: IAgentContext<IKeyManager & IDIDManager & IIdentifierResolution>\n ): Promise<ManagedIdentifierDidResult> {\n return (await this.identifierManagedGet({ ...args, method: 'did' }, context)) as ManagedIdentifierDidResult\n }\n\n private async identifierManagedGetByKid(\n args: ManagedIdentifierKidOpts,\n context: IAgentContext<IKeyManager & IIdentifierResolution>\n ): Promise<ManagedIdentifierKidResult> {\n return (await this.identifierManagedGet({ ...args, method: 'kid' }, context)) as ManagedIdentifierKidResult\n }\n\n private async identifierManagedGetByKey(\n args: ManagedIdentifierKeyOpts,\n context: IAgentContext<IKeyManager & IIdentifierResolution>\n ): Promise<ManagedIdentifierKeyResult> {\n return (await this.identifierManagedGet({ ...args, method: 'key' }, context)) as ManagedIdentifierKeyResult\n }\n\n private async identifierManagedGetByCoseKey(\n args: ManagedIdentifierCoseKeyOpts,\n context: IAgentContext<IKeyManager & IIdentifierResolution>\n ): Promise<ManagedIdentifierCoseKeyResult> {\n return (await this.identifierManagedGet({ ...args, method: 'cose_key' }, context)) as ManagedIdentifierCoseKeyResult\n }\n\n private async identifierManagedGetByOID4VCIssuer(\n args: ManagedIdentifierOID4VCIssuerOpts,\n context: IAgentContext<IKeyManager & IIdentifierResolution>\n ): Promise<ManagedIdentifierOID4VCIssuerResult> {\n return (await this.identifierManagedGet({ ...args, method: 'oid4vci-issuer' }, context)) as ManagedIdentifierOID4VCIssuerResult\n }\n\n private async identifierManagedGetByJwk(\n args: ManagedIdentifierJwkOpts,\n context: IAgentContext<IKeyManager & IIdentifierResolution>\n ): Promise<ManagedIdentifierJwkResult> {\n return (await this.identifierManagedGet({ ...args, method: 'jwk' }, context)) as ManagedIdentifierJwkResult\n }\n\n private async identifierManagedGetByX5c(\n args: ManagedIdentifierX5cOpts,\n context: IAgentContext<IKeyManager & IIdentifierResolution>\n ): Promise<ManagedIdentifierX5cResult> {\n return (await this.identifierManagedGet({ ...args, method: 'x5c' }, context)) as ManagedIdentifierX5cResult\n }\n\n private async identifierExternalResolve(\n args: ExternalIdentifierOpts,\n context: IAgentContext<IKeyManager | IOIDFClient>\n ): Promise<ExternalIdentifierResult> {\n return await resolveExternalIdentifier({ ...args, crypto: this._crypto }, context)\n }\n\n private async identifierExternalResolveByDid(args: ExternalIdentifierDidOpts, context: IAgentContext<any>): Promise<ExternalIdentifierDidResult> {\n return (await this.identifierExternalResolve({ ...args, method: 'did' }, context)) as ExternalIdentifierDidResult\n }\n\n private async identifierExternalResolveByX5c(args: ExternalIdentifierX5cOpts, context: IAgentContext<any>): Promise<ExternalIdentifierX5cResult> {\n return (await this.identifierExternalResolve({ ...args, method: 'x5c' }, context)) as ExternalIdentifierX5cResult\n }\n\n private async identifierExternalResolveByCoseKey(\n args: ExternalIdentifierCoseKeyOpts,\n context: IAgentContext<any>\n ): Promise<ExternalIdentifierCoseKeyResult> {\n return (await this.identifierExternalResolve({ ...args, method: 'cose_key' }, context)) as ExternalIdentifierCoseKeyResult\n }\n\n private async identifierExternalResolveByJwk(args: ExternalIdentifierJwkOpts, context: IAgentContext<any>): Promise<ExternalIdentifierJwkResult> {\n return (await this.identifierExternalResolve({ ...args, method: 'jwk' }, context)) as ExternalIdentifierJwkResult\n }\n\n private async identifierExternalResolveByOIDFEntityId(\n args: ExternalIdentifierOIDFEntityIdOpts,\n context: IAgentContext<any>\n ): Promise<ExternalIdentifierOIDFEntityIdResult> {\n return (await this.identifierExternalResolve({ ...args, method: 'entity_id' }, context)) as ExternalIdentifierOIDFEntityIdResult\n }\n}\n","import { getFirstKeyWithRelation } from '@sphereon/ssi-sdk-ext.did-utils'\nimport { calculateJwkThumbprint, coseKeyToJwk, globalCrypto, toJwk } from '@sphereon/ssi-sdk-ext.key-utils'\nimport { pemOrDerToX509Certificate } from '@sphereon/ssi-sdk-ext.x509-utils'\nimport { contextHasDidManager, contextHasKeyManager } from '@sphereon/ssi-sdk.agent-config'\nimport { ICoseKeyJson, JWK } from '@sphereon/ssi-types'\nimport { IAgentContext, IIdentifier, IKey, IKeyManager } from '@veramo/core'\nimport { CryptoEngine, setEngine } from 'pkijs'\nimport { webcrypto } from 'node:crypto'\nimport {\n IIdentifierResolution,\n isManagedIdentifierCoseKeyOpts,\n isManagedIdentifierDidOpts,\n isManagedIdentifierDidResult,\n isManagedIdentifierOID4VCIssuerOpts,\n isManagedIdentifierJwkOpts,\n isManagedIdentifierJwkResult,\n isManagedIdentifierKeyOpts,\n isManagedIdentifierKeyResult,\n isManagedIdentifierKidOpts,\n isManagedIdentifierX5cOpts,\n ManagedIdentifierCoseKeyOpts,\n ManagedIdentifierCoseKeyResult,\n ManagedIdentifierDidOpts,\n ManagedIdentifierDidResult,\n ManagedIdentifierOID4VCIssuerOpts,\n ManagedIdentifierOID4VCIssuerResult,\n ManagedIdentifierJwkOpts,\n ManagedIdentifierJwkResult,\n ManagedIdentifierKeyOpts,\n ManagedIdentifierKeyResult,\n ManagedIdentifierKidOpts,\n ManagedIdentifierKidResult,\n ManagedIdentifierOptsOrResult,\n ManagedIdentifierResult,\n ManagedIdentifierX5cOpts,\n ManagedIdentifierX5cResult,\n} from '../types'\n\nexport async function getManagedKidIdentifier(\n opts: ManagedIdentifierKidOpts,\n context: IAgentContext<IKeyManager>\n): Promise<ManagedIdentifierKidResult> {\n const method = 'kid'\n let key: IKey | undefined = undefined\n let issuer: string | undefined = undefined\n let kid: string | undefined = undefined\n if (!contextHasKeyManager(context)) {\n return Promise.reject(Error(`Cannot get Key/JWK identifier if KeyManager plugin is not enabled!`))\n } else if (opts.identifier.startsWith('did:')) {\n const did = opts.identifier.split('#')[0]\n const didIdentifier = await getManagedDidIdentifier({ ...opts, method: 'did', identifier: did }, context)\n key = didIdentifier.key\n issuer = didIdentifier.issuer\n kid = opts?.kid ?? (key.meta?.verificationMethod?.id as string) ?? didIdentifier.kid\n }\n if (!key) {\n key = await context.agent.keyManagerGet({ kid: opts.kmsKeyRef ?? opts.identifier })\n }\n const jwk = toJwk(key.publicKeyHex, key.type, { key })\n const jwkThumbprint = (key.meta?.jwkThumbprint as string) ?? calculateJwkThumbprint({ jwk })\n if (!kid) {\n kid = opts.kid ?? (key.meta?.verificationMethod?.id as string) ?? key.kid ?? jwkThumbprint\n }\n if (!issuer) {\n issuer = opts.issuer ?? kid // The different identifiers should set the value. Defaults to the kid\n }\n return {\n method,\n key,\n identifier: opts.identifier,\n jwk,\n jwkThumbprint,\n kid,\n clientId: opts.clientId,\n clientIdScheme: opts.clientIdScheme,\n issuer,\n kmsKeyRef: key.kid,\n opts,\n } satisfies ManagedIdentifierKidResult\n}\n\nexport function isManagedIdentifierResult(\n identifier: ManagedIdentifierOptsOrResult & {\n crypto?: webcrypto.Crypto\n }\n): identifier is ManagedIdentifierResult {\n return 'key' in identifier && 'kmsKeyRef' in identifier && 'method' in identifier && 'opts' in identifier && 'jwkThumbprint' in identifier\n}\n\n/**\n * Allows to get a managed identifier result in case identifier options are passed in, but returns the identifier directly in case results are passed in. This means resolution can have happened before, or happens in this method\n * @param identifier\n * @param context\n */\nexport async function ensureManagedIdentifierResult(\n identifier: ManagedIdentifierOptsOrResult & {\n crypto?: webcrypto.Crypto\n },\n context: IAgentContext<IKeyManager>\n): Promise<ManagedIdentifierResult> {\n const { lazyDisabled = false } = identifier\n return !lazyDisabled && isManagedIdentifierResult(identifier) ? identifier : await getManagedIdentifier(identifier, context)\n}\n\n/**\n * This function is just a convenience function to get a common result. The user already apparently had a key, so could have called the kid version as well\n * @param opts\n * @param _context\n */\nexport async function getManagedKeyIdentifier(opts: ManagedIdentifierKeyOpts, _context?: IAgentContext<any>): Promise<ManagedIdentifierKeyResult> {\n const method = 'key'\n const key: IKey = opts.identifier\n if (opts.kmsKeyRef && opts.kmsKeyRef !== key.kid) {\n return Promise.reject(Error(`Cannot get a managed key object by providing a key and a kmsKeyRef that are different.}`))\n }\n const jwk = toJwk(key.publicKeyHex, key.type, { key })\n const jwkThumbprint = (key.meta?.jwkThumbprint as string) ?? calculateJwkThumbprint({ jwk })\n const kid = opts.kid ?? (key.meta?.verificationMethod?.id as string) ?? jwkThumbprint\n const issuer = opts.issuer ?? kid // The different identifiers should set the value. Defaults to the kid\n return {\n method,\n key,\n identifier: key,\n jwk,\n jwkThumbprint,\n kid,\n issuer,\n kmsKeyRef: key.kid,\n clientId: opts.clientId,\n clientIdScheme: opts.clientIdScheme,\n opts,\n } satisfies ManagedIdentifierKeyResult\n}\n\n/**\n * This function is just a convenience function to get a common result. The user already apparently had a key, so could have called the kid version as well\n * @param opts\n * @param context\n */\nexport async function getManagedCoseKeyIdentifier(\n opts: ManagedIdentifierCoseKeyOpts,\n context: IAgentContext<any>\n): Promise<ManagedIdentifierCoseKeyResult> {\n const method = 'cose_key'\n const coseKey: ICoseKeyJson = opts.identifier\n if (!contextHasKeyManager(context)) {\n return Promise.reject(Error(`Cannot get Cose Key identifier if KeyManager plugin is not enabled!`))\n }\n const jwk = coseKeyToJwk(coseKey)\n const jwkThumbprint = calculateJwkThumbprint({ jwk })\n const key = await context.agent.keyManagerGet({ kid: opts.kmsKeyRef ?? jwkThumbprint })\n const kid = opts.kid ?? coseKey.kid ?? jwkThumbprint\n const issuer = opts.issuer\n return {\n method,\n key,\n identifier: opts.identifier,\n jwk,\n jwkThumbprint,\n kid,\n issuer,\n kmsKeyRef: key.kid,\n clientId: opts.clientId,\n clientIdScheme: opts.clientIdScheme,\n opts,\n } satisfies ManagedIdentifierCoseKeyResult\n}\n\nexport async function getManagedDidIdentifier(opts: ManagedIdentifierDidOpts, context: IAgentContext<any>): Promise<ManagedIdentifierDidResult> {\n const method = 'did'\n if (!contextHasDidManager(context)) {\n return Promise.reject(Error(`Cannot get DID identifier if DID Manager plugin is not enabled!`))\n }\n\n let identifier: IIdentifier\n if (typeof opts.identifier === 'string') {\n identifier = await context.agent.didManagerGet({ did: opts.identifier.split('#')[0] })\n } else {\n identifier = opts.identifier\n }\n\n const did = identifier.did\n const keys = identifier?.keys // fixme: We really want to return the vmRelationship keys here actually\n const extendedKey = await getFirstKeyWithRelation(\n {\n ...opts,\n identifier,\n vmRelationship: opts.vmRelationship ?? 'verificationMethod',\n },\n context\n )\n const key = extendedKey\n const controllerKeyId = identifier.controllerKeyId\n const jwk = toJwk(key.publicKeyHex, key.type, { key })\n const jwkThumbprint = key.meta?.jwkThumbprint ?? calculateJwkThumbprint({ jwk })\n let kid = opts.kid ?? extendedKey.meta?.verificationMethod?.id\n if (!kid.startsWith(did)) {\n // Make sure we create a fully qualified kid\n const hash = kid.startsWith('#') ? '' : '#'\n kid = `${did}${hash}${kid}`\n }\n const issuer = opts.issuer ?? did\n return {\n method,\n key,\n did,\n kmsKeyRef: key.kid,\n jwk,\n jwkThumbprint,\n controllerKeyId,\n kid,\n keys,\n issuer,\n identifier,\n clientId: opts.clientId,\n clientIdScheme: opts.clientIdScheme,\n opts,\n }\n}\n\nexport async function getManagedJwkIdentifier(\n opts: ManagedIdentifierJwkOpts,\n context: IAgentContext<IKeyManager>\n): Promise<ManagedIdentifierJwkResult> {\n const method = 'jwk'\n const { kid, issuer } = opts\n if (!contextHasKeyManager(context)) {\n return Promise.reject(Error(`Cannot get Key/JWK identifier if KeyManager plugin is not enabled!`))\n }\n const key = await context.agent.keyManagerGet({ kid: opts.kmsKeyRef ?? calculateJwkThumbprint({ jwk: opts.identifier }) })\n const jwk = opts.identifier ?? toJwk(key.publicKeyHex, key.type, { key })\n const jwkThumbprint = (key.meta?.jwkThumbprint as string) ?? calculateJwkThumbprint({ jwk })\n // we explicitly do not set the kid and issuer, meaning it can remain null. Normally you do not provide a kid and issuer with Jwks.\n return {\n method,\n key,\n kmsKeyRef: key.kid,\n identifier: jwk,\n jwk,\n jwkThumbprint,\n kid,\n issuer,\n clientId: opts.clientId,\n clientIdScheme: opts.clientIdScheme,\n opts,\n } satisfies ManagedIdentifierJwkResult\n}\n\nexport async function getManagedX5cIdentifier(\n opts: ManagedIdentifierX5cOpts & {\n crypto?: webcrypto.Crypto\n },\n context: IAgentContext<IKeyManager>\n): Promise<ManagedIdentifierX5cResult> {\n const { kid, issuer } = opts\n const method = 'x5c'\n const x5c = opts.identifier\n if (x5c.length === 0) {\n return Promise.reject(`Cannot resolve x5c when an empty x5c is passed in`)\n } else if (!contextHasKeyManager(context)) {\n return Promise.reject(Error(`Cannot get X5c identifier if KeyManager plugin is not enabled!`))\n }\n const cryptoImpl = globalCrypto(false, opts.crypto)\n const certificate = pemOrDerToX509Certificate(x5c[0])\n const cryptoEngine = new CryptoEngine({ name: 'identifier_resolver_managed', crypto: cryptoImpl })\n setEngine(cryptoEngine.name, cryptoEngine)\n const pk = await certificate.getPublicKey(undefined, cryptoEngine)\n const jwk = (await cryptoEngine.subtle.exportKey('jwk', pk)) as JWK\n const jwkThumbprint = calculateJwkThumbprint({ jwk })\n const key = await context.agent.keyManagerGet({ kid: opts.kmsKeyRef ?? jwkThumbprint })\n // we explicitly do not set the kid and issuer, meaning it can remain null. Normally you do not provide a kid and issuer with x5c.\n\n return {\n method,\n x5c,\n identifier: x5c,\n certificate,\n jwk,\n jwkThumbprint,\n key,\n kmsKeyRef: key.kid,\n kid,\n issuer,\n clientId: opts.clientId,\n clientIdScheme: opts.clientIdScheme,\n opts,\n } satisfies ManagedIdentifierX5cResult\n}\n\nexport async function getManagedOID4VCIssuerIdentifier(\n opts: ManagedIdentifierOID4VCIssuerOpts,\n context: IAgentContext<IKeyManager>\n): Promise<ManagedIdentifierOID4VCIssuerResult> {\n const { identifier } = opts\n const method = 'oid4vci-issuer'\n // FIXME: We need to eventually determine the JWK based on the issuer. Using a dummy JWK for now\n const jwk = {\n kty: 'RSA',\n kid: 'dummy-jwk-for-vci-issuer-signing',\n use: 'sig',\n n: 'pjdss8ZaDfEH6K6U7GeW2nxDqR4IP049fk1fK0lndimbMMVBdPv_hSpm8T8EtBDxrUdi1OHZfMhUixGaut-3nQ4GG9nM249oxhCtxqqNvEXrmQRGqczyLxuh-fKn9Fg--hS9UpazHpfVAFnB5aCfXoNhPuI8oByyFKMKaOVgHNqP5NBEqabiLftZD3W_lsFCPGuzr4Vp0YS7zS2hDYScC2oOMu4rGU1LcMZf39p3153Cq7bS2Xh6Y-vw5pwzFYZdjQxDn8x8BG3fJ6j8TGLXQsbKH1218_HcUJRvMwdpbUQG5nvA2GXVqLqdwp054Lzk9_B_f1lVrmOKuHjTNHq48w',\n e: 'AQAB',\n d: 'ksDmucdMJXkFGZxiomNHnroOZxe8AmDLDGO1vhs-POa5PZM7mtUPonxwjVmthmpbZzla-kg55OFfO7YcXhg-Hm2OWTKwm73_rLh3JavaHjvBqsVKuorX3V3RYkSro6HyYIzFJ1Ek7sLxbjDRcDOj4ievSX0oN9l-JZhaDYlPlci5uJsoqro_YrE0PRRWVhtGynd-_aWgQv1YzkfZuMD-hJtDi1Im2humOWxA4eZrFs9eG-whXcOvaSwO4sSGbS99ecQZHM2TcdXeAs1PvjVgQ_dKnZlGN3lTWoWfQP55Z7Tgt8Nf1q4ZAKd-NlMe-7iqCFfsnFwXjSiaOa2CRGZn-Q',\n p: '4A5nU4ahEww7B65yuzmGeCUUi8ikWzv1C81pSyUKvKzu8CX41hp9J6oRaLGesKImYiuVQK47FhZ--wwfpRwHvSxtNU9qXb8ewo-BvadyO1eVrIk4tNV543QlSe7pQAoJGkxCia5rfznAE3InKF4JvIlchyqs0RQ8wx7lULqwnn0',\n q: 'ven83GM6SfrmO-TBHbjTk6JhP_3CMsIvmSdo4KrbQNvp4vHO3w1_0zJ3URkmkYGhz2tgPlfd7v1l2I6QkIh4Bumdj6FyFZEBpxjE4MpfdNVcNINvVj87cLyTRmIcaGxmfylY7QErP8GFA-k4UoH_eQmGKGK44TRzYj5hZYGWIC8',\n dp: 'lmmU_AG5SGxBhJqb8wxfNXDPJjf__i92BgJT2Vp4pskBbr5PGoyV0HbfUQVMnw977RONEurkR6O6gxZUeCclGt4kQlGZ-m0_XSWx13v9t9DIbheAtgVJ2mQyVDvK4m7aRYlEceFh0PsX8vYDS5o1txgPwb3oXkPTtrmbAGMUBpE',\n dq: 'mxRTU3QDyR2EnCv0Nl0TCF90oliJGAHR9HJmBe__EjuCBbwHfcT8OG3hWOv8vpzokQPRl5cQt3NckzX3fs6xlJN4Ai2Hh2zduKFVQ2p-AF2p6Yfahscjtq-GY9cB85NxLy2IXCC0PF--Sq9LOrTE9QV988SJy_yUrAjcZ5MmECk',\n qi: 'ldHXIrEmMZVaNwGzDF9WG8sHj2mOZmQpw9yrjLK9hAsmsNr5LTyqWAqJIYZSwPTYWhY4nu2O0EY9G9uYiqewXfCKw_UngrJt8Xwfq1Zruz0YY869zPN4GiE9-9rzdZB33RBw8kIOquY3MK74FMwCihYx_LiU2YTHkaoJ3ncvtvg',\n } as JWK\n const jwkThumbprint = calculateJwkThumbprint({ jwk })\n\n const key = {\n kid: 'dummy-key-for-vci-issuer-signing',\n kms: 'local',\n type: 'RSA',\n publicKeyHex: '9a3f75b2e4d8b91128fc6e9a8f6782e5a4f1cba3718e58b5d0a789d6e5f52b3a',\n } as IKey\n\n return {\n method,\n identifier,\n jwk,\n jwkThumbprint,\n key, // FIXME: We need construct a key as soon as we have the external VCI Issuer resolution\n kmsKeyRef: identifier, // FIXME: We need use kmsKeyRef as soon as we have the external VCI Issuer resolution\n issuer: identifier.replace('/.well-known/openid-credential-issuer', ''),\n clientId: opts.clientId,\n clientIdScheme: opts.clientIdScheme,\n opts,\n } satisfies ManagedIdentifierOID4VCIssuerResult\n}\n\nexport async function getManagedIdentifier(\n opts: ManagedIdentifierOptsOrResult & {\n crypto?: webcrypto.Crypto\n },\n context: IAgentContext<IKeyManager>\n): Promise<ManagedIdentifierResult> {\n let resolutionResult: ManagedIdentifierResult\n if (isManagedIdentifierResult(opts)) {\n opts\n }\n if (isManagedIdentifierKidOpts(opts)) {\n resolutionResult = await getManagedKidIdentifier(opts, context)\n } else if (isManagedIdentifierDidOpts(opts)) {\n resolutionResult = await getManagedDidIdentifier(opts, context)\n } else if (isManagedIdentifierJwkOpts(opts)) {\n resolutionResult = await getManagedJwkIdentifier(opts, context)\n } else if (isManagedIdentifierX5cOpts(opts)) {\n resolutionResult = await getManagedX5cIdentifier(opts, context)\n } else if (isManagedIdentifierKeyOpts(opts)) {\n resolutionResult = await getManagedKeyIdentifier(opts, context)\n } else if (isManagedIdentifierCoseKeyOpts(opts)) {\n resolutionResult = await getManagedCoseKeyIdentifier(opts, context)\n } else if (isManagedIdentifierOID4VCIssuerOpts(opts)) {\n resolutionResult = await getManagedOID4VCIssuerIdentifier(opts, context)\n } else {\n return Promise.reject(Error(`Could not determine identifier method. Please provide explicitly`))\n }\n const { key } = resolutionResult\n if (\n (!key && !isManagedIdentifierOID4VCIssuerOpts(opts)) ||\n (isManagedIdentifierDidOpts(opts) && isManagedIdentifierDidResult(resolutionResult) && !resolutionResult.identifier)\n ) {\n console.log(`Cannot find identifier`, opts.identifier)\n return Promise.reject(`Cannot find identifier ${opts.identifier}`)\n }\n return resolutionResult\n}\n\nexport async function managedIdentifierToKeyResult(\n identifier: ManagedIdentifierOptsOrResult,\n context: IAgentContext<IIdentifierResolution & IKeyManager>\n): Promise<ManagedIdentifierKeyResult> {\n const resolved = await ensureManagedIdentifierResult(identifier, context)\n if (isManagedIdentifierKeyResult(resolved)) {\n return resolved\n }\n\n return {\n ...resolved,\n method: 'key',\n identifier: resolved.key,\n } satisfies ManagedIdentifierKeyResult\n}\n\nexport async function managedIdentifierToJwk(\n identifier: ManagedIdentifierOptsOrResult,\n context: IAgentContext<IIdentifierResolution & IKeyManager>\n): Promise<ManagedIdentifierJwkResult> {\n const resolved = await ensureManagedIdentifierResult(identifier, context)\n if (isManagedIdentifierJwkResult(resolved)) {\n return resolved\n }\n return {\n ...resolved,\n method: 'jwk',\n identifier: resolved.jwk,\n } satisfies ManagedIdentifierJwkResult\n}\n","import { didDocumentToJwks, getAgentResolver, jwkTtoPublicKeyHex } from '@sphereon/ssi-sdk-ext.did-utils'\nimport { calculateJwkThumbprint, coseKeyToJwk, globalCrypto } from '@sphereon/ssi-sdk-ext.key-utils'\nimport {\n getSubjectDN,\n pemOrDerToX509Certificate,\n PEMToDer,\n validateX509CertificateChain,\n X509ValidationResult,\n} from '@sphereon/ssi-sdk-ext.x509-utils'\nimport { contextHasPlugin } from '@sphereon/ssi-sdk.agent-config'\nimport { IParsedDID, JWK, parseDid } from '@sphereon/ssi-types'\nimport { IAgentContext, IDIDManager, IResolver } from '@veramo/core'\nimport { isDefined } from '@veramo/utils'\nimport { CryptoEngine, setEngine } from 'pkijs'\nimport {\n ExternalIdentifierCoseKeyOpts,\n ExternalIdentifierCoseKeyResult,\n ExternalIdentifierDidOpts,\n ExternalIdentifierDidResult,\n ExternalIdentifierJwkOpts,\n ExternalIdentifierJwkResult,\n ExternalIdentifierMethod,\n ExternalIdentifierOpts,\n ExternalIdentifierResult,\n ExternalIdentifierX5cOpts,\n ExternalIdentifierX5cResult,\n ExternalJwkInfo,\n isExternalIdentifierCoseKeyOpts,\n isExternalIdentifierDidOpts,\n isExternalIdentifierJwkOpts,\n isExternalIdentifierJwksUrlOpts,\n isExternalIdentifierKidOpts,\n isExternalIdentifierOidcDiscoveryOpts,\n isExternalIdentifierOIDFEntityIdOpts,\n isExternalIdentifierX5cOpts,\n} from '../types'\nimport { resolveExternalOIDFEntityIdIdentifier } from '.'\n\nimport { webcrypto } from 'node:crypto'\nexport async function resolveExternalIdentifier(\n opts: ExternalIdentifierOpts & {\n crypto?: webcrypto.Crypto\n },\n context: IAgentContext<any>\n): Promise<ExternalIdentifierResult> {\n let method: ExternalIdentifierMethod | undefined\n if (isExternalIdentifierDidOpts(opts)) {\n return resolveExternalDidIdentifier(opts, context)\n } else if (isExternalIdentifierX5cOpts(opts)) {\n return resolveExternalX5cIdentifier(opts, context)\n } else if (isExternalIdentifierJwkOpts(opts)) {\n return resolveExternalJwkIdentifier(opts, context)\n } else if (isExternalIdentifierCoseKeyOpts(opts)) {\n return resolveExternalCoseKeyIdentifier(opts, context)\n } else if (isExternalIdentifierOIDFEntityIdOpts(opts)) {\n return resolveExternalOIDFEntityIdIdentifier(opts, context)\n } else if (isExternalIdentifierKidOpts(opts)) {\n method = 'kid'\n } else if (isExternalIdentifierJwksUrlOpts(opts)) {\n method = 'jwks-url'\n } else if (isExternalIdentifierOidcDiscoveryOpts(opts)) {\n method = 'oidc-discovery'\n }\n throw Error(`External resolution method ${method} is not yet implemented`)\n}\n\nexport async function resolveExternalX5cIdentifier(\n opts: ExternalIdentifierX5cOpts & {\n crypto?: webcrypto.Crypto\n },\n context: IAgentContext<IResolver & IDIDManager>\n): Promise<ExternalIdentifierX5cResult> {\n if (!isExternalIdentifierX5cOpts(opts)) {\n return Promise.reject('External x5c Identifier args need to be provided')\n }\n const verify = opts.verify ?? true\n const x5c = opts.identifier.map((derOrPem) => (derOrPem.includes('CERTIFICATE') ? PEMToDer(derOrPem) : derOrPem))\n if (x5c.length === 0) {\n return Promise.reject('Empty certification chain is not allowed')\n }\n const certificates = x5c.map(pemOrDerToX509Certificate)\n\n let verificationResult: X509ValidationResult | undefined\n let issuerJWK: JWK | undefined\n let jwks: ExternalJwkInfo[] = []\n\n if (verify) {\n // We use the agent plugin if it is available as that is more powerful, but revert to the function otherwise\n if (contextHasPlugin(context, 'verifyCertificateChain')) {\n verificationResult = (await context.agent.verifyCertificateChain({\n chain: opts.identifier,\n trustAnchors: opts.trustAnchors ?? [],\n verificationTime: opts.verificationTime,\n })) as X509ValidationResult // We need to cast, as we know this is the value and we do not want to rely on the x509 plugin perse\n } else {\n verificationResult = await validateX509CertificateChain({\n chain: opts.identifier,\n trustAnchors: opts.trustAnchors ?? [],\n verificationTime: opts.verificationTime,\n opts,\n })\n }\n if (verificationResult.certificateChain) {\n jwks = verificationResult.certificateChain.map((cert) => {\n return {\n jwk: cert.publicKeyJWK,\n kid: cert.subject.dn.DN,\n jwkThumbprint: calculateJwkThumbprint({ jwk: cert.publicKeyJWK }),\n publicKeyHex: jwkTtoPublicKeyHex(cert.publicKeyJWK),\n } satisfies ExternalJwkInfo\n })\n }\n }\n if (!jwks || jwks.length === 0) {\n const cryptoEngine = new CryptoEngine({\n name: 'identifier_resolver_external',\n crypto: globalCrypto(false, opts.crypto),\n })\n setEngine(cryptoEngine.name, cryptoEngine)\n jwks = await Promise.all(\n certificates.map(async (cert) => {\n const pk = await cert.getPublicKey(undefined, cryptoEngine)\n const jwk = (await cryptoEngine.exportKey('jwk', pk)) as JWK\n return {\n jwk,\n kid: getSubjectDN(cert).DN,\n jwkThumbprint: calculateJwkThumbprint({ jwk }),\n publicKeyHex: jwkTtoPublicKeyHex(jwk),\n } satisfies ExternalJwkInfo\n })\n )\n }\n if (jwks.length === 0) {\n return Promise.reject('Empty certification chain is now allowed')\n }\n if (!issuerJWK) {\n issuerJWK = jwks[0].jwk\n }\n\n return {\n method: 'x5c',\n verificationResult,\n issuerJWK,\n jwks,\n certificates,\n x5c,\n }\n}\n\n/**\n * Resolves a JWK. Normally this is just returning the JWK, but in case the JWK contains a x5c the chain is validated\n * @param opts\n * @param context\n */\nexport async function resolveExternalJwkIdentifier(\n opts: ExternalIdentifierJwkOpts & {\n x5c?: ExternalIdentifierX5cOpts\n },\n context: IAgentContext<any>\n): Promise<ExternalIdentifierJwkResult> {\n if (!isExternalIdentifierJwkOpts(opts)) {\n return Promise.reject('External JWK Identifier args need to be provided')\n }\n const jwk = opts.identifier\n let x5c: ExternalIdentifierX5cResult | undefined = undefined\n if (jwk.x5c) {\n x5c = await resolveExternalX5cIdentifier({ ...opts.x5c, identifier: jwk.x5c }, context)\n }\n const jwkThumbprint = calculateJwkThumbprint({ jwk })\n return {\n method: 'jwk',\n jwk,\n jwks: [\n {\n jwk,\n jwkThumbprint,\n kid: jwk.kid,\n publicKeyHex: jwkTtoPublicKeyHex(jwk),\n },\n ],\n x5c,\n } satisfies ExternalIdentifierJwkResult\n}\n\n/**\n * Resolves a JWK. Normally this is just returning the JWK, but in case the JWK contains a x5c the chain is validated\n * @param opts\n * @param context\n */\nexport async function resolveExternalCoseKeyIdentifier(\n opts: ExternalIdentifierCoseKeyOpts & {\n x5c?: ExternalIdentifierX5cOpts\n },\n context: IAgentContext<any>\n): Promise<ExternalIdentifierCoseKeyResult> {\n if (!isExternalIdentifierCoseKeyOpts(opts)) {\n return Promise.reject('External Cose Key args need to be provided')\n }\n // TODO: We need to do cbor conversion here as well.\n const coseKey = opts.identifier\n let x5c: ExternalIdentifierX5cResult | undefined = undefined\n if (coseKey.x5chain) {\n x5c = await resolveExternalX5cIdentifier({ ...opts.x5c, identifier: coseKey.x5chain }, context)\n }\n const jwk = coseKeyToJwk(coseKey)\n const jwkThumbprint = calculateJwkThumbprint({ jwk })\n return {\n method: 'cose_key',\n coseKey,\n jwks: [\n {\n jwk,\n jwkThumbprint,\n kid: coseKey.kid,\n publicKeyHex: jwkTtoPublicKeyHex(jwk),\n },\n ],\n x5c,\n } satisfies ExternalIdentifierCoseKeyResult\n}\n\nexport async function resolveExternalDidIdentifier(\n opts: ExternalIdentifierDidOpts,\n context: IAgentContext<IResolver & IDIDManager>\n): Promise<ExternalIdentifierDidResult> {\n if (!isExternalIdentifierDidOpts(opts)) {\n return Promise.reject('External DID Identifier args need to be provided')\n } else if (!contextHasPlugin<IResolver & IDIDManager>(context, 'resolveDid')) {\n return Promise.reject(Error(`Cannot get external DID identifier if DID resolver plugin is not enabled!`))\n }\n const { uniresolverResolution = false, localResolution = true, resolverResolution = true } = opts\n const did = opts.identifier\n let parsed: IParsedDID\n try {\n parsed = parseDid(did)\n } catch (error: unknown) {\n // Error from did resolution spec\n return Promise.reject(error)\n }\n const didParsed = parsed\n const didResolutionResult = await getAgentResolver(context, {\n uniresolverResolution,\n localResolution,\n resolverResolution,\n }).resolve(did)\n const didDocument = didResolutionResult.didDocument ?? undefined\n const didJwks = didDocument ? didDocumentToJwks(didDocument) : undefined\n const jwks = didJwks\n ? Array.from(\n new Set(\n Array.from(\n Object.values(didJwks)\n .filter((jwks) => isDefined(jwks) && jwks.length > 0)\n .flatMap((jwks) => jwks)\n )\n .flatMap((jwk) => {\n return {\n jwk,\n jwkThumbprint: calculateJwkThumbprint({ jwk }),\n kid: jwk.kid,\n publicKeyHex: jwkTtoPublicKeyHex(jwk),\n }\n })\n .map((jwk) => JSON.stringify(jwk))\n )\n ).map((jwks) => JSON.parse(jwks))\n : []\n\n if (didResolutionResult?.didDocument) {\n // @ts-ignore // Mandatory on the original object, but we already provide it directly\n delete didResolutionResult['didDocument']\n }\n return {\n method: 'did',\n did,\n jwks,\n didJwks,\n didDocument,\n didResolutionResult,\n didParsed,\n }\n}\n","import { ErrorMessage, ExternalIdentifierOIDFEntityIdOpts, ExternalIdentifierOIDFEntityIdResult, ExternalJwkInfo, TrustedAnchor } from '../types'\nimport { IAgentContext } from '@veramo/core'\nimport { IOIDFClient } from '@sphereon/ssi-sdk.oidf-client'\nimport { contextHasPlugin } from '@sphereon/ssi-sdk.agent-config'\nimport { IJwsValidationResult, JwsPayload } from '../types/IJwtService'\n// @ts-ignore\nimport { fromString } from 'uint8arrays/from-string'\n// @ts-ignore\nimport { toString } from 'uint8arrays/to-string'\n/**\n * Resolves an OIDF Entity ID against multiple trust anchors to establish trusted relationships\n *\n * @param opts Configuration options containing the identifier to resolve and trust anchors to validate against\n * @param context Agent context that must include the OIDF client plugin and JWT verification capabilities\n *\n * @returns Promise resolving to an ExternalIdentifierOIDFEntityIdResult containing:\n * - trustedAnchors: Record mapping trust anchors to their public key hexes\n * - errorList: Optional record of errors encountered per trust anchor\n * - jwks: Array of JWK information from the trust chain\n * - trustEstablished: Boolean indicating if any trust relationships were established\n *\n * @throws Error if trust anchors are missing or JWT verification plugin is not enabled\n */\nexport async function resolveExternalOIDFEntityIdIdentifier(\n opts: ExternalIdentifierOIDFEntityIdOpts,\n context: IAgentContext<IOIDFClient>\n): Promise<ExternalIdentifierOIDFEntityIdResult> {\n let { trustAnchors, identifier } = opts\n\n if (!trustAnchors || trustAnchors.length === 0) {\n return Promise.reject(Error('ExternalIdentifierOIDFEntityIdOpts is missing the trustAnchors'))\n }\n\n if (!contextHasPlugin(context, 'jwtVerifyJwsSignature')) {\n return Promise.reject(Error('For OIDFEntityId resolving the agent needs to have the JwtService plugin enabled'))\n }\n\n const trustedAnchors: Set<TrustedAnchor> = new Set<TrustedAnchor>()\n const errorList: Record<TrustedAnchor, ErrorMessage> = {}\n const jwkInfos: Array<ExternalJwkInfo> = []\n\n let payload: JwsPayload | undefined\n for (const trustAnchor of trustAnchors) {\n const resolveResult = await context.agent.resolveTrustChain({\n entityIdentifier: identifier,\n trustAnchors: [trustAnchor],\n })\n\n if (resolveResult.error || !resolveResult.trustChain) {\n errorList[trustAnchor] = resolveResult.errorMessage ?? 'unspecified'\n } else {\n const trustChain: ReadonlyArray<string> = resolveResult.trustChain.asJsReadonlyArrayView()\n if (trustChain.length === 0) {\n errorList[trustAnchor] = 'Trust chain is empty'\n continue\n }\n\n const jwt = trustChain[0]\n const jwtVerifyResult: IJwsValidationResult = await context.agent.jwtVerifyJwsSignature({ jws: jwt })\n\n if (jwtVerifyResult.error || jwtVerifyResult.critical) {\n errorList[trustAnchor] = jwtVerifyResult.message\n continue\n }\n\n if (jwtVerifyResult.jws.signatures.length === 0) {\n errorList[trustAnchor] = 'No signature was present in the trust anchor JWS'\n continue\n }\n\n payload = JSON.parse(toString(fromString(jwtVerifyResult.jws.payload, 'base64url')))\n const signature = jwtVerifyResult.jws.signatures[0]\n if (signature.identifier.jwks.length === 0) {\n errorList[trustAnchor] = 'No JWK was present in the trust anchor signature'\n continue\n }\n\n if (jwkInfos.length === 0) {\n // We need the entity JWK only once\n jwkInfos.push(...signature.identifier.jwks)\n }\n trustedAnchors.add(trustAnchor)\n }\n }\n\n return {\n method: 'entity_id',\n trustedAnchors: Array.from(trustedAnchors),\n ...(Object.keys(errorList).length > 0 && { errorList }),\n jwks: jwkInfos,\n jwtPayload: payload,\n trustEstablished: trustedAnchors.size > 0,\n }\n}\n","import { IIdentifier } from '@veramo/core'\nimport { ManagedIdentifierDidOpts, ManagedIdentifierOptsOrResult } from '../types'\n\n/**\n * Converts legacy id opts key refs to the new ManagedIdentifierOpts\n * @param opts\n */\nexport function legacyKeyRefsToIdentifierOpts(opts: {\n idOpts?: ManagedIdentifierOptsOrResult\n iss?: string\n keyRef?: string\n didOpts?: any\n}): ManagedIdentifierOptsOrResult {\n if (!opts.idOpts) {\n console.warn(\n `Legacy idOpts being used. Support will be dropped in the future. Consider switching to the idOpts, to have support for DIDs, JWKS, x5c etc. See https://github.com/Sphereon-Opensource/SSI-SDK-crypto-extensions/tree/feature/multi_identifier_support/packages/identifier-resolution`\n )\n // legacy way\n let kmsKeyRef =\n opts.keyRef ??\n opts.didOpts?.idOpts?.kmsKeyRef ??\n opts.didOpts?.kid ??\n opts.didOpts?.idOpts?.kid ??\n (typeof opts.didOpts?.idOpts?.identifier === 'object' ? (opts.didOpts.idOpts.identifier as IIdentifier).keys[0].kid : undefined)\n if (!kmsKeyRef) {\n throw Error('Key ref is needed for access token signer')\n }\n let identifier = (opts.didOpts?.identifier ?? opts.didOpts?.idOpts?.identifier) as IIdentifier | undefined\n\n return {\n kmsKeyRef: opts.keyRef ?? kmsKeyRef,\n identifier: identifier ?? kmsKeyRef,\n issuer: opts.iss,\n } satisfies ManagedIdentifierDidOpts\n } else {\n const idOpts = opts.idOpts\n if (opts.keyRef && !idOpts.kmsKeyRef) {\n // legacy way\n console.warn(\n `Legacy keyRef being used. Support will be dropped in the future. Consider switching to the idOpts, to have support for DIDs, JWKS, x5c etc. See https://github.com/Sphereon-Opensource/SSI-SDK-crypto-extensions/tree/feature/multi_identifier_support/packages/identifier-resolution`\n )\n idOpts.kmsKeyRef = opts.keyRef\n }\n if (opts.iss && !idOpts.issuer) {\n // legacy way\n console.warn(\n `Legacy iss being used. Support will be dropped in the future. Consider switching to the idOpts, to have support for DIDs, JWKS, x5c etc. See https://github.com/Sphereon-Opensource/SSI-SDK-crypto-extensions/tree/feature/multi_identifier_support/packages/identifier-resolution`\n )\n idOpts.issuer = opts.iss\n }\n\n return idOpts\n }\n}\n","/**\n * @internal\n */\nconst schema = require('../plugin.schema.json')\nexport { schema }\n/**\n * @public\n */\nexport * from './types'\nexport { IdentifierResolution } from './agent/IdentifierResolution'\nexport * from './functions'\n"]}