@decaf-ts/for-fabric 0.1.26 → 0.1.27
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/for-fabric.cjs +2 -1726
- package/dist/for-fabric.cjs.map +1 -0
- package/dist/for-fabric.js +2 -1831
- package/dist/for-fabric.js.map +1 -0
- package/lib/bin/build-contract.cjs +1 -2
- package/lib/bin/build-contract.js.map +1 -0
- package/lib/bin/build-contracts.cjs +1 -2
- package/lib/bin/build-contracts.js.map +1 -0
- package/lib/bin/build-contracts2.cjs +1 -2
- package/lib/bin/build-contracts2.js.map +1 -0
- package/lib/bin/compile-indexes.cjs +1 -2
- package/lib/bin/compile-indexes.js.map +1 -0
- package/lib/cli-module.cjs +1 -1
- package/lib/cli-module.js.map +1 -0
- package/lib/client/FabricClientAdapter.cjs +9 -5
- package/lib/client/FabricClientAdapter.js.map +1 -0
- package/lib/client/FabricClientDispatch.cjs +1 -1
- package/lib/client/FabricClientDispatch.js.map +1 -0
- package/lib/client/FabricClientPaginator.cjs +1 -1
- package/lib/client/FabricClientPaginator.js.map +1 -0
- package/lib/client/FabricClientRepository.cjs +23 -1
- package/lib/client/FabricClientRepository.d.ts +1 -0
- package/lib/client/FabricClientRepository.js.map +1 -0
- package/lib/client/FabricClientStatement.cjs +1 -1
- package/lib/client/FabricClientStatement.js.map +1 -0
- package/lib/client/erc20/FabricERC20ClientRepository.cjs +1 -1
- package/lib/client/erc20/FabricERC20ClientRepository.js.map +1 -0
- package/lib/client/erc20/index.cjs +1 -1
- package/lib/client/erc20/index.js.map +1 -0
- package/lib/client/fabric-fs.cjs +1 -1
- package/lib/client/fabric-fs.js.map +1 -0
- package/lib/client/fabric-hsm.cjs +1 -1
- package/lib/client/fabric-hsm.js.map +1 -0
- package/lib/client/index.cjs +1 -1
- package/lib/client/index.js.map +1 -0
- package/lib/client/indexes/generation.cjs +1 -1
- package/lib/client/indexes/generation.js.map +1 -0
- package/lib/client/indexes/index.cjs +1 -1
- package/lib/client/indexes/index.js.map +1 -0
- package/lib/client/logging.cjs +1 -1
- package/lib/client/logging.js.map +1 -0
- package/lib/client/services/FabricEnrollmentService.cjs +1 -1
- package/lib/client/services/FabricEnrollmentService.js.map +1 -0
- package/lib/client/services/constants.cjs +1 -1
- package/lib/client/services/constants.js.map +1 -0
- package/lib/client/services/index.cjs +1 -1
- package/lib/client/services/index.js.map +1 -0
- package/lib/contract/Address.cjs +2 -2
- package/lib/contract/Address.js.map +1 -0
- package/lib/contract/AddressContract.cjs +1 -1
- package/lib/contract/AddressContract.js.map +1 -0
- package/lib/contract/Product.cjs +1 -1
- package/lib/contract/Product.js.map +1 -0
- package/lib/contract/ProductContract.cjs +1 -1
- package/lib/contract/ProductContract.js.map +1 -0
- package/lib/contract/User.cjs +1 -1
- package/lib/contract/User.js.map +1 -0
- package/lib/contract/UserContract.cjs +1 -1
- package/lib/contract/UserContract.js.map +1 -0
- package/lib/contract/index.cjs +1 -1
- package/lib/contract/index.js.map +1 -0
- package/lib/contracts/ContractAdapter.cjs +84 -47
- package/lib/contracts/ContractAdapter.js.map +1 -0
- package/lib/contracts/ContractContext.cjs +1 -1
- package/lib/contracts/ContractContext.js.map +1 -0
- package/lib/contracts/ContractPrivateDataAdapter.cjs +1 -1
- package/lib/contracts/ContractPrivateDataAdapter.js.map +1 -0
- package/lib/contracts/FabricConstruction.cjs +1 -1
- package/lib/contracts/FabricConstruction.js.map +1 -0
- package/lib/contracts/FabricContractRepository.cjs +8 -1
- package/lib/contracts/FabricContractRepository.d.ts +12 -0
- package/lib/contracts/FabricContractRepository.js.map +1 -0
- package/lib/contracts/FabricContractRepositoryObservableHandler.cjs +1 -1
- package/lib/contracts/FabricContractRepositoryObservableHandler.js.map +1 -0
- package/lib/contracts/FabricContractStatement.cjs +1 -1
- package/lib/contracts/FabricContractStatement.js.map +1 -0
- package/lib/contracts/PrivateSequence.cjs +1 -1
- package/lib/contracts/PrivateSequence.js.map +1 -0
- package/lib/contracts/crud/crud-contract.cjs +3 -5
- package/lib/contracts/crud/crud-contract.d.ts +6 -6
- package/lib/contracts/crud/crud-contract.js.map +1 -0
- package/lib/contracts/crud/index.cjs +1 -1
- package/lib/contracts/crud/index.js.map +1 -0
- package/lib/contracts/crud/serialized-crud-contract.cjs +19 -13
- package/lib/contracts/crud/serialized-crud-contract.d.ts +5 -6
- package/lib/contracts/crud/serialized-crud-contract.js.map +1 -0
- package/lib/contracts/erc20/erc20contract.cjs +1 -1
- package/lib/contracts/erc20/erc20contract.js.map +1 -0
- package/lib/contracts/erc20/index.cjs +1 -1
- package/lib/contracts/erc20/index.js.map +1 -0
- package/lib/contracts/erc20/models.cjs +1 -1
- package/lib/contracts/erc20/models.js.map +1 -0
- package/lib/contracts/index.cjs +1 -1
- package/lib/contracts/index.js.map +1 -0
- package/lib/contracts/logging.cjs +1 -1
- package/lib/contracts/logging.js.map +1 -0
- package/lib/contracts/private-data.cjs +1 -1
- package/lib/contracts/private-data.js.map +1 -0
- package/lib/contracts/types.cjs +1 -1
- package/lib/contracts/types.js.map +1 -0
- package/lib/esm/bin/build-contract.js +1 -1
- package/lib/esm/bin/build-contract.js.map +1 -0
- package/lib/esm/bin/build-contracts.js +1 -1
- package/lib/esm/bin/build-contracts.js.map +1 -0
- package/lib/esm/bin/build-contracts2.js +1 -1
- package/lib/esm/bin/build-contracts2.js.map +1 -0
- package/lib/esm/bin/compile-indexes.js +1 -1
- package/lib/esm/bin/compile-indexes.js.map +1 -0
- package/lib/esm/cli-module.js +1 -1
- package/lib/esm/cli-module.js.map +1 -0
- package/lib/esm/client/FabricClientAdapter.js +9 -5
- package/lib/esm/client/FabricClientAdapter.js.map +1 -0
- package/lib/esm/client/FabricClientDispatch.js +1 -1
- package/lib/esm/client/FabricClientDispatch.js.map +1 -0
- package/lib/esm/client/FabricClientPaginator.js +1 -1
- package/lib/esm/client/FabricClientPaginator.js.map +1 -0
- package/lib/esm/client/FabricClientRepository.d.ts +1 -0
- package/lib/esm/client/FabricClientRepository.js +23 -1
- package/lib/esm/client/FabricClientRepository.js.map +1 -0
- package/lib/esm/client/FabricClientStatement.js +1 -1
- package/lib/esm/client/FabricClientStatement.js.map +1 -0
- package/lib/esm/client/erc20/FabricERC20ClientRepository.js +1 -1
- package/lib/esm/client/erc20/FabricERC20ClientRepository.js.map +1 -0
- package/lib/esm/client/erc20/index.js +1 -1
- package/lib/esm/client/erc20/index.js.map +1 -0
- package/lib/esm/client/fabric-fs.js +1 -1
- package/lib/esm/client/fabric-fs.js.map +1 -0
- package/lib/esm/client/fabric-hsm.js +1 -1
- package/lib/esm/client/fabric-hsm.js.map +1 -0
- package/lib/esm/client/index.js +1 -1
- package/lib/esm/client/index.js.map +1 -0
- package/lib/esm/client/indexes/generation.js +1 -1
- package/lib/esm/client/indexes/generation.js.map +1 -0
- package/lib/esm/client/indexes/index.js +1 -1
- package/lib/esm/client/indexes/index.js.map +1 -0
- package/lib/esm/client/logging.js +1 -1
- package/lib/esm/client/logging.js.map +1 -0
- package/lib/esm/client/services/FabricEnrollmentService.js +1 -1
- package/lib/esm/client/services/FabricEnrollmentService.js.map +1 -0
- package/lib/esm/client/services/constants.js +1 -1
- package/lib/esm/client/services/constants.js.map +1 -0
- package/lib/esm/client/services/index.js +1 -1
- package/lib/esm/client/services/index.js.map +1 -0
- package/lib/esm/contract/Address.js +2 -2
- package/lib/esm/contract/Address.js.map +1 -0
- package/lib/esm/contract/AddressContract.js +1 -1
- package/lib/esm/contract/AddressContract.js.map +1 -0
- package/lib/esm/contract/Product.js +1 -1
- package/lib/esm/contract/Product.js.map +1 -0
- package/lib/esm/contract/ProductContract.js +1 -1
- package/lib/esm/contract/ProductContract.js.map +1 -0
- package/lib/esm/contract/User.js +1 -1
- package/lib/esm/contract/User.js.map +1 -0
- package/lib/esm/contract/UserContract.js +1 -1
- package/lib/esm/contract/UserContract.js.map +1 -0
- package/lib/esm/contract/index.js +1 -1
- package/lib/esm/contract/index.js.map +1 -0
- package/lib/esm/contracts/ContractAdapter.js +88 -51
- package/lib/esm/contracts/ContractAdapter.js.map +1 -0
- package/lib/esm/contracts/ContractContext.js +1 -1
- package/lib/esm/contracts/ContractContext.js.map +1 -0
- package/lib/esm/contracts/ContractPrivateDataAdapter.js +1 -1
- package/lib/esm/contracts/ContractPrivateDataAdapter.js.map +1 -0
- package/lib/esm/contracts/FabricConstruction.js +1 -1
- package/lib/esm/contracts/FabricConstruction.js.map +1 -0
- package/lib/esm/contracts/FabricContractRepository.d.ts +12 -0
- package/lib/esm/contracts/FabricContractRepository.js +8 -1
- package/lib/esm/contracts/FabricContractRepository.js.map +1 -0
- package/lib/esm/contracts/FabricContractRepositoryObservableHandler.js +1 -1
- package/lib/esm/contracts/FabricContractRepositoryObservableHandler.js.map +1 -0
- package/lib/esm/contracts/FabricContractStatement.js +1 -1
- package/lib/esm/contracts/FabricContractStatement.js.map +1 -0
- package/lib/esm/contracts/PrivateSequence.js +1 -1
- package/lib/esm/contracts/PrivateSequence.js.map +1 -0
- package/lib/esm/contracts/crud/crud-contract.d.ts +6 -6
- package/lib/esm/contracts/crud/crud-contract.js +3 -5
- package/lib/esm/contracts/crud/crud-contract.js.map +1 -0
- package/lib/esm/contracts/crud/index.js +1 -1
- package/lib/esm/contracts/crud/index.js.map +1 -0
- package/lib/esm/contracts/crud/serialized-crud-contract.d.ts +5 -6
- package/lib/esm/contracts/crud/serialized-crud-contract.js +19 -13
- package/lib/esm/contracts/crud/serialized-crud-contract.js.map +1 -0
- package/lib/esm/contracts/erc20/erc20contract.js +1 -1
- package/lib/esm/contracts/erc20/erc20contract.js.map +1 -0
- package/lib/esm/contracts/erc20/index.js +1 -1
- package/lib/esm/contracts/erc20/index.js.map +1 -0
- package/lib/esm/contracts/erc20/models.js +1 -1
- package/lib/esm/contracts/erc20/models.js.map +1 -0
- package/lib/esm/contracts/index.js +1 -1
- package/lib/esm/contracts/index.js.map +1 -0
- package/lib/esm/contracts/logging.js +1 -1
- package/lib/esm/contracts/logging.js.map +1 -0
- package/lib/esm/contracts/private-data.js +1 -1
- package/lib/esm/contracts/private-data.js.map +1 -0
- package/lib/esm/contracts/types.js +1 -1
- package/lib/esm/contracts/types.js.map +1 -0
- package/lib/esm/index.js +1 -1
- package/lib/esm/index.js.map +1 -0
- package/lib/esm/shared/ClientSerializer.js +1 -1
- package/lib/esm/shared/ClientSerializer.js.map +1 -0
- package/lib/esm/shared/DeterministicSerializer.js +1 -1
- package/lib/esm/shared/DeterministicSerializer.js.map +1 -0
- package/lib/esm/shared/SimpleDeterministicSerializer.js +1 -1
- package/lib/esm/shared/SimpleDeterministicSerializer.js.map +1 -0
- package/lib/esm/shared/constants.js +1 -1
- package/lib/esm/shared/constants.js.map +1 -0
- package/lib/esm/shared/crypto.js +1 -1
- package/lib/esm/shared/crypto.js.map +1 -0
- package/lib/esm/shared/decorators.js +1 -1
- package/lib/esm/shared/decorators.js.map +1 -0
- package/lib/esm/shared/erc20/erc20-constants.js +1 -1
- package/lib/esm/shared/erc20/erc20-constants.js.map +1 -0
- package/lib/esm/shared/errors.js +1 -1
- package/lib/esm/shared/errors.js.map +1 -0
- package/lib/esm/shared/events.js +1 -1
- package/lib/esm/shared/events.js.map +1 -0
- package/lib/esm/shared/fabric-types.d.ts +0 -1
- package/lib/esm/shared/fabric-types.js +2 -2
- package/lib/esm/shared/fabric-types.js.map +1 -0
- package/lib/esm/shared/index.js +1 -1
- package/lib/esm/shared/index.js.map +1 -0
- package/lib/esm/shared/interfaces/Checkable.js +1 -1
- package/lib/esm/shared/interfaces/Checkable.js.map +1 -0
- package/lib/esm/shared/math.js +1 -1
- package/lib/esm/shared/math.js.map +1 -0
- package/lib/esm/shared/model/FabricBaseModel.js +1 -1
- package/lib/esm/shared/model/FabricBaseModel.js.map +1 -0
- package/lib/esm/shared/model/FabricIdentifiedBaseModel.js +1 -1
- package/lib/esm/shared/model/FabricIdentifiedBaseModel.js.map +1 -0
- package/lib/esm/shared/model/Identity.js +1 -1
- package/lib/esm/shared/model/Identity.js.map +1 -0
- package/lib/esm/shared/model/IdentityCredentials.js +1 -1
- package/lib/esm/shared/model/IdentityCredentials.js.map +1 -0
- package/lib/esm/shared/model/index.js +1 -1
- package/lib/esm/shared/model/index.js.map +1 -0
- package/lib/esm/shared/overrides/Model.js +1 -1
- package/lib/esm/shared/overrides/Model.js.map +1 -0
- package/lib/esm/shared/overrides/index.js +1 -1
- package/lib/esm/shared/overrides/index.js.map +1 -0
- package/lib/esm/shared/overrides/overrides.js +1 -1
- package/lib/esm/shared/overrides/overrides.js.map +1 -0
- package/lib/esm/shared/types.js +1 -1
- package/lib/esm/shared/types.js.map +1 -0
- package/lib/esm/shared/utils.js +1 -1
- package/lib/esm/shared/utils.js.map +1 -0
- package/lib/esm/version.d.ts +1 -1
- package/lib/esm/version.js +2 -2
- package/lib/esm/version.js.map +1 -0
- package/lib/index.cjs +1 -1
- package/lib/index.js.map +1 -0
- package/lib/shared/ClientSerializer.cjs +1 -1
- package/lib/shared/ClientSerializer.js.map +1 -0
- package/lib/shared/DeterministicSerializer.cjs +1 -1
- package/lib/shared/DeterministicSerializer.js.map +1 -0
- package/lib/shared/SimpleDeterministicSerializer.cjs +1 -1
- package/lib/shared/SimpleDeterministicSerializer.js.map +1 -0
- package/lib/shared/constants.cjs +1 -1
- package/lib/shared/constants.js.map +1 -0
- package/lib/shared/crypto.cjs +1 -1
- package/lib/shared/crypto.js.map +1 -0
- package/lib/shared/decorators.cjs +1 -1
- package/lib/shared/decorators.js.map +1 -0
- package/lib/shared/erc20/erc20-constants.cjs +1 -1
- package/lib/shared/erc20/erc20-constants.js.map +1 -0
- package/lib/shared/errors.cjs +1 -1
- package/lib/shared/errors.js.map +1 -0
- package/lib/shared/events.cjs +1 -1
- package/lib/shared/events.js.map +1 -0
- package/lib/shared/fabric-types.cjs +1 -2
- package/lib/shared/fabric-types.d.ts +0 -1
- package/lib/shared/fabric-types.js.map +1 -0
- package/lib/shared/index.cjs +1 -1
- package/lib/shared/index.js.map +1 -0
- package/lib/shared/interfaces/Checkable.cjs +1 -1
- package/lib/shared/interfaces/Checkable.js.map +1 -0
- package/lib/shared/math.cjs +1 -1
- package/lib/shared/math.js.map +1 -0
- package/lib/shared/model/FabricBaseModel.cjs +1 -1
- package/lib/shared/model/FabricBaseModel.js.map +1 -0
- package/lib/shared/model/FabricIdentifiedBaseModel.cjs +1 -1
- package/lib/shared/model/FabricIdentifiedBaseModel.js.map +1 -0
- package/lib/shared/model/Identity.cjs +1 -1
- package/lib/shared/model/Identity.js.map +1 -0
- package/lib/shared/model/IdentityCredentials.cjs +1 -1
- package/lib/shared/model/IdentityCredentials.js.map +1 -0
- package/lib/shared/model/index.cjs +1 -1
- package/lib/shared/model/index.js.map +1 -0
- package/lib/shared/overrides/Model.cjs +1 -1
- package/lib/shared/overrides/Model.js.map +1 -0
- package/lib/shared/overrides/index.cjs +1 -1
- package/lib/shared/overrides/index.js.map +1 -0
- package/lib/shared/overrides/overrides.cjs +1 -1
- package/lib/shared/overrides/overrides.js.map +1 -0
- package/lib/shared/types.cjs +1 -1
- package/lib/shared/types.js.map +1 -0
- package/lib/shared/utils.cjs +1 -1
- package/lib/shared/utils.js.map +1 -0
- package/lib/version.cjs +2 -2
- package/lib/version.d.ts +1 -1
- package/lib/version.js.map +1 -0
- package/package.json +1 -1
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"for-fabric.js","sources":["../src/contracts/ContractContext.ts","../src/contracts/FabricContractRepositoryObservableHandler.ts","../src/shared/events.ts","../src/contracts/FabricContractRepository.ts","../src/contracts/FabricContractStatement.ts","../src/shared/constants.ts","../src/shared/SimpleDeterministicSerializer.ts","../src/contracts/logging.ts","../src/contracts/ContractAdapter.ts","../src/shared/DeterministicSerializer.ts","../src/contracts/crud/crud-contract.ts","../src/contracts/crud/serialized-crud-contract.ts","../src/shared/errors.ts","../src/shared/math.ts","../src/contracts/erc20/models.ts","../src/shared/decorators.ts","../src/shared/erc20/erc20-constants.ts","../src/contracts/erc20/erc20contract.ts","../src/contracts/erc20/index.ts","../src/version.ts"],"sourcesContent":[null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null],"names":["FabricContractContext","Context","constructor","super","stub","this","get","timestamp","getDateTimestamp","identity","toString","FabricContractRepositoryObservableHandler","ObserverHandler","supportedEvents","OperationKeys","CREATE","UPDATE","DELETE","BulkCrudOperationKeys","CREATE_ALL","UPDATE_ALL","DELETE_ALL","updateObservers","clazz","event","id","args","log","ctx","Adapter","logCtx","owner","payload","table","name","indexOf","debug","eventName","params","push","join","generateFabricEventName","setEvent","Buffer","from","JSON","stringify","FabricContractRepository","Repository","adapter","trackedEvents","_overrides","Object","assign","ignoreValidation","ignoreHandlers","allowRawStatements","forcePrepareSimpleQueries","forcePrepareComplexQueries","FabricStatement","CouchDBStatement","raw","rawInput","results","pkAttr","Model","pk","fromSelector","type","Metadata","key","DBKeys","ID","selectSelector","map","r","processRecord","build","selectors","CouchDBKeys","TABLE","tableName","query","selector","fields","whereCondition","condition","parseCondition","Condition","and","attribute","eq","selectorKeys","keys","length","values","CouchDBGroupOperator","AND","reduce","accum","val","Error","k","OR","s","entries","result","forEach","orderBySelector","sort","value","rec","CouchDBOperator","BIGGER","limitSelector","limit","offsetSelector","skip","FabricModelKeys","IdentityType","FabricFlavour","SimpleDeterministicSerializer","JSONSerializer","deserialize","str","parse","serialize","model","require","sortKeysRecursive","preSerialize","ContractLogger","MiniLogger","context","conf","logger","logging","getLogger","level","msg","stack","NumericLogLevels","config","method","LogLevel","info","verbose","error","silly","InternalError","call","createLog","async","createdByOnFabricCreateUpdate","data","user","getID","e","UnsupportedError","pkFabricOnCreate","sequence","sequenceName","Sequence","next","defineProperty","enumerable","writable","configurable","Logging","setFactory","object","FabricContractAdapter","CouchDBAdapter","getClient","textDecoder","TextDecoder","serializer","repository","scope","alias","for","create","composedKey","createCompositeKey","String","putState","parseError","read","readState","update","ctxArgs","delete","deleteState","forPrivate","collection","toOverride","queryResult","queryResultPaginated","fn","Proxy","target","prop","receiver","includes","apply","thisArg","argsList","putPrivateData","deletePrivateData","getPrivateData","getPrivateDataQueryResult","iterator","count","reachedBookmark","lastKey","res","recordKey","recordValue","Key","Record","close","metadata","fetchedRecordsCount","bookmark","done","Reflect","SerializationError","getState","NotFoundError","getQueryResult","_id","$gt","$gte","getQueryResultWithPagination","mergeModels","extract","finalModel","pop","decode","buffer","flags","operation","baseFlags","segregated","correlationId","getTxID","clientIdentity","undefined","index","models","Promise","resolve","resultIterator","isHistory","allResults","jsonRes","TxId","txId","Timestamp","Value","err","docsOnly","Array","isArray","Statement","createAll","tableLabel","all","i","updateAll","prepare","split","segregate","mappedProp","columnName","isReserved","record","transient","revert","obj","ob","m","createPrefix","updatePrefix","createAllPrefix","ids","records","updateAllPrefix","reason","filter","a","clear","message","ConflictError","BadRequestError","QueryError","PagingError","MigrationError","ObserverError","AuthorizationError","ForbiddenError","ConnectionError","decoration","Decoration","flavouredAs","PersistenceKeys","CREATED_BY","define","onCreate","propMetadata","UPDATED_BY","onCreateUpdate","COLUMN","extend","FabricProperty","FabricObject","setCurrent","DeterministicSerializer","FabricCrudContract","Contract","initialized","repo","forModel","listBy","order","paginateBy","size","findOneBy","statement","getTransientData","merge","transientMap","getTransient","has","deleteAll","readAll","orderBy","OrderDirection","ASC","init","getName","healthcheck","bind","Ctx","overrides","READ","READ_ALL","getOp","SerializedCrudContract","parsedKeys","modelList","cond","__decorate","Transaction","prototype","Number","OverflowError","BalanceError","AllowanceError","NotInitializedError","BaseError","add","b","c","sub","ERC20Token","BaseModel","column","required","ERC20Wallet","Allowance","Owner","propertyKey","descriptor","originalMethod","acountId","select","tokens","execute","ERC20Events","FabricERC20Contract","walletRepository","tokenRepository","allowanceRepository","TokenName","CheckInitialized","Symbol","symbol","Decimals","decimals","TotalSupply","wallets","total","wallet","balance","BalanceOf","Transfer","to","_transfer","TransferFrom","BurnFrom","spender","allowance","_getAllowance","currentAllowance","updatedAllowance","newAllowance","fromWallet","fromBalance","toWallet","newToWallet","code","token","toBalance","fromUpdatedBalance","toUpdatedBalance","updatedFromWallet","updatedToWallet","transferEvent","refresh","TRANSFER","catch","Approve","approvalEvent","APPROVAL","allowanceCondition","where","Initialize","Mint","amount","minter","ValidationError","minterWallet","updatedBalance","updatedminter","newWallet","Burn","currentBalance","account","accountWallet","updatedaccount","ClientAccountBalance","clientAccountID","clientWallet","ClientAccountID","__metadata","contracts","VERSION","PACKAGE_NAME","registerLibrary"],"mappings":"wqCAkCM,MAAOA,WAA8BC,EAKzC,WAAAC,GACEC,OACD,CAOD,QAAIC,GACF,OAAOC,KAAKC,IAAI,OACjB,CAOD,aAAaC,GACX,OAAOF,KAAKD,KAAKI,kBAClB,CAOD,YAAIC,GACF,OAAOJ,KAAKC,IAAI,WACjB,CAEQ,QAAAI,GACP,MAAO,cAAaL,KAAKD,KAAO,aAAe,eAChD,EC1BG,MAAOO,WAAkDC,EAM7D,WAAAV,CACUW,EAIF,CACJC,EAAcC,OACdD,EAAcE,OACdF,EAAcG,OACdC,EAAsBC,WACtBD,EAAsBE,WACtBF,EAAsBG,aAGxBlB,QAbQE,KAAeQ,gBAAfA,CAcT,CAeQ,qBAAMS,CACbC,EACAC,EACAC,KACGC,GAEH,MAAMC,IAAEA,EAAGC,IAAEA,GAAQC,EAAQC,OAC3BJ,EACArB,KAAKiB,kBAEDlB,KAAEA,GAASwB,GACVG,EAAOC,GAAWN,EACnBO,EAAyB,iBAAVV,EAAqBA,EAAQA,EAAMW,KACxD,IAA6C,IAAzC7B,KAAKQ,gBAAgBsB,QAAQX,GAAe,CAC9CG,EAAIS,MAAM,YAAYZ,WACtB,MAAMa,ICpFVJ,EACAT,EACAO,KAEA,MAAMO,EAAS,CAACL,EAAOT,GAEvB,OADIO,GAAOO,EAAOC,KAAKR,GAChBO,EAAOE,KAAK,IACrB,ED6EwBC,CAAwBR,EAAOT,EAAOO,GACxD3B,EAAKsC,SAASL,EAAWM,OAAOC,KAAKC,KAAKC,UAAU,CAAErB,GAAIA,KAC3D,MACCrB,EAAKsC,SAASlB,EAAOmB,OAAOC,KAAKC,KAAKC,UAAUd,IAEnD,EEzBG,MAAOe,WAAkDC,EAY7D,WAAA9C,CACE+C,EACA1B,EACU2B,GAEV/C,MAAM8C,EAAS1B,GAFLlB,KAAa6C,cAAbA,EAXO7C,KAAU8C,WAAGC,OAAOC,OAAO,CAAA,EAAIlD,MAAkB,WAAG,CACrEmD,kBAAkB,EAClBC,gBAAgB,EAChBC,oBAAoB,EACpBC,2BAA2B,EAC3BC,4BAA4B,GAS7B,CAOQ,eAAA9C,GACP,OAAO,IAAID,EACZ,CAYQ,qBAAMW,CACbW,EACAT,EACAC,KACGC,GAEH,IAAKrB,KAAK6C,gBAAwD,IAAvC7C,KAAK6C,cAAcf,QAAQX,GACpD,aAAarB,MAAMmB,gBAAgBW,EAAOT,EAAOC,KAAOC,EAC3D,ECpFG,MAAOiC,WAA4CC,EAKvD,WAAA1D,CAAY+C,GACV9C,MAAM8C,EACP,CAEQ,SAAMY,CAAOC,KAAyBpC,GAC7C,MAAME,IAAEA,GAAQvB,KAAKyB,OAAOJ,EAAMrB,KAAKwD,KAEjCE,QAAuB1D,KAAK4C,QAAQY,IAAIC,GAAU,EAAMlC,GAExDoC,EAASC,EAAMC,GAAG7D,KAAK8D,cACvBC,EAAOC,EAAS/D,IACpBD,KAAK8D,aACLE,EAASC,IAAIC,EAAOC,GAAIR,KACvBI,KAEH,OAAK/D,KAAKoE,eAEHV,EADEA,EAAQW,IAAKC,GAAMtE,KAAKuE,cAAcD,EAAGX,EAAQI,EAAMxC,GAEjE,CAEQ,KAAAiD,GACP,MAAMC,EAA2B,CAAA,EACjCA,EAAUC,EAAYC,OAAS,GAC/BF,EAAUC,EAAYC,OAASf,EAAMgB,UAAU5E,KAAK8D,cACpD,MAAMe,EAAoB,CAAEC,SAAUL,GAGtC,GAFIzE,KAAKoE,iBAAgBS,EAAME,OAAS/E,KAAKoE,gBAEzCpE,KAAKgF,eAAgB,CACvB,MAAMC,EAA2BjF,KAAKkF,eACpCC,EAAUC,IACRpF,KAAKgF,eACLG,EAAUE,UAAaX,EAAYC,OAAkBW,GACnDT,EAAMC,SAASJ,EAAYC,UAG/BG,SACIS,EAAexC,OAAOyC,KAAKP,GACjC,GAC0B,IAAxBM,EAAaE,SACqD,IAAlE1C,OAAO2C,OAAOC,GAAsB7D,QAAQyD,EAAa,IAEzD,OAAQA,EAAa,IACnB,KAAKI,EAAqBC,IACxBX,EAAUU,EAAqBC,KAAO,IACjC7C,OAAO2C,OACRT,EAAUU,EAAqBC,MAC/BC,OAAO,CAACC,EAAwBC,KAChC,MAAMP,EAAOzC,OAAOyC,KAAKO,GACzB,GAAoB,IAAhBP,EAAKC,OACP,MAAUO,MACR,kDAEJ,MAAMC,EAAIT,EAAK,GAIf,OAHIS,IAAMN,EAAqBC,IAC7BE,EAAM5D,QAAS6D,EAAIE,IAChBH,EAAM5D,KAAK6D,GACTD,GACN,KAELjB,EAAMC,SAAWG,EACjB,MACF,KAAKU,EAAqBO,GAAI,CAC5B,MAAMC,EAAsB,CAAA,EAC5BA,EAAER,EAAqBC,KAAO,CAC5BX,KACGlC,OAAOqD,QAAQvB,EAAMC,UAAUT,IAAI,EAAEJ,EAAK8B,MAC3C,MAAMM,EAA2B,CAAA,EAEjC,OADAA,EAAOpC,GAAO8B,EACPM,KAGXxB,EAAMC,SAAWqB,EACjB,KACD,CACD,QACE,MAAUH,MAAM,kCAGpBjD,OAAOqD,QAAQnB,GAAWqB,QAAQ,EAAErC,EAAK8B,MACnClB,EAAMC,SAASb,GAInBY,EAAMC,SAASb,GAAO8B,GAG3B,CAED,GAAI/F,KAAKuG,gBAAiB,CACxB1B,EAAM2B,KAAO3B,EAAM2B,MAAQ,GAC3B3B,EAAMC,SAAWD,EAAMC,UAAa,CAAA,EACpC,MAAOA,EAAU2B,GAASzG,KAAKuG,gBAIzBG,EAAW,CAAA,EACjBA,EAAI5B,GAAY2B,EACf5B,EAAM2B,KAAetE,KAAKwE,GACtB7B,EAAMC,SAASA,KAClBD,EAAMC,SAASA,GAAY,GAC1BD,EAAMC,SAASA,GAA4B6B,EAAgBC,QAC1D,KAEL,CAMD,OAJI5G,KAAK6G,gBAAehC,EAAMiC,MAAQ9G,KAAK6G,eAEvC7G,KAAK+G,iBAAgBlC,EAAMmC,KAAOhH,KAAK+G,gBAEpClC,CACR,ECpJH,IAAYoC,GAeAC,GAfZ,CAAYD,IAEVA,EAAA,QAAA,UACAA,EAAA,OAAA,SAEAA,EAAA,OAAA,UACAA,EAAA,QAAA,UACD,EAPD,CAAYA,KAAAA,GAOX,CAAA,IAQD,CAAYC,IAEVA,EAAA,KAAA,OACD,EAHD,CAAYA,KAAAA,GAGX,CAAA,IAQM,MAAMC,GAAgB,aC/BvB,MAAOC,WAEHC,EACR,WAAAxH,GACEC,OACD,CAGQ,WAAAwH,CAAYC,EAAa3C,GAyBhC,OAxBwBpC,KAAKgF,MAAMD,EAyBpC,CAEQ,SAAAE,CAAUC,GAKjB,OAHkBC,QAAQ,+BAGnBlF,CADmBkF,QAAQ,sBACjBC,CAAkB5H,KAAK6H,aAAaH,IACtD,CAEQ,YAAAG,CAAaH,GAEpB,OADyC3E,OAAOC,OAAO,CAAE,EAAE0E,EAE5D,ECNG,MAAOI,WAAuBC,EAMlC,WAAAlI,CACEmI,EACAC,EACA1G,GAEAzB,MAAMkI,EAASC,GAKbjI,KAAKkI,OAHF3G,EAGWA,EAAI4G,QAAQC,UAAUJ,GAFtB,IAAID,EAAWC,EAASC,EAIzC,CAUkB,GAAA3G,CACjB+G,EACAC,EACAC,GAEA,GACEC,EAAiBxI,KAAKyI,OAAO,UAC7BD,EAAiBH,GAEjB,OAEF,IAAIK,EACJ,OAAQL,GACN,KAAKM,EAASC,KACZF,EAAS1I,KAAKkI,OAAOU,KACrB,MACF,KAAKD,EAASE,QACZH,EAAS1I,KAAKkI,OAAOW,QACrB,MACF,KAAKF,EAAS5G,MACZ2G,EAAS1I,KAAKkI,OAAOnG,MACrB,MACF,KAAK4G,EAASG,MACZJ,EAAS1I,KAAKkI,OAAOY,MACrB,MACF,KAAKH,EAASI,MACZL,EAAS1I,KAAKkI,OAAOa,MACrB,MACF,QACE,MAAM,IAAIC,EAAc,qBAE5BN,EAAOO,KAAKjJ,KAAKkI,OAAQlI,KAAKkJ,UAAUb,EAAOC,EAAKC,GACrD,ECOIY,eAAeC,GAMpBpB,EACAqB,EACApF,EACAyD,GAEA,IACE,MAAM4B,EAAOtB,EAAQ/H,IAAI,YACzByH,EAAMzD,GAAOqF,EAAKC,OAEnB,CAAC,MAAOC,GACP,MAAM,IAAIC,EACR,iEAEH,CACH,CA8BON,eAAeO,GAKpB1B,EACAqB,EACApF,EACAyD,GAEA,IAAK2B,EAAKtF,MAAQ2D,EAAMzD,GACtB,OAgBF,IAAI0F,EADCN,EAAKxH,OAAMwH,EAAKxH,KAAO+B,EAAMgG,aAAalC,EAAO,OAEtD,IACEiC,QAAkB3J,KAAK4C,QAAQiH,SAASR,EACzC,CAAC,MAAOG,GACP,MAAM,IAAIR,EACR,kCAAkCK,EAAKxH,SAAS2H,IAEnD,CAED,MAAMM,QAAaH,EAASG,KAAK9B,GAjB/BjF,OAAOgH,eAkBUrC,EAAOzD,EAlBmB,CACzC+F,YAAY,EACZC,UAAU,EACVC,cAAc,EACdzD,MAcqCqD,GAC3C,CDrEAK,EAAQC,WAbuB,CAC7BC,EACA5B,EACAlH,IAEO,IAAIuG,GACTuC,GAAUvC,GAAejG,KACzB4G,GAAU,CAAA,EACVlH,ICiHE,MAAO+I,WAA8BC,EAKtB,SAAAC,GACjB,MAAM,IAAIf,EAAiB,8CAC5B,QAIczJ,KAAAyK,YAAc,IAAIC,YAAY,OAAQ,QAE3B1K,KAAA2K,WAAa,IAAIvD,EAAgC,CAelE,UAAAwD,GAMP,OAAOlI,EACR,CAQD,WAAA7C,CAAYgL,EAAaC,GACvBhL,MAAM+K,EAAO1D,GAAe2D,GAzBF9K,KAAOJ,QACjCD,EAyBD,CAEQ,IAAI8I,KAAyBpH,GACpC,OAAOvB,MAAMiL,IAAItC,KAAWpH,EAC7B,CAYQ,YAAM2J,CACb9J,EACAE,EACAsG,KACGrG,GAEH,MAAME,IAAEA,EAAGD,IAAEA,EAAGvB,KAAEA,GAASC,KAAKyB,OAAOJ,EAAMrB,KAAKgL,QAClD1J,EAAIsH,KAAK,+BAA+BvH,GACxC,MAAMuD,EAAYhB,EAAMgB,UAAU1D,GAClC,IACEI,EAAIsH,KAAK,mBAAmBhE,mBAA2BxD,KACvD,MAAM6J,EAAclL,EAAKmL,mBAAmBtG,EAAW,CAAQxD,EAAP+J,KACxDzD,QAAc1H,KAAKoL,SAASH,EAAavD,EAAOnG,EACjD,CAAC,MAAOiI,GACP,MAAMxJ,KAAKqL,WAAW7B,EACvB,CAED,OAAO9B,CACR,CAUQ,UAAM4D,CACbpK,EACAE,KACGC,GAEH,MAAME,IAAEA,EAAGD,IAAEA,EAAGvB,KAAEA,GAASC,KAAKyB,OAAOJ,EAAMrB,KAAKsL,MAClDhK,EAAIsH,KAAK,6BAA6BvH,GACtC,MAAMuD,EAAYhB,EAAMgB,UAAU1D,GAElC,IAAIwG,EACJ,IACE,MAAMuD,EAAclL,EAAKmL,mBAAmBtG,EAAW,CAAQxD,EAAP+J,KACxDzD,QAAc1H,KAAKuL,UAAUN,EAAa1J,EAC3C,CAAC,MAAOiI,GACP,MAAMxJ,KAAKqL,WAAW7B,EACvB,CAED,OAAO9B,CACR,CAYQ,YAAM8D,CACbtK,EACAE,EACAsG,KACGrG,GAEH,MAAME,IAAEA,EAAGD,IAAEA,EAAGvB,KAAEA,GAASC,KAAKyB,OAAOJ,EAAMrB,KAAKwL,QAC5C5G,EAAYhB,EAAMgB,UAAU1D,GAElC,IACEI,EAAIuH,QAAQ,qBAAqBjE,mBAA2BxD,KAC5D,MAAM6J,EAAclL,EAAKmL,mBAAmBtG,EAAW,CAAQxD,EAAP+J,KACxDzD,QAAc1H,KAAKoL,SAASH,EAAavD,EAAOnG,EACjD,CAAC,MAAOiI,GACP,MAAMxJ,KAAKqL,WAAW7B,EACvB,CAED,OAAO9B,CACR,CAUD,YAAM,CACJxG,EACAE,KACGC,GAEH,MAAME,IAAEA,EAAGD,IAAEA,EAAGmK,QAAEA,EAAO1L,KAAEA,GAASC,KAAKyB,OAAOJ,EAAMrB,KAAK0L,QACrD9G,EAAYhB,EAAMgB,UAAU1D,GAClC,IAAIwG,EACJ,IACE,MAAMuD,EAAclL,EAAKmL,mBAAmBtG,EAAW,CAAQxD,EAAP+J,KACxDzD,QAAc1H,KAAKsL,KAAKpK,EAAOE,KAAOqK,GACtCnK,EAAIuH,QAAQ,0BAA0BzH,UAAWwD,iBAC3C5E,KAAK2L,YAAYV,EAAa1J,EACrC,CAAC,MAAOiI,GACP,MAAMxJ,KAAKqL,WAAW7B,EACvB,CAED,OAAO9B,CACR,CAES,iBAAMiE,CAAYvK,EAAYG,GACtC,MAAMxB,KAAEA,GAASC,KAAKyB,OAAO,CAACF,GAAMvB,KAAK2L,mBACnC5L,EAAK4L,YAAYvK,EACxB,CAED,UAAAwK,CAAWC,GACT,MAAMC,EAAa,CACjB9L,KAAKoL,SACLpL,KAAKuL,UACLvL,KAAK2L,YACL3L,KAAK+L,YACL/L,KAAKgM,sBACL3H,IAAK4H,GAAOA,EAAGpK,MACjB,OAAO,IAAIqK,MAAMlM,KAAM,CACrBC,IAAG,CAACkM,EAAQC,EAAMC,IACXP,EAAWQ,SAASF,GAElB,IAAIF,MAAOC,EAAeC,GAAO,CACtC,WAAMG,CAAMN,EAAIO,EAASC,GACvB,OAAQL,GACN,IAAK,WAAY,CACf,MAAOrM,EAAMqB,EAAIsG,GAAS+E,EAE1B,aADM1M,EAAK2M,eAAeb,EAAYzK,EAAGf,WAAYqH,GAC9CA,CACR,CACD,IAAK,cAAe,CAClB,MAAO3H,EAAMqB,GAAMqL,EACnB,OAAQ1M,EAAuB4M,kBAC7Bd,EACAzK,EAEH,CACD,IAAK,YAAa,CAChB,MAAOrB,EAAMqB,GAAMqL,EACnB,OAAO1M,EAAK6M,eAAef,EAAYzK,EACxC,CACD,IAAK,cAAe,CAClB,MAAOrB,EAAM0D,GAAYgJ,EACzB,OAAO1M,EAAK8M,0BAA0BhB,EAAYpI,EACnD,CACD,IAAK,uBAAwB,CAC3B,MAAO1D,EAAM0D,EAAUqD,EAAOE,GAAQyF,EAChCK,QACJ/M,EACA8M,0BAA0BhB,EAAYpI,GAClCC,EAAiB,GACvB,IAAIqJ,EAAQ,EACRC,GAAkBhG,EAClBiG,EAAyB,KAE7B,OAAa,CACX,MAAMC,QAAYJ,EAAShD,OAE3B,GAAIoD,EAAIzG,OAASyG,EAAIzG,MAAMA,MAAMpG,WAAY,CAC3C,MAAM8M,EAAYD,EAAIzG,MAAMxC,IACtBmJ,EAAeF,EAAIzG,MAAMA,MAAcpG,SAC3C,QAIF,IAAK2M,EAAiB,CAChBG,IAAcnG,GAAM3G,aACtB2M,GAAkB,GAEpB,QACD,CASD,GAPAtJ,EAAQxB,KAAK,CACXmL,IAAKF,EACLG,OAAQ9K,KAAKgF,MAAM4F,KAErBH,EAAUE,EACVJ,IAEIA,GAASjG,EAEX,aADMgG,EAASS,QACR,CACLT,SACEpJ,EACF8J,SAAU,CACRC,oBAAqB/J,EAAQ+B,OAC7BiI,SAAUT,GAIjB,CAED,GAAIC,EAAIS,KAEN,aADMb,EAASS,QACR,CACLT,SACEpJ,EACF8J,SAAU,CACRC,oBAAqB/J,EAAQ+B,OAC7BiI,SAAU,IAIjB,CACF,CACD,QACE,MAAM,IAAI1E,EACR,+BAAsCoD,GAG7C,IAzFMwB,QAAQ3N,IAAIkM,EAAQC,EAAMC,IA6FxC,CAES,cAAMjB,CACdhK,EACAsG,EACAnG,GAEA,IAAI8H,EAEJ,MAAMtJ,KAAEA,EAAIuB,IAAEA,GAAQtB,KAAKyB,OAAO,CAACF,GAAMvB,KAAKoL,UAC9C,IACE/B,EAAO/G,OAAOC,KACZ+H,GAAsBK,WAAWlD,UAAUC,GAE9C,CAAC,MAAO8B,GACP,MAAM,IAAIqE,EACR,sCAAsCzM,MAAOoI,IAEhD,CAED,MAAMqC,EAAatK,EAAItB,IAAI,cAO3B,OANI4L,QAAkB9L,EAAK2M,eAAeb,EAAYzK,EAAGf,WAAYgJ,SAC1DtJ,EAAKqL,SAAShK,EAAGf,WAAYgJ,GAExC/H,EAAIyH,MACF,eAAe8C,EAAa,OAAOA,eAA0B,eAAezK,KAEvEsG,CACR,CAES,eAAM6D,CAAUnK,EAAYG,GACpC,IAAI8E,EAEJ,MAAMtG,KAAEA,EAAIuB,IAAEA,GAAQtB,KAAKyB,OAAO,CAACF,GAAMvB,KAAKuL,WAC9C,IAAI2B,EACJ,MAAMrB,EAAatK,EAAItB,IAAI,cAK3B,GAHEiN,EADErB,SACW9L,EAAK6M,eAAef,EAAYzK,EAAGf,aAAaA,kBAC7CN,EAAK+N,SAAS1M,EAAGf,aAAaA,YAE3C6M,EACH,MAAM,IAAIa,EACR,kBAAkB3M,IAAKyK,EAAa,OAAOA,eAA0B,gBAEzEvK,EAAIyH,MACF,uBAAuB8C,EAAa,IAAIA,eAA0B,eAAezK,KAEnF,IACEiF,EAASiE,GAAsBK,WAAWrD,YAAY4F,EAAI7M,WAC3D,CAAC,MAAOmJ,GACP,MAAM,IAAIqE,EAAmB,2BAA2BrE,EACzD,CAED,OAAOnD,CACR,CAES,iBAAM0F,CACdhM,EACA0D,KAEGpC,GAEH,MAAME,IAAEA,GAAQvB,KAAKyB,OAAOJ,EAAMrB,KAAKuL,WACvC,IAAI2B,EACJ,MAAMrB,EAAatK,EAAItB,IAAI,cAQ3B,OANEiN,EADErB,QACU9L,EAAK8M,0BACfhB,EACArJ,KAAKC,UAAUgB,UAEF1D,EAAKiO,eAAexL,KAAKC,UAAUgB,IAE7CyJ,CACR,CAES,0BAAMlB,CACdjM,EACA0D,EACAqD,EAAgB,IAChBE,KACG3F,GAEH,MAAME,IAAEA,GAAQvB,KAAKyB,OAAOJ,EAAMrB,KAAKuL,WACvC,IAAI2B,EACJ,MAAMrB,EAAatK,EAAItB,IAAI,cAwB3B,OAvBI4L,GACFpI,EAASqB,SAAW,IACfrB,EAASqB,SACZmJ,IAAKjH,EAAO,CAAEkH,IAAKlH,EAAK3G,YAAe,CAAE8N,KAAM,KAMjDjB,EAAM,CACJJ,eALe/M,EAAK8M,0BACpBhB,EACArJ,KAAKC,UAAUgB,IAIf+J,SAAU,CACRC,oBAAqB3G,EACrB4G,SAAU,MAIdR,QAAYnN,EAAKqO,6BACf5L,KAAKC,UAAUgB,GACfqD,EACAE,GAAM3G,YAGH6M,CACR,CAES,WAAAmB,CAAY3K,GACpB,MAAM4K,EAAW5G,GACf3E,OAAOqD,QAAQsB,GAAO7B,OAAO,CAACC,GAA6B7B,EAAK8B,WAC3C,IAARA,IAAqBD,EAAM7B,GAAO8B,GACtCD,GACN,CAAE,GAEP,IAAIyI,EAAkC7K,EAAQ8K,MAE9C,IAAK,MAAMtB,KAAOxJ,EAChB6K,EAAaxL,OAAOC,OAAO,GAAIsL,EAAQC,GAAaD,EAAQpB,IAG9D,OAAOqB,CACR,CAQS,MAAAE,CAAOC,GACf,OAAOpE,GAAsBG,YAAYgE,OAAOC,EACjD,CAYkB,WAAMC,CACvBC,EACAlH,EACAiH,EACApN,KACGF,GAEH,MAAMwN,EAAY,CAChB9O,KAAMwB,EAAIxB,KACV+O,YAAY,GAuBd,OApBE/L,OAAOC,OAAO6L,EADZtN,aAAe5B,GACQ,CACvBuI,OAAQ3G,EAAI2G,OACZ9H,SAAUmB,EAAInB,SACd2O,cAAexN,EAAIxB,KAAKiP,WAGD,CACvB5O,SAAUmB,EAAI0N,eACd/G,OAAQ,IAAIJ,GAAe9H,UAAakP,EAAW3N,GACnDwN,cAAexN,EAAIxB,KAAKiP,kBAIblP,MAAM6O,MACnBC,EACAlH,EACAmH,KACGxN,EAIN,CAUS,KAAA8N,CAASC,GACjB,OAAOC,QAAQC,aAAQJ,EACxB,CA2BS,oBAAMK,CACdjO,EACAwL,EACA0C,GAAY,GAEZ,MAAMC,EAAa,GACnB,IAAIvC,QAA2CJ,EAAShD,OACxD,MAAQoD,EAAIS,MAAM,CAChB,GAAIT,EAAIzG,OAASyG,EAAIzG,MAAMA,MAAMpG,WAAY,CAC3C,IAAIqP,EAAe,CAAA,EAEnB,GADApO,EAAIS,MAAMmL,EAAIzG,MAAMA,MAAMpG,SAAS,SAC/BmP,EAAsC,CACxCE,EAAQC,KAAOzC,EAAIzG,MAAMmJ,KACzBF,EAAQG,UAAY3C,EAAIzG,MAAMvG,UAC9B,IACEwP,EAAQI,MAAQtN,KAAKgF,MAAM0F,EAAIzG,MAAMA,MAAMpG,SAAS,QACrD,CAAC,MAAO0P,GACPzO,EAAIwH,MAAMiH,GACVL,EAAQI,MAAQ5C,EAAIzG,MAAMA,MAAMpG,SAAS,OAC1C,CACF,MACC,IACEqP,EAAUlN,KAAKgF,MAAM0F,EAAIzG,MAAMA,MAAMpG,SAAS,QAC/C,CAAC,MAAO0P,GACPzO,EAAIwH,MAAMiH,GACVL,EAAUxC,EAAIzG,MAAMA,MAAMpG,SAAS,OACpC,CAEHoP,EAAWvN,KAAKwN,EACjB,CACDxC,QAAYJ,EAAShD,MACtB,CAGD,OAFAxI,EAAIS,MAAM,0BAA0B0N,EAAWhK,kBAC/CqH,EAASS,QACFkC,CACR,CA8BD,SAAMjM,CACJC,EAEAuM,GAAc,KACX3O,GAEH,MAAMC,IAAEA,EAAGvB,KAAEA,GAASC,KAAKyB,OAAOJ,EAAMrB,KAAKwD,MAEvCwD,KAAEA,EAAIF,MAAEA,GAAUrD,EACxB,IAAIqJ,EACAhG,GAASE,UACJvD,EAAgB,aAChBA,EAAe,KACtBnC,EAAIS,MACF,yCAAyC+E,YAAgBE,KAS3D8F,SANS9M,KAAKgM,qBACVjM,EACA0D,EACAqD,GAAS,IACRE,GAAc3G,aAECyM,WAEpBxL,EAAIS,MAAM,uBACV+K,QAAkB9M,KAAK+L,YACrBhM,EACA0D,IAGJnC,EAAIS,MAAM,qBAEV,MAAM2B,QAAiB1D,KAAKuP,eAAejO,EAAKwL,GAIhD,OAHAxL,EAAIS,MACF,aAAakO,MAAMC,QAAQxM,GAAWA,EAAQ+B,OAAS,aAElD/B,CACR,CAEQ,SAAAyM,GACP,OAAO,IAAI7M,GAAgBtD,KAC5B,CAEQ,eAAMoQ,CACbxL,EACAxD,EACAsG,KACGrG,GAEH,GAAID,EAAGqE,SAAWiC,EAAMjC,OACtB,MAAM,IAAIuD,EAAc,4CAC1B,MAAM1H,IAAEA,EAAGmK,QAAEA,GAAYzL,KAAKyB,OAAOJ,EAAMrB,KAAKoQ,WAC1CC,EAAazM,EAAMgB,UAAUA,GAEnC,OADAtD,EAAIS,MAAM,YAAYX,EAAGqE,kBAAkB4K,WACpChB,QAAQiB,IACblP,EAAGiD,IAAI,CAACkM,EAAGxD,IAAU/M,KAAKgL,OAAOpG,EAAW2L,EAAG7I,EAAMqF,MAAWtB,IAEnE,CAEQ,eAAM+E,CACb5L,EACAxD,EACAsG,KACGrG,GAEH,GAAID,EAAGqE,SAAWiC,EAAMjC,OACtB,MAAM,IAAIuD,EAAc,4CAC1B,MAAM1H,IAAEA,EAAGmK,QAAEA,GAAYzL,KAAKyB,OAAOJ,EAAMrB,KAAKwQ,WAC1CH,EAAazM,EAAMgB,UAAUA,GAEnC,OADAtD,EAAIS,MAAM,YAAYX,EAAGqE,kBAAkB4K,WACpChB,QAAQiB,IACblP,EAAGiD,IAAI,CAACkM,EAAGxD,IAAU/M,KAAKwL,OAAO5G,EAAW2L,EAAG7I,EAAMqF,MAAWtB,IAEnE,CAQQ,OAAAgF,CACP/I,KACGrG,GAEH,MAAMC,IAAEA,GAAQtB,KAAKyB,OAAOJ,EAAMrB,KAAKyQ,SAEjC7L,EAAYhB,EAAMgB,UAAU8C,EAAM7H,aAClCgE,EAAKD,EAAMC,GAAG6D,EAAM7H,aACpB6Q,EAAQ9M,EAAM+M,UAAUjJ,GACxBrB,EAAStD,OAAOqD,QAAQsK,EAAMhJ,OAAO7B,OACzC,CAACC,GAA6B7B,EAAK8B,MACjC,QAAmB,IAARA,EAAqB,OAAOD,EACvC,MAAM8K,EAAahN,EAAMiN,WAAWnJ,EAAOzD,GAC3C,GAAIjE,KAAK8Q,WAAWF,GAClB,MAAM,IAAI5H,EAAc,iBAAiB4H,iBAE3C,OADA9K,EAAM8K,GAAc7K,EACbD,GAET,CAAE,GAOJ,OAJAxE,EAAIyH,MACF,wBAAwBnE,mBAA4B8C,EAAc7D,MAG7D,CACLkN,OAAQ1K,EACRjF,GAAKsG,EAAc7D,GACnBmN,UAAWN,EAAMM,UAEpB,CAEQ,MAAAC,CACPC,EACAhQ,EACAE,EACA4P,KACG3P,GAEH,MAAMC,IAAEA,GAAQtB,KAAKyB,OAAOJ,EAAMrB,KAAKiR,QACjCE,EAA0B,CAAA,EAEhCA,EADWvN,EAAMC,GAAG3C,IACDE,EACnB,MAAMgQ,EACa,iBAAVlQ,EAAqB0C,EAAMY,MAAM2M,EAAIjQ,GAAS,IAAIA,EAAMiQ,GAEjE7P,EAAIyH,MAAM,oBAAoBqI,EAAEvR,YAAYgC,WAAWT,KACvD,MAAMiF,EAAStD,OAAOyC,KAAK4L,GAAGvL,OAAO,CAACC,EAAU7B,KAC7C6B,EAA8B7B,GAC7BiN,EAAItN,EAAMiN,WAAW/K,EAAO7B,IACvB6B,GACNsL,GAeH,OAbIJ,IACF1P,EAAIS,MACF,mCAAmCgB,OAAOyC,KAAKwL,GAAW7O,KAAK,OAEjEY,OAAOqD,QAAQ4K,GAAW1K,QAAQ,EAAErC,EAAK8B,MACvC,GAAI9B,KAAOoC,QAAmC6I,IAAxB7I,EAAepC,GACnC,MAAM,IAAI+E,EACR,sBAAsB/E,6BAA+BmN,EAAEvR,YAAYgC,8BAEvEwE,EAAOpC,GAAkB8B,KAItBM,CACR,CAEQ,YAAAgL,CACPzM,EACAxD,EACAsG,KACGrG,GAEH,MAAMoK,QAAEA,GAAYzL,KAAKyB,OAAOJ,EAAMrB,KAAKqR,cACrCN,EAA8B,CAAA,EAIpC,OAHAA,EAAOrM,EAAYC,OAASf,EAAMgB,UAAUA,GAC5C7B,OAAOC,OAAO+N,EAAQrJ,GAEf,CAAC9C,EAAWxD,EAAI2P,KAAWtF,EAOnC,CAEQ,YAAA6F,CACP1M,EACAxD,EACAsG,KACGrG,GAEH,MAAMoK,QAAEA,GAAYzL,KAAKyB,OAAOJ,EAAMrB,KAAKsR,cACrCP,EAA8B,CAAA,EAIpC,OAHAA,EAAOrM,EAAYC,OAASf,EAAMgB,UAAUA,GAC5C7B,OAAOC,OAAO+N,EAAQrJ,GAEf,CAAC9C,EAAWxD,EAAI2P,KAAWtF,EAOnC,CAEkB,eAAA8F,CACjB3M,EACA4M,EACApC,KACG/N,GAEH,GAAImQ,EAAI/L,SAAW2J,EAAO3J,OACxB,MAAM,IAAIuD,EAAc,4CAE1B,MAAMzH,EAA6BF,EAAKmN,MAElCiD,EAAUD,EAAInN,IAAI,CAACjD,EAAI2L,KAC3B,MAAMgE,EAA8B,CAAA,EAGpC,OAFAA,EAAOrM,EAAYC,OAASC,EAC5B7B,OAAOC,OAAO+N,EAAQ3B,EAAOrC,IACtBgE,IAET,MAAO,CAACnM,EAAW4M,EAAKC,EAASlQ,EAClC,CAEkB,eAAAmQ,CACjB9M,EACA4M,EACApC,KACG/N,GAEH,GAAImQ,EAAI/L,SAAW2J,EAAO3J,OACxB,MAAM,IAAIuD,EAAc,4CAE1B,MAAMzH,EAA6BF,EAAKmN,MAElCiD,EAAUD,EAAInN,IAAI,CAACjD,EAAI2L,KAC3B,MAAMgE,EAA8B,CAAA,EAGpC,OAFAA,EAAOrM,EAAYC,OAASC,EAC5B7B,OAAOC,OAAO+N,EAAQ3B,EAAOrC,IACtBgE,IAET,MAAO,CAACnM,EAAW4M,EAAKC,EAASlQ,EAClC,CAEQ,UAAA8J,CACP0E,EACA4B,GAEA,OAAOrH,GAAsBe,WAAWsG,GAAU5B,EACnD,CAEQ,MAAAtO,CACPJ,EACAqH,GAKA,OAAO4B,GAAsB7I,OAAOwH,KAAKjJ,KAAMqB,EAAMqH,EACtD,CAkBD,aAAgBjH,CAEdJ,EACAqH,GAKA,GAAkB,EAAdrH,EAAKoE,OAAY,MAAM,IAAIuD,EAAc,uBAC7C,MAAMzH,EAAMF,EAAKmN,MAEjB,KAAMjN,aAAe3B,GACnB,MAAM,IAAIoJ,EAAc,uBAC1B,GAAI3H,EAAKuQ,OAAQC,GAAMA,aAAajS,GAAS6F,OAAS,EACpD,MAAUO,MAAM,QAClB,MAAM1E,EACJtB,KACIuB,EAAI2G,OAAO6C,IAAI/K,MAAM+K,IAAIrC,GACzBnH,EAAI2G,OAAO4J,QAAQ/G,IAAI/K,MAAM+K,IAAIrC,GAEvC,MAAO,CACLnH,IAAKA,EACLD,IAAKoH,EAAUpH,EAAIyJ,IAAIrC,GAA8CpH,EACrEvB,KAAMwB,EAAIxB,KACVK,SAAUmB,EAAInB,SACdqL,QAAS,IAAIpK,EAAME,GAEtB,CAED,iBAAgB8J,CAAgC0E,GAO9C,MAAMzH,EAAqB,iBAARyH,EAAmBA,EAAMA,EAAIgC,QAChD,OAAIzJ,EAAIgE,SAASyB,EAAclM,MAAc,IAAIkM,EAAcgC,GAC3DzH,EAAIgE,SAAS0F,EAAcnQ,MAAc,IAAImQ,EAAcjC,GAC3DzH,EAAIgE,SAAS2F,EAAgBpQ,MACxB,IAAIoQ,EAAgBlC,GACzBzH,EAAIgE,SAAS4F,EAAWrQ,MAAc,IAAIqQ,EAAWnC,GACrDzH,EAAIgE,SAAS6F,EAAYtQ,MAAc,IAAIsQ,EAAYpC,GACvDzH,EAAIgE,SAAS7C,EAAiB5H,MACzB,IAAI4H,EAAiBsG,GAC1BzH,EAAIgE,SAAS8F,EAAevQ,MAAc,IAAIuQ,EAAerC,GAC7DzH,EAAIgE,SAAS+F,EAAcxQ,MAAc,IAAIwQ,EAActC,GAC3DzH,EAAIgE,SAASgG,EAAmBzQ,MAC3B,IAAIyQ,EAAmBvC,GAC5BzH,EAAIgE,SAASiG,EAAe1Q,MAAc,IAAI0Q,EAAexC,GAC7DzH,EAAIgE,SAASkG,EAAgB3Q,MACxB,IAAI2Q,EAAgBzC,GACzBzH,EAAIgE,SAASuB,EAAmBhM,MAC3B,IAAIgM,EAAmBkC,GACzB,IAAI/G,EAAc+G,EAC1B,CASD,iBAAgB0C,GACd3S,MAAM2S,aACNC,EAAWC,YAAYxL,IACpB4D,IAAI6H,EAAgBC,YACpBC,OACCC,EAAS3J,IACT4J,EAAaJ,EAAgBC,WAAY,CAAA,IAE1CtG,QAEHmG,EAAWC,YAAYxL,IACpB4D,IAAI6H,EAAgBK,YACpBH,OACCI,EAAe9J,IACf4J,EAAaJ,EAAgBK,WAAY,CAAA,IAE1C1G,QAqBHmG,EAAWC,YAAYxL,IACpB4D,IAAI6H,EAAgBO,QACpBC,OAAOC,KACP9G,QAEHmG,EAAWC,YAAYxL,IACpB4D,IAAI6H,EAAgBjO,OACpByO,OAAsBlC,GAiBdoC,IAAepC,IAEvB3E,OAkEJ,EAGHjC,GAAsBmI,aACtBjR,EAAQ+R,WAAWpM,ICjtCb,MAAOqM,WAEHnM,EACR,WAAAxH,GACEC,OACD,CAQQ,WAAAwH,CAAYC,GACnB,OAAOzH,MAAMwH,YAAYC,EAC1B,CAQQ,SAAAE,CAAUC,GAGjB,OAFkBC,QAAQ,+BAEnBlF,CADmBkF,QAAQ,sBACjBC,CAAkB5H,KAAK6H,aAAaH,IACtD,ECsBG,MAAgB+L,WACZC,SAMS1T,KAAA4C,QAAiC,IAAI0H,EAAwB,QAIpDtK,KAAA2K,WAAa,IAAI6I,EAA0B,CAUrE,WAAA3T,CACEgC,EACmBX,GAEnBpB,MAAM+B,GAFa7B,KAAKkB,MAALA,EAVXlB,KAAW2T,aAAY,EAa/B3T,KAAK4T,KAAOjR,EAAWkR,SAAS3S,EACjC,CAED,YAAM4S,CACJvS,EACA0C,EACA8P,KACG1S,GAEH,MAAMoK,QAAEA,SAAkBzL,KAAKyB,OAAO,IAAIJ,EAAME,GAAMvB,KAAK8T,QAC3D,OAAO9T,KAAK4T,KAAKE,OACf7P,EACA8P,KACGtI,EAEN,CAED,gBAAMuI,CACJzS,EACA0C,EACA8P,EACAE,KACG5S,GAEH,MAAMoK,QAAEA,SAAkBzL,KAAKyB,OAAO,IAAIJ,EAAME,GAAMvB,KAAKgU,YAC3D,OAAOhU,KAAK4T,KAAKI,WAAW/P,EAAgB8P,EAAcE,KAASxI,EACpE,CAED,eAAMyI,CACJ3S,EACA0C,EACAwC,KACGpF,GAEH,MAAMoK,QAAEA,SAAkBzL,KAAKyB,OAAO,IAAIJ,EAAME,GAAMvB,KAAKkU,WAC3D,OAAOlU,KAAK4T,KAAKM,UAAUjQ,EAAgBwC,KAAUgF,EACtD,CAED,eAAM0I,CACJ5S,EACAmH,KACGrH,GAEH,MAAMoK,QAAEA,SAAkBzL,KAAKyB,OAAO,IAAIJ,EAAME,GAAMvB,KAAKmU,WAC3D,OAAOnU,KAAK4T,KAAKO,UAAUzL,KAAW+C,EACvC,CAUD,YAAMT,CACJzJ,EACAmG,KACGrG,GAEH,MAAMC,IAAEA,EAAGmK,QAAEA,SAAkBzL,KAAKyB,OAAO,IAAIJ,EAAME,GAAMvB,KAAKgL,QAChE1J,EAAIsH,KAAK,oBAAoB6C,GAER,iBAAV/D,IAAoBA,EAAQ1H,KAAKsH,YAAeI,IAE3DpG,EAAIsH,KAAK,mBAAmBpG,KAAKC,UAAUiF,IAE3C,MAAMsJ,EAAYhR,KAAKoU,iBAAiB7S,GAKxC,OAHAD,EAAIsH,KAAK,6BACTlB,EAAQ9D,EAAMyQ,MAAM3M,EAAOsJ,EAAWhR,KAAKkB,OAEpClB,KAAK4T,KAAK5I,OAAOtD,KAAU+D,EACnC,CAUD,UAAMH,CACJ/J,EACA0C,KACG5C,GAEH,MAAMC,IAAEA,EAAGmK,QAAEA,SAAkBzL,KAAKyB,OAAO,IAAIJ,EAAME,GAAMvB,KAAKsL,MAIhE,OAFAhK,EAAIsH,KAAK,yBAAyB3E,MAE3BjE,KAAK4T,KAAKtI,KAAKrH,KAAQwH,EAC/B,CAES,gBAAA2I,CAAiB7S,GACzB,MAAM+S,EAAe/S,EAAIxB,KAAKwU,eAC9B,IAAIvD,EAAiB,CAAA,EAUrB,OARIsD,EAAaE,IAAKxU,KAAK4T,KAAahP,aACtCoM,EAAYxO,KAAKgF,MACd8M,EAAarU,IAAKD,KAAK4T,KAAahP,YAAuBvE,SAC1D,UAKC2Q,CACR,CAUD,YAAMxF,CACJjK,EACAmG,KACGrG,GAEH,MAAMC,IAAEA,EAAGmK,QAAEA,SAAkBzL,KAAKyB,OAAO,IAAIJ,EAAME,GAAMvB,KAAKwL,QAE3C,iBAAV9D,IAAoBA,EAAQ1H,KAAKsH,YAAeI,IAE3DpG,EAAIsH,KAAK,mBAAmBpG,KAAKC,UAAUiF,IAE3C,MAAMsJ,EAAYhR,KAAKoU,iBAAiB7S,GAIxC,OAFAD,EAAIsH,KAAK,6BACTlB,EAAQ9D,EAAMyQ,MAAM3M,EAAOsJ,EAAWhR,KAAKkB,OACpClB,KAAK4T,KAAKpI,OAAO9D,KAAU+D,EACnC,CAUD,YAAM,CACJlK,EACA0C,KACG5C,GAEH,MAAMC,IAAEA,EAAGmK,QAAEA,SAAkBzL,KAAKyB,OAAO,IAAIJ,EAAME,GAAMvB,KAAK0L,QAEhE,OADApK,EAAIsH,KAAK,0BAA0B3E,MAC5BjE,KAAK4T,KAAKlI,OAAczH,EAAPkH,MAAgBM,EACzC,CAUD,eAAMgJ,CACJlT,EACAiE,KACGnE,GAEH,MAAMoK,QAAEA,SAAkBzL,KAAKyB,OAAO,IAAIJ,EAAME,GAAMvB,KAAK0U,SAE3D,MADoB,iBAATlP,IAAmBA,EAAOhD,KAAKgF,MAAMhC,IACzCxF,KAAK4T,KAAKa,UAAUjP,KAASiG,EACrC,CAUD,aAAMiJ,CACJnT,EACAiE,KACGnE,GAEH,MAAMoK,QAAEA,SAAkBzL,KAAKyB,OAAO,IAAIJ,EAAME,GAAMvB,KAAK0U,SAE3D,MADoB,iBAATlP,IAAmBA,EAAOhD,KAAKgF,MAAMhC,IACzCxF,KAAK4T,KAAKc,QAAQlP,KAASiG,EACnC,CAUD,eAAM+E,CACJjP,EACA6N,KACG/N,GAEH,MAAMC,IAAEA,EAAGmK,QAAEA,SAAkBzL,KAAKyB,OAAO,IAAIJ,EAAME,GAAMvB,KAAKwQ,WAOhE,MANsB,iBAAXpB,IACTA,EAAU5M,KAAKgF,MAAM4H,GAClB/K,IAAK+M,GAAMpR,KAAKsH,YAAY8J,IAC5B/M,IAAK+M,GAAM,IAAIpR,KAAKkB,MAAMkQ,KAE/B9P,EAAIsH,KAAK,YAAYwG,EAAO3J,+BACrBzF,KAAK4T,KAAKpD,UAAUpB,KAA6B3D,EACzD,CAYD,WAAM5G,CACJmD,EACA/C,EACA0P,EACAZ,EAAiCa,EAAeC,IAChD/N,EACAE,KACG3F,GAEH,MAAMoK,QAAEA,SAAkBzL,KAAKyB,OAAO,IAAIJ,EAAM2G,GAAUhI,KAAK6E,OAC/D,OAAO7E,KAAK4T,KAAK/O,MACfI,EACA0P,EACAZ,EACAjN,EACAE,KACGyE,EAEN,CAWD,SAAMjI,CACJjC,EACAkC,EACAuM,KACG3O,GAEH,MAAMoK,QAAEA,SAAkBzL,KAAKyB,OAAO,IAAIJ,EAAME,GAAMvB,KAAKwD,KAC3D,OAAOiQ,GAAmB7Q,QAAQY,IAAIC,EAAUuM,KAAavE,EAC9D,CAES,SAAAhE,CAAUC,GAClB,OAAO+L,GAAmB9I,WAAWlD,UAAUC,EAChD,CAES,WAAAJ,CAA6BC,GACrC,OACEkM,GAAmB9I,WACnBrD,YAAYC,EACf,CAES,UAAMuN,CAAKvT,GACnB,MAAMD,IAAEA,SAActB,KAAKyB,OAAO,CAACF,GAAMvB,KAAK8U,MAC9CxT,EAAIsH,KAAK,oBAAoB5I,KAAK+U,+BAClC/U,KAAK2T,aAAc,EACnBrS,EAAIsH,KAAK,qCACV,CAED,iBAAMoM,CACJzT,GAEA,MAAMD,IAAEA,SAActB,KAAKyB,OAAO,CAACF,GAAMvB,KAAKgV,aAE9C,OADA1T,EAAIsH,KAAK,wBAAwB5I,KAAK2T,kBAC/B,CAAEqB,YAAahV,KAAK2T,YAC5B,CAUD,eAAMvD,CACJ7O,EACA6N,KACG/N,GAEH,MAAMC,IAAEA,EAAGmK,QAAEA,SAAkBzL,KAAKyB,OAAO,IAAIJ,EAAME,GAAMvB,KAAKoQ,WAQhE,MANsB,iBAAXhB,IACTA,EAAU5M,KAAKgF,MAAM4H,GAClB/K,IAAK+M,GAAMpR,KAAKsH,YAAY8J,IAC5B/M,IAAK+M,GAAM,IAAIpR,KAAKkB,MAAMkQ,KAE/B9P,EAAIsH,KAAK,UAAUwG,EAAO3J,+BACnBzF,KAAK4T,KAAKxD,UAAUhB,KAA6B3D,EACzD,CAED,YAAMhK,CACJJ,EACAqH,GAOA,OAAO+K,GAAmBhS,OAAOwT,KAAKjV,KAA/ByT,CAAqCpS,EAAMqH,EACnD,CAsBS,mBAAajH,CAErBJ,EACAqH,GAOA,GAAkB,EAAdrH,EAAKoE,OAAY,MAAM,IAAIuD,EAAc,uBAC7C,MAAMzH,EAAMF,EAAKmN,MACjB,GAAIjN,aAAe5B,GACjB,MAAO,CACL4B,MACAD,IAAKC,EAAI2G,OAAO4J,QAAQ/G,IAAI/K,MAAM+K,IAAIrC,GACtC+C,QAAS,IAAIpK,EAAME,GACnBxB,KAAMwB,EAAIxB,KACVK,SAAUmB,EAAInB,UAGlB,KAAMmB,aAAe2T,GACnB,MAAM,IAAIlM,EAAc,6BAmB1B,MAAMmM,EAAY,CAChBpG,cAAexN,EAAIxB,KAAKiP,WAEpBhH,QAAgByL,GAAmB7Q,QAAQoF,QApBjD,MACE,GAAsB,iBAAXU,EAAqB,OAAOA,EACvC,OAAQA,EAAO7G,MACb,KAAKpB,EAAcC,OACnB,KAAKD,EAAc2U,KACnB,KAAK3U,EAAcE,OACnB,KAAKF,EAAcG,OACnB,KAAKC,EAAsBC,WAC3B,KAAKD,EAAsBwU,SAC3B,KAAKxU,EAAsBE,WAC3B,KAAKF,EAAsBG,YAGzB,OAAO0H,EAAO7G,IAEnB,EAMCyT,GACAH,EACAnV,KAAKkB,MACLK,GAGID,EACJtB,KACIgI,EAAQE,OAAO6C,IAAI/K,MAAM+K,IAAIrC,GAC7BV,EAAQE,OAAO4J,QAAQ/G,IAAI/K,MAAM+K,IAAIrC,GAE3C,MAAO,CACLnH,IAAKyG,EACL1G,IAAKA,EACLvB,KAAMiI,EAAQjI,KACdK,SAAU4H,EAAQ5H,SAClBqL,QAAS,IAAIpK,EAAM2G,GAEtB,ECveG,MAAOuN,WAEH9B,GACR,WAAA5T,CAAYgC,EAAcX,GACxBpB,MAAM+B,EAAMX,EACb,CAGQ,YAAM8J,CAAOhD,EAAcN,GAClC,MAAMpG,IAAEA,EAAGC,IAAEA,SAAcvB,KAAKyB,OAAO,CAACuG,GAAUhI,KAAKgL,QACvD1J,EAAIsH,KAAK,mBAAmBlB,GAE5B,MAAM0J,EAAIpR,KAAKsH,YAAeI,GAG9B,OADApG,EAAIsH,KAAK,uBAAuBpG,KAAKC,UAAU2O,IACxCpR,KAAKyH,gBAAiB3H,MAAMkL,OAAOzJ,EAAY6P,GACvD,CAGQ,UAAM9F,CAAKtD,EAAc/D,GAChC,MAAM3C,IAAEA,EAAGC,IAAEA,SAAcvB,KAAKyB,OAAO,CAACuG,GAAUhI,KAAKsL,MAEvD,OADAhK,EAAIsH,KAAK,eAAe3E,GACjBjE,KAAKyH,gBAAiB3H,MAAMwL,KAAK/J,EAAY0C,GACrD,CAGQ,YAAMuH,CAAOxD,EAAcN,GAClC,MAAMpG,IAAEA,EAAGC,IAAEA,SAAcvB,KAAKyB,OAAO,CAACuG,GAAUhI,KAAKwL,QAEvD,OADAlK,EAAIsH,KAAK,mBAAmBlB,GACrB1H,KAAKyH,gBAAiB3H,MAAM0L,OAAOjK,EAAYmG,GACvD,CAGQ,YAAM,CAAOM,EAAc/D,GAClC,MAAM3C,IAAEA,EAAGC,IAAEA,SAAcvB,KAAKyB,OAAO,CAACuG,GAAUhI,KAAK0L,QAEvD,OADApK,EAAIsH,KAAK,gBAAgB3E,GAClBjE,KAAKyH,gBAAiB3H,MAAM4L,OAAOnK,EAAY0C,GACvD,CAGQ,eAAMwQ,CAAUzM,EAAcxC,GACrC,MAAMgQ,EAAuBhT,KAAKgF,MAAMhC,IAClClE,IAAEA,EAAGC,IAAEA,SAAcvB,KAAKyB,OAAO,CAACuG,GAAUhI,KAAKyU,WAIvD,OAFAnT,EAAIsH,KAAK,YAAY4M,EAAW/P,iCAEzBjD,KAAKC,iBACF3C,MAAM2U,UAAUlT,EAAYiU,IAAqBnR,IACtD+M,GAAMpR,KAAKyH,UAAU2J,IAG3B,CAGQ,aAAMsD,CAAQ1M,EAAcxC,GACnC,MAAMgQ,EAAuBhT,KAAKgF,MAAMhC,IAElClE,IAAEA,EAAGC,IAAEA,SAAcvB,KAAKyB,OAAO,CAACuG,GAAUhI,KAAK0U,SAGvD,OAFApT,EAAIsH,KAAK,WAAW4M,EAAW/P,iCAExBjD,KAAKC,iBACF3C,MAAM4U,QAAQnT,EAAYiU,IAAqBnR,IAAK+M,GAC1DpR,KAAKyH,UAAU2J,IAGpB,CAGQ,eAAMZ,CAAUxI,EAAcoH,GACrC,MAAM9N,IAAEA,EAAGC,IAAEA,SAAcvB,KAAKyB,OAAO,CAACuG,GAAUhI,KAAKwQ,WAEjDiF,EADiBjT,KAAKgF,MAAM4H,GAE/B/K,IAAK+M,GAAMpR,KAAKsH,YAAY8J,IAC5B/M,IAAK+M,GAAM,IAAIpR,KAAKkB,MAAMkQ,IAG7B,OADA9P,EAAIsH,KAAK,YAAY6M,EAAUhQ,+BACxBjD,KAAKC,iBACF3C,MAAM0Q,UAAUjP,EAAYkU,IAAoBpR,IACrD+M,GAAMpR,KAAKyH,UAAU2J,IAG3B,CAGc,eAAA+C,CAAUnM,EAAcU,KAAmBrH,GACxD,MAAME,IAAEA,EAAGD,IAAEA,SAActB,KAAKyB,OAAO,IAAIJ,EAAM2G,GAAUhI,KAAKmU,WAWhE,OAVA9S,EAAOA,EAAKgD,IAAKwN,IACf,IACE,OAAOrP,KAAKgF,MAAMqK,EAEnB,CAAC,MAAOrI,GACP,OAAOqI,CACR,IAEHvQ,EAAIsH,KAAK,8BAA8BF,GACvCpH,EAAIS,MAAM,aAAaV,GAChBmB,KAAKC,gBAAgB3C,MAAMqU,UAAU5S,EAAKmH,KAAWrH,GAC7D,CAGc,YAAAyS,CACb9L,EACA/D,EACA8P,KACG1S,GAEH,MAAME,IAAEA,SAAcvB,KAAKyB,OAAO,IAAIJ,EAAM2G,GAAUhI,KAAK8T,QAC3D,OAAOtR,KAAKC,gBACJ3C,MAAMgU,OAAOvS,EAAK0C,EAAgB8P,GAE3C,CAGQ,gBAAMC,CACbhM,EACA/D,EACA8P,EACAE,KACG5S,GAEH,MAAME,IAAEA,SAAcvB,KAAKyB,OAAO,IAAIJ,EAAM2G,GAAUhI,KAAKgU,YAC3D,OAAOxR,KAAKC,gBAAgB3C,MAAMkU,WAAWzS,EAAK0C,EAAK8P,EAAcE,GACtE,CAGc,eAAAC,CACblM,EACA/D,EACAwC,KACGpF,GAEH,MAAME,IAAEA,SAAcvB,KAAKyB,OAAO,IAAIJ,EAAM2G,GAAUhI,KAAKgU,YAC3D,OAAOxR,KAAKC,gBAAgB3C,MAAMoU,UAAU3S,EAAK0C,EAAKwC,KAAUpF,GACjE,CAGQ,WAAMwD,CACbmD,EACA/C,EACA0P,EACAZ,EACAjN,EACAE,KACG3F,GAEH,MAAME,IAAEA,SAAcvB,KAAKyB,OAAO,CAACuG,GAAUhI,KAAK6E,OAClD,IAAI6Q,EACJ,IACEA,EAAOvQ,EAAU5C,KAAKC,KAAKgF,MAAMvC,GAClC,CAAC,MAAOuE,GACP,MAAM,IAAIqE,EAAmB,sBAAsBrE,EACpD,CACD,OAAOhH,KAAKC,gBACJ3C,MAAM+E,MAAMtD,EAAKmU,EAAMf,EAASZ,EAAcjN,EAAOE,KAAS3F,GAEvE,CAeQ,UAAMyT,CAAKvT,SACZzB,MAAMgV,KAAKvT,EAClB,CAGQ,iBAAMyT,CAAYhN,GACzB,MAAM1G,IAAEA,EAAGC,IAAEA,SAAcvB,KAAKyB,OAAO,CAACuG,GAAUhI,KAAKwQ,WAGvD,OAFAlP,EAAIS,MAAM,wBAAwB/B,KAAK2T,kBAEhCnR,KAAKC,gBAAgB3C,MAAMkV,YAAYzT,GAC/C,CAGQ,eAAM6O,CAAUpI,EAAcoH,GACrC,MAAM9N,IAAEA,SAActB,KAAKyB,OAAO,CAACuG,GAAUhI,KAAKoQ,WAE5CqF,EADiBjT,KAAKgF,MAAM4H,GAE/B/K,IAAK+M,GAAMpR,KAAKsH,YAAY8J,IAC5B/M,IAAK+M,GAAM,IAAIpR,KAAKkB,MAAMkQ,IAG7B,OADA9P,EAAIsH,KAAK,UAAU6M,EAAUhQ,+BACtBjD,KAAKC,iBACF3C,MAAMsQ,UAAUpI,EAASyN,IAAoBpR,IAClD+M,GAAMpR,KAAKyH,UAAU2J,IAG3B,EA5LcuE,EAAA,CADdC,qDAC8BV,EAAG/J,yCAQjCoK,GAAAM,UAAA,SAAA,MAGcF,EAAA,CADdC,GAAY,oDACgBV,EAAG/J,yCAI/BoK,GAAAM,UAAA,OAAA,MAGcF,EAAA,CADdC,qDAC8BV,EAAG/J,yCAIjCoK,GAAAM,UAAA,SAAA,MAGcF,EAAA,CADdC,qDAC8BV,EAAG/J,yCAIjCoK,GAAAM,UAAA,SAAA,MAGcF,EAAA,CADdC,qDACiCV,EAAG/J,yCAWpCoK,GAAAM,UAAA,YAAA,MAGcF,EAAA,CADdC,GAAY,oDACmBV,EAAG/J,yCAWlCoK,GAAAM,UAAA,UAAA,MAGcF,EAAA,CADdC,qDACiCV,EAAG/J,yCAapCoK,GAAAM,UAAA,YAAA,MAGcF,EAAA,CADdC,GAAY,oDACqBV,EAAG/J,OAAAA,yCAapCoK,GAAAM,UAAA,YAAA,MAGcF,EAAA,CADdC,GAAY,oDAEFV,EAAG/J,OAAAA,OAAAA,yCASboK,GAAAM,UAAA,SAAA,MAGcF,EAAA,CADdC,GAAY,oDAEFV,EAAG/J,OAAAA,OAAA2K,OAAA3K,yCAQboK,GAAAM,UAAA,aAAA,MAGcF,EAAA,CADdC,GAAY,oDAEFV,EAAG/J,OAAAA,OAAAA,yCAOboK,GAAAM,UAAA,YAAA,MAqCcF,EAAA,CADdC,qDACwBV,oCAExBK,GAAAM,UAAA,OAAA,MAGcF,EAAA,CADdC,GAAY,oDACuBV,oCAKnCK,GAAAM,UAAA,cAAA,MAGcF,EAAA,CADdC,qDACiCV,EAAG/J,yCAapCoK,GAAAM,UAAA,YAAA,MC1MG,MAAOE,WAAsB/M,EACjC,WAAAnJ,CAAYyI,GACVxI,MAAMwI,EAAKyN,GAAclU,KAC1B,EAaG,MAAOmU,WAAqBhN,EAChC,WAAAnJ,CAAYyI,GACVxI,MAAMwI,EAAK0N,GAAanU,KACzB,EAaG,MAAOoU,WAAuBjN,EAClC,WAAAnJ,CAAYyI,GACVxI,MAAMwI,EAAK2N,GAAepU,KAC3B,EAoFG,MAAOqU,WAA4BC,EACvC,WAAAtW,CAAYyI,GACVxI,MAAMoW,GAAoBrU,KAAMyG,EAAK,IACtC,ECzHa,SAAA8N,GAAIvE,EAAWwE,GAC7B,MAAMC,EAAIzE,EAAIwE,EACd,GAAIxE,IAAMyE,EAAID,GAAKA,IAAMC,EAAIzE,EAC3B,MAAM,IAAIkE,GAAc,sBAAsBlE,OAAOwE,KAEvD,OAAOC,CACT,CAYgB,SAAAC,GAAI1E,EAAWwE,GAC7B,MAAMC,EAAIzE,EAAIwE,EACd,GAAIxE,IAAMyE,EAAID,GAAKA,IAAMxE,EAAIyE,EAC3B,MAAM,IAAIP,GAAc,yBAAyBlE,OAAOwE,KAE1D,OAAOC,CACT,CCdO,IAAME,GAAN,cAAyBC,EA8B9B,WAAA5W,CAAYuR,GACVtR,MAAMsR,EACP,GA1BDuE,EAAA,CALC9R,EAAG,CAAEE,KAAM,oCAKEyS,GAAAX,UAAA,YAAA,GAQdF,EAAA,CANCe,IACAC,6BAKcH,GAAAX,UAAA,aAAA,GAOfF,EAAA,CANCe,IACAC,6BAKeH,GAAAX,UAAA,cAAA,GAOhBF,EAAA,CANCe,IACAC,6BAKiBH,GAAAX,UAAA,gBAAA,GA5BPW,GAAUb,EAAA,CAFtB/T,EAAM,gBACN8F,qCACY8O,IAqDN,IAAMI,GAAN,cAA0BH,EA+B/B,WAAA5W,CAAYuR,GACVtR,MAAMsR,EACP,GA3BDuE,EAAA,CALC9R,EAAG,CAAEE,KAAM,oCAKA6S,GAAAf,UAAA,UAAA,GAQZF,EAAA,CANCe,IACAC,6BAKcC,GAAAf,UAAA,aAAA,GAQfF,EAAA,CANCe,IACAC,6BAKgBC,GAAAf,UAAA,eAAA,GAOjBF,EAAA,CALCe,6BAKgBE,GAAAf,UAAA,eAAA,GA7BNe,GAAWjB,EAAA,CAFvB/T,EAAM,iBACN8F,qCACYkP,IAmDN,IAAMC,GAAN,cAAwBJ,EA8B7B,WAAA5W,CAAYuR,GACVtR,MAAMsR,EACP,YCjHa0F,KACd,OAAO,SACL3K,EACA4K,EACAC,GAEA,MAAMC,EAAiBD,EAAWvQ,MAgClC,OA9BAuQ,EAAWvQ,MAAQ0C,kBAEd9H,GAEH,MAAME,EAAiBF,EAAK,GACtB6V,EAAW3V,EAAI0N,eAAe1F,QAE9B4N,QAAgBnX,KACH,gBACjBmX,SAEIC,QAAeD,EAAOE,QAAQ9V,GAEpC,GAAqB,GAAjB6V,EAAO3R,OACT,MAAM,IAAIsI,EAAc,uBAG1B,GAAIqJ,EAAO3R,OAAS,EAClB,MAAM,IAAIsI,EAAc,6BAA6BqJ,EAAO3R,QAG9D,GAAI2R,EAAO,GAAG1V,OAASwV,EACrB,MAAM,IAAI5E,EACR,8BAA8ByE,kBAIlC,aAAaE,EAAe1K,MAAMvM,KAAMqB,EAC1C,EAEO2V,CACT,CACF,CChFA,IAAYM,GFqIV3B,EAAA,CAXC9R,EAAG,CAAEE,KAAM,WAKX2S,IACAC,6BAKcE,GAAAhB,UAAA,aAAA,GAQfF,EAAA,CANCe,IACAC,6BAKgBE,GAAAhB,UAAA,eAAA,GAQjBF,EAAA,CANCe,IACAC,6BAKcE,GAAAhB,UAAA,aAAA,GA5BJgB,GAASlB,EAAA,CAFrB/T,EAAM,oBACN8F,qCACYmP,IEzHb,CAAYS,IAQVA,EAAA,SAAA,WASAA,EAAA,SAAA,UACD,EAlBD,CAAYA,KAAAA,GAkBX,CAAA,ICuBK,MAAgBC,WAA4B9D,GAOhD,WAAA5T,CAAsBgC,GACpB/B,MAAM+B,EAAM+U,IAEZW,GAAoB3U,QAClB2U,GAAoB3U,SAAW,IAAI0H,GAErCtK,KAAKwX,iBAAmB9U,GAAyBmR,SAC/C+C,GACAW,GAAoB3U,QAAQkI,OAG9B9K,KAAKyX,gBAAkB/U,GAAyBmR,SAC9C2C,GACAe,GAAoB3U,QAAQkI,OAG9B9K,KAAK0X,oBAAsBhV,GAAyBmR,SAClDgD,GACAU,GAAoB3U,QAAQkI,MAE/B,CAGD,eAAM6M,CAAU3P,GACd,MAAMzG,IAAEA,SAAcvB,KAAKyB,OAAO,CAACuG,GAAUhI,KAAK2X,iBAE5C3X,KAAK4X,iBAAiBrW,GAE5B,MAAM4V,EAASnX,KAAKyX,gBAAgBN,SAGpC,aAFqBA,EAAOE,QAAQ9V,IAAM,GAE7BM,IACd,CASD,YAAMgW,CAAO7P,GACX,MAAMzG,IAAEA,SAAcvB,KAAKyB,OAAO,CAACuG,GAAUhI,KAAK2X,iBAE5C3X,KAAK4X,iBAAiBrW,GAE5B,MAAM4V,EAASnX,KAAKyX,gBAAgBN,SAGpC,aAFqBA,EAAOE,QAAQ9V,IAAM,GAE7BuW,MACd,CAUD,cAAMC,CAAS/P,GACb,MAAMzG,IAAEA,SAAcvB,KAAKyB,OAAO,CAACuG,GAAUhI,KAAK2X,iBAE5C3X,KAAK4X,iBAAiBrW,GAE5B,MAAM4V,EAASnX,KAAKyX,gBAAgBN,SAGpC,aAFqBA,EAAOE,QAAQ9V,IAAM,GAE7ByW,QACd,CASD,iBAAMC,CAAYjQ,GAChB,MAAMzG,IAAEA,SAAcvB,KAAKyB,OAAO,CAACuG,GAAUhI,KAAK2X,iBAE5C3X,KAAK4X,iBAAiBrW,GAE5B,MAAM4V,EAASnX,KAAKwX,iBAAiBL,SAC/Be,QAAgBf,EAAOE,QAAQ9V,GAErC,GAAsB,GAAlB2W,EAAQzS,OACV,MAAM,IAAIsI,EAAc,aAAa/N,KAAK+U,4BAG5C,IAAIoD,EAAQ,EAMZ,OAJAD,EAAQ5R,QAAS8R,IACfD,GAASC,EAAOC,UAGXF,CACR,CAUD,eAAMG,CAAUtQ,EAAkBtG,GAChC,MAAMH,IAAEA,SAAcvB,KAAKyB,OAAO,CAACuG,GAAUhI,KAAK2X,WAMlD,aAJM3X,KAAK4X,iBAAiBrW,UAEPvB,KAAKwX,iBAAiBlM,KAAK5J,EAAOH,IAEzC8W,OACf,CAaK,cAAAE,CACJvQ,EACAwQ,EACA/R,GAGA,MAAMlF,IAAEA,SAAcvB,KAAKyB,OAAO,CAACuG,GAAUhI,KAAKuY,gBAC5CvY,KAAK4X,iBAAiBrW,GAE5B,MAAMgB,EAAOhB,EAAInB,SAASmJ,QAG1B,UAD2BvJ,KAAKyY,UAAUlW,EAAMiW,EAAI/R,EAAOlF,GAEzD,MAAM,IAAIyH,EAAc,sBAG1B,OAAO,CACR,CAYK,kBAAA0P,CACJ1Q,EACAzF,EACAiW,EACA/R,GAGA,MAAMlF,IAAEA,SAAcvB,KAAKyB,OAAO,CAACuG,GAAUhI,KAAK2Y,gBAC5C3Y,KAAK4X,iBAAiBrW,GAI5B,MAAMqX,EAAUrX,EAAInB,SAASmJ,QAEvBsP,QAAkB7Y,KAAK8Y,cAAcvW,EAAMqW,EAASrX,GAC1D,IAAKsX,GAA+B,EAAlBA,EAAUpS,MAC1B,MAAM,IAAIwP,GACR,WAAW2C,2BAAiCrW,KAIhD,MAAMwW,EAAmBF,EAAUpS,MAGnC,GAAuBA,EAAnBsS,EACF,MAAM,IAAI/C,GACR,wDAKJ,MAAMgD,EAAmBzC,GAAIwC,EAAkBtS,GACzCwS,EAAelW,OAAOC,OAAO,CAAA,EAAI6V,EAAW,CAChDpS,MAAOuS,IAOT,SAJMhZ,KAAK0X,oBAAoBlM,OAAOyN,EAAc1X,UAGzBvB,KAAKyY,UAAUlW,EAAMiW,EAAI/R,EAAOlF,GAEzD,MAAM,IAAIyH,EAAc,sBAG1B,OAAO,CACR,CAED,eAAMyP,CACJlW,EACAiW,EACA/R,EACAlF,GAEA,MAAMD,EAAMC,EAAI2G,OAEhB,GAAI3F,IAASiW,EACX,MAAM,IAAIlG,EACR,mDAIJ,GAAY,EAAR7L,EAEF,MAAM,IAAIuP,GAAa,sCAKzB,MAAMkD,QAAmBlZ,KAAKwX,iBAAiBlM,KAAK/I,EAAMhB,GAEpD4X,EAAcD,EAAWb,QAG/B,GAAkB5R,EAAd0S,EACF,MAAM,IAAInD,GAAa,kBAAkBzT,6BAK3C,IAAI6W,EACAC,GAAuB,EAC3B,IACED,QAAiBpZ,KAAKwX,iBAAiBlM,KAAKkN,EAAIjX,EACjD,CAAC,MAAOiI,GACP,KAAIA,aAAa2M,GAaf,MAAM,IAAInN,EAAcQ,GAZxB,GAAe,MAAXA,EAAE8P,KASJ,MAAM,IAAItQ,EAAcQ,EAAEuI,SAP1BqH,EAAW,IAAIxC,GAAY,CACzBxV,GAAIoX,EACJH,QAAS,EACTkB,YAAavZ,KAAK2X,UAAUpW,KAE9B8X,GAAc,CAOnB,CAED,MAAMG,EAAYJ,EAASf,QAGrBoB,EAAqBlD,GAAI4C,EAAa1S,GACtCiT,EAAmBtD,GAAIoD,EAAW/S,GAElCkT,EAAoB5W,OAAOC,OAAO,CAAA,EAAIkW,EAAY,CACtDb,QAASoB,UAGLzZ,KAAKwX,iBAAiBhM,OAAOmO,EAAmBpY,GAEtD,MAAMqY,EAAkB7W,OAAOC,OAAO,CAAA,EAAIoW,EAAU,CAClDf,QAASqB,IAGPL,QACIrZ,KAAKwX,iBAAiBxM,OAAO4O,EAAiBrY,SAE9CvB,KAAKwX,iBAAiBhM,OAAOoO,EAAiBrY,GAItD,MAAMsY,EAAgB,CAAEtX,OAAMiW,KAAI/R,MAAOA,GAYzC,OAVAzG,KAAK4T,KACFkG,QACCtD,GACAc,GAAYyC,SACZ,GACAF,EACAtY,GAEDyY,MAAOxQ,GAAMlI,EAAIwH,MAAM,8BAA8BU,KAEjD,CACR,CAYK,aAAAyQ,CACJjS,EACA4Q,EACAnS,GAEA,MAAMlF,IAAEA,EAAGkK,QAAEA,SAAkBzL,KAAKyB,OAAO,CAACuG,GAAUhI,KAAKia,eAErDja,KAAK4X,iBAAiBrW,GAE5B,MAAMG,EAAQH,EAAInB,SAASmJ,QAE3B,IAAIsP,QAAkB7Y,KAAK8Y,cAAcpX,EAAOkX,EAASrX,GAIzD,UAF0BvB,KAAKwX,iBAAiBlM,KAAK5J,KAAU+J,IAE/C4M,QAAU5R,EACxB,MAAM,IAAIuP,GAAa,kBAAkBtU,6BAGvCmX,GAEFA,EAAUpS,MAAQA,QACZzG,KAAK0X,oBAAoBlM,OAAOqN,KAAcpN,KAEpDoN,EAAY,IAAIhC,GAAU,CACxBnV,MAAOA,EACPkX,QAASA,EACTnS,MAAOA,UAGHzG,KAAK0X,oBAAoB1M,OAAO6N,KAAcpN,IAItD,MAAMyO,EAAgB,CAAExY,QAAOkX,UAASnS,MAAOA,GAS/C,OARAzG,KAAK4T,KAAKkG,QACRtD,GACAc,GAAY6C,SACZ,GACAD,EACA3Y,IAGK,CACR,CAWK,eAAAsV,CACJ7O,EACAtG,EACAkX,GAEA,MAAMrX,IAAEA,SAAcvB,KAAKyB,OAAO,CAACuG,GAAUhI,KAAK6W,iBAE5C7W,KAAK4X,iBAAiBrW,GAE5B,MAAMsX,QAAkB7Y,KAAK8Y,cAAcpX,EAAOkX,EAASrX,GAE3D,IAAKsX,EACH,MAAM,IAAI5C,GACR,WAAW2C,2BAAiClX,KAGhD,OAAOmX,EAAUpS,KAClB,CAED,mBAAMqS,CACJpX,EACAkX,EACArX,GAEA,MAAM6Y,EAAqBjV,EAAUC,IACnCD,EAAUE,UAAqB,SAASC,GAAG5D,GAC3CyD,EAAUE,UAAqB,WAAWC,GAAGsT,IAGzCC,QAAkB7Y,KAAK0X,oBAC1BP,SACAkD,MAAMD,GACN/C,QAAQ9V,GACX,OAAOsX,IAAY,EACpB,CAcD,gBAAMyB,CAAWtS,EAAkBuR,GACjC,MAAMhY,IAAEA,SAAcvB,KAAKyB,OAAO,CAACuG,GAAUhI,KAAKsa,YAGlD,UADqBta,KAAKyX,gBAAgBN,SAASE,QAAQ9V,IAChDkE,OAAS,EAClB,MAAM,IAAI6M,EACR,6EAQJ,OAJAiH,EAAM7X,MAAQH,EAAInB,SAASmJ,cAErBvJ,KAAKyX,gBAAgBzM,OAAOuO,EAAOhY,IAElC,CACR,CAID,sBAAMqW,CAAiB5P,GACrB,MAAMzG,IAAEA,SAAcvB,KAAKyB,OAAO,CAACuG,GAAUhI,KAAK4X,kBAElD,GAAqB,UADA5X,KAAKyX,gBAAgBN,SAASE,QAAQ9V,IAChDkE,OACT,MAAM,IAAIyQ,GACR,wGAGL,CAWD,UAAMqE,CAAKvS,EAAkBwS,GAC3B,MAAMjZ,IAAEA,SAAcvB,KAAKyB,OAAO,CAACuG,GAAUhI,KAAKua,YAE5Cva,KAAK4X,iBAAiBrW,GAG5B,MAAMkZ,EAASlZ,EAAInB,SAASmJ,QAE5B,GAAc,GAAViR,EACF,MAAM,IAAIE,EAAgB,0CAG5B,IAAIC,EACJ,IACEA,QAAqB3a,KAAKwX,iBAAiBlM,KAAKmP,EAAQlZ,GAExD,MAEMqZ,EAAiBxE,GAFAuE,EAAatC,QAEOmC,GAErCK,EAAgB9X,OAAOC,OAAO,CAAA,EAAI2X,EAAc,CACpDtC,QAASuC,UAGL5a,KAAKwX,iBAAiBhM,OAAOqP,EAAetZ,EACnD,CAAC,MAAOiI,GACP,KAAIA,aAAa2M,GAaf,MAAM,IAAInN,EAAcQ,GAZxB,GAAe,MAAXA,EAAE8P,KASJ,MAAM,IAAItQ,EAAcQ,EAAEuI,SATR,CAElB,MAAM+I,EAAY,IAAIlE,GAAY,CAChCxV,GAAIqZ,EACJpC,QAASmC,EACTjB,YAAavZ,KAAK2X,UAAU3P,WAExBhI,KAAKwX,iBAAiBxM,OAAO8P,EAAWvZ,EAC/C,CAMJ,CAGD,MAAMsY,EAAgB,CAAEtX,KAAM,MAAOiW,GAAIiC,EAAQhU,MAAO+T,GAEtDxa,KAAK4T,KAAKrT,kBACCU,gBACXuV,GACAc,GAAYyC,SACZ,GACAF,EACAtY,EAEH,CAWD,UAAMwZ,CAAK/S,EAAkBwS,GAC3B,MAAMlZ,IAAEA,EAAGC,IAAEA,SAAcvB,KAAKyB,OAAO,CAACuG,GAAUhI,KAAK+a,YAEjD/a,KAAK4X,iBAAiBrW,GAE5B,MAAMkZ,EAASlZ,EAAInB,SAASmJ,QAEtBoR,QAAqB3a,KAAKwX,iBAAiBlM,KAAKmP,EAAQlZ,GAExDyZ,EAAiBL,EAAatC,QAEpC,GAAqBmC,EAAjBQ,EACF,MAAM,IAAIhF,GAAa,kCAGzB,MAAM4E,EAAiBrE,GAAIyE,EAAgBR,GAErCK,EAAgB9X,OAAOC,OAAO,CAAA,EAAI2X,EAAc,CACpDtC,QAASuC,UAGL5a,KAAKwX,iBAAiBhM,OAAOqP,EAAetZ,GAElDD,EAAIsH,KAAQ4R,EAAH,uBAGT,MAAMX,EAAgB,CAAEtX,KAAMkY,EAAQjC,GAAI,MAAO/R,MAAO+T,GAEtDxa,KAAK4T,KAAKrT,kBACCU,gBACXuV,GACAc,GAAYyC,SACZ,GACAF,EACAtY,EAEH,CAYK,cAAAoX,CACJ3Q,EACAiT,EACAT,GAEA,MAAMlZ,IAAEA,EAAGC,IAAEA,SAAcvB,KAAKyB,OAAO,CAACuG,GAAUhI,KAAK2Y,gBAEjD3Y,KAAK4X,iBAAiBrW,GAE5B,MAAM2Z,QAAsBlb,KAAKwX,iBAAiBlM,KAAK2P,EAAS1Z,GAE1DyZ,EAAiBE,EAAc7C,QAErC,GAAqBmC,EAAjBQ,EACF,MAAM,IAAIhF,GAAgBiF,EAAH,4BAGzB,MAAML,EAAiBrE,GAAIyE,EAAgBR,GAErCW,EAAiBpY,OAAOC,OAAO,CAAA,EAAIkY,EAAe,CACtD7C,QAASuC,UAGL5a,KAAKwX,iBAAiBhM,OAAO2P,EAAgB5Z,GAEnDD,EAAIsH,KAAK,GAAG4R,6BAAkCS,KAG9C,MAAMpB,EAAgB,CAAEtX,KAAM0Y,EAASzC,GAAI,MAAO/R,MAAO+T,GAEvDxa,KAAK4T,KAAKrT,kBACCU,gBACXuV,GACAc,GAAYyC,SACZ,GACAF,EACAtY,EAEH,CASD,0BAAM6Z,CAAqBpT,GACzB,MAAMzG,IAAEA,SAAcvB,KAAKyB,OAAO,CAACuG,GAAUhI,KAAK2X,iBAE5C3X,KAAK4X,iBAAiBrW,GAG5B,MAAM8Z,EAAkB9Z,EAAInB,SAASmJ,QAE/B+R,QAAqBtb,KAAKwX,iBAAiBlM,KAAK+P,EAAiB9Z,GAEvE,IAAK+Z,EACH,MAAM,IAAItF,GAAa,eAAeqF,oBAGxC,OAAOC,EAAajD,OACrB,CAMD,qBAAMkD,CAAgBvT,GACpB,MAAMzG,IAAEA,SAAcvB,KAAKyB,OAAO,CAACuG,GAAUhI,KAAKub,iBAMlD,aAJMvb,KAAK4X,iBAAiBrW,GAGJA,EAAInB,SAASmJ,OAEtC,EArmBKoM,EAAA,CADLC,GAAY,oDACYhW,oCASxB2X,GAAA1B,UAAA,YAAA,MASKF,EAAA,CADLC,GAAY,oDACShW,oCASrB2X,GAAA1B,UAAA,SAAA,MAUKF,EAAA,CADLC,GAAY,oDACWhW,oCASvB2X,GAAA1B,UAAA,WAAA,MASKF,EAAA,CADLC,GAAY,oDACchW,oCAmB1B2X,GAAA1B,UAAA,cAAA,MAUKF,EAAA,CADLC,GAAY,oDACYhW,EAAOuL,yCAQ/BoM,GAAA1B,UAAA,YAAA,MAaKF,EAAA,CADLC,qDAEUhW,EAAOuL,OAAA2K,yCAgBjByB,GAAA1B,UAAA,WAAA,MAYKF,EAAA,CADLC,qDAEUhW,EAAOuL,OAAAA,OAAA2K,yCA4CjByB,GAAA1B,UAAA,eAAA,MAwGKF,EAAA,CADLC,qDAEUhW,EAAOuL,OAAA2K,yCA2CjByB,GAAA1B,UAAA,UAAA,MAWKF,EAAA,CADLC,GAAY,oDAEFhW,EAAOuL,OAAAA,yCAgBjBoM,GAAA1B,UAAA,YAAA,MA+BKF,EAAA,CADLC,8BACyB4F,EAAA,oBAAA,CAAA5b,EAAgB4W,qCAezCe,GAAA1B,UAAA,aAAA,MAIKF,EAAA,CADLC,GAAY,oDACmBhW,oCAQ/B2X,GAAA1B,UAAA,mBAAA,MAWKF,EAAA,CAFLmB,KACAlB,qDACmBhW,EAAOkW,yCAsD1ByB,GAAA1B,UAAA,OAAA,MAWKF,EAAA,CAFLmB,KACAlB,qDACmBhW,EAAOkW,yCAoC1ByB,GAAA1B,UAAA,OAAA,MAYKF,EAAA,CAFLmB,KACAlB,qDAEUhW,EAAOuL,OAAA2K,yCAqCjByB,GAAA1B,UAAA,WAAA,MASKF,EAAA,CADLC,GAAY,oDACuBhW,oCAenC2X,GAAA1B,UAAA,uBAAA,MAMKF,EAAA,CADLC,GAAY,oDACkBhW,oCAQ9B2X,GAAA1B,UAAA,kBAAA,MC/qBU,MAAA4F,GAAmB,CAAClE,ICFpBmE,GAAU,cACVC,GAAe,cAE5B3X,EAAS4X,gBAAgBD,GAAcD"}
|
|
@@ -1,4 +1,3 @@
|
|
|
1
|
-
#!/usr/bin/env node
|
|
2
1
|
"use strict";
|
|
3
2
|
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
4
3
|
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
@@ -69,4 +68,4 @@ program
|
|
|
69
68
|
(0, child_process_1.execSync)("rm -rf ./global/lib && rm -rf ./global/dist");
|
|
70
69
|
});
|
|
71
70
|
program.parse(process.argv);
|
|
72
|
-
//# sourceMappingURL=
|
|
71
|
+
//# sourceMappingURL=build-contract.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"build-contract.js","sourceRoot":"","sources":["../../src/bin/build-contract.ts"],"names":[],"mappings":";;;;;AAAA,gDAAwB;AACxB,4CAAoB;AACpB,mCAAgC;AAChC,4EAA6C;AAC7C,kFAAmD;AACnD,yCAAoC;AACpC,iDAAyC;AACzC,MAAM,OAAO,GAAG,IAAI,mBAAO,EAAE,CAAC;AAE9B,OAAO;KACJ,OAAO,CAAC,yBAAyB,CAAC;KAClC,WAAW,CAAC,2BAA2B,CAAC;KACxC,MAAM,CAAC,OAAO,EAAE,yCAAyC,EAAE,KAAK,CAAC;KACjE,MAAM,CAAC,SAAS,EAAE,mCAAmC,EAAE,KAAK,CAAC;KAC7D,MAAM,CAAC,KAAK,EAAE,OAAY,EAAE,EAAE;IAC7B,MAAM,GAAG,GAAY,OAAO,CAAC,GAAG,CAAC;IAEjC,IAAA,wBAAQ,EAAC,iBAAiB,CAAC,CAAC;IAE5B,MAAM,GAAG,GAAG,IAAI,CAAC,KAAK,CACpB,YAAE,CAAC,YAAY,CAAC,cAAI,CAAC,IAAI,CAAC,SAAS,EAAE,oBAAoB,CAAC,EAAE,OAAO,CAAC,CACrE,CAAC;IAEF,MAAM,OAAO,GAAG,GAAG,CAAC,OAAO,CAAC;IAE5B,MAAM,MAAM,GAAG,MAAM,IAAA,eAAM,EAAC;QAC1B,KAAK,EAAE,yBAAyB;QAChC,OAAO,EAAE;YACP,IAAA,wBAAO,EAAC;gBACN,iBAAiB,EAAE,IAAI;gBACvB,UAAU,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC;gBACpB,MAAM,EAAE,EAAE,aAAa,EAAE,OAAO,EAAE;aACnC,CAAC;YACF,IAAA,2BAAU,EAAC;gBACT,QAAQ,EAAE,iBAAiB;gBAC3B,eAAe,EAAE;oBACf,MAAM,EAAE,QAAQ;iBACjB;gBACD,MAAM,EAAE,QAAQ;gBAChB,WAAW,EAAE,KAAK;aACnB,CAAC;SACH;KACF,CAAC,CAAC;IAEH,MAAM,MAAM,CAAC,KAAK,CAAC;QACjB,IAAI,EAAE,4BAA4B;QAClC,MAAM,EAAE,KAAK;QACb,IAAI,EAAE,mBAAmB;KAC1B,CAAC,CAAC;IAEH,MAAM,OAAO,GAAG;QACd,KAAK,EAAE,OAAO,CAAC,KAAK;YAClB,CAAC,CAAC,0FAA0F;YAC5F,CAAC,CAAC,6BAA6B;QACjC,WAAW,EACT,wHAAwH;QAC1H,aAAa,EAAE,oCAAoC;QACnD,KAAK,EAAE,uCAAuC;QAC9C,IAAI,EAAE,0BAA0B;KACjC,CAAC;IAEF,MAAM,eAAe,GAAG,GAAG,CAAC;IAE5B,eAAe,CAAC,IAAI,GAAG,iBAAiB,CAAC;IACzC,eAAe,CAAC,WAAW,GAAG,gCAAgC,CAAC;IAC/D,eAAe,CAAC,OAAO,GAAG,OAAO,CAAC;IAElC,OAAO,eAAe,CAAC,IAAI,CAAC;IAC5B,OAAO,eAAe,CAAC,KAAK,CAAC;IAC7B,OAAO,eAAe,CAAC,OAAO,CAAC;IAC/B,eAAe,CAAC,IAAI,GAAG,mBAAmB,CAAC;IAE3C,YAAE,CAAC,aAAa,CACd,cAAI,CAAC,IAAI,CAAC,SAAS,EAAE,2BAA2B,CAAC,EACjD,IAAI,CAAC,SAAS,CAAC,eAAe,CAAC,CAChC,CAAC;IAEF,IAAA,wBAAQ,EAAC,4BAA4B,CAAC,CAAC;IACvC,IAAA,wBAAQ,EAAC,+BAA+B,CAAC,CAAC;IAC1C,IAAA,wBAAQ,EAAC,oCAAoC,CAAC,CAAC;IAE/C,IAAA,wBAAQ,EAAC,6CAA6C,CAAC,CAAC;AAC1D,CAAC,CAAC,CAAC;AAEL,OAAO,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC"}
|
|
@@ -1,4 +1,3 @@
|
|
|
1
|
-
#!/usr/bin/env node
|
|
2
1
|
"use strict";
|
|
3
2
|
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
4
3
|
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
@@ -45,4 +44,4 @@ program
|
|
|
45
44
|
// );
|
|
46
45
|
});
|
|
47
46
|
program.parse(process.argv);
|
|
48
|
-
//# sourceMappingURL=
|
|
47
|
+
//# sourceMappingURL=build-contracts.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"build-contracts.js","sourceRoot":"","sources":["../../src/bin/build-contracts.ts"],"names":[],"mappings":";;;;;AAAA,gDAAwB;AACxB,4CAAoB;AACpB,yCAAoC;AACpC,iDAAyC;AACzC,MAAM,OAAO,GAAG,IAAI,mBAAO,EAAE,CAAC;AAE9B,OAAO;KACJ,OAAO,CAAC,kBAAkB,CAAC;KAC3B,WAAW,CAAC,2BAA2B,CAAC;KACxC,MAAM,CAAC,OAAO,EAAE,yCAAyC,EAAE,KAAK,CAAC;KACjE,MAAM,CAAC,SAAS,EAAE,mBAAmB,EAAE,KAAK,CAAC;KAC7C,MAAM,CAAC,iBAAiB,EAAE,eAAe,EAAE,UAAU,CAAC;KACtD,MAAM,CAAC,mBAAmB,EAAE,QAAQ,EAAE,SAAS,CAAC;KAChD,MAAM,CAAC,KAAK,EAAE,OAAY,EAAE,EAAE;IAC7B,MAAM,GAAG,GAAY,OAAO,CAAC,GAAG,CAAC;IACjC,MAAM,KAAK,GAAY,OAAO,CAAC,KAAK,CAAC;IAErC,MAAM,GAAG,GAAG,IAAI,CAAC,KAAK,CACpB,YAAE,CAAC,YAAY,CAAC,cAAI,CAAC,IAAI,CAAC,SAAS,EAAE,oBAAoB,CAAC,EAAE,OAAO,CAAC,CACrE,CAAC;IAEF,MAAM,OAAO,GAAG;QACd,KAAK,EAAE,KAAK;YACV,CAAC,CAAC,0FAA0F;YAC5F,CAAC,CAAC,6BAA6B;QACjC,WAAW,EACT,wHAAwH;QAC1H,aAAa,EAAE,oCAAoC;QACnD,KAAK,EAAE,uCAAuC;QAC9C,IAAI,EAAE,0BAA0B;KACjC,CAAC;IAEF,MAAM,eAAe,GAAG,GAAG,CAAC;IAE5B,eAAe,CAAC,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC;IACpC,eAAe,CAAC,WAAW,GAAG,gCAAgC,CAAC;IAC/D,eAAe,CAAC,OAAO,GAAG,OAAO,CAAC;IAElC,OAAO,eAAe,CAAC,IAAI,CAAC;IAC5B,OAAO,eAAe,CAAC,KAAK,CAAC;IAC7B,OAAO,eAAe,CAAC,OAAO,CAAC;IAC/B,eAAe,CAAC,IAAI,GAAG,UAAU,CAAC;IAElC,YAAE,CAAC,aAAa,CACd,cAAI,CAAC,IAAI,CAAC,SAAS,EAAE,QAAQ,EAAE,OAAO,CAAC,MAAM,EAAE,cAAc,CAAC,EAC9D,IAAI,CAAC,SAAS,CAAC,eAAe,CAAC,CAChC,CAAC;IAEF,IAAA,wBAAQ,EACN,MAAM,cAAI,CAAC,IAAI,CAAC,SAAS,EAAE,QAAQ,EAAE,OAAO,CAAC,MAAM,CAAC,iBAAiB,CACtE,CAAC;IACF,IAAA,wBAAQ,EACN,MAAM,cAAI,CAAC,IAAI,CAAC,SAAS,EAAE,QAAQ,EAAE,OAAO,CAAC,MAAM,CAAC,qBAAqB,CAC1E,CAAC;IACF,YAAY;IACZ,mFAAmF;IACnF,KAAK;AACP,CAAC,CAAC,CAAC;AAEL,OAAO,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC"}
|
|
@@ -1,4 +1,3 @@
|
|
|
1
|
-
#!/usr/bin/env node
|
|
2
1
|
"use strict";
|
|
3
2
|
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
4
3
|
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
@@ -71,4 +70,4 @@ program
|
|
|
71
70
|
(0, child_process_1.execSync)("rm -rf ./contracts/lib && rm -rf ./contracts/dist");
|
|
72
71
|
});
|
|
73
72
|
program.parse(process.argv);
|
|
74
|
-
//# sourceMappingURL=
|
|
73
|
+
//# sourceMappingURL=build-contracts2.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"build-contracts2.js","sourceRoot":"","sources":["../../src/bin/build-contracts2.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,4 +1,3 @@
|
|
|
1
|
-
#!/usr/bin/env node
|
|
2
1
|
"use strict";
|
|
3
2
|
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
4
3
|
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
@@ -28,4 +27,4 @@ program
|
|
|
28
27
|
await adapter["index"](folder);
|
|
29
28
|
});
|
|
30
29
|
program.parse(process.argv);
|
|
31
|
-
//# sourceMappingURL=
|
|
30
|
+
//# sourceMappingURL=compile-indexes.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"compile-indexes.js","sourceRoot":"","sources":["../../src/bin/compile-indexes.ts"],"names":[],"mappings":";;;;;AAAA,gDAAwB;AACxB,yCAAoC;AACpC,2DAAwD;AACxD,iDAAsD;AACtD,MAAM,OAAO,GAAG,IAAI,mBAAO,EAAE,CAAC;AAE9B,OAAO;KACJ,OAAO,CAAC,iBAAiB,CAAC;KAC1B,WAAW,CACV,2EAA2E,CAC5E;KACA,MAAM,CAAC,QAAQ,EAAE,8BAA8B,EAAE,KAAK,CAAC;KACvD,MAAM,CAAC,UAAU,EAAE,2CAA2C,EAAE,KAAK,CAAC;KACtE,MAAM,CAAC,OAAO,EAAE,yCAAyC,EAAE,KAAK,CAAC;KACjE,MAAM,CAAC,SAAS,EAAE,mCAAmC,EAAE,KAAK,CAAC;KAC7D,MAAM,CAAC,KAAK,EAAE,OAAY,EAAE,EAAE;IAC7B,wCAAwC;IACxC,IAAI,EAAE,IAAI,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC;IAE/B,IAAI,IAAI,EAAE,CAAC;QACT,MAAM,GAAG,cAAI,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;IAC9B,CAAC;IAED,IAAI,CAAC,IAAI,IAAI,CAAC,MAAM;QAClB,MAAM,IAAI,6BAAa,CAAC,8BAA8B,CAAC,CAAC;IAE1D,MAAM,OAAO,GAAG,IAAI,2BAAmB,CAAC,EAAS,CAAC,CAAC;IACnD,MAAM,OAAO,CAAC,OAAO,CAAC,CAAC,MAAM,CAAC,CAAC;AACjC,CAAC,CAAC,CAAC;AAEL,OAAO,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC"}
|
package/lib/cli-module.cjs
CHANGED
|
@@ -136,4 +136,4 @@ function fabric() {
|
|
|
136
136
|
mainCommand.addCommand(ensureInfra);
|
|
137
137
|
return mainCommand;
|
|
138
138
|
}
|
|
139
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2xpLW1vZHVsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uL3NyYy9jbGktbW9kdWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7O0FBOEtBLHlCQVdDO0FBekxELHlDQUFvQztBQUVwQywrQ0FBMEQ7QUFDMUQsaURBQXlDO0FBQ3pDLDRDQUFvQjtBQUNwQixnREFBd0I7QUFDeEIsbUNBQWdDO0FBQ2hDLDRFQUE2QztBQUM3QyxrRkFBbUQ7QUFDbkQsMkRBQXdEO0FBRXhELE1BQU0sTUFBTSxHQUFHLGlCQUFPLENBQUMsR0FBRyxDQUFDLFFBQVEsQ0FBQyxDQUFDO0FBRXJDLE1BQU0sY0FBYyxHQUFHLElBQUksbUJBQU8sRUFBRTtLQUNqQyxJQUFJLENBQUMsa0JBQWtCLENBQUM7S0FDeEIsV0FBVyxDQUFDLDJCQUEyQixDQUFDO0tBQ3hDLE1BQU0sQ0FBQyxPQUFPLEVBQUUseUNBQXlDLEVBQUUsS0FBSyxDQUFDO0tBQ2pFLE1BQU0sQ0FBQyxTQUFTLEVBQUUsbUNBQW1DLEVBQUUsSUFBSSxDQUFDO0tBQzVELE1BQU0sQ0FBQyxpQkFBaUIsRUFBRSxlQUFlLEVBQUUsaUJBQWlCLENBQUM7S0FDN0QsTUFBTSxDQUNMLHdCQUF3QixFQUN4QixzQkFBc0IsRUFDdEIsZ0NBQWdDLENBQ2pDO0tBQ0EsTUFBTSxDQUFDLGtCQUFrQixFQUFFLDRCQUE0QixFQUFFLGVBQWUsQ0FBQztLQUN6RSxNQUFNLENBQUMsbUJBQW1CLEVBQUUsNkJBQTZCLEVBQUUsYUFBYSxDQUFDO0tBQ3pFLE1BQU0sQ0FBQyxLQUFLLEVBQUUsT0FBWSxFQUFFLEVBQUU7SUFDN0IsTUFBTSxHQUFHLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FDcEIsWUFBRSxDQUFDLFlBQVksQ0FBQyxjQUFJLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxHQUFHLEVBQUUsRUFBRSxjQUFjLENBQUMsRUFBRSxPQUFPLENBQUMsQ0FDbkUsQ0FBQztJQUVGLE1BQU0sT0FBTyxHQUFHLEdB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TSxTQUFTLEdBQUcsY0FBSSxDQUFDLElBQUksQ0FBQyxLQUFLLEVBQUUsSUFBSSxDQUFDLENBQUM7SUFDekMsTUFBTSxVQUFVLEdBQUcsY0FBSSxDQUFDLElBQUksQ0FBQyxNQUFNLEVBQUUsSUFBSSxDQUFDLENBQUM7SUFDM0MsR0FBRyxDQUFDLElBQUksQ0FBQyx3Q0FBd0MsVUFBVSxFQUFFLENBQUMsQ0FBQztJQUMvRCxJQUFBLHdCQUFRLEVBQUMsVUFBVSxVQUFVLEVBQUUsQ0FBQyxDQUFDO0FBQ25DLENBQUMsQ0FBQyxDQUFDO0FBRUwsU0FBd0IsTUFBTTtJQUM1QixNQUFNLFdBQVcsR0FBRyxJQUFJLG1CQUFPLEVBQUU7U0FDOUIsSUFBSSxDQUFDLFFBQVEsQ0FBQztTQUNkLFdBQVcsQ0FDVixtRUFBbUUsQ0FDcEUsQ0FBQztJQUVKLFdBQVcsQ0FBQyxVQUFVLENBQUMsY0FBYyxDQUFDLENBQUM7SUFDdkMsV0FBVyxDQUFDLFVBQVUsQ0FBQyxXQUFXLENBQUMsQ0FBQztJQUVwQyxPQUFPLFdBQVcsQ0FBQztBQUNyQixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tbWFuZCB9IGZyb20gXCJjb21tYW5kZXJcIjtcbmltcG9ydCB7IHJ1bkNvbW1hbmQgfSBmcm9tIFwiQGRlY2FmLXRzL3V0aWxzXCI7XG5pbXBvcnQgeyBMb2dnaW5nLCB0b1Bhc2NhbENhc2UgfSBmcm9tIFwiQGRlY2FmLXRzL2xvZ2dpbmdcIjtcbmltcG9ydCB7IGV4ZWNTeW5jIH0gZnJvbSBcImNoaWxkX3Byb2Nlc3NcIjtcbmltcG9ydCBmcyBmcm9tIFwiZnNcIjtcbmltcG9ydCBwYXRoIGZyb20gXCJwYXRoXCI7XG5pbXBvcnQgeyByb2xsdXAgfSBmcm9tIFwicm9sbHVwXCI7XG5pbXBvcnQgcmVwbGFjZSBmcm9tIFwiQHJvbGx1cC9wbHVnaW4tcmVwbGFjZVwiO1xuaW1wb3J0IHR5cGVzY3JpcHQgZnJvbSBcIkByb2xsdXAvcGx1Z2luLXR5cGVzY3JpcHRcIjtcbmltcG9ydCB7IEludGVybmFsRXJyb3IgfSBmcm9tIFwiQGRlY2FmLXRzL2RiLWRlY29yYXRvcnNcIjtcblxuY29uc3QgbG9nZ2VyID0gTG9nZ2luZy5mb3IoXCJmYWJyaWNcIik7XG5cbmNvbnN0IGNvbXBpbGVDb21tYW5kID0gbmV3IENvbW1hbmQoKVxuICAubmFtZShcImNvbXBpbGUtY29udHJhY3RcIilcbiAgLmRlc2NyaXB0aW9uKFwiQ3JlYXRlcyBhIGdsb2JhbCBjb250cmFjdFwiKVxuICAub3B0aW9uKFwiLS1kZXZcIiwgXCJjb21waWxlcyBjb250cmFjdHMgd2l0aG91dCBtaW5pZmljYXRpb25cIiwgZmFsc2UpXG4gIC5vcHRpb24oXCItLWRlYnVnXCIsIFwibWFrZXMgYXR0YWNoaW5nIGRlYnVnZ2VyIHBvc3NpYmxlXCIsIHRydWUpXG4gIC5vcHRpb24oXCItLW5hbWUgPFN0cmluZz5cIiwgXCJjb250cmFjdCBuYW1lXCIsIFwiZ2xvYmFsLWNvbnRyYWN0XCIpXG4gIC5vcHRpb24oXG4gICAgXCItLWRlc2NyaXB0aW9uIDxTdHJpbmc+XCIsXG4gICAgXCJjb250cmFjdCBkZXNjcmlwdGlvblwiLFxuICAgIFwiR2xvYmFsIGNvbnRyYWN0IGltcGxlbWVudGF0aW9uXCJcbiAgKVxuICAub3B0aW9uKFwiLS1pbnB1dCA8U3RyaW5nPlwiLCBcImlucHV0IGZvbGRlciBmb3IgY29udHJhY3RzXCIsIFwic3JjL2NvbnRyYWN0c1wiKVxuICAub3B0aW9uKFwiLS1vdXRwdXQgPFN0cmluZz5cIiwgXCJvdXRwdXQgZm9sZGVyIGZvciBjb250cmFjdHNcIiwgXCIuL2NvbnRyYWN0c1wiKVxuICAuYWN0aW9uKGFzeW5jIChvcHRpb25zOiBhbnkpID0+IHtcbiAgICBjb25zdCBwa2cgPSBKU09OLnBhcnNlKFxuICAgICAgZnMucmVhZEZpbGVTeW5jKHBhdGguam9pbihwcm9jZXNzLmN3ZCgpLCBcInBhY2thZ2UuanNvblwiKSwgXCJ1dGYtOFwiKVxuICAgICk7XG5cbiAgICBjb25zdCB2ZXJzaW9uID0gcGtnLnZlcnNpb247XG5cbiAgICBjb25zdCB7IGRldiwgZGVidWcsIG5hbWUsIGRlc2NyaXB0aW9uLCBvdXRwdXQsIGlucHV0IH0gPSBvcHRpb25zO1xuICAgIGNvbnN0IGxvZyA9IGxvZ2dlci5mb3IoXCJjb21waWxlLWNvbnRyYWN0XCIpO1xuICAgIGxvZy5kZWJ1ZyhcbiAgICAgIGBydW5uaW5nIHdpdGggb3B0aW9uczogJHtKU09OLnN0cmluZ2lmeShvcHRpb25zKX0gZm9yICR7cGtnLm5hbWV9IHZlcnNpb24gJHt2ZXJzaW9ufWBcbiAgICApO1xuXG4gICAgbG9nLmluZm8oYERlbGV0aW5nIGV4aXN0aW5nIG91dHB1dCBmb2xkZXIgKGlmIGV4aXN0cykgdW5kZXIgJHtvdXRwdXR9YCk7XG4gICAgZXhlY1N5bmMoYHJtIC1yZiAke291dHB1dH1gKTtcbiAgICBsb2cuaW5mbyhgYnVuZGxpbmcgY29udHJhY3QgZnJvbSAke2lucHV0fWApO1xuICAgIGNvbnN0IGJ1bmRsZSA9IGF3YWl0IHJvbGx1cCh7XG4gICAgICBpbnB1dDogYCR7aW5wdXR9L2luZGV4LnRzYCxcbiAgICAgIHBsdWdpbnM6IFtcbiAgICAgICAgcmVwbGFjZSh7XG4gICAgICAgICAgcHJldmVudEFzc2lnbm1lbnQ6IHRydWUsXG4gICAgICAgICAgZGVsaW1pdGVyczogW1wiXCIsIFwiXCJdLFxuICAgICAgICAgIHZhbHVlczogeyBcIiMjVkVSU0lPTiMjXCI6IHZlcnNpb24sIFwiIyNQQUNLQUdFIyNcIjogcGtnLm5hbWUgfSxcbiAgICAgICAgfSksXG4gICAgICAgIHR5cGVzY3JpcHQoe1xuICAgICAgICAgIHRzY29uZmlnOiBcIi4vdHNjb25maWcuanNvblwiLFxuICAgICAgICAgIGNvbXBpbGVyT3B0aW9uczoge1xuICAgICAgICAgICAgb3V0RGlyOiBvdXRwdXQsXG4gICAgICAgICAgfSxcbiAgICAgICAgICBtb2R1bGU6IFwiZXNuZXh0XCIsXG4gICAgICAgICAgZGVjbGFyYXRpb246IGZhbHNlLFxuICAgICAgICB9KSxcbiAgICAgIF0sXG4gICAgfSk7XG4gICAgbG9nLmluZm8oXG4gICAgICBgd2l0aGluZyBjb250cmFjdCB0byAke291dHB1dH0gd2l0aCBuYW1lICR7dG9QYXNjYWxDYXNlKG5hbWUpfS5qc2BcbiAgICApO1xuICAgIGF3YWl0IGJ1bmRsZS53cml0ZSh7XG4gICAgICBmaWxlOiBgJHtvdXRwdXR9LyR7dG9QYXNjYWxDYXNlKG5hbWUpfS5qc2AsXG4gICAgICBmb3JtYXQ6IFwidW1kXCIsXG4gICAgICBuYW1lOiBgJHt0b1Bhc2NhbENhc2UobmFtZSl9LmpzYCxcbiAgICB9KTtcblxuICAgIGNvbnN0IHNjcmlwdHMgPSB7XG4gICAgICBzdGFydDogZGVidWdcbiAgICAgICAgPyBcIm5vZGUgLS1pbnNwZWN0PTAuMC4wLjA6OTIyOSAvdXNyL2xvY2FsL3NyYy9ub2RlX21vZHVsZXMvLmJpbi9mYWJyaWMtY2hhaW5jb2RlLW5vZGUgc3RhcnRcIlxuICAgICAgICA6IFwiZmFicmljLWNoYWluY29kZS1ub2RlIHN0YXJ0XCIsXG4gICAgICBcInN0YXJ0OmRldlwiOlxuICAgICAgICAnZmFicmljLWNoYWluY29kZS1ub2RlIHN0YXJ0IC0tcGVlci5hZGRyZXNzIFwiMTI3LjAuMC4xOjg1NDFcIiAtLWNoYWluY29kZS1pZC1uYW1lIFwiY2hhaW5jb2RlMTowLjAuMVwiIC0tdGxzLmVuYWJsZWQgZmFsc2UnLFxuICAgICAgXCJzdGFydDp3YXRjaFwiOiAnbm9kZW1vbiAtLWV4ZWMgXCJucG0gcnVuIHN0YXJ0OmRldlwiJyxcbiAgICAgIGJ1aWxkOiAnZWNobyBcIk5vIG5lZWQgdG8gYnVpbGQgdGhlIGNoYWluY29kZVwiJyxcbiAgICAgIGxpbnQ6IFwiZXNsaW50IC4gLS1maXggLS1leHQgLmpzXCIsXG4gICAgfTtcblxuICAgIGNvbnN0IGNvbnRyYWN0UGFja2FnZSA9IHBrZztcblxuICAgIGNvbnRyYWN0UGFja2FnZS5uYW1lID0gbmFtZTtcbiAgICBjb250cmFjdFBhY2thZ2UuZGVzY3JpcHRpb24gPSBkZXNjcmlwdGlvbjtcbiAgICBjb250cmFjdFBhY2thZ2Uuc2NyaXB0cyA9IHNjcmlwdHM7XG5cbiAgICBkZWxldGUgY29udHJhY3RQYWNrYWdlLnR5cGU7XG4gICAgZGVsZXRlIGNvbnRyYWN0UGFja2FnZS50eXBlcztcbiAgICBkZWxldGUgY29udHJhY3RQYWNrYWdlLmV4cG9ydHM7XG4gICAgY29udHJhY3RQYWNrYWdlLm1haW4gPSBgJHt0b1Bhc2NhbENhc2UobmFtZSl9LmpzYDtcblxuICAgIGZzLndyaXRlRmlsZVN5bmMoXG4gICAgICBwYXRoLmpvaW4ob3V0cHV0LCBcInBhY2thZ2UuanNvblwiKSxcbiAgICAgIEpTT04uc3RyaW5naWZ5KGNvbnRyYWN0UGFja2FnZSlcbiAgICApO1xuXG4gICAgbG9nLmluZm8oYEluc3RhbGxpbmcgYW5kIHNocmlua3dyYXBwaW5nIGRlcGVuZGVuY2llc2ApO1xuICAgIGV4ZWNTeW5jKGBjZCAke291dHB1dH0gJiYgbnBtIGluc3RhbGxgKTtcbiAgICBleGVjU3luYyhgY2QgJHtvdXRwdXR9ICYmIG5wbSBzaHJpbmt3cmFwYCk7XG4gICAgZXhlY1N5bmMoXCJjZCAke291dHB1dH0gJiYgcm0gLXJmIG5vZGVfbW9kdWxlc1wiKTtcblxuICAgIGxvZy5pbmZvKGBkZWxldGluZyB0ZW1wIGZvbGRlcnNgKTtcbiAgICBleGVjU3luYyhgcm0gLXJmICR7b3V0cHV0fS9saWIgJiYgcm0gLXJmICR7b3V0cHV0fS9kaXN0YCk7XG4gIH0pO1xuXG5jb25zdCBlbnN1cmVJbmZyYSA9IG5ldyBDb21tYW5kKClcbiAgLm5hbWUoXCJhd2FpdC1pbmZyYVwiKVxuICAuZGVzY3JpcHRpb24oXCJ3YWl0cyBmb3IgdGhlIGluZnJhc3RydWN0dXJlIHRvIGJlIHVwIGFuZCBydW5uaW5nXCIpXG4gIC5vcHRpb24oXG4gICAgXCItLWNvbnRhaW5lciA8U3RyaW5nPlwiLFxuICAgIFwiZG9ja2VyIGNvbnRhaW5lciBuYW1lIHRvIHRlc3QgKHVzdWFsbHkgbGFzdCBwZWVyKVwiLFxuICAgIFwiYm9vdC1vcmctYy1wZWVyLTBcIlxuICApXG4gIC5vcHRpb24oXCItLXRpbWVvdXQgPFN0cmluZz5cIiwgXCJ0aW1lb3V0IGJldHdlZW4gdGVzdHMgaW4gbWlsbGlzZWNvbmRzXCIsIFwiNTAwMFwiKVxuICAub3B0aW9uKFwiLS1hdHRlbXB0cyA8U3RyaW5nPlwiLCBcIm51bWJlciBvZiBhdHRlbXB0cyBiZWZvcmUgZ2l2aW5nIHVwXCIsIFwiMTBcIilcbiAgLmFjdGlvbihhc3luYyAob3B0aW9uczogYW55KSA9PiB7XG4gICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIHByZWZlci1jb25zdFxuICAgIGxldCB7IGNvbnRhaW5lciwgdGltZW91dCwgYXR0ZW1wdHMgfSA9IG9wdGlvbnM7XG4gICAgdGltZW91dCA9IHBhcnNlSW50KHRpbWVvdXQpIHx8IDUwMDA7XG4gICAgYXR0ZW1wdHMgPSBwYXJzZUludChhdHRlbXB0cykgfHwgMTA7XG4gICAgY29uc3QgbG9nID0gbG9nZ2VyLmZvcihcImF3YWl0LWluZnJhXCIpO1xuICAgIGZ1bmN0aW9uIGRpZEluZnJhc3RydWN0dXJlQm9vdCgpOiBib29sZWFuIHtcbiAgICAgIHRyeSB7XG4gICAgICAgIGNvbnN0IG91dHB1dCA9IGV4ZWNTeW5jKFxuICAgICAgICAgIGBkb2NrZXIgaW5zcGVjdCAke2NvbnRhaW5lcn0gLS1mb3JtYXQ9J3t7LlN0YXRlLkV4aXRDb2RlfX0nYFxuICAgICAgICApXG4gICAgICAgICAgLnRvU3RyaW5nKClcbiAgICAgICAgICAudHJpbSgpO1xuXG4gICAgICAgIHJldHVybiBvdXRwdXQgPT09IFwiMFwiO1xuICAgICAgfSBjYXRjaCAoZXJyOiBhbnkpIHtcbiAgICAgICAgY29uc29sZS5lcnJvcihcIkVycm9yIGluc3BlY3RpbmcgY29udGFpbmVyOlwiLCBlcnIubWVzc2FnZSk7XG4gICAgICAgIHJldHVybiBmYWxzZTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICB3aGlsZSAoIWRpZEluZnJhc3RydWN0dXJlQm9vdCgpKSB7XG4gICAgICBpZiAoLS1hdHRlbXB0cyA8PSAwKSB0aHJvdyBuZXcgSW50ZXJuYWxFcnJvcihcImV4Y2VlZGVkIGFsbG93ZWQgYXR0ZW1wdHNcIik7XG4gICAgICBsb2cuaW5mbyhcIldhaXRpbmcgZm9yIGluZnJhc3RydWN0dXJlIHRvIGJvb3QuLi5cIik7XG4gICAgICBhd2FpdCBuZXcgUHJvbWlzZSgocikgPT4gc2V0VGltZW91dChyLCB0aW1lb3V0KSk7IC8vIFdhaXQgZm9yIDUgc2Vjb25kcyBiZWZvcmUgcmV0cnlpbmdcbiAgICB9XG5cbiAgICBsb2cuaW5mbyhcbiAgICAgIGBJbmZyYXN0cnVjdHVyZSBib290ZWQgc3VjY2Vzc2Z1bGx5IChhY2NvcmRpbmcgdG8gY29udGFpbmVyICR7Y29udGFpbmVyfSkhYFxuICAgICk7XG4gIH0pO1xuXG5jb25zdCBjb3B5Q29udHJhY3RzID0gbmV3IENvbW1hbmQoKVxuICAubmFtZShcImNvcHktY29udHJhY3RzXCIpXG4gIC5kZXNjcmlwdGlvbihcbiAgICBcImNvcGllcyB0aGUgY29udHJhY3RzIHRvIHRoZSBmb2xkZXIgdGhleSdsbCBiZSBjb25zdW1lZCBieSBmYWJyaWNcIlxuICApXG4gIC5vcHRpb24oXCItLWlucHV0IDxTdHJpbmc+XCIsIFwiaW5wdXQgZm9sZGVyXCIsIFwiLi9jb250cmFjdHNcIilcbiAgLm9wdGlvbihcbiAgICBcIi0tbmFtZSA8U3RyaW5nPlwiLFxuICAgIFwiY29udHJhY3QgbmFtZSAoYW5kIGZvbGRlciBuYW1lIHdpdGhpbiBpbnB1dCBmb2xkZXIpXCIsXG4gICAgXCJnbG9iYWwtY29udHJhY3RcIlxuICApXG4gIC5vcHRpb24oXG4gICAgXCItLW91dHB1dCA8U3RyaW5nPlwiLFxuICAgIFwib3V0cHV0IGZvbGRlclwiLFxuICAgIFwiLi9kb2NrZXIvaW5mcmFzdHJ1Y3R1cmUvY2hhaW5jb2RlXCJcbiAgKVxuICAuYWN0aW9uKGFzeW5jIChvcHRpb25zOiBhbnkpID0+IHtcbiAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgcHJlZmVyLWNvbnN0XG4gICAgbGV0IHsgaW5wdXQsIG91dHB1dCwgbmFtZSB9ID0gb3B0aW9ucztcblxuICAgIGNvbnN0IGxvZyA9IGxvZ2dlci5mb3IoXCJjb3B5LWNvbnRyYWN0c1wiKTtcbiAgICBjb25zdCBpbnB1dFBhdGggPSBwYXRoLmpvaW4oaW5wdXQsIG5hbWUpO1xuICAgIGNvbnN0IG91dHB1dFBhdGggPSBwYXRoLmpvaW4ob3V0cHV0LCBuYW1lKTtcbiAgICBsb2cuaW5mbyhgZGVsZXRpbmcgcHJldmlvdXMgY29udHJhY3QgZm9sZGVyIGF0ICR7b3V0cHV0UGF0aH1gKTtcbiAgICBleGVjU3luYyhgcm0gLXJmICR7b3V0cHV0UGF0aH1gKTtcbiAgfSk7XG5cbmV4cG9ydCBkZWZhdWx0IGZ1bmN0aW9uIGZhYnJpYygpIHtcbiAgY29uc3QgbWFpbkNvbW1hbmQgPSBuZXcgQ29tbWFuZCgpXG4gICAgLm5hbWUoXCJmYWJyaWNcIilcbiAgICAuZGVzY3JpcHRpb24oXG4gICAgICBcImV4cG9zZXMgc2V2ZXJhbCBjb21tYW5kcyB0byBoZWxwIG1hbmFnZSB0aGUgZmFicmljIGluZnJhc3RydWN0dXJlXCJcbiAgICApO1xuXG4gIG1haW5Db21tYW5kLmFkZENvbW1hbmQoY29tcGlsZUNvbW1hbmQpO1xuICBtYWluQ29tbWFuZC5hZGRDb21tYW5kKGVuc3VyZUluZnJhKTtcblxuICByZXR1cm4gbWFpbkNvbW1hbmQ7XG59XG4iXX0=
|
|
139
|
+
//# sourceMappingURL=cli-module.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"cli-module.js","sourceRoot":"","sources":["../src/cli-module.ts"],"names":[],"mappings":"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"}
|
|
@@ -214,7 +214,9 @@ class FabricClientAdapter extends core_1.Adapter {
|
|
|
214
214
|
const tableName = decorator_validation_1.Model.tableName(clazz);
|
|
215
215
|
log.info(`adding ${ids.length} entries to ${tableName} table`);
|
|
216
216
|
log.verbose(`pks: ${ids}`);
|
|
217
|
-
const result = await this.submitTransaction(db_decorators_1.BulkCrudOperationKeys.CREATE_ALL, [
|
|
217
|
+
const result = await this.submitTransaction(db_decorators_1.BulkCrudOperationKeys.CREATE_ALL, [
|
|
218
|
+
JSON.stringify(models.map((m) => this.serializer.serialize(m, clazz.name))),
|
|
219
|
+
], transient, undefined, clazz.name);
|
|
218
220
|
try {
|
|
219
221
|
return JSON.parse(this.decode(result)).map((r) => JSON.parse(r));
|
|
220
222
|
}
|
|
@@ -234,7 +236,7 @@ class FabricClientAdapter extends core_1.Adapter {
|
|
|
234
236
|
const tableName = decorator_validation_1.Model.tableName(clazz);
|
|
235
237
|
log.info(`reading ${ids.length} entries to ${tableName} table`);
|
|
236
238
|
log.verbose(`pks: ${ids}`);
|
|
237
|
-
const result = await this.evaluateTransaction(db_decorators_1.BulkCrudOperationKeys.READ_ALL, [ids], undefined, undefined,
|
|
239
|
+
const result = await this.evaluateTransaction(db_decorators_1.BulkCrudOperationKeys.READ_ALL, [JSON.stringify(ids)], undefined, undefined, clazz.name);
|
|
238
240
|
try {
|
|
239
241
|
return JSON.parse(this.decode(result)).map((r) => JSON.parse(r));
|
|
240
242
|
}
|
|
@@ -260,7 +262,9 @@ class FabricClientAdapter extends core_1.Adapter {
|
|
|
260
262
|
const tableName = decorator_validation_1.Model.tableName(clazz);
|
|
261
263
|
log.info(`updating ${ids.length} entries to ${tableName} table`);
|
|
262
264
|
log.verbose(`pks: ${ids}`);
|
|
263
|
-
const result = await this.submitTransaction(db_decorators_1.BulkCrudOperationKeys.UPDATE_ALL, [
|
|
265
|
+
const result = await this.submitTransaction(db_decorators_1.BulkCrudOperationKeys.UPDATE_ALL, [
|
|
266
|
+
JSON.stringify(models.map((m) => this.serializer.serialize(m, clazz.name))),
|
|
267
|
+
], transient, undefined, clazz.name);
|
|
264
268
|
try {
|
|
265
269
|
return JSON.parse(this.decode(result)).map((r) => JSON.parse(r));
|
|
266
270
|
}
|
|
@@ -281,7 +285,7 @@ class FabricClientAdapter extends core_1.Adapter {
|
|
|
281
285
|
const tableName = decorator_validation_1.Model.tableName(clazz);
|
|
282
286
|
log.info(`deleting ${ids.length} entries to ${tableName} table`);
|
|
283
287
|
log.verbose(`pks: ${ids}`);
|
|
284
|
-
const result = await this.submitTransaction(db_decorators_1.BulkCrudOperationKeys.DELETE_ALL, [ids], undefined, undefined, clazz.name);
|
|
288
|
+
const result = await this.submitTransaction(db_decorators_1.BulkCrudOperationKeys.DELETE_ALL, [JSON.stringify(ids)], undefined, undefined, clazz.name);
|
|
285
289
|
try {
|
|
286
290
|
return JSON.parse(this.decode(result)).map((r) => JSON.parse(r));
|
|
287
291
|
}
|
|
@@ -871,4 +875,4 @@ __decorate([
|
|
|
871
875
|
], FabricClientAdapter.prototype, "raw", null);
|
|
872
876
|
FabricClientAdapter.decoration();
|
|
873
877
|
core_1.Adapter.setCurrent(constants_1.FabricFlavour);
|
|
874
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiRmFicmljQ2xpZW50QWRhcHRlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9jbGllbnQvRmFicmljQ2xpZW50QWRhcHRlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBQUEsMkNBQTZCO0FBQzdCLHVEQUFxRTtBQUNyRSwyQ0FBdUM7QUFDdkMsb0RBQXNDO0FBQ3RDLHlFQUl3QztBQUN4QywrQ0FBMEQ7QUFNMUQsZ0VBUXFDO0FBQ3JDLCtDQUFxRDtBQUNyRCwyREFVaUM7QUFDakMseUNBb0J3QjtBQUN4Qix5REFBb0Q7QUFDcEQsdUVBQThEO0FBRTlELGlEQUFzRDtBQUV0RCwrQ0FJeUI7QUFDekIsdUVBQWdFO0FBQ2hFLHVFQUFnRTtBQUNoRSx5RUFBa0U7QUFDbEUsbURBQW9EO0FBRXBEOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztHQWtERztBQUNILE1BQWEsbUJBQW9CLFNBQVEsY0FLeEM7SUFDQzs7T0FFRzthQUNZLFlBQU8sR0FBRyxJQUFJLFdBQVcsQ0FBQyxNQUFNLENBQUMsQUFBMUIsQ0FBMkI7YUFFbEMsZUFBVSxHQUFHLElBQUksbUNBQWdCLEVBQUUsQUFBekIsQ0FBMEI7YUFFbEMsUUFBRyxHQUFHLGlCQUFPLENBQUMsR0FBRyxDQUFDLG1CQUFtQixDQUFDLEFBQW5DLENBQW9DO0lBS3hEOzs7OztPQUtHO0lBQ0gsWUFBWSxNQUFrQixFQUFFLEtBQWM7UUFDNUMsS0FBSyxDQUFDLE1BQU0sRUFBRSx5QkFBYSxFQUFFLEtBQUssQ0FBQyxDQUFDO1FBVm5CLGVBQVUsR0FDM0IsbUJBQW1CLENBQUMsVUFBVSxDQUFDO0lBVWpDLENBQUM7SUFFUSxTQUFTLENBQ2hCLFNBQWlDO1FBRWpDLE9BQU8sSUFBSSw2Q0FBcUIsQ0FBQyxJQUFJLEVBQUUsU0FBUyxDQUFDLENBQUM7SUFDcEQs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QUMsR0FBRyxDQUFNLENBQUM7UUFDdkMsSUFBSSxHQUFHLENBQUMsUUFBUSxDQUFDLGtDQUFrQixDQUFDLElBQUksQ0FBQztZQUN2QyxPQUFPLElBQUksa0NBQWtCLENBQUMsR0FBRyxDQUFNLENBQUM7UUFDMUMsT0FBTyxJQUFJLDZCQUFhLENBQUMsR0FBRyxDQUFNLENBQUM7SUFDckMsQ0FBQzs7QUF6K0JILGtEQTArQkM7QUExb0JpQjtJQURmLElBQUEsZUFBSyxHQUFFOzs7O2dEQTZCUDtBQWFjO0lBRmQsSUFBQSxlQUFLLEdBQUU7SUFDUCxJQUFBLGVBQUssR0FBRTs7cUVBTWtCLGNBQU87O2lEQWtCaEM7QUFXSztJQUZMLElBQUEsZUFBSyxHQUFFO0lBQ1AsSUFBQSxlQUFLLEdBQUU7O3FEQUlrQixjQUFPOzsrQ0FlaEM7QUE0Qks7SUFGTCxJQUFBLGVBQUssR0FBRTtJQUNQLElBQUEsZUFBSyxHQUFFOztxRUFNa0IsY0FBTzs7aURBbUJoQztBQVdjO0lBRmQsSUFBQSxlQUFLLEdBQUU7SUFDUCxJQUFBLGVBQUssR0FBRTs7cURBSWtCLGNBQU87O2lEQWNoQztBQTRCSztJQURMLElBQUEsZUFBSyxHQUFFOztpRUFHSSxDQUFDLG9CQUFELENBQUMsd0NBRWEsY0FBTzs7OENBdUNoQztBQXdaSCxtQkFBbUIsQ0FBQyxVQUFVLEVBQUUsQ0FBQztBQUNqQyxjQUFPLENBQUMsVUFBVSxDQUFDLHlCQUFhLENBQUMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBcIi4uL3NoYXJlZC9vdmVycmlkZXNcIjtcbmltcG9ydCB7IENvdWNoREJLZXlzLCB0eXBlIE1hbmdvUXVlcnkgfSBmcm9tIFwiQGRlY2FmLXRzL2Zvci1jb3VjaGRiXCI7XG5pbXBvcnQgeyBDbGllbnQgfSBmcm9tIFwiQGdycGMvZ3JwYy1qc1wiO1xuaW1wb3J0ICogYXMgZ3JwYyBmcm9tIFwiQGdycGMvZ3JwYy1qc1wiO1xuaW1wb3J0IHtcbiAgTW9kZWwsXG4gIHR5cGUgTW9kZWxDb25zdHJ1Y3RvcixcbiAgdHlwZSBTZXJpYWxpemVyLFxufSBmcm9tIFwiQGRlY2FmLXRzL2RlY29yYXRvci12YWxpZGF0aW9uXCI7XG5pbXBvcnQgeyBkZWJ1ZywgZmluYWwsIExvZ2dpbmcgfSBmcm9tIFwiQGRlY2FmLXRzL2xvZ2dpbmdcIjtcbmltcG9ydCB7XG4gIHR5cGUgRmFicmljRmxhZ3MsXG4gIHR5cGUgUGVlckNvbmZpZyxcbiAgdHlwZSBTZWdyZWdhdGVkTW9kZWwsXG59IGZyb20gXCIuLi9zaGFyZWQvdHlwZXNcIjtcbmltcG9ydCB7XG4gIGNvbm5lY3QsXG4gIHR5cGUgQ29ubmVjdE9wdGlvbnMsXG4gIEdhdGV3YXksXG4gIE5ldHdvcmssXG4gIFByb3Bvc2FsT3B0aW9ucyxcbiAgQ29udHJhY3QgYXMgQ29udHJha3QsXG4gIHR5cGUgU2lnbmVyLFxufSBmcm9tIFwiQGh5cGVybGVkZ2VyL2ZhYnJpYy1nYXRld2F5XCI7XG5pbXBvcnQgeyBnZXRJZGVudGl0eSwgZ2V0U2lnbmVyIH0gZnJvbSBcIi4vZmFicmljLWZzXCI7XG5pbXBvcnQge1xuICBCYXNlRXJyb3IsXG4gIEludGVybmFsRXJyb3IsXG4gIE9wZXJhdGlvbktleXMsXG4gIFNlcmlhbGl6YXRpb25FcnJvcixcbiAgQnVsa0NydWRPcGVyYXRpb25LZXlzLFxuICBOb3RGb3VuZEVycm9yLFxuICBDb25mbGljdEVycm9yLFxuICBCYWRSZXF1ZXN0RXJyb3IsXG4gIHR5cGUgUHJpbWFyeUtleVR5cGUsXG59IGZyb20gXCJAZGVjYWYtdHMvZGItZGVjb3JhdG9yc1wiO1xuaW1wb3J0IHtcbiAgQ29udGV4dCxcbiAgQWRhcHRlcixcbiAgdHlwZSBBZGFwdGVyRmxhZ3MsXG4gIEF1dGhvcml6YXRpb25FcnJvcixcbiAgQ29ubmVjdGlvbkVycm9yLFxuICBGb3JiaWRkZW5FcnJvcixcbiAgTWlncmF0aW9uRXJyb3IsXG4gIE9ic2VydmVyRXJyb3IsXG4gIFBhZ2luZ0Vycm9yLFxuICBQZXJzaXN0ZW5jZUtleXMsXG4gIFF1ZXJ5RXJyb3IsXG4gIFJlcG9zaXRvcnksXG4gIFVuc3VwcG9ydGVkRXJyb3IsXG4gIFN0YXRlbWVudCxcbiAgdHlwZSBQcmVwYXJlZFN0YXRlbWVudCxcbiAgUGFnaW5hdG9yLFxuICBNYXliZUNvbnRleHR1YWxBcmcsXG4gIENvbnRleHR1YWxBcmdzLFxuICB0eXBlIFByZXBhcmVkTW9kZWwsXG59IGZyb20gXCJAZGVjYWYtdHMvY29yZVwiO1xuaW1wb3J0IHsgRmFicmljRmxhdm91ciB9IGZyb20gXCIuLi9zaGFyZWQvY29uc3RhbnRzXCI7XG5pbXBvcnQgeyBDbGllbnRTZXJpYWxpemVyIH0gZnJvbSBcIi4uL3NoYXJlZC9DbGllbnRTZXJpYWxpemVyXCI7XG5pbXBvcnQgeyBGYWJyaWNDbGllbnREaXNwYXRjaCB9IGZyb20gXCIuL0ZhYnJpY0NsaWVudERpc3BhdGNoXCI7XG5pbXBvcnQgeyBIU01TaWduZXJGYWN0b3J5Q3VzdG9tIH0gZnJvbSBcIi4vZmFicmljLWhzbVwiO1xuaW1wb3J0IHsgdHlwZSBDb25zdHJ1Y3RvciB9IGZyb20gXCJAZGVjYWYtdHMvZGVjb3JhdGlvblwiO1xuaW1wb3J0IHtcbiAgZ2VuZXJhdGVNb2RlbEluZGV4ZXMsXG4gIHJlYWRNb2RlbEZvbGRlcnMsXG4gIHdyaXRlSW5kZXhlcyxcbn0gZnJvbSBcIi4vaW5kZXhlcy9pbmRleFwiO1xuaW1wb3J0IHsgRmFicmljQ2xpZW50U3RhdGVtZW50IH0gZnJvbSBcIi4vRmFicmljQ2xpZW50U3RhdGVtZW50XCI7XG5pbXBvcnQgeyBGYWJyaWNDbGllbnRQYWdpbmF0b3IgfSBmcm9tIFwiLi9GYWJyaWNDbGllbnRQYWdpbmF0b3JcIjtcbmltcG9ydCB7IEZhYnJpY0NsaWVudFJlcG9zaXRvcnkgfSBmcm9tIFwiLi9GYWJyaWNDbGllbnRSZXBvc2l0b3J5XCI7XG5pbXBvcnQgeyBFbmRvcnNlbWVudEVycm9yIH0gZnJvbSBcIi4uL3NoYXJlZC9lcnJvcnNcIjtcblxuLyoqXG4gKiBAZGVzY3JpcHRpb24gQWRhcHRlciBmb3IgaW50ZXJhY3Rpbmcgd2l0aCBIeXBlcmxlZGdlciBGYWJyaWMgbmV0d29ya3NcbiAqIEBzdW1tYXJ5IFRoZSBGYWJyaWNBZGFwdGVyIGV4dGVuZHMgQ291Y2hEQkFkYXB0ZXIgdG8gcHJvdmlkZSBhIHNlYW1sZXNzIGludGVyZmFjZSBmb3IgaW50ZXJhY3Rpbmcgd2l0aCBIeXBlcmxlZGdlciBGYWJyaWMgbmV0d29ya3MuXG4gKiBJdCBoYW5kbGVzIGNvbm5lY3Rpb24gbWFuYWdlbWVudCwgdHJhbnNhY3Rpb24gc3VibWlzc2lvbiwgYW5kIENSVUQgb3BlcmF0aW9ucyBhZ2FpbnN0IEZhYnJpYyBjaGFpbmNvZGUuXG4gKiBAdGVtcGxhdGUgUGVlckNvbmZpZyAtIENvbmZpZ3VyYXRpb24gdHlwZSBmb3IgY29ubmVjdGluZyB0byBhIEZhYnJpYyBwZWVyXG4gKiBAdGVtcGxhdGUgRmFicmljRmxhZ3MgLSBGbGFncyBzcGVjaWZpYyB0byBGYWJyaWMgb3BlcmF0aW9uc1xuICogQHRlbXBsYXRlIENvbnRleHQ8RmFicmljRmxhZ3M+IC0gQ29udGV4dCB0eXBlIGNvbnRhaW5pbmcgRmFicmljLXNwZWNpZmljIGZsYWdzXG4gKiBAcGFyYW0gY29uZmlnIC0gQ29uZmlndXJhdGlvbiBmb3IgY29ubmVjdGluZyB0byBhIEZhYnJpYyBwZWVyXG4gKiBAcGFyYW0gYWxpYXMgLSBPcHRpb25hbCBhbGlhcyBmb3IgdGhlIGFkYXB0ZXIgaW5zdGFuY2VcbiAqIEBjbGFzcyBGYWJyaWNDbGllbnRBZGFwdGVyXG4gKiBAZXhhbXBsZVxuICogYGBgdHlwZXNjcmlwdFxuICogLy8gQ3JlYXRlIGEgbmV3IEZhYnJpY0FkYXB0ZXIgaW5zdGFuY2VcbiAqIGNvbnN0IGNvbmZpZzogUGVlckNvbmZpZyA9IHtcbiAqICAgbXNwSWQ6ICdPcmcxTVNQJyxcbiAqICAgcGVlckVuZHBvaW50OiAnbG9jYWxob3N0OjcwNTEnLFxuICogICBjaGFubmVsTmFtZTogJ215Y2hhbm5lbCcsXG4gKiAgIGNoYWluY29kZU5hbWU6ICdteWNjJyxcbiAqICAgY29udHJhY3ROYW1lOiAnbXljb250cmFjdCcsXG4gKiAgIHRsc0NlcnRQYXRoOiAnL3BhdGgvdG8vdGxzL2NlcnQnLFxuICogICBjZXJ0RGlyZWN0b3J5UGF0aDogJy9wYXRoL3RvL2NlcnQvZGlyJyxcbiAqICAga2V5RGlyZWN0b3J5UGF0aDogJy9wYXRoL3RvL2tleS9kaXInXG4gKiB9O1xuICpcbiAqIGNvbnN0IGFkYXB0ZXIgPSBuZXcgRmFicmljQWRhcHRlcihjb25maWcsICdvcmcxLWFkYXB0ZXInKTtcbiAqXG4gKiAvLyBVc2UgdGhlIGFkYXB0ZXIgdG8gaW50ZXJhY3Qgd2l0aCB0aGUgRmFicmljIG5ldHdvcmtcbiAqIGNvbnN0IHJlc3VsdCA9IGF3YWl0IGFkYXB0ZXIucmVhZCgndXNlcnMnLCAndXNlcjEnLCBteVNlcmlhbGl6ZXIpO1xuICogYGBgXG4gKiBAbWVybWFpZFxuICogc2VxdWVuY2VEaWFncmFtXG4gKiAgIHBhcnRpY2lwYW50IENsaWVudFxuICogICBwYXJ0aWNpcGFudCBGYWJyaWNBZGFwdGVyXG4gKiAgIHBhcnRpY2lwYW50IEdhdGV3YXlcbiAqICAgcGFydGljaXBhbnQgTmV0d29ya1xuICogICBwYXJ0aWNpcGFudCBDb250cmFjdFxuICogICBwYXJ0aWNpcGFudCBDaGFpbmNvZGVcbiAqXG4gKiAgIENsaWVudC0+PkZhYnJpY0FkYXB0ZXI6IGNyZWF0ZSh0YWJsZU5hbWUsIGlkLCBtb2RlbCwgdHJhbnNpZW50LCBzZXJpYWxpemVyKVxuICogICBGYWJyaWNBZGFwdGVyLT4+RmFicmljQWRhcHRlcjogc3VibWl0VHJhbnNhY3Rpb24oT3BlcmF0aW9uS2V5cy5DUkVBVEUsIFtzZXJpYWxpemVkTW9kZWxdLCB0cmFuc2llbnQpXG4gKiAgIEZhYnJpY0FkYXB0ZXItPj5HYXRld2F5OiBjb25uZWN0KClcbiAqICAgR2F0ZXdheS0+Pk5ldHdvcms6IGdldE5ldHdvcmsoY2hhbm5lbE5hbWUpXG4gKiAgIE5ldHdvcmstPj5Db250cmFjdDogZ2V0Q29udHJhY3QoY2hhaW5jb2RlTmFtZSwgY29udHJhY3ROYW1lKVxuICogICBGYWJyaWNBZGFwdGVyLT4+Q29udHJhY3Q6IHN1Ym1pdChhcGksIHByb3Bvc2FsT3B0aW9ucylcbiAqICAgQ29udHJhY3QtPj5DaGFpbmNvZGU6IGludm9rZVxuICogICBDaGFpbmNvZGUtLT4+Q29udHJhY3Q6IHJlc3BvbnNlXG4gKiAgIENvbnRyYWN0LS0+PkZhYnJpY0FkYXB0ZXI6IHJlc3VsdFxuICogICBGYWJyaWNBZGFwdGVyLT4+RmFicmljQWRhcHRlcjogZGVjb2RlKHJlc3VsdClcbiAqICAgRmFicmljQWRhcHRlci0+PkZhYnJpY0FkYXB0ZXI6IHNlcmlhbGl6ZXIuZGVzZXJpYWxpemUoZGVjb2RlZFJlc3VsdClcbiAqICAgRmFicmljQWRhcHRlci0tPj5DbGllbnQ6IGRlc2VyaWFsaXplZFJlc3VsdFxuICovXG5leHBvcnQgY2xhc3MgRmFicmljQ2xpZW50QWRhcHRlciBleHRlbmRzIEFkYXB0ZXI8XG4gIFBlZXJDb25maWcsXG4gIENsaWVudCxcbiAgTWFuZ29RdWVyeSxcbiAgQ29udGV4dDxGYWJyaWNGbGFncz5cbj4ge1xuICAvKipcbiAgICogQGRlc2NyaXB0aW9uIFN0YXRpYyB0ZXh0IGRlY29kZXIgZm9yIGNvbnZlcnRpbmcgVWludDhBcnJheSB0byBzdHJpbmdcbiAgICovXG4gIHByaXZhdGUgc3RhdGljIGRlY29kZXIgPSBuZXcgVGV4dERlY29kZXIoXCJ1dGY4XCIpO1xuXG4gIHByaXZhdGUgc3RhdGljIHNlcmlhbGl6ZXIgPSBuZXcgQ2xpZW50U2VyaWFsaXplcigpO1xuXG4gIHByb3RlY3RlZCBzdGF0aWMgbG9nID0gTG9nZ2luZy5mb3IoRmFicmljQ2xpZW50QWRhcHRlcik7XG5cbiAgcHJvdGVjdGVkIHJlYWRvbmx5IHNlcmlhbGl6ZXI6IFNlcmlhbGl6ZXI8YW55PiA9XG4gICAgRmFicmljQ2xpZW50QWRhcHRlci5zZXJpYWxpemVyO1xuXG4gIC8qKlxuICAgKiBAZGVzY3JpcHRpb24gQ3JlYXRlcyBhIG5ldyBGYWJyaWNBZGFwdGVyIGluc3RhbmNlXG4gICAqIEBzdW1tYXJ5IEluaXRpYWxpemVzIGEgbmV3IGFkYXB0ZXIgZm9yIGludGVyYWN0aW5nIHdpdGggYSBIeXBlcmxlZGdlciBGYWJyaWMgbmV0d29ya1xuICAgKiBAcGFyYW0ge1BlZXJDb25maWd9IGNvbmZpZyAtIENvbmZpZ3VyYXRpb24gZm9yIGNvbm5lY3RpbmcgdG8gYSBGYWJyaWMgcGVlclxuICAgKiBAcGFyYW0ge3N0cmluZ30gW2FsaWFzXSAtIE9wdGlvbmFsIGFsaWFzIGZvciB0aGUgYWRhcHRlciBpbnN0YW5jZVxuICAgKi9cbiAgY29uc3RydWN0b3IoY29uZmlnOiBQZWVyQ29uZmlnLCBhbGlhcz86IHN0cmluZykge1xuICAgIHN1cGVyKGNvbmZpZywgRmFicmljRmxhdm91ciwgYWxpYXMpO1xuICB9XG5cbiAgb3ZlcnJpZGUgU3RhdGVtZW50PE0gZXh0ZW5kcyBNb2RlbD4oXG4gICAgb3ZlcnJpZGVzPzogUGFydGlhbDxBZGFwdGVyRmxhZ3M+XG4gICk6IFN0YXRlbWVudDxNLCBGYWJyaWNDbGllbnRBZGFwdGVyLCBhbnksIE1hbmdvUXVlcnk+IHtcbiAgICByZXR1cm4gbmV3IEZhYnJpY0NsaWVudFN0YXRlbWVudCh0aGlzLCBvdmVycmlkZXMpO1xuICB9XG5cbiAgUGFnaW5hdG9yPE0gZXh0ZW5kcyBNb2RlbD4oXG4gICAgcXVlcnk6IFByZXBhcmVkU3RhdGVtZW50PGFueT4gfCBNYW5nb1F1ZXJ5LFxuICAgIHNpemU6IG51bWJlcixcbiAgICBjbGF6ejogQ29uc3RydWN0b3I8TT5cbiAgKTogUGFnaW5hdG9yPE0sIGFueSwgTWFuZ29RdWVyeT4ge1xuICAgIHJldHVybiBuZXcgRmFicmljQ2xpZW50UGFnaW5hdG9yKHRoaXMsIHF1ZXJ5LCBzaXplLCBjbGF6eik7XG4gIH1cblxuICBvdmVycmlkZSBhc3luYyBjb250ZXh0PE0gZXh0ZW5kcyBNb2RlbD4oXG4gICAgb3BlcmF0aW9uOlxuICAgICAgfCBPcGVyYXRpb25LZXlzLkNSRUFURVxuICAgICAgfCBPcGVyYXRpb25LZXlzLlJFQURcbiAgICAgIHwgT3BlcmF0aW9uS2V5cy5VUERBVEVcbiAgICAgIHwgT3BlcmF0aW9uS2V5cy5ERUxFVEVcbiAgICAgIHwgc3RyaW5nLFxuICAgIG92ZXJyaWRlczogUGFydGlhbDxGYWJyaWNGbGFncz4sXG4gICAgbW9kZWw6IENvbnN0cnVjdG9yPE0+IHwgQ29uc3RydWN0b3I8TT5bXSxcbiAgICAuLi5hcmdzOiBhbnlbXVxuICApOiBQcm9taXNlPENvbnRleHQ8RmFicmljRmxhZ3M+PiB7XG4gICAgY29uc3QgbG9nID0gdGhpcy5sb2cuZm9yKHRoaXMuY29udGV4dCk7XG4gICAgbG9nLmRlYnVnKFxuICAgICAgYENyZWF0aW5nIG5ldyBjb250ZXh0IGZvciAke29wZXJhdGlvbn0gb3BlcmF0aW9uIG9uICR7QXJyYXkuaXNBcnJheShtb2RlbCkgPyBtb2RlbC5tYXAoKG0pID0+IG0ubmFtZSkgOiBtb2RlbC5uYW1lfSBtb2RlbCB3aXRoIGZsYWcgb3ZlcnJpZGVzOiAke0pTT04uc3RyaW5naWZ5KG92ZXJyaWRlcyl9YFxuICAgICk7XG4gICAgY29uc3QgZmxhZ3MgPSBhd2FpdCB0aGlzLmZsYWdzKG9wZXJhdGlvbiwgbW9kZWwsIG92ZXJyaWRlcywgLi4uYXJncyk7XG4gICAgcmV0dXJuIG5ldyBDb250ZXh0KCkuYWNjdW11bGF0ZShmbGFncyk7XG4gIH1cblxuICAvKipcbiAgICogQGRlc2NyaXB0aW9uIERlY29kZXMgYSBVaW50OEFycmF5IHRvIGEgc3RyaW5nXG4gICAqIEBzdW1tYXJ5IENvbnZlcnRzIGJpbmFyeSBkYXRhIHJlY2VpdmVkIGZyb20gRmFicmljIHRvIGEgc3RyaW5nIHVzaW5nIFVURi04IGVuY29kaW5nXG4gICAqIEBwYXJhbSB7VWludDhBcnJheX0gZGF0YSAtIFRoZSBiaW5hcnkgZGF0YSB0byBkZWNvZGVcbiAgICogQHJldHVybiB7c3RyaW5nfSBUaGUgZGVjb2RlZCBzdHJpbmdcbiAgICovXG4gIGRlY29kZShkYXRhOiBVaW50OEFycmF5KTogc3RyaW5nIHtcbiAgICByZXR1cm4gRmFicmljQ2xpZW50QWRhcHRlci5kZWNvZGVyLmRlY29kZShkYXRhKTtcbiAgfVxuXG4gIG92ZXJyaWRlIHJlcG9zaXRvcnk8XG4gICAgUiBleHRlbmRzIFJlcG9zaXRvcnk8XG4gICAgICBhbnksXG4gICAgICBBZGFwdGVyPFBlZXJDb25maWcsIENsaWVudCwgTWFuZ29RdWVyeSwgQ29udGV4dDxGYWJyaWNGbGFncz4+XG4gICAgPixcbiAgPigpOiBDb25zdHJ1Y3RvcjxSPiB7XG4gICAgcmV0dXJuIEZhYnJpY0NsaWVudFJlcG9zaXRvcnkgYXMgdW5rbm93biBhcyBDb25zdHJ1Y3RvcjxSPjtcbiAgfVxuXG4gIHByb3RlY3RlZCBjcmVhdGVQcmVmaXg8TSBleHRlbmRzIE1vZGVsPihcbiAgICBjbGF6ejogQ29uc3RydWN0b3I8TT4sXG4gICAgaWQ6IFByaW1hcnlLZXlUeXBlLFxuICAgIG1vZGVsOiBSZWNvcmQ8c3RyaW5nLCBhbnk+LFxuICAgIC4uLmFyZ3M6IE1heWJlQ29udGV4dHVhbEFyZzxDb250ZXh0PEZhYnJpY0ZsYWdzPj5cbiAgKTogW0NvbnN0cnVjdG9yPE0+LCBQcmltYXJ5S2V5VHlwZSwgUmVjb3JkPHN0cmluZywgYW55PiwgLi4uYW55W10sIENvbnRleHRdIHtcbiAgICBjb25zdCB7IGN0eEFyZ3MgfSA9IHRoaXMubG9nQ3R4KGFyZ3MsIHRoaXMuY3JlYXRlUHJlZml4KTtcbiAgICBjb25zdCB0YWJsZU5hbWUgPSBNb2RlbC50YWJsZU5hbWUoY2xhenopO1xuICAgIGNvbnN0IHJlY29yZDogUmVjb3JkPHN0cmluZywgYW55PiA9IHt9O1xuICAgIHJlY29yZFtDb3VjaERCS2V5cy5UQUJMRV0gPSB0YWJsZU5hbWU7XG4gICAgT2JqZWN0LmFzc2lnbihyZWNvcmQsIG1vZGVsKTtcbiAgICByZXR1cm4gW2NsYXp6LCBpZCwgcmVjb3JkLCAuLi5jdHhBcmdzXTtcbiAgfVxuXG4gIC8qKlxuICAgKiBAZGVzY3JpcHRpb24gUHJlcGFyZXMgbXVsdGlwbGUgcmVjb3JkcyBmb3IgY3JlYXRpb25cbiAgICogQHN1bW1hcnkgQWRkcyBuZWNlc3NhcnkgQ291Y2hEQiBmaWVsZHMgdG8gbXVsdGlwbGUgcmVjb3JkcyBiZWZvcmUgY3JlYXRpb25cbiAgICogQHBhcmFtIHtzdHJpbmd9IHRhYmxlTmFtZSAtIFRoZSBuYW1lIG9mIHRoZSB0YWJsZVxuICAgKiBAcGFyYW0ge3N0cmluZ1tdfG51bWJlcltdfSBpZHMgLSBUaGUgSURzIG9mIHRoZSByZWNvcmRzXG4gICAqIEBwYXJhbSBtb2RlbHMgLSBUaGUgbW9kZWxzIHRvIHByZXBhcmVcbiAgICogQHJldHVybiBBIHR1cGxlIGNvbnRhaW5pbmcgdGhlIHRhYmxlTmFtZSwgaWRzLCBhbmQgcHJlcGFyZWQgcmVjb3Jkc1xuICAgKiBAdGhyb3dzIHtJbnRlcm5hbEVycm9yfSBJZiBpZHMgYW5kIG1vZGVscyBhcnJheXMgaGF2ZSBkaWZmZXJlbnQgbGVuZ3Roc1xuICAgKi9cbiAgcHJvdGVjdGVkIGNyZWF0ZUFsbFByZWZpeDxNIGV4dGVuZHMgTW9kZWw+KFxuICAgIGNsYXp6OiBDb25zdHJ1Y3RvcjxNPixcbiAgICBpZHM6IHN0cmluZ1tdIHwgbnVtYmVyW10sXG4gICAgbW9kZWxzOiBSZWNvcmQ8c3RyaW5nLCBhbnk+W10sXG4gICAgLi4uYXJnczogTWF5YmVDb250ZXh0dWFsQXJnPENvbnRleHQ8RmFicmljRmxhZ3M+PlxuICApIHtcbiAgICBjb25zdCB0YWJsZU5hbWUgPSBNb2RlbC50YWJsZU5hbWUoY2xhenopO1xuICAgIGlmIChpZHMubGVuZ3RoICE9PSBtb2RlbHMubGVuZ3RoKVxuICAgICAgdGhyb3cgbmV3IEludGVybmFsRXJyb3IoXCJJZHMgYW5kIG1vZGVscyBtdXN0IGhhdmUgdGhlIHNhbWUgbGVuZ3RoXCIpO1xuICAgIGNvbnN0IHsgY3R4QXJncyB9ID0gdGhpcy5sb2dDdHgoYXJncywgdGhpcy5jcmVhdGVBbGxQcmVmaXgpO1xuICAgIGNvbnN0IHJlY29yZHMgPSBpZHMubWFwKChpZCwgY291bnQpID0+IHtcbiAgICAgIGNvbnN0IHJlY29yZDogUmVjb3JkPHN0cmluZywgYW55PiA9IHt9O1xuICAgICAgcmVjb3JkW0NvdWNoREJLZXlzLlRBQkxFXSA9IHRhYmxlTmFtZTtcbiAgICAgIE9iamVjdC5hc3NpZ24ocmVjb3JkLCBtb2RlbHNbY291bnRdKTtcbiAgICAgIHJldHVybiByZWNvcmQ7XG4gICAgfSk7XG4gICAgcmV0dXJuIFtjbGF6eiwgaWRzLCByZWNvcmRzLCAuLi5jdHhBcmdzXTtcbiAgfVxuXG4gIHByb3RlY3RlZCB1cGRhdGVBbGxQcmVmaXg8TSBleHRlbmRzIE1vZGVsPihcbiAgICBjbGF6ejogQ29uc3RydWN0b3I8TT4sXG4gICAgaWRzOiBQcmltYXJ5S2V5VHlwZVtdLFxuICAgIG1vZGVsczogUmVjb3JkPHN0cmluZywgYW55PltdLFxuICAgIC4uLmFyZ3M6IE1heWJlQ29udGV4dHVhbEFyZzxDb250ZXh0PEZhYnJpY0ZsYWdzPj5cbiAgKSB7XG4gICAgY29uc3QgdGFibGVOYW1lID0gTW9kZWwudGFibGVOYW1lKGNsYXp6KTtcbiAgICBpZiAoaWRzLmxlbmd0aCAhPT0gbW9kZWxzLmxlbmd0aClcbiAgICAgIHRocm93IG5ldyBJbnRlcm5hbEVycm9yKFwiSWRzIGFuZCBtb2RlbHMgbXVzdCBoYXZlIHRoZSBzYW1lIGxlbmd0aFwiKTtcbiAgICBjb25zdCB7IGN0eEFyZ3MgfSA9IHRoaXMubG9nQ3R4KGFyZ3MsIHRoaXMudXBkYXRlQWxsUHJlZml4KTtcbiAgICBjb25zdCByZWNvcmRzID0gaWRzLm1hcCgoKSA9PiB7XG4gICAgICBjb25zdCByZWNvcmQ6IFJlY29yZDxzdHJpbmcsIGFueT4gPSB7fTtcbiAgICAgIHJlY29yZFtDb3VjaERCS2V5cy5UQUJMRV0gPSB0YWJsZU5hbWU7XG4gICAgICByZXR1cm4gcmVjb3JkO1xuICAgIH0pO1xuICAgIHJldHVybiBbY2xhenosIGlkcywgcmVjb3JkcywgLi4uY3R4QXJnc107XG4gIH1cblxuICAvKipcbiAgICogQGRlc2NyaXB0aW9uIENyZWF0ZXMgbXVsdGlwbGUgcmVjb3JkcyBpbiBhIHNpbmdsZSB0cmFuc2FjdGlvblxuICAgKiBAc3VtbWFyeSBTdWJtaXRzIGEgdHJhbnNhY3Rpb24gdG8gY3JlYXRlIG11bHRpcGxlIHJlY29yZHMgaW4gdGhlIEZhYnJpYyBsZWRnZXJcbiAgICogQHBhcmFtIHtzdHJpbmd9IHRhYmxlTmFtZSAtIFRoZSBuYW1lIG9mIHRoZSB0YWJsZS9jb2xsZWN0aW9uXG4gICAqIEBwYXJhbSB7c3RyaW5nW10gfCBudW1iZXJbXX0gaWRzIC0gQXJyYXkgb2YgcmVjb3JkIGlkZW50aWZpZXJzXG4gICAqIEBwYXJhbSB7QXJyYXk8UmVjb3JkPHN0cmluZywgYW55Pj59IG1vZGVscyAtIEFycmF5IG9mIHJlY29yZCBkYXRhXG4gICAqIEBwYXJhbSB7UmVjb3JkPHN0cmluZywgYW55Pn0gdHJhbnNpZW50IC0gVHJhbnNpZW50IGRhdGEgZm9yIHRoZSB0cmFuc2FjdGlvblxuICAgKiBAcmV0dXJuIHtQcm9taXNlPEFycmF5PFJlY29yZDxzdHJpbmcsIGFueT4+Pn0gUHJvbWlzZSByZXNvbHZpbmcgdG8gdGhlIGNyZWF0ZWQgcmVjb3Jkc1xuICAgKi9cbiAgb3ZlcnJpZGUgYXN5bmMgY3JlYXRlQWxsPE0gZXh0ZW5kcyBNb2RlbD4oXG4gICAgY2xheno6IENvbnN0cnVjdG9yPE0+LFxuICAgIGlkczogUHJpbWFyeUtleVR5cGVbXSxcbiAgICBtb2RlbHM6IFJlY29yZDxzdHJpbmcsIGFueT5bXSxcbiAgICAuLi5hcmdzOiBDb250ZXh0dWFsQXJnczxDb250ZXh0PEZhYnJpY0ZsYWdzPj5cbiAgKTogUHJvbWlzZTxSZWNvcmQ8c3RyaW5nLCBhbnk+W10+IHtcbiAgICBpZiAoaWRzLmxlbmd0aCAhPT0gbW9kZWxzLmxlbmd0aClcbiAgICAgIHRocm93IG5ldyBJbnRlcm5hbEVycm9yKFwiSWRzIGFuZCBtb2RlbHMgbXVzdCBoYXZlIHRoZSBzYW1lIGxlbmd0aFwiKTtcbiAgICBjb25zdCBjdHhBcmdzID0gWy4uLihhcmdzIGFzIHVua25vd24gYXMgYW55W10pXTtcbiAgICBjb25zdCB0cmFuc2llbnQgPSBjdHhBcmdzLnNoaWZ0KCkgYXMgUmVjb3JkPHN0cmluZywgYW55PjtcbiAgICBjb25zdCB7IGxvZyB9ID0gdGhpcy5sb2dDdHgoXG4gICAgICBjdHhBcmdzIGFzIENvbnRleHR1YWxBcmdzPENvbnRleHQ8RmFicmljRmxhZ3M+PixcbiAgICAgIHRoaXMuY3JlYXRlQWxsXG4gICAgKTtcbiAgICBjb25zdCB0YWJsZU5hbWUgPSBNb2RlbC50YWJsZU5hbWUoY2xhenopO1xuXG4gICAgbG9nLmluZm8oYGFkZGluZyAke2lkcy5sZW5ndGh9IGVudHJpZXMgdG8gJHt0YWJsZU5hbWV9IHRhYmxlYCk7XG4gICAgbG9nLnZlcmJvc2UoYHBrczogJHtpZHN9YCk7XG4gICAgY29uc3QgcmVzdWx0ID0gYXdhaXQgdGhpcy5zdWJtaXRUcmFuc2FjdGlvbihcbiAgICAgIEJ1bGtDcnVkT3BlcmF0aW9uS2V5cy5DUkVBVEVfQUxMLFxuICAgICAgW2lkcywgbW9kZWxzLm1hcCgobSkgPT4gdGhpcy5zZXJpYWxpemVyLnNlcmlhbGl6ZShtLCBjbGF6ei5uYW1lKSldLFxuICAgICAgdHJhbnNpZW50LFxuICAgICAgdW5kZWZpbmVkLFxuICAgICAgdGFibGVOYW1lXG4gICAgKTtcbiAgICB0cnkge1xuICAgICAgcmV0dXJuIEpTT04ucGFyc2UodGhpcy5kZWNvZGUocmVzdWx0KSkubWFwKChyOiBhbnkpID0+IEpTT04ucGFyc2UocikpO1xuICAgIH0gY2F0Y2ggKGU6IHVua25vd24pIHtcbiAgICAgIHRocm93IG5ldyBTZXJpYWxpemF0aW9uRXJyb3IoZSBhcyBFcnJvcik7XG4gICAgfVxuICB9XG5cbiAgLyoqXG4gICAqIEBkZXNjcmlwdGlvbiBSZWFkcyBtdWx0aXBsZSByZWNvcmRzIGluIGEgc2luZ2xlIHRyYW5zYWN0aW9uXG4gICAqIEBzdW1tYXJ5IFN1Ym1pdHMgYSB0cmFuc2FjdGlvbiB0byByZWFkIG11bHRpcGxlIHJlY29yZHMgZnJvbSB0aGUgRmFicmljIGxlZGdlclxuICAgKiBAcGFyYW0ge3N0cmluZ30gdGFibGVOYW1lIC0gVGhlIG5hbWUgb2YgdGhlIHRhYmxlL2NvbGxlY3Rpb25cbiAgICogQHBhcmFtIHtzdHJpbmdbXSB8IG51bWJlcltdfSBpZHMgLSBBcnJheSBvZiByZWNvcmQgaWRlbnRpZmllcnMgdG8gcmVhZFxuICAgKiBAcmV0dXJuIHtQcm9taXNlPEFycmF5PFJlY29yZDxzdHJpbmcsIGFueT4+Pn0gUHJvbWlzZSByZXNvbHZpbmcgdG8gdGhlIHJldHJpZXZlZCByZWNvcmRzXG4gICAqL1xuICBvdmVycmlkZSBhc3luYyByZWFkQWxsPE0gZXh0ZW5kcyBNb2RlbD4oXG4gICAgY2xheno6IENvbnN0cnVjdG9yPE0+LFxuICAgIGlkczogUHJpbWFyeUtleVR5cGVbXSxcbiAgICAuLi5hcmdzOiBDb250ZXh0dWFsQXJnczxDb250ZXh0PEZhYnJpY0ZsYWdzPj5cbiAgKTogUHJvbWlzZTxSZWNvcmQ8c3RyaW5nLCBhbnk+W10+IHtcbiAgICBjb25zdCB7IGxvZyB9ID0gdGhpcy5sb2dDdHgoYXJncywgdGhpcy5yZWFkQWxsKTtcbiAgICBjb25zdCB0YWJsZU5hbWUgPSBNb2RlbC50YWJsZU5hbWUoY2xhenopO1xuICAgIGxvZy5pbmZvKGByZWFkaW5nICR7aWRzLmxlbmd0aH0gZW50cmllcyB0byAke3RhYmxlTmFtZX0gdGFibGVgKTtcbiAgICBsb2cudmVyYm9zZShgcGtzOiAke2lkc31gKTtcbiAgICBjb25zdCByZXN1bHQgPSBhd2FpdCB0aGlzLmV2YWx1YXRlVHJhbnNhY3Rpb24oXG4gICAgICBCdWxrQ3J1ZE9wZXJhdGlvbktleXMuUkVBRF9BTEwsXG4gICAgICBbaWRzXSxcbiAgICAgIHVuZGVmaW5lZCxcbiAgICAgIHVuZGVmaW5lZCxcbiAgICAgIHRhYmxlTmFtZVxuICAgICk7XG4gICAgdHJ5IHtcbiAgICAgIHJldHVybiBKU09OLnBhcnNlKHRoaXMuZGVjb2RlKHJlc3VsdCkpLm1hcCgocjogYW55KSA9PiBKU09OLnBhcnNlKHIpKTtcbiAgICB9IGNhdGNoIChlOiB1bmtub3duKSB7XG4gICAgICB0aHJvdyBuZXcgU2VyaWFsaXphdGlvbkVycm9yKGUgYXMgRXJyb3IpO1xuICAgIH1cbiAgfVxuXG4gIC8qKlxuICAgKiBAZGVzY3JpcHRpb24gVXBkYXRlcyBtdWx0aXBsZSByZWNvcmRzIGluIGEgc2luZ2xlIHRyYW5zYWN0aW9uXG4gICAqIEBzdW1tYXJ5IFN1Ym1pdHMgYSB0cmFuc2FjdGlvbiB0byB1cGRhdGUgbXVsdGlwbGUgcmVjb3JkcyBpbiB0aGUgRmFicmljIGxlZGdlclxuICAgKiBAcGFyYW0ge3N0cmluZ30gdGFibGVOYW1lIC0gVGhlIG5hbWUgb2YgdGhlIHRhYmxlL2NvbGxlY3Rpb25cbiAgICogQHBhcmFtIHtzdHJpbmdbXSB8IG51bWJlcltdfSBpZHMgLSBBcnJheSBvZiByZWNvcmQgaWRlbnRpZmllcnNcbiAgICogQHBhcmFtIHtBcnJheTxSZWNvcmQ8c3RyaW5nLCBhbnk+Pn0gbW9kZWxzIC0gQXJyYXkgb2YgdXBkYXRlZCByZWNvcmQgZGF0YVxuICAgKiBAcGFyYW0ge1JlY29yZDxzdHJpbmcsIGFueT59IHRyYW5zaWVudCAtIFRyYW5zaWVudCBkYXRhIGZvciB0aGUgdHJhbnNhY3Rpb25cbiAgICogQHJldHVybiB7UHJvbWlzZTxBcnJheTxSZWNvcmQ8c3RyaW5nLCBhbnk+Pj59IFByb21pc2UgcmVzb2x2aW5nIHRvIHRoZSB1cGRhdGVkIHJlY29yZHNcbiAgICovXG4gIG92ZXJyaWRlIGFzeW5jIHVwZGF0ZUFsbDxNIGV4dGVuZHMgTW9kZWw+KFxuICAgIGNsYXp6OiBDb25zdHJ1Y3RvcjxNPixcbiAgICBpZHM6IFByaW1hcnlLZXlUeXBlW10sXG4gICAgbW9kZWxzOiBSZWNvcmQ8c3RyaW5nLCBhbnk+W10sXG4gICAgLi4uYXJnczogQ29udGV4dHVhbEFyZ3M8Q29udGV4dDxGYWJyaWNGbGFncz4+XG4gICk6IFByb21pc2U8UmVjb3JkPHN0cmluZywgYW55PltdPiB7XG4gICAgaWYgKGlkcy5sZW5ndGggIT09IG1vZGVscy5sZW5ndGgpXG4gICAgICB0aHJvdyBuZXcgSW50ZXJuYWxFcnJvcihcIklkcyBhbmQgbW9kZWxzIG11c3QgaGF2ZSB0aGUgc2FtZSBsZW5ndGhcIik7XG4gICAgY29uc3QgY3R4QXJncyA9IFsuLi4oYXJncyBhcyB1bmtub3duIGFzIGFueVtdKV07XG4gICAgY29uc3QgdHJhbnNpZW50ID0gY3R4QXJncy5zaGlmdCgpIGFzIFJlY29yZDxzdHJpbmcsIGFueT47XG4gICAgY29uc3QgeyBsb2cgfSA9IHRoaXMubG9nQ3R4KFxuICAgICAgY3R4QXJncyBhcyBDb250ZXh0dWFsQXJnczxDb250ZXh0PEZhYnJpY0ZsYWdzPj4sXG4gICAgICB0aGlzLnVwZGF0ZUFsbFxuICAgICk7XG4gICAgY29uc3QgdGFibGVOYW1lID0gTW9kZWwudGFibGVOYW1lKGNsYXp6KTtcbiAgICBsb2cuaW5mbyhgdXBkYXRpbmcgJHtpZHMubGVuZ3RofSBlbnRyaWVzIHRvICR7dGFibGVOYW1lfSB0YWJsZWApO1xuICAgIGxvZy52ZXJib3NlKGBwa3M6ICR7aWRzfWApO1xuXG4gICAgY29uc3QgcmVzdWx0ID0gYXdhaXQgdGhpcy5zdWJtaXRUcmFuc2FjdGlvbihcbiAgICAgIEJ1bGtDcnVkT3BlcmF0aW9uS2V5cy5VUERBVEVfQUxMLFxuICAgICAgW2lkcywgbW9kZWxzLm1hcCgobSkgPT4gdGhpcy5zZXJpYWxpemVyLnNlcmlhbGl6ZShtLCBjbGF6ei5uYW1lKSldLFxuICAgICAgdHJhbnNpZW50LFxuICAgICAgdW5kZWZpbmVkLFxuICAgICAgY2xhenoubmFtZVxuICAgICk7XG4gICAgdHJ5IHtcbiAgICAgIHJldHVybiBKU09OLnBhcnNlKHRoaXMuZGVjb2RlKHJlc3VsdCkpLm1hcCgocjogYW55KSA9PiBKU09OLnBhcnNlKHIpKTtcbiAgICB9IGNhdGNoIChlOiB1bmtub3duKSB7XG4gICAgICB0aHJvdyBuZXcgU2VyaWFsaXphdGlvbkVycm9yKGUgYXMgRXJyb3IpO1xuICAgIH1cbiAgfVxuXG4gIC8qKlxuICAgKiBAZGVzY3JpcHRpb24gRGVsZXRlcyBtdWx0aXBsZSByZWNvcmRzIGluIGEgc2luZ2xlIHRyYW5zYWN0aW9uXG4gICAqIEBzdW1tYXJ5IFN1Ym1pdHMgYSB0cmFuc2FjdGlvbiB0byBkZWxldGUgbXVsdGlwbGUgcmVjb3JkcyBmcm9tIHRoZSBGYWJyaWMgbGVkZ2VyXG4gICAqIEBwYXJhbSB7c3RyaW5nfSB0YWJsZU5hbWUgLSBUaGUgbmFtZSBvZiB0aGUgdGFibGUvY29sbGVjdGlvblxuICAgKiBAcGFyYW0ge0FycmF5PHN0cmluZyB8IG51bWJlciB8IGJpZ2ludD59IGlkcyAtIEFycmF5IG9mIHJlY29yZCBpZGVudGlmaWVycyB0byBkZWxldGVcbiAgICogQHBhcmFtIHtTZXJpYWxpemVyPGFueT59IHNlcmlhbGl6ZXIgLSBTZXJpYWxpemVyIGZvciB0aGUgbW9kZWwgZGF0YVxuICAgKiBAcmV0dXJuIHtQcm9taXNlPEFycmF5PFJlY29yZDxzdHJpbmcsIGFueT4+Pn0gUHJvbWlzZSByZXNvbHZpbmcgdG8gdGhlIGRlbGV0ZWQgcmVjb3Jkc1xuICAgKi9cbiAgb3ZlcnJpZGUgYXN5bmMgZGVsZXRlQWxsPE0gZXh0ZW5kcyBNb2RlbD4oXG4gICAgY2xheno6IENvbnN0cnVjdG9yPE0+LFxuICAgIGlkczogUHJpbWFyeUtleVR5cGVbXSxcbiAgICAuLi5hcmdzOiBDb250ZXh0dWFsQXJnczxDb250ZXh0PEZhYnJpY0ZsYWdzPj5cbiAgKTogUHJvbWlzZTxSZWNvcmQ8c3RyaW5nLCBhbnk+W10+IHtcbiAgICBjb25zdCB7IGxvZyB9ID0gQWRhcHRlci5sb2dDdHgoYXJncywgdGhpcy5kZWxldGVBbGwpO1xuICAgIGNvbnN0IHRhYmxlTmFtZSA9IE1vZGVsLnRhYmxlTmFtZShjbGF6eik7XG4gICAgbG9nLmluZm8oYGRlbGV0aW5nICR7aWRzLmxlbmd0aH0gZW50cmllcyB0byAke3RhYmxlTmFtZX0gdGFibGVgKTtcbiAgICBsb2cudmVyYm9zZShgcGtzOiAke2lkc31gKTtcbiAgICBjb25zdCByZXN1bHQgPSBhd2FpdCB0aGlzLnN1Ym1pdFRyYW5zYWN0aW9uKFxuICAgICAgQnVsa0NydWRPcGVyYXRpb25LZXlzLkRFTEVURV9BTEwsXG4gICAgICBbaWRzXSxcbiAgICAgIHVuZGVmaW5lZCxcbiAgICAgIHVuZGVmaW5lZCxcbiAgICAgIGNsYXp6Lm5hbWVcbiAgICApO1xuICAgIHRyeSB7XG4gICAgICByZXR1cm4gSlNPTi5wYXJzZSh0aGlzLmRlY29kZShyZXN1bHQpKS5tYXAoKHI6IGFueSkgPT4gSlNPTi5wYXJzZShyKSk7XG4gICAgfSBjYXRjaCAoZTogdW5rbm93bikge1xuICAgICAgdGhyb3cgbmV3IFNlcmlhbGl6YXRpb25FcnJvcihlIGFzIEVycm9yKTtcbiAgICB9XG4gIH1cblxuICAvKipcbiAgICogQGRlc2NyaXB0aW9uIFByZXBhcmVzIGEgbW9kZWwgZm9yIHBlcnNpc3RlbmNlXG4gICAqIEBzdW1tYXJ5IENvbnZlcnRzIGEgbW9kZWwgaW5zdGFuY2UgaW50byBhIGZvcm1hdCBzdWl0YWJsZSBmb3IgZGF0YWJhc2Ugc3RvcmFnZSxcbiAgICogaGFuZGxpbmcgY29sdW1uIG1hcHBpbmcgYW5kIHNlcGFyYXRpbmcgdHJhbnNpZW50IHByb3BlcnRpZXNcbiAgICogQHRlbXBsYXRlIE0gLSBUaGUgbW9kZWwgdHlwZVxuICAgKiBAcGFyYW0ge019IG1vZGVsIC0gVGhlIG1vZGVsIGluc3RhbmNlIHRvIHByZXBhcmVcbiAgICogQHBhcmFtIHBrIC0gVGhlIHByaW1hcnkga2V5IHByb3BlcnR5IG5hbWVcbiAgICogQHJldHVybiBUaGUgcHJlcGFyZWQgZGF0YVxuICAgKi9cbiAgb3ZlcnJpZGUgcHJlcGFyZTxNIGV4dGVuZHMgTW9kZWw+KFxuICAgIG1vZGVsOiBNLFxuICAgIC4uLmFyZ3M6IENvbnRleHR1YWxBcmdzPENvbnRleHQ8RmFicmljRmxhZ3M+PlxuICApOiBTZWdyZWdhdGVkTW9kZWw8TT4gJiBQcmVwYXJlZE1vZGVsIHtcbiAgICBjb25zdCB7IGxvZyB9ID0gdGhpcy5sb2dDdHgoYXJncywgdGhpcy5wcmVwYXJlKTtcbiAgICBjb25zdCBzcGxpdCA9IE1vZGVsLnNlZ3JlZ2F0ZShtb2RlbCk7XG4gICAgaWYgKChtb2RlbCBhcyBhbnkpW1BlcnNpc3RlbmNlS2V5cy5NRVRBREFUQV0pIHtcbiAgICAgIGxvZy5zaWxseShcbiAgICAgICAgYFBhc3NpbmcgYWxvbmcgcGVyc2lzdGVuY2UgbWV0YWRhdGEgZm9yICR7KG1vZGVsIGFzIGFueSlbUGVyc2lzdGVuY2VLZXlzLk1FVEFEQVRBXX1gXG4gICAgICApO1xuICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KHNwbGl0Lm1vZGVsLCBQZXJzaXN0ZW5jZUtleXMuTUVUQURBVEEsIHtcbiAgICAgICAgZW51bWVyYWJsZTogZmFsc2UsXG4gICAgICAgIHdyaXRhYmxlOiBmYWxzZSxcbiAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlLFxuICAgICAgICB2YWx1ZTogKG1vZGVsIGFzIGFueSlbUGVyc2lzdGVuY2VLZXlzLk1FVEFEQVRBXSxcbiAgICAgIH0pO1xuICAgIH1cblxuICAgIHJldHVybiB7XG4gICAgICByZWNvcmQ6IHNwbGl0Lm1vZGVsLFxuICAgICAgbW9kZWw6IHNwbGl0Lm1vZGVsLFxuICAgICAgaWQ6IG1vZGVsW01vZGVsLnBrKG1vZGVsLmNvbnN0cnVjdG9yIGFzIENvbnN0cnVjdG9yPE0+KV0gYXMgc3RyaW5nLFxuICAgICAgdHJhbnNpZW50OiBzcGxpdC50cmFuc2llbnQsXG4gICAgICBwcml2YXRlOiBzcGxpdC5wcml2YXRlLFxuICAgICAgc2hhcmVkOiBzcGxpdC5zaGFyZWQsXG4gICAgfTtcbiAgfVxuXG4gIG92ZXJyaWRlIHJldmVydDxNIGV4dGVuZHMgTW9kZWw+KFxuICAgIG9iajogUmVjb3JkPHN0cmluZywgYW55PixcbiAgICBjbGF6ejogQ29uc3RydWN0b3I8TT4sXG4gICAgaWQ6IFByaW1hcnlLZXlUeXBlLFxuICAgIHRyYW5zaWVudD86IFJlY29yZDxzdHJpbmcsIGFueT4sXG4gICAgLi4uYXJnczogQ29udGV4dHVhbEFyZ3M8Q29udGV4dDxGYWJyaWNGbGFncz4+XG4gICk6IE0ge1xuICAgIGNvbnN0IHsgbG9nIH0gPSB0aGlzLmxvZ0N0eChhcmdzLCB0aGlzLnJldmVydCk7XG4gICAgaWYgKHRyYW5zaWVudCkge1xuICAgICAgbG9nLnZlcmJvc2UoXG4gICAgICAgIGByZS1hZGRpbmcgdHJhbnNpZW50IHByb3BlcnRpZXM6ICR7T2JqZWN0LmtleXModHJhbnNpZW50KS5qb2luKFwiLCBcIil9YFxuICAgICAgKTtcbiAgICAgIE9iamVjdC5lbnRyaWVzKHRyYW5zaWVudCBhcyBSZWNvcmQ8c3RyaW5nLCBhbnk+KS5mb3JFYWNoKChba2V5LCB2YWxdKSA9PiB7XG4gICAgICAgIGlmIChrZXkgaW4gb2JqKVxuICAgICAgICAgIHRocm93IG5ldyBJbnRlcm5hbEVycm9yKFxuICAgICAgICAgICAgYFRyYW5zaWVudCBwcm9wZXJ0eSAke2tleX0gYWxyZWFkeSBleGlzdHMgb24gbW9kZWwgJHt0eXBlb2YgY2xhenogPT09IFwic3RyaW5nXCIgPyBjbGF6eiA6IGNsYXp6Lm5hbWV9LiBzaG91bGQgYmUgaW1wb3NzaWJsZWBcbiAgICAgICAgICApO1xuICAgICAgICAob2JqIGFzIE0pW2tleSBhcyBrZXlvZiBNXSA9IHZhbDtcbiAgICAgIH0pO1xuICAgIH1cblxuICAgIHJldHVybiBuZXcgKGNsYXp6IGFzIENvbnN0cnVjdG9yPE0+KShvYmopO1xuICB9XG5cbiAgLyoqXG4gICAqIEBkZXNjcmlwdGlvbiBDcmVhdGVzIGluZGV4ZXMgZm9yIHRoZSBnaXZlbiBtb2RlbHNcbiAgICogQHN1bW1hcnkgQWJzdHJhY3QgbWV0aG9kIHRoYXQgbXVzdCBiZSBpbXBsZW1lbnRlZCB0byBjcmVhdGUgZGF0YWJhc2UgaW5kZXhlcyBmb3IgdGhlIHNwZWNpZmllZCBtb2RlbHNcbiAgICogQHRlbXBsYXRlIE0gLSBUaGUgbW9kZWwgdHlwZVxuICAgKiBAcGFyYW0gey4uLkNvbnN0cnVjdG9yPE0+fSBtb2RlbHMgLSBUaGUgbW9kZWwgY29uc3RydWN0b3JzIHRvIGNyZWF0ZSBpbmRleGVzIGZvclxuICAgKiBAcmV0dXJuIHtQcm9taXNlPHZvaWQ+fSBBIHByb21pc2UgdGhhdCByZXNvbHZlcyB3aGVuIGFsbCBpbmRleGVzIGFyZSBjcmVhdGVkXG4gICAqL1xuICBAZGVidWcoKVxuICBwcm90ZWN0ZWQgYXN5bmMgaW5kZXg8TSBleHRlbmRzIE1vZGVsPihcbiAgICAuLi5hcmdzOiBNYXliZUNvbnRleHR1YWxBcmc8XG4gICAgICBDb250ZXh0PEZhYnJpY0ZsYWdzPixcbiAgICAgIFtzdHJpbmcsIC4uLihDb25zdHJ1Y3RvcjxNPiB8IHN0cmluZylbXV1cbiAgICA+XG4gICk6IFByb21pc2U8dm9pZD4ge1xuICAgIGNvbnN0IHsgbG9nIH0gPSB0aGlzLmxvZ0N0eChhcmdzLCB0aGlzLmluZGV4KTtcbiAgICBjb25zdCBvdXREaXI6IHN0cmluZyA9IGFyZ3Muc2hpZnQoKTtcbiAgICBjb25zdCBtb2RlbHM6IE1vZGVsQ29uc3RydWN0b3I8YW55PltdID0gKFxuICAgICAgYXdhaXQgUHJvbWlzZS5hbGwoXG4gICAgICAgIGFyZ3MubWFwKGFzeW5jIChtKSA9PiB7XG4gICAgICAgICAgY29uc3QgaXNGb2xkZXIgPSB0eXBlb2YgbSA9PT0gXCJzdHJpbmdcIjtcbiAgICAgICAgICBpZiAoaXNGb2xkZXIpIHtcbiAgICAgICAgICAgIGxvZy52ZXJib3NlKGBMb2FkaW5nIG1vZGVscyBmcm9tICR7bX0uLi5gKTtcbiAgICAgICAgICAgIHJldHVybiBhd2FpdCByZWFkTW9kZWxGb2xkZXJzKG0pO1xuICAgICAgICAgIH1cbiAgICAgICAgICByZXR1cm4gbTtcbiAgICAgICAgfSlcbiAgICAgIClcbiAgICApLmZsYXQoKTtcbiAgICBjb25zdCByZXN1bHQ6IFJlY29yZDxzdHJpbmcsIGFueT4gPSB7fTtcbiAgICBmb3IgKGNvbnN0IG0gb2YgbW9kZWxzKSB7XG4gICAgICBsb2cudmVyYm9zZShgRXh0cmFjdGluZyBpbmRleGVzIGZvciB0YWJsZSAke01vZGVsLnRhYmxlTmFtZShtKX1gKTtcbiAgICAgIGdlbmVyYXRlTW9kZWxJbmRleGVzKG0sIHJlc3VsdCk7XG4gICAgfVxuICAgIGxvZy52ZXJib3NlKGBGb3VuZCAke09iamVjdC5rZXlzKHJlc3VsdCkubGVuZ3RofSBpbmRleGVzIHRvIGNyZWF0ZWApO1xuICAgIGxvZy5kZWJ1ZyhgSW5kZXhlczogJHtKU09OLnN0cmluZ2lmeShyZXN1bHQpfWApO1xuICAgIHdyaXRlSW5kZXhlcyhPYmplY3QudmFsdWVzKHJlc3VsdCksIG91dERpcik7XG4gIH1cblxuICAvKipcbiAgICogQGRlc2NyaXB0aW9uIENyZWF0ZXMgYSBzaW5nbGUgcmVjb3JkXG4gICAqIEBzdW1tYXJ5IFN1Ym1pdHMgYSB0cmFuc2FjdGlvbiB0byBjcmVhdGUgYSByZWNvcmQgaW4gdGhlIEZhYnJpYyBsZWRnZXJcbiAgICogQHBhcmFtIHtzdHJpbmd9IHRhYmxlTmFtZSAtIFRoZSBuYW1lIG9mIHRoZSB0YWJsZS9jb2xsZWN0aW9uXG4gICAqIEBwYXJhbSB7c3RyaW5nIHwgbnVtYmVyfSBpZCAtIFRoZSByZWNvcmQgaWRlbnRpZmllclxuICAgKiBAcGFyYW0ge1JlY29yZDxzdHJpbmcsIGFueT59IG1vZGVsIC0gVGhlIHJlY29yZCBkYXRhXG4gICAqIEBwYXJhbSB7UmVjb3JkPHN0cmluZywgYW55Pn0gdHJhbnNpZW50IC0gVHJhbnNpZW50IGRhdGEgZm9yIHRoZSB0cmFuc2FjdGlvblxuICAgKiBAcmV0dXJuIHtQcm9taXNlPFJlY29yZDxzdHJpbmcsIGFueT4+fSBQcm9taXNlIHJlc29sdmluZyB0byB0aGUgY3JlYXRlZCByZWNvcmRcbiAgICovXG4gIEBkZWJ1ZygpXG4gIEBmaW5hbCgpXG4gIG92ZXJyaWRlIGFzeW5jIGNyZWF0ZTxNIGV4dGVuZHMgTW9kZWw+KFxuICAgIGNsYXp6OiBDb25zdHJ1Y3RvcjxNPixcbiAgICBpZDogUHJpbWFyeUtleVR5cGUsXG4gICAgbW9kZWw6IFJlY29yZDxzdHJpbmcsIGFueT4sXG4gICAgdHJhbnNpZW50OiBSZWNvcmQ8c3RyaW5nLCBhbnk+ID0ge30sXG4gICAgLi4uYXJnczogQ29udGV4dHVhbEFyZ3M8Q29udGV4dDxGYWJyaWNGbGFncz4+XG4gICk6IFByb21pc2U8UmVjb3JkPHN0cmluZywgYW55Pj4ge1xuICAgIGNvbnN0IGN0eEFyZ3MgPSBbLi4uKGFyZ3MgYXMgdW5rbm93biBhcyBhbnlbXSldO1xuICAgIGNvbnN0IHsgbG9nIH0gPSB0aGlzLmxvZ0N0eChcbiAgICAgIGN0eEFyZ3MgYXMgQ29udGV4dHVhbEFyZ3M8Q29udGV4dDxGYWJyaWNGbGFncz4+LFxuICAgICAgdGhpcy5jcmVhdGVcbiAgICApO1xuICAgIGNvbnN0IHRhYmxlTmFtZSA9IE1vZGVsLnRhYmxlTmFtZShjbGF6eik7XG4gICAgbG9nLnZlcmJvc2UoYGFkZGluZyBlbnRyeSB0byAke3RhYmxlTmFtZX0gdGFibGVgKTtcbiAgICBsb2cuZGVidWcoYHBrOiAke2lkfWApO1xuICAgIGNvbnN0IHJlc3VsdCA9IGF3YWl0IHRoaXMuc3VibWl0VHJhbnNhY3Rpb24oXG4gICAgICBPcGVyYXRpb25LZXlzLkNSRUFURSxcbiAgICAgIFt0aGlzLnNlcmlhbGl6ZXIuc2VyaWFsaXplKG1vZGVsLCBjbGF6ei5uYW1lKV0sXG4gICAgICB0cmFuc2llbnQsXG4gICAgICB1bmRlZmluZWQsXG4gICAgICBjbGF6ei5uYW1lXG4gICAgKTtcbiAgICByZXR1cm4gdGhpcy5zZXJpYWxpemVyLmRlc2VyaWFsaXplKHRoaXMuZGVjb2RlKHJlc3VsdCkpO1xuICB9XG5cbiAgLyoqXG4gICAqIEBkZXNjcmlwdGlvbiBSZWFkcyBhIHNpbmdsZSByZWNvcmRcbiAgICogQHN1bW1hcnkgRXZhbHVhdGVzIGEgdHJhbnNhY3Rpb24gdG8gcmVhZCBhIHJlY29yZCBmcm9tIHRoZSBGYWJyaWMgbGVkZ2VyXG4gICAqIEBwYXJhbSB7c3RyaW5nfSB0YWJsZU5hbWUgLSBUaGUgbmFtZSBvZiB0aGUgdGFibGUvY29sbGVjdGlvblxuICAgKiBAcGFyYW0ge3N0cmluZyB8IG51bWJlcn0gaWQgLSBUaGUgcmVjb3JkIGlkZW50aWZpZXJcbiAgICogQHJldHVybiB7UHJvbWlzZTxSZWNvcmQ8c3RyaW5nLCBhbnk+Pn0gUHJvbWlzZSByZXNvbHZpbmcgdG8gdGhlIHJldHJpZXZlZCByZWNvcmRcbiAgICovXG4gIEBkZWJ1ZygpXG4gIEBmaW5hbCgpXG4gIGFzeW5jIHJlYWQ8TSBleHRlbmRzIE1vZGVsPihcbiAgICBjbGF6ejogQ29uc3RydWN0b3I8TT4sXG4gICAgaWQ6IFByaW1hcnlLZXlUeXBlLFxuICAgIC4uLmFyZ3M6IENvbnRleHR1YWxBcmdzPENvbnRleHQ8RmFicmljRmxhZ3M+PlxuICApOiBQcm9taXNlPFJlY29yZDxzdHJpbmcsIGFueT4+IHtcbiAgICBjb25zdCB7IGxvZyB9ID0gdGhpcy5sb2dDdHgoYXJncywgdGhpcy5yZWFkQWxsKTtcbiAgICBjb25zdCB0YWJsZU5hbWUgPSBNb2RlbC50YWJsZU5hbWUoY2xhenopO1xuXG4gICAgbG9nLnZlcmJvc2UoYHJlYWRpbmcgZW50cnkgZnJvbSAke3RhYmxlTmFtZX0gdGFibGVgKTtcbiAgICBsb2cuZGVidWcoYHBrOiAke2lkfWApO1xuICAgIGNvbnN0IHJlc3VsdCA9IGF3YWl0IHRoaXMuZXZhbHVhdGVUcmFuc2FjdGlvbihcbiAgICAgIE9wZXJhdGlvbktleXMuUkVBRCxcbiAgICAgIFtpZC50b1N0cmluZygpXSxcbiAgICAgIHVuZGVmaW5lZCxcbiAgICAgIHVuZGVmaW5lZCxcbiAgICAgIGNsYXp6Lm5hbWVcbiAgICApO1xuICAgIHJldHVybiB0aGlzLnNlcmlhbGl6ZXIuZGVzZXJpYWxpemUodGhpcy5kZWNvZGUocmVzdWx0KSk7XG4gIH1cblxuICB1cGRhdGVQcmVmaXg8TSBleHRlbmRzIE1vZGVsPihcbiAgICBjbGF6ejogQ29uc3RydWN0b3I8TT4sXG4gICAgaWQ6IFByaW1hcnlLZXlUeXBlLFxuICAgIG1vZGVsOiBSZWNvcmQ8c3RyaW5nLCBhbnk+LFxuICAgIC4uLmFyZ3M6IE1heWJlQ29udGV4dHVhbEFyZzxDb250ZXh0PEZhYnJpY0ZsYWdzPj5cbiAgKSB7XG4gICAgY29uc3QgdGFibGVOYW1lID0gTW9kZWwudGFibGVOYW1lKGNsYXp6KTtcbiAgICBjb25zdCB7IGN0eEFyZ3MgfSA9IHRoaXMubG9nQ3R4KGFyZ3MsIHRoaXMudXBkYXRlUHJlZml4KTtcbiAgICBjb25zdCByZWNvcmQ6IFJlY29yZDxzdHJpbmcsIGFueT4gPSB7fTtcbiAgICByZWNvcmRbQ291Y2hEQktleXMuVEFCTEVdID0gdGFibGVOYW1lO1xuICAgIC8vIHJlY29yZFtDb3VjaERCS2V5cy5JRF0gPSB0aGlzLmdlbmVyYXRlSWQodGFibGVOYW1lLCBpZCk7XG4gICAgT2JqZWN0LmFzc2lnbihyZWNvcmQsIG1vZGVsKTtcbiAgICByZXR1cm4gW2NsYXp6LCBpZCwgcmVjb3JkLCAuLi5jdHhBcmdzXTtcbiAgfVxuXG4gIC8qKlxuICAgKiBAZGVzY3JpcHRpb24gVXBkYXRlcyBhIHNpbmdsZSByZWNvcmRcbiAgICogQHN1bW1hcnkgU3VibWl0cyBhIHRyYW5zYWN0aW9uIHRvIHVwZGF0ZSBhIHJlY29yZCBpbiB0aGUgRmFicmljIGxlZGdlclxuICAgKiBAcGFyYW0ge3N0cmluZ30gdGFibGVOYW1lIC0gVGhlIG5hbWUgb2YgdGhlIHRhYmxlL2NvbGxlY3Rpb25cbiAgICogQHBhcmFtIHtzdHJpbmcgfCBudW1iZXJ9IGlkIC0gVGhlIHJlY29yZCBpZGVudGlmaWVyXG4gICAqIEBwYXJhbSB7UmVjb3JkPHN0cmluZywgYW55Pn0gbW9kZWwgLSBUaGUgdXBkYXRlZCByZWNvcmQgZGF0YVxuICAgKiBAcGFyYW0ge1JlY29yZDxzdHJpbmcsIGFueT59IHRyYW5zaWVudCAtIFRyYW5zaWVudCBkYXRhIGZvciB0aGUgdHJhbnNhY3Rpb25cbiAgICogQHJldHVybiB7UHJvbWlzZTxSZWNvcmQ8c3RyaW5nLCBhbnk+Pn0gUHJvbWlzZSByZXNvbHZpbmcgdG8gdGhlIHVwZGF0ZWQgcmVjb3JkXG4gICAqL1xuICBAZGVidWcoKVxuICBAZmluYWwoKVxuICBhc3luYyB1cGRhdGU8TSBleHRlbmRzIE1vZGVsPihcbiAgICBjbGF6ejogQ29uc3RydWN0b3I8TT4sXG4gICAgaWQ6IFByaW1hcnlLZXlUeXBlLFxuICAgIG1vZGVsOiBSZWNvcmQ8c3RyaW5nLCBhbnk+LFxuICAgIHRyYW5zaWVudDogUmVjb3JkPHN0cmluZywgYW55PiA9IHt9LFxuICAgIC4uLmFyZ3M6IENvbnRleHR1YWxBcmdzPENvbnRleHQ8RmFicmljRmxhZ3M+PlxuICApOiBQcm9taXNlPFJlY29yZDxzdHJpbmcsIGFueT4+IHtcbiAgICBjb25zdCBjdHhBcmdzID0gWy4uLihhcmdzIGFzIHVua25vd24gYXMgYW55W10pXTtcbiAgICBjb25zdCB7IGxvZyB9ID0gdGhpcy5sb2dDdHgoXG4gICAgICBjdHhBcmdzIGFzIENvbnRleHR1YWxBcmdzPENvbnRleHQ8RmFicmljRmxhZ3M+PixcbiAgICAgIHRoaXMudXBkYXRlQWxsXG4gICAgKTtcbiAgICBsb2cuaW5mbyhgQ0xJRU5UIFVQREFURSBjbGFzcyA6ICR7dHlwZW9mIGNsYXp6fWApO1xuICAgIGNvbnN0IHRhYmxlTmFtZSA9IE1vZGVsLnRhYmxlTmFtZShjbGF6eik7XG4gICAgbG9nLnZlcmJvc2UoYHVwZGF0aW5nIGVudHJ5IHRvICR7dGFibGVOYW1lfSB0YWJsZWApO1xuICAgIGxvZy5kZWJ1ZyhgcGs6ICR7aWR9YCk7XG4gICAgY29uc3QgcmVzdWx0ID0gYXdhaXQgdGhpcy5zdWJtaXRUcmFuc2FjdGlvbihcbiAgICAgIE9wZXJhdGlvbktleXMuVVBEQVRFLFxuICAgICAgW3RoaXMuc2VyaWFsaXplci5zZXJpYWxpemUobW9kZWwsIGNsYXp6Lm5hbWUgfHwgY2xhenopXSwgLy8gVE9ETyBzaG91bGQgYmUgcmVjZXZpbmcgY2xhc3MgYnV0IGlzIHJlY2VpdmluZyBzdHJpbmdcbiAgICAgIHRyYW5zaWVudCxcbiAgICAgIHVuZGVmaW5lZCxcbiAgICAgIGNsYXp6Lm5hbWVcbiAgICApO1xuICAgIHJldHVybiB0aGlzLnNlcmlhbGl6ZXIuZGVzZXJpYWxpemUodGhpcy5kZWNvZGUocmVzdWx0KSk7XG4gIH1cblxuICAvKipcbiAgICogQGRlc2NyaXB0aW9uIERlbGV0ZXMgYSBzaW5nbGUgcmVjb3JkXG4gICAqIEBzdW1tYXJ5IFN1Ym1pdHMgYSB0cmFuc2FjdGlvbiB0byBkZWxldGUgYSByZWNvcmQgZnJvbSB0aGUgRmFicmljIGxlZGdlclxuICAgKiBAcGFyYW0ge3N0cmluZ30gdGFibGVOYW1lIC0gVGhlIG5hbWUgb2YgdGhlIHRhYmxlL2NvbGxlY3Rpb25cbiAgICogQHBhcmFtIHtzdHJpbmcgfCBudW1iZXJ9IGlkIC0gVGhlIHJlY29yZCBpZGVudGlmaWVyIHRvIGRlbGV0ZVxuICAgKiBAcmV0dXJuIHtQcm9taXNlPFJlY29yZDxzdHJpbmcsIGFueT4+fSBQcm9taXNlIHJlc29sdmluZyB0byB0aGUgZGVsZXRlZCByZWNvcmRcbiAgICovXG4gIEBkZWJ1ZygpXG4gIEBmaW5hbCgpXG4gIG92ZXJyaWRlIGFzeW5jIGRlbGV0ZTxNIGV4dGVuZHMgTW9kZWw+KFxuICAgIGNsYXp6OiBDb25zdHJ1Y3RvcjxNPixcbiAgICBpZDogUHJpbWFyeUtleVR5cGUsXG4gICAgLi4uYXJnczogQ29udGV4dHVhbEFyZ3M8Q29udGV4dDxGYWJyaWNGbGFncz4+XG4gICk6IFByb21pc2U8UmVjb3JkPHN0cmluZywgYW55Pj4ge1xuICAgIGNvbnN0IHsgbG9nIH0gPSB0aGlzLmxvZ0N0eChhcmdzLCB0aGlzLmRlbGV0ZSk7XG4gICAgY29uc3QgdGFibGVOYW1lID0gTW9kZWwudGFibGVOYW1lKGNsYXp6KTtcbiAgICBsb2cudmVyYm9zZShgZGVsZXRpbmcgZW50cnkgZnJvbSAke3RhYmxlTmFtZX0gdGFibGVgKTtcbiAgICBsb2cuZGVidWcoYHBrOiAke2lkfWApO1xuICAgIGNvbnN0IHJlc3VsdCA9IGF3YWl0IHRoaXMuc3VibWl0VHJhbnNhY3Rpb24oXG4gICAgICBPcGVyYXRpb25LZXlzLkRFTEVURSxcbiAgICAgIFtpZC50b1N0cmluZygpXSxcbiAgICAgIHVuZGVmaW5lZCxcbiAgICAgIHVuZGVmaW5lZCxcbiAgICAgIGNsYXp6Lm5hbWVcbiAgICApO1xuICAgIHJldHVybiB0aGlzLnNlcmlhbGl6ZXIuZGVzZXJpYWxpemUodGhpcy5kZWNvZGUocmVzdWx0KSk7XG4gIH1cblxuICAvKipcbiAgICogQGRlc2NyaXB0aW9uIEV4ZWN1dGVzIGEgcmF3IHF1ZXJ5IGFnYWluc3QgdGhlIEZhYnJpYyBsZWRnZXJcbiAgICogQHN1bW1hcnkgRXZhbHVhdGVzIGEgdHJhbnNhY3Rpb24gdG8gcGVyZm9ybSBhIHF1ZXJ5IHVzaW5nIE1hbmdvIFF1ZXJ5IHN5bnRheFxuICAgKiBAdGVtcGxhdGUgViAtIFRoZSByZXR1cm4gdHlwZVxuICAgKiBAcGFyYW0ge01hbmdvUXVlcnl9IHJhd0lucHV0IC0gVGhlIE1hbmdvIFF1ZXJ5IHRvIGV4ZWN1dGVcbiAgICogQHBhcmFtIHtib29sZWFufSBwcm9jZXNzIC0gV2hldGhlciB0byBwcm9jZXNzIHRoZSByZXN1bHRcbiAgICogQHJldHVybiB7UHJvbWlzZTxWPn0gUHJvbWlzZSByZXNvbHZpbmcgdG8gdGhlIHF1ZXJ5IHJlc3VsdFxuICAgKiBAbWVybWFpZFxuICAgKiBzZXF1ZW5jZURpYWdyYW1cbiAgICogICBwYXJ0aWNpcGFudCBDbGllbnRcbiAgICogICBwYXJ0aWNpcGFudCBGYWJyaWNBZGFwdGVyXG4gICAqICAgcGFydGljaXBhbnQgQ29udHJhY3RcbiAgICogICBwYXJ0aWNpcGFudCBDaGFpbmNvZGVcbiAgICpcbiAgICogICBDbGllbnQtPj5GYWJyaWNBZGFwdGVyOiByYXcocmF3SW5wdXQsIHByb2Nlc3MpXG4gICAqICAgRmFicmljQWRhcHRlci0+PkZhYnJpY0FkYXB0ZXI6IEpTT04uc3RyaW5naWZ5KHJhd0lucHV0KVxuICAgKiAgIEZhYnJpY0FkYXB0ZXItPj5GYWJyaWNBZGFwdGVyOiBldmFsdWF0ZVRyYW5zYWN0aW9uKFwicXVlcnlcIiwgW2lucHV0XSlcbiAgICogICBGYWJyaWNBZGFwdGVyLT4+Q29udHJhY3Q6IGV2YWx1YXRlKFwicXVlcnlcIiwgcHJvcG9zYWxPcHRpb25zKVxuICAgKiAgIENvbnRyYWN0LT4+Q2hhaW5jb2RlOiBpbnZva2VcbiAgICogICBDaGFpbmNvZGUtLT4+Q29udHJhY3Q6IHJlc3BvbnNlXG4gICAqICAgQ29udHJhY3QtLT4+RmFicmljQWRhcHRlcjogcmVzdWx0XG4gICAqICAgRmFicmljQWRhcHRlci0+PkZhYnJpY0FkYXB0ZXI6IEpTT04ucGFyc2UoZGVjb2RlKHJlc3VsdCkpXG4gICAqICAgRmFicmljQWRhcHRlci0+PkZhYnJpY0FkYXB0ZXI6IFByb2Nlc3MgcmVzdWx0IGJhc2VkIG9uIHR5cGVcbiAgICogICBGYWJyaWNBZGFwdGVyLS0+PkNsaWVudDogcHJvY2Vzc2VkIHJlc3VsdFxuICAgKi9cbiAgQGRlYnVnKClcbiAgYXN5bmMgcmF3PFYsIEQgZXh0ZW5kcyBib29sZWFuPihcbiAgICByYXdJbnB1dDogTWFuZ29RdWVyeSxcbiAgICBkb2NzT25seTogRCA9IHRydWUgYXMgRCxcbiAgICBjbGF6ejogTW9kZWxDb25zdHJ1Y3Rvcjxhbnk+LFxuICAgIC4uLmFyZ3M6IENvbnRleHR1YWxBcmdzPENvbnRleHQ8RmFicmljRmxhZ3M+PlxuICApOiBQcm9taXNlPFY+IHtcbiAgICBjb25zdCB7IGxvZyB9ID0gdGhpcy5sb2dDdHgoYXJncywgdGhpcy5yYXcpO1xuICAgIGNvbnN0IHRhYmxlTmFtZSA9IGNsYXp6Lm5hbWU7XG4gICAgbG9nLmluZm8oYFBlcmZvcm1pbmcgcmF3IHN0YXRlbWVudCBvbiB0YWJsZSAke01vZGVsLnRhYmxlTmFtZShjbGF6eil9YCk7XG4gICAgbGV0IHRyYW5zYWN0aW9uUmVzdWx0OiBhbnk7XG4gICAgdHJ5IHtcbiAgICAgIHRyYW5zYWN0aW9uUmVzdWx0ID0gYXdhaXQgdGhpcy5ldmFsdWF0ZVRyYW5zYWN0aW9uKFxuICAgICAgICBcInJhd1wiLFxuICAgICAgICBbSlNPTi5zdHJpbmdpZnkocmF3SW5wdXQpLCBkb2NzT25seV0sXG4gICAgICAgIHVuZGVmaW5lZCxcbiAgICAgICAgdW5kZWZpbmVkLFxuICAgICAgICB0YWJsZU5hbWVcbiAgICAgICk7XG4gICAgfSBjYXRjaCAoZTogdW5rbm93bikge1xuICAgICAgdGhyb3cgdGhpcy5wYXJzZUVycm9yKGUgYXMgRXJyb3IpO1xuICAgIH1cbiAgICBsZXQgcmVzdWx0OiBhbnk7XG4gICAgdHJ5IHtcbiAgICAgIHJlc3VsdCA9IEpTT04ucGFyc2UodGhpcy5kZWNvZGUodHJhbnNhY3Rpb25SZXN1bHQpKTtcbiAgICB9IGNhdGNoIChlOiBhbnkpIHtcbiAgICAgIHRocm93IG5ldyBTZXJpYWxpemF0aW9uRXJyb3IoYEZhaWxlZCB0byBwcm9jZXNzIHJlc3VsdDogJHtlfWApO1xuICAgIH1cblxuICAgIGNvbnN0IHBhcnNlUmVjb3JkID0gKHJlY29yZDogUmVjb3JkPGFueSwgYW55PikgPT4ge1xuICAgICAgaWYgKE1vZGVsLmlzTW9kZWwocmVjb3JkKSkgcmV0dXJuIE1vZGVsLmJ1aWxkKHJlY29yZCk7XG4gICAgICByZXR1cm4gcmVjb3JkO1xuICAgIH07XG5cbiAgICBpZiAoQXJyYXkuaXNBcnJheShyZXN1bHQpKSB7XG4gICAgICBpZiAoIXJlc3VsdC5sZW5ndGgpIHJldHVybiByZXN1bHQgYXMgVjtcbiAgICAgIGNvbnN0IGVsID0gcmVzdWx0WzBdO1xuICAgICAgaWYgKE1vZGVsLmlzTW9kZWwoZWwpKVxuICAgICAgICAvLyBpZiB0aGUgZmlyc3Qgb25lIGlzIGEgbW9kZWwsIGFsbCBhcmUgbW9kZWxzXG4gICAgICAgIHJldHVybiByZXN1bHQubWFwKChlbCkgPT4gTW9kZWwuYnVpbGQoZWwpKSBhcyBWO1xuICAgICAgcmV0dXJuIHJlc3VsdCBhcyBWO1xuICAgIH1cblxuICAgIHJldHVybiBwYXJzZVJlY29yZChyZXN1bHQgYXMgYW55KSBhcyBWO1xuICB9XG5cbiAgLyoqXG4gICAqIEBkZXNjcmlwdGlvbiBHZXRzIG9yIGNyZWF0ZXMgYSBnUlBDIGNsaWVudCBmb3IgdGhlIEZhYnJpYyBwZWVyXG4gICAqIEBzdW1tYXJ5IFJldHVybnMgYSBjYWNoZWQgY2xpZW50IG9yIGNyZWF0ZXMgYSBuZXcgb25lIGlmIG5vbmUgZXhpc3RzXG4gICAqIEByZXR1cm4ge1Byb21pc2U8Q2xpZW50Pn0gUHJvbWlzZSByZXNvbHZpbmcgdG8gdGhlIGdSUEMgY2xpZW50XG4gICAqL1xuICBvdmVycmlkZSBnZXRDbGllbnQoKTogQ2xpZW50IHtcbiAgICBpZiAoIXRoaXMuX2NsaWVudClcbiAgICAgIHRoaXMuX2NsaWVudCA9IEZhYnJpY0NsaWVudEFkYXB0ZXIuZ2V0Q2xpZW50KHRoaXMuY29uZmlnKTtcbiAgICByZXR1cm4gdGhpcy5fY2xpZW50O1xuICB9XG5cbiAgLyoqXG4gICAqIEBkZXNjcmlwdGlvbiBHZXRzIGEgR2F0ZXdheSBpbnN0YW5jZSBmb3IgdGhlIEZhYnJpYyBuZXR3b3JrXG4gICAqIEBzdW1tYXJ5IENyZWF0ZXMgYSBuZXcgR2F0ZXdheSBpbnN0YW5jZSB1c2luZyB0aGUgY3VycmVudCBjbGllbnRcbiAgICogQHJldHVybiB7UHJvbWlzZTxHYXRld2F5Pn0gUHJvbWlzZSByZXNvbHZpbmcgdG8gdGhlIEdhdGV3YXkgaW5zdGFuY2VcbiAgICovXG4gIHByb3RlY3RlZCBhc3luYyBHYXRld2F5KCk6IFByb21pc2U8R2F0ZXdheT4ge1xuICAgIHJldHVybiBGYWJyaWNDbGllbnRBZGFwdGVyLmdldEdhdGV3YXkodGhpcy5jb25maWcsIHRoaXMuY2xpZW50KTtcbiAgfVxuXG4gIHByaXZhdGUgZ2V0Q29udHJhY3ROYW1lKGNsYXNzTmFtZT86IHN0cmluZykge1xuICAgIGlmICghY2xhc3NOYW1lKSByZXR1cm4gdW5kZWZpbmVkO1xuICAgIHJldHVybiBgJHtjbGFzc05hbWV9Q29udHJhY3RgO1xuICB9XG5cbiAgLyoqXG4gICAqIEBkZXNjcmlwdGlvbiBHZXRzIGEgQ29udHJhY3QgaW5zdGFuY2UgZm9yIHRoZSBGYWJyaWMgY2hhaW5jb2RlXG4gICAqIEBzdW1tYXJ5IENyZWF0ZXMgYSBuZXcgQ29udHJhY3QgaW5zdGFuY2UgdXNpbmcgdGhlIGN1cnJlbnQgR2F0ZXdheVxuICAgKiBAcmV0dXJuIHtQcm9taXNlPENvbnRyYWt0Pn0gUHJvbWlzZSByZXNvbHZpbmcgdG8gdGhlIENvbnRyYWN0IGluc3RhbmNlXG4gICAqL1xuICBwcm90ZWN0ZWQgYXN5bmMgQ29udHJhY3QoY29udHJhY3ROYW1lPzogc3RyaW5nKTogUHJvbWlzZTxDb250cmFrdD4ge1xuICAgIHJldHVybiBGYWJyaWNDbGllbnRBZGFwdGVyLmdldENvbnRyYWN0KFxuICAgICAgYXdhaXQgdGhpcy5HYXRld2F5KCksXG4gICAgICB0aGlzLmNvbmZpZyxcbiAgICAgIGNvbnRyYWN0TmFtZVxuICAgICk7XG4gIH1cblxuICAvKipcbiAgICogQGRlc2NyaXB0aW9uIEV4ZWN1dGVzIGEgdHJhbnNhY3Rpb24gb24gdGhlIEZhYnJpYyBuZXR3b3JrXG4gICAqIEBzdW1tYXJ5IFN1Ym1pdHMgb3IgZXZhbHVhdGVzIGEgdHJhbnNhY3Rpb24gb24gdGhlIEZhYnJpYyBjaGFpbmNvZGVcbiAgICogQHBhcmFtIHtzdHJpbmd9IGFwaSAtIFRoZSBjaGFpbmNvZGUgZnVuY3Rpb24gdG8gY2FsbFxuICAgKiBAcGFyYW0ge2Jvb2xlYW59IHN1Ym1pdCAtIFdoZXRoZXIgdG8gc3VibWl0ICh0cnVlKSBvciBldmFsdWF0ZSAoZmFsc2UpIHRoZSB0cmFuc2FjdGlvblxuICAgKiBAcGFyYW0ge2FueVtdfSBbYXJnc10gLSBBcmd1bWVudHMgdG8gcGFzcyB0byB0aGUgY2hhaW5jb2RlIGZ1bmN0aW9uXG4gICAqIEBwYXJhbSB7UmVjb3JkPHN0cmluZywgc3RyaW5nPn0gW3RyYW5zaWVudERhdGFdIC0gVHJhbnNpZW50IGRhdGEgZm9yIHRoZSB0cmFuc2FjdGlvblxuICAgKiBAcGFyYW0ge0FycmF5PHN0cmluZz59IFtlbmRvcnNpbmdPcmdhbml6YXRpb25zXSAtIE9yZ2FuaXphdGlvbnMgdGhhdCBtdXN0IGVuZG9yc2UgdGhlIHRyYW5zYWN0aW9uXG4gICAqIEByZXR1cm4ge1Byb21pc2U8VWludDhBcnJheT59IFByb21pc2UgcmVzb2x2aW5nIHRvIHRoZSB0cmFuc2FjdGlvbiByZXN1bHRcbiAgICogQG1lcm1haWRcbiAgICogc2VxdWVuY2VEaWFncmFtXG4gICAqICAgcGFydGljaXBhbnQgRmFicmljQWRhcHRlclxuICAgKiAgIHBhcnRpY2lwYW50IEdhdGV3YXlcbiAgICogICBwYXJ0aWNpcGFudCBDb250cmFjdFxuICAgKiAgIHBhcnRpY2lwYW50IENoYWluY29kZVxuICAgKlxuICAgKiAgIEZhYnJpY0FkYXB0ZXItPj5HYXRld2F5OiBjb25uZWN0KClcbiAgICogICBGYWJyaWNBZGFwdGVyLT4+Q29udHJhY3Q6IGdldENvbnRyYWN0KClcbiAgICogICBhbHQgc3VibWl0IHRyYW5zYWN0aW9uXG4gICAqICAgICBGYWJyaWNBZGFwdGVyLT4+Q29udHJhY3Q6IHN1Ym1pdChhcGksIHByb3Bvc2FsT3B0aW9ucylcbiAgICogICBlbHNlIGV2YWx1YXRlIHRyYW5zYWN0aW9uXG4gICAqICAgICBGYWJyaWNBZGFwdGVyLT4+Q29udHJhY3Q6IGV2YWx1YXRlKGFwaSwgcHJvcG9zYWxPcHRpb25zKVxuICAgKiAgIGVuZFxuICAgKiAgIENvbnRyYWN0LT4+Q2hhaW5jb2RlOiBpbnZva2VcbiAgICogICBDaGFpbmNvZGUtLT4+Q29udHJhY3Q6IHJlc3BvbnNlXG4gICAqICAgQ29udHJhY3QtLT4+RmFicmljQWRhcHRlcjogcmVzdWx0XG4gICAqICAgRmFicmljQWRhcHRlci0+PkdhdGV3YXk6IGNsb3NlKClcbiAgICovXG4gIHByb3RlY3RlZCBhc3luYyB0cmFuc2FjdGlvbihcbiAgICBhcGk6IHN0cmluZyxcbiAgICBzdWJtaXQgPSB0cnVlLFxuICAgIGFyZ3M/OiBhbnlbXSxcbiAgICB0cmFuc2llbnREYXRhPzogUmVjb3JkPHN0cmluZywgc3RyaW5nPixcbiAgICBlbmRvcnNpbmdPcmdhbml6YXRpb25zPzogQXJyYXk8c3RyaW5nPixcbiAgICBjbGFzc05hbWU/OiBzdHJpbmdcbiAgKTogUHJvbWlzZTxVaW50OEFycmF5PiB7XG4gICAgY29uc3QgbG9nID0gdGhpcy5sb2cuZm9yKHRoaXMudHJhbnNhY3Rpb24pO1xuICAgIGNvbnN0IGdhdGV3YXkgPSBhd2FpdCB0aGlzLkdhdGV3YXkoKTtcbiAgICB0cnkge1xuICAgICAgY29uc3QgY29udHJhY3QgPSBhd2FpdCB0aGlzLkNvbnRyYWN0KHRoaXMuZ2V0Q29udHJhY3ROYW1lKGNsYXNzTmFtZSkpO1xuICAgICAgbG9nLnZlcmJvc2UoXG4gICAgICAgIGAke3N1Ym1pdCA/IFwiU3VibWl0XCIgOiBcIkV2YWx1YXRlXCJ9dGluZyB0cmFuc2FjdGlvbiAke3RoaXMuZ2V0Q29udHJhY3ROYW1lKGNsYXNzTmFtZSkgfHwgdGhpcy5jb25maWcuY29udHJhY3ROYW1lfS4ke2FwaX1gXG4gICAgICApO1xuICAgICAgbG9nLmRlYnVnKGBhcmdzOiAke2FyZ3M/Lm1hcCgoYSkgPT4gYS50b1N0cmluZygpKS5qb2luKFwiXFxuXCIpIHx8IFwibm9uZVwifWApO1xuICAgICAgY29uc3QgbWV0aG9kID0gc3VibWl0ID8gY29udHJhY3Quc3VibWl0IDogY29udHJhY3QuZXZhbHVhdGU7XG5cbiAgICAgIGVuZG9yc2luZ09yZ2FuaXphdGlvbnMgPSBlbmRvcnNpbmdPcmdhbml6YXRpb25zPy5sZW5ndGhcbiAgICAgICAgPyBlbmRvcnNpbmdPcmdhbml6YXRpb25zXG4gICAgICAgIDogdW5kZWZpbmVkO1xuICAgICAgY29uc3QgcHJvcG9zYWxPcHRpb25zOiBQcm9wb3NhbE9wdGlvbnMgPSB7XG4gICAgICAgIGFyZ3VtZW50czogYXJncyB8fCBbXSxcbiAgICAgICAgdHJhbnNpZW50RGF0YTogdHJhbnNpZW50RGF0YSxcbiAgICAgICAgLy8gLi4uKGVuZG9yc2luZ09yZ2FuaXphdGlvbnMgJiYgeyBlbmRvcnNpbmdPcmdhbml6YXRpb25zIH0pIC8vIG1zcElkIGxpc3RcbiAgICAgIH07XG5cbiAgICAgIHJldHVybiBhd2FpdCBtZXRob2QuY2FsbChjb250cmFjdCwgYXBpLCBwcm9wb3NhbE9wdGlvbnMpO1xuICAgIH0gY2F0Y2ggKGU6IGFueSkge1xuICAgICAgaWYgKGUuY29kZSA9PT0gMTApIHtcbiAgICAgICAgdGhyb3cgbmV3IEVycm9yKGAke2UuZGV0YWlsc1swXS5tZXNzYWdlfWApO1xuICAgICAgfVxuICAgICAgdGhyb3cgdGhpcy5wYXJzZUVycm9yKGUpO1xuICAgIH0gZmluYWxseSB7XG4gICAgICB0aGlzLmxvZy5kZWJ1ZyhgQ2xvc2luZyAke3RoaXMuY29uZmlnLm1zcElkfSBnYXRld2F5IGNvbm5lY3Rpb25gKTtcbiAgICAgIGdhdGV3YXkuY2xvc2UoKTtcbiAgICB9XG4gIH1cblxuICAvKipcbiAgICogQGRlc2NyaXB0aW9uIFBhcnNlcyBhbiBlcnJvciBpbnRvIGEgQmFzZUVycm9yXG4gICAqIEBzdW1tYXJ5IENvbnZlcnRzIGFueSBlcnJvciBpbnRvIGEgc3RhbmRhcmRpemVkIEJhc2VFcnJvclxuICAgKiBAcGFyYW0ge0Vycm9yIHwgc3RyaW5nfSBlcnIgLSBUaGUgZXJyb3IgdG8gcGFyc2VcbiAgICogQHBhcmFtIHtzdHJpbmd9IFtyZWFzb25dIC0gT3B0aW9uYWwgcmVhc29uIGZvciB0aGUgZXJyb3JcbiAgICogQHJldHVybiB7QmFzZUVycm9yfSBUaGUgcGFyc2VkIGVycm9yXG4gICAqL1xuICBvdmVycmlkZSBwYXJzZUVycm9yPEUgZXh0ZW5kcyBCYXNlRXJyb3I+KGVycjogRXJyb3IgfCBzdHJpbmcpOiBFIHtcbiAgICByZXR1cm4gRmFicmljQ2xpZW50QWRhcHRlci5wYXJzZUVycm9yPEU+KGVycik7XG4gIH1cblxuICAvKipcbiAgICogQGRlc2NyaXB0aW9uIFN1Ym1pdHMgYSB0cmFuc2FjdGlvbiB0byB0aGUgRmFicmljIG5ldHdvcmtcbiAgICogQHN1bW1hcnkgRXhlY3V0ZXMgYSB0cmFuc2FjdGlvbiB0aGF0IG1vZGlmaWVzIHRoZSBsZWRnZXIgc3RhdGVcbiAgICogQHBhcmFtIHtzdHJpbmd9IGFwaSAtIFRoZSBjaGFpbmNvZGUgZnVuY3Rpb24gdG8gY2FsbFxuICAgKiBAcGFyYW0ge2FueVtdfSBbYXJnc10gLSBBcmd1bWVudHMgdG8gcGFzcyB0byB0aGUgY2hhaW5jb2RlIGZ1bmN0aW9uXG4gICAqIEBwYXJhbSB7UmVjb3JkPHN0cmluZywgc3RyaW5nPn0gW3RyYW5zaWVudERhdGFdIC0gVHJhbnNpZW50IGRhdGEgZm9yIHRoZSB0cmFuc2FjdGlvblxuICAgKiBAcGFyYW0ge0FycmF5PHN0cmluZz59IFtlbmRvcnNpbmdPcmdhbml6YXRpb25zXSAtIE9yZ2FuaXphdGlvbnMgdGhhdCBtdXN0IGVuZG9yc2UgdGhlIHRyYW5zYWN0aW9uXG4gICAqIEByZXR1cm4ge1Byb21pc2U8VWludDhBcnJheT59IFByb21pc2UgcmVzb2x2aW5nIHRvIHRoZSB0cmFuc2FjdGlvbiByZXN1bHRcbiAgICovXG4gIGFzeW5jIHN1Ym1pdFRyYW5zYWN0aW9uKFxuICAgIGFwaTogc3RyaW5nLFxuICAgIGFyZ3M/OiBhbnlbXSxcbiAgICB0cmFuc2llbnREYXRhPzogUmVjb3JkPHN0cmluZywgc3RyaW5nPixcbiAgICBlbmRvcnNpbmdPcmdhbml6YXRpb25zPzogQXJyYXk8c3RyaW5nPixcbiAgICBjbGFzc05hbWU/OiBzdHJpbmdcbiAgKTogUHJvbWlzZTxVaW50OEFycmF5PiB7XG4gICAgcmV0dXJuIHRoaXMudHJhbnNhY3Rpb24oXG4gICAgICBhcGksXG4gICAgICB0cnVlLFxuICAgICAgYXJncyxcbiAgICAgIHRyYW5zaWVudERhdGEsXG4gICAgICBlbmRvcnNpbmdPcmdhbml6YXRpb25zLFxuICAgICAgY2xhc3NOYW1lXG4gICAgKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBAZGVzY3JpcHRpb24gRXZhbHVhdGVzIGEgdHJhbnNhY3Rpb24gb24gdGhlIEZhYnJpYyBuZXR3b3JrXG4gICAqIEBzdW1tYXJ5IEV4ZWN1dGVzIGEgdHJhbnNhY3Rpb24gdGhhdCBkb2VzIG5vdCBtb2RpZnkgdGhlIGxlZGdlciBzdGF0ZVxuICAgKiBAcGFyYW0ge3N0cmluZ30gYXBpIC0gVGhlIGNoYWluY29kZSBmdW5jdGlvbiB0byBjYWxsXG4gICAqIEBwYXJhbSB7YW55W119IFthcmdzXSAtIEFyZ3VtZW50cyB0byBwYXNzIHRvIHRoZSBjaGFpbmNvZGUgZnVuY3Rpb25cbiAgICogQHBhcmFtIHtSZWNvcmQ8c3RyaW5nLCBzdHJpbmc+fSBbdHJhbnNpZW50RGF0YV0gLSBUcmFuc2llbnQgZGF0YSBmb3IgdGhlIHRyYW5zYWN0aW9uXG4gICAqIEBwYXJhbSB7QXJyYXk8c3RyaW5nPn0gW2VuZG9yc2luZ09yZ2FuaXphdGlvbnNdIC0gT3JnYW5pemF0aW9ucyB0aGF0IG11c3QgZW5kb3JzZSB0aGUgdHJhbnNhY3Rpb25cbiAgICogQHJldHVybiB7UHJvbWlzZTxVaW50OEFycmF5Pn0gUHJvbWlzZSByZXNvbHZpbmcgdG8gdGhlIHRyYW5zYWN0aW9uIHJlc3VsdFxuICAgKi9cbiAgYXN5bmMgZXZhbHVhdGVUcmFuc2FjdGlvbihcbiAgICBhcGk6IHN0cmluZyxcbiAgICBhcmdzPzogYW55W10sXG4gICAgdHJhbnNpZW50RGF0YT86IFJlY29yZDxzdHJpbmcsIHN0cmluZz4sXG4gICAgZW5kb3JzaW5nT3JnYW5pemF0aW9ucz86IEFycmF5PHN0cmluZz4sXG4gICAgY2xhc3NOYW1lPzogc3RyaW5nXG4gICk6IFByb21pc2U8VWludDhBcnJheT4ge1xuICAgIHJldHVybiB0aGlzLnRyYW5zYWN0aW9uKFxuICAgICAgYXBpLFxuICAgICAgZmFsc2UsXG4gICAgICBhcmdzLFxuICAgICAgdHJhbnNpZW50RGF0YSxcbiAgICAgIGVuZG9yc2luZ09yZ2FuaXphdGlvbnMsXG4gICAgICBjbGFzc05hbWVcbiAgICApO1xuICB9XG5cbiAgLyoqXG4gICAqIEBkZXNjcmlwdGlvbiBDbG9zZXMgdGhlIGNvbm5lY3Rpb24gdG8gdGhlIEZhYnJpYyBuZXR3b3JrXG4gICAqIEBzdW1tYXJ5IENsb3NlcyB0aGUgZ1JQQyBjbGllbnQgaWYgaXQgZXhpc3RzXG4gICAqIEByZXR1cm4ge1Byb21pc2U8dm9pZD59IFByb21pc2UgdGhhdCByZXNvbHZlcyB3aGVuIHRoZSBjbGllbnQgaXMgY2xvc2VkXG4gICAqL1xuICBhc3luYyBjbG9zZSgpOiBQcm9taXNlPHZvaWQ+IHtcbiAgICBpZiAodGhpcy5jbGllbnQpIHtcbiAgICAgIHRoaXMubG9nLnZlcmJvc2UoYENsb3NpbmcgJHt0aGlzLmNvbmZpZy5tc3BJZH0gZ2F0ZXdheSBjbGllbnRgKTtcbiAgICAgIHRoaXMuY2xpZW50LmNsb3NlKCk7XG4gICAgfVxuICB9XG5cbiAgLyoqXG4gICAqIEBkZXNjcmlwdGlvbiBHZXRzIGEgQ29udHJhY3QgaW5zdGFuY2UgZnJvbSBhIEdhdGV3YXlcbiAgICogQHN1bW1hcnkgUmV0cmlldmVzIGEgY2hhaW5jb2RlIGNvbnRyYWN0IGZyb20gdGhlIHNwZWNpZmllZCBuZXR3b3JrXG4gICAqIEBwYXJhbSB7R2F0ZXdheX0gZ2F0ZXdheSAtIFRoZSBHYXRld2F5IGluc3RhbmNlXG4gICAqIEBwYXJhbSB7UGVlckNvbmZpZ30gY29uZmlnIC0gVGhlIHBlZXIgY29uZmlndXJhdGlvblxuICAgKiBAcmV0dXJuIHtDb250cmFrdH0gVGhlIENvbnRyYWN0IGluc3RhbmNlXG4gICAqL1xuICBzdGF0aWMgZ2V0Q29udHJhY3QoXG4gICAgZ2F0ZXdheTogR2F0ZXdheSxcbiAgICBjb25maWc6IFBlZXJDb25maWcsXG4gICAgY29udHJhY3ROYW1lPzogc3RyaW5nXG4gICk6IENvbnRyYWt0IHtcbiAgICBjb25zdCBsb2cgPSB0aGlzLmxvZy5mb3IodGhpcy5nZXRDb250cmFjdCk7XG4gICAgY29uc3QgbmV0d29yayA9IHRoaXMuZ2V0TmV0d29yayhnYXRld2F5LCBjb25maWcuY2hhbm5lbCk7XG4gICAgbGV0IGNvbnRyYWN0OiBDb250cmFrdDtcbiAgICB0cnkge1xuICAgICAgbG9nLmRlYnVnKFxuICAgICAgICBgUmV0cmlldmluZyBjaGFpbmNvZGUgJHtjb25maWcuY2hhaW5jb2RlTmFtZX0gY29udHJhY3QgJHtjb250cmFjdE5hbWUgfHwgY29uZmlnLmNvbnRyYWN0TmFtZX0gZnJvbSBuZXR3b3JrICR7Y29uZmlnLmNoYW5uZWx9YFxuICAgICAgKTtcbiAgICAgIGNvbnRyYWN0TmFtZSA9IGNvbnRyYWN0TmFtZSA/IGNvbnRyYWN0TmFtZSA6IGNvbmZpZy5jb250cmFjdE5hbWU7XG4gICAgICBjb250cmFjdCA9IG5ldHdvcmsuZ2V0Q29udHJhY3QoY29uZmlnLmNoYWluY29kZU5hbWUsIGNvbnRyYWN0TmFtZSk7XG4gICAgfSBjYXRjaCAoZTogYW55KSB7XG4gICAgICB0aHJvdyB0aGlzLnBhcnNlRXJyb3IoZSk7XG4gICAgfVxuICAgIHJldHVybiBjb250cmFjdDtcbiAgfVxuXG4gIC8qKlxuICAgKiBAZGVzY3JpcHRpb24gR2V0cyBhIE5ldHdvcmsgaW5zdGFuY2UgZnJvbSBhIEdhdGV3YXlcbiAgICogQHN1bW1hcnkgQ29ubmVjdHMgdG8gYSBzcGVjaWZpYyBjaGFubmVsIG9uIHRoZSBGYWJyaWMgbmV0d29ya1xuICAgKiBAcGFyYW0ge0dhdGV3YXl9IGdhdGV3YXkgLSBUaGUgR2F0ZXdheSBpbnN0YW5jZVxuICAgKiBAcGFyYW0ge3N0cmluZ30gY2hhbm5lbE5hbWUgLSBUaGUgbmFtZSBvZiB0aGUgY2hhbm5lbCB0byBjb25uZWN0IHRvXG4gICAqIEByZXR1cm4ge05ldHdvcmt9IFRoZSBOZXR3b3JrIGluc3RhbmNlXG4gICAqL1xuICBzdGF0aWMgZ2V0TmV0d29yayhnYXRld2F5OiBHYXRld2F5LCBjaGFubmVsTmFtZTogc3RyaW5nKTogTmV0d29yayB7XG4gICAgY29uc3QgbG9nID0gTG9nZ2luZy5mb3IodGhpcy5nZXROZXR3b3JrKTtcbiAgICBsZXQgbmV0d29yazogTmV0d29yaztcbiAgICB0cnkge1xuICAgICAgbG9nLmRlYnVnKGBDb25uZWN0aW5nIHRvIGNoYW5uZWwgJHtjaGFubmVsTmFtZX1gKTtcbiAgICAgIG5ldHdvcmsgPSBnYXRld2F5LmdldE5ldHdvcmsoY2hhbm5lbE5hbWUpO1xuICAgIH0gY2F0Y2ggKGU6IGFueSkge1xuICAgICAgdGhyb3cgdGhpcy5wYXJzZUVycm9yKGUpO1xuICAgIH1cblxuICAgIHJldHVybiBuZXR3b3JrO1xuICB9XG5cbiAgLyoqXG4gICAqIEBkZXNjcmlwdGlvbiBHZXRzIGEgR2F0ZXdheSBpbnN0YW5jZSBmb3IgY29ubmVjdGluZyB0byB0aGUgRmFicmljIG5ldHdvcmtcbiAgICogQHN1bW1hcnkgQ3JlYXRlcyBhIEdhdGV3YXkgdXNpbmcgdGhlIHByb3ZpZGVkIGNvbmZpZ3VyYXRpb24gYW5kIGNsaWVudFxuICAgKiBAcGFyYW0ge1BlZXJDb25maWd9IGNvbmZpZyAtIFRoZSBwZWVyIGNvbmZpZ3VyYXRpb25cbiAgICogQHBhcmFtIHtDbGllbnR9IFtjbGllbnRdIC0gT3B0aW9uYWwgZ1JQQyBjbGllbnQsIHdpbGwgYmUgY3JlYXRlZCBpZiBub3QgcHJvdmlkZWRcbiAgICogQHJldHVybiB7UHJvbWlzZTxHYXRld2F5Pn0gUHJvbWlzZSByZXNvbHZpbmcgdG8gdGhlIEdhdGV3YXkgaW5zdGFuY2VcbiAgICovXG4gIHN0YXRpYyBhc3luYyBnZXRHYXRld2F5KGNvbmZpZzogUGVlckNvbmZpZywgY2xpZW50PzogQ2xpZW50KSB7XG4gICAgcmV0dXJuIChhd2FpdCB0aGlzLmdldENvbm5lY3Rpb24oXG4gICAgICBjbGllbnQgfHwgKGF3YWl0IHRoaXMuZ2V0Q2xpZW50KGNvbmZpZykpLFxuICAgICAgY29uZmlnXG4gICAgKSkgYXMgR2F0ZXdheTtcbiAgfVxuXG4gIC8qKlxuICAgKiBAZGVzY3JpcHRpb24gQ3JlYXRlcyBhIGdSUEMgY2xpZW50IGZvciBjb25uZWN0aW5nIHRvIGEgRmFicmljIHBlZXJcbiAgICogQHN1bW1hcnkgSW5pdGlhbGl6ZXMgYSBjbGllbnQgd2l0aCBUTFMgY3JlZGVudGlhbHMgZm9yIHNlY3VyZSBjb21tdW5pY2F0aW9uXG4gICAqIEBwYXJhbSB7UGVlckNvbmZpZ30gY29uZmlnIC0gVGhlIHBlZXIgY29uZmlndXJhdGlvblxuICAgKiBAcmV0dXJuIHtDbGllbnR9IFByb21pc2UgcmVzb2x2aW5nIHRvIHRoZSBnUlBDIGNsaWVudFxuICAgKi9cbiAgc3RhdGljIGdldENsaWVudChjb25maWc6IFBlZXJDb25maWcpOiBDbGllbnQge1xuICAgIGNvbnN0IGxvZyA9IHRoaXMubG9nLmZvcih0aGlzLmdldENsaWVudCk7XG4gICAgbG9nLmRlYnVnKGBnZW5lcmF0aW5nIFRMUyBjcmVkZW50aWFscyBmb3IgbXNwICR7Y29uZmlnLm1zcElkfWApO1xuICAgIGNvbnN0IHRsc0NyZWRlbnRpYWxzID0gZ3JwYy5jcmVkZW50aWFscy5jcmVhdGVTc2woXG4gICAgICB0eXBlb2YgY29uZmlnLnRsc0NlcnQgPT09IFwic3RyaW5nXCJcbiAgICAgICAgPyBCdWZmZXIuZnJvbShjb25maWcudGxzQ2VydClcbiAgICAgICAgOiBjb25maWcudGxzQ2VydFxuICAgICk7XG4gICAgbG9nLmRlYnVnKGBnZW5lcmF0aW5nIEdhdGV3YXkgQ2xpZW50IGZvciB1cmwgJHtjb25maWcucGVlckVuZHBvaW50fWApO1xuICAgIHJldHVybiBuZXcgQ2xpZW50KGNvbmZpZy5wZWVyRW5kcG9pbnQsIHRsc0NyZWRlbnRpYWxzKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBAZGVzY3JpcHRpb24gRXN0YWJsaXNoZXMgYSBjb25uZWN0aW9uIHRvIHRoZSBGYWJyaWMgbmV0d29ya1xuICAgKiBAc3VtbWFyeSBDcmVhdGVzIGEgR2F0ZXdheSBjb25uZWN0aW9uIHdpdGggaWRlbnRpdHkgYW5kIHNpZ25lclxuICAgKiBAcGFyYW0ge0NsaWVudH0gY2xpZW50IC0gVGhlIGdSUEMgY2xpZW50XG4gICAqIEBwYXJhbSB7UGVlckNvbmZpZ30gY29uZmlnIC0gVGhlIHBlZXIgY29uZmlndXJhdGlvblxuICAgKiBAcmV0dXJuIHtQcm9taXNlPEdhdGV3YXk+fSBQcm9taXNlIHJlc29sdmluZyB0byB0aGUgY29ubmVjdGVkIEdhdGV3YXlcbiAgICogQG1lcm1haWRcbiAgICogc2VxdWVuY2VEaWFncmFtXG4gICAqICAgcGFydGljaXBhbnQgQ2FsbGVyXG4gICAqICAgcGFydGljaXBhbnQgRmFicmljQWRhcHRlclxuICAgKiAgIHBhcnRpY2lwYW50IElkZW50aXR5XG4gICAqICAgcGFydGljaXBhbnQgU2lnbmVyXG4gICAqICAgcGFydGljaXBhbnQgR2F0ZXdheVxuICAgKlxuICAgKiAgIENhbGxlci0+PkZhYnJpY0FkYXB0ZXI6IGdldENvbm5lY3Rpb24oY2xpZW50LCBjb25maWcpXG4gICAqICAgRmFicmljQWRhcHRlci0+PklkZW50aXR5OiBnZXRJZGVudGl0eShtc3BJZCwgY2VydERpcmVjdG9yeVBhdGgpXG4gICAqICAgSWRlbnRpdHktLT4+RmFicmljQWRhcHRlcjogaWRlbnRpdHlcbiAgICogICBGYWJyaWNBZGFwdGVyLT4+U2lnbmVyOiBnZXRTaWduZXIoa2V5RGlyZWN0b3J5UGF0aClcbiAgICogICBTaWduZXItLT4+RmFicmljQWRhcHRlcjogc2lnbmVyXG4gICAqICAgRmFicmljQWRhcHRlci0+PkZhYnJpY0FkYXB0ZXI6IENyZWF0ZSBDb25uZWN0T3B0aW9uc1xuICAgKiAgIEZhYnJpY0FkYXB0ZXItPj5HYXRld2F5OiBjb25uZWN0KG9wdGlvbnMpXG4gICAqICAgR2F0ZXdheS0tPj5GYWJyaWNBZGFwdGVyOiBnYXRld2F5XG4gICAqICAgRmFicmljQWRhcHRlci0tPj5DYWxsZXI6IGdhdGV3YXlcbiAgICovXG4gIHN0YXRpYyBhc3luYyBnZXRDb25uZWN0aW9uKGNsaWVudDogQ2xpZW50LCBjb25maWc6IFBlZXJDb25maWcpIHtcbiAgICBjb25zdCBsb2cgPSBMb2dnaW5nLmZvcih0aGlzLmdldENvbm5lY3Rpb24pO1xuICAgIGxvZy5kZWJ1ZyhcbiAgICAgIGBSZXRyaWV2aW5nIFBlZXIgSWRlbnRpdHkgZm9yICR7Y29uZmlnLm1zcElkfSB1bmRlciAke2NvbmZpZy5jZXJ0Q2VydE9yRGlyZWN0b3J5UGF0aH1gXG4gICAgKTtcbiAgICBjb25zdCBpZGVudGl0eSA9IGF3YWl0IGdldElkZW50aXR5KFxuICAgICAgY29uZmlnLm1zcElkLFxuICAgICAgY29uZmlnLmNlcnRDZXJ0T3JEaXJlY3RvcnlQYXRoIGFzIGFueVxuICAgICk7XG4gICAgbG9nLmRlYnVnKGBSZXRyaWV2aW5nIHNpZ25lciBrZXkgZnJvbSAke2NvbmZpZy5rZXlDZXJ0T3JEaXJlY3RvcnlQYXRofWApO1xuXG4gICAgbGV0IHNpZ25lcjogU2lnbmVyLFxuICAgICAgY2xvc2UgPSAoKSA9PiB7fTtcbiAgICBpZiAoIWNvbmZpZy5oc20pIHtcbiAgICAgIHNpZ25lciA9IGF3YWl0IGdldFNpZ25lcihjb25maWcua2V5Q2VydE9yRGlyZWN0b3J5UGF0aCBhcyBhbnkpO1xuICAgIH0gZWxzZSB7XG4gICAgICBjb25zdCBoc20gPSBuZXcgSFNNU2lnbmVyRmFjdG9yeUN1c3RvbShjb25maWcuaHNtLmxpYnJhcnkpO1xuICAgICAgY29uc3QgaWRlbnRpZmllciA9IGhzbS5nZXRTS0lGcm9tQ2VydGlmaWNhdGVQYXRoKFxuICAgICAgICBjb25maWcuY2VydENlcnRPckRpcmVjdG9yeVBhdGggYXMgYW55XG4gICAgICApO1xuICAgICAgY29uc3QgcGtjczExU2lnbmVyID0gaHNtLm5ld1NpZ25lcih7XG4gICAgICAgIGxhYmVsOiBjb25maWcuaHNtLnRva2VuTGFiZWwgYXMgc3RyaW5nLFxuICAgICAgICBwaW46IFN0cmluZyhjb25maWcuaHNtLnBpbikgYXMgc3RyaW5nLFxuICAgICAgICBpZGVudGlmaWVyOiBpZGVudGlmaWVyLFxuICAgICAgICAvLyB1c2VyVHlwZTogMSAvKkNLVV9VU0VSICovLFxuICAgICAgfSk7XG4gICAgICBzaWduZXIgPSBwa2NzMTFTaWduZXIuc2lnbmVyO1xuXG4gICAgICBjbG9zZSA9IHBrY3MxMVNpZ25lci5jbG9zZTtcbiAgICB9XG5cbiAgICBjb25zdCBvcHRpb25zID0ge1xuICAgICAgY2xpZW50LFxuICAgICAgaWRlbnRpdHk6IGlkZW50aXR5LFxuICAgICAgc2lnbmVyOiBzaWduZXIsXG4gICAgICAvLyBEZWZhdWx0IHRpbWVvdXRzIGZvciBkaWZmZXJlbnQgZ1JQQyBjYWxsc1xuICAgICAgZXZhbHVhdGVPcHRpb25zOiAoKSA9PiB7XG4gICAgICAgIHJldHVybiB7IGRlYWRsaW5lOiBEYXRlLm5vdygpICsgNTAwMCB9OyAvLyA1IHNlY29uZHNcbiAgICAgIH0sXG4gICAgICBlbmRvcnNlT3B0aW9uczogKCkgPT4ge1xuICAgICAgICByZXR1cm4geyBkZWFkbGluZTogRGF0ZS5ub3coKSArIDE1MDAwIH07IC8vIDE1IHNlY29uZHNcbiAgICAgIH0sXG4gICAgICBzdWJtaXRPcHRpb25zOiAoKSA9PiB7XG4gICAgICAgIHJldHVybiB7IGRlYWRsaW5lOiBEYXRlLm5vdygpICsgNTAwMCB9OyAvLyA1IHNlY29uZHNcbiAgICAgIH0sXG4gICAgICBjb21taXRTdGF0dXNPcHRpb25zOiAoKSA9PiB7XG4gICAgICAgIHJldHVybiB7IGRlYWRsaW5lOiBEYXRlLm5vdygpICsgNjAwMDAgfTsgLy8gMSBtaW51dGVcbiAgICAgIH0sXG4gICAgfSBhcyBDb25uZWN0T3B0aW9ucztcblxuICAgIGxvZy5kZWJ1ZyhgQ29ubmVjdGluZyB0byAke2NvbmZpZy5tc3BJZH1gKTtcbiAgICBjb25zdCBnYXRld2F5ID0gY29ubmVjdChvcHRpb25zKTtcblxuICAgIC8vIFRPRE86IHJlcGxhY2U/XG4gICAgaWYgKGNvbmZpZy5oc20pIHtcbiAgICAgIGdhdGV3YXkuY2xvc2UgPSBuZXcgUHJveHkoZ2F0ZXdheS5jbG9zZSwge1xuICAgICAgICBhcHBseSh0YXJnZXQ6ICgpID0+IHZvaWQsIHRoaXNBcmc6IGFueSwgYXJnQXJyYXk6IGFueVtdKTogYW55IHtcbiAgICAgICAgICBSZWZsZWN0LmFwcGx5KHRhcmdldCwgdGhpc0FyZywgYXJnQXJyYXkpO1xuICAgICAgICAgIGNsb3NlKCk7XG4gICAgICAgIH0sXG4gICAgICB9KTtcbiAgICB9XG5cbiAgICByZXR1cm4gZ2F0ZXdheTtcbiAgfVxuXG4gIC8qKlxuICAgKiBAZGVzY3JpcHRpb24gQ3JlYXRlcyBhIG5ldyBEaXNwYXRjaCBpbnN0YW5jZSBmb3IgdGhlIEZhYnJpYyBjbGllbnQuXG4gICAqIEBzdW1tYXJ5IFRoaXMgZnVuY3Rpb24gaXMgcmVzcG9uc2libGUgZm9yIGNyZWF0aW5nIGEgbmV3IEZhYnJpY0NsaWVudERpc3BhdGNoIGluc3RhbmNlIHRoYXQgY2FuIGJlIHVzZWQgdG8gaW50ZXJhY3Qgd2l0aCB0aGUgRmFicmljIG5ldHdvcmsuXG4gICAqIEByZXR1cm5zIHtEaXNwYXRjaH0gQSBuZXcgRGlzcGF0Y2ggaW5zdGFuY2UgY29uZmlndXJlZCBmb3IgdGhlIEZhYnJpYyBjbGllbnQuXG4gICAqIEByZW1hcmtzIFRoZSBEaXNwYXRjaCBpbnN0YW5jZSBpcyB1c2VkIHRvIGVuY2Fwc3VsYXRlIHRoZSBsb2dpYyBmb3IgaW50ZXJhY3Rpbmcgd2l0aCB0aGUgRmFicmljIG5ldHdvcmssIHN1Y2ggYXMgc3VibWl0dGluZyB0cmFuc2FjdGlvbnMgb3IgcXVlcnlpbmcgZGF0YS5cbiAgICogQGV4YW1wbGVcbiAgICogY29uc3QgZmFicmljRGlzcGF0Y2ggPSBmYWJyaWNDbGllbnRBZGFwdGVyLkRpc3BhdGNoKCk7XG4gICAqIGZhYnJpY0Rpc3BhdGNoLnN1Ym1pdFRyYW5zYWN0aW9uKCdjcmVhdGVQcm9kdWN0JywgeyBuYW1lOiAnUHJvZHVjdCBBJywgcHJpY2U6IDEwMCB9KTtcbiAgICovXG4gIG92ZXJyaWRlIERpc3BhdGNoKCk6IEZhYnJpY0NsaWVudERpc3BhdGNoIHtcbiAgICByZXR1cm4gbmV3IEZhYnJpY0NsaWVudEFkYXB0ZXJbXCJfYmFzZURpc3BhdGNoXCJdKCk7XG4gIH1cblxuICAvKipcbiAgICogQGRlc2NyaXB0aW9uIFBhcnNlcyBhbiBlcnJvciBpbnRvIGEgQmFzZUVycm9yXG4gICAqIEBzdW1tYXJ5IENvbnZlcnRzIGFueSBlcnJvciBpbnRvIGEgc3RhbmRhcmRpemVkIEJhc2VFcnJvciB1c2luZyB0aGUgcGFyZW50IGNsYXNzIGltcGxlbWVudGF0aW9uXG4gICAqIEBwYXJhbSB7RXJyb3IgfCBzdHJpbmd9IGVyciAtIFRoZSBlcnJvciB0byBwYXJzZVxuICAgKiBAcGFyYW0ge3N0cmluZ30gW3JlYXNvbl0gLSBPcHRpb25hbCByZWFzb24gZm9yIHRoZSBlcnJvclxuICAgKiBAcmV0dXJuIHtCYXNlRXJyb3J9IFRoZSBwYXJzZWQgZXJyb3JcbiAgICovXG4gIHByb3RlY3RlZCBzdGF0aWMgcGFyc2VFcnJvcjxFIGV4dGVuZHMgQmFzZUVycm9yPihlcnI6IEVycm9yIHwgc3RyaW5nKTogRSB7XG4gICAgLy8gaWYgKFxuICAgIC8vICAgTUlTU0lOR19QUklWQVRFX0RBVEFfUkVHRVgudGVzdChcbiAgICAvLyAgICAgdHlwZW9mIGVyciA9PT0gXCJzdHJpbmdcIiA/IGVyciA6IGVyci5tZXNzYWdlXG4gICAgLy8gICApXG4gICAgLy8gKVxuICAgIC8vICAgcmV0dXJuIG5ldyBVbmF1dGhvcml6ZWRQcml2YXRlRGF0YUFjY2VzcyhlcnIpIGFzIEU7XG5cbiAgICBpZiAoZXJyIGluc3RhbmNlb2YgRXJyb3IgJiYgKGVyciBhcyBhbnkpLmNvZGUpIHtcbiAgICAgIHN3aXRjaCAoKGVyciBhcyBhbnkpLmNvZGUpIHtcbiAgICAgICAgY2FzZSA5OlxuICAgICAgICAgIHJldHVybiBuZXcgRW5kb3JzZW1lbnRFcnJvcihlcnIpIGFzIEU7XG4gICAgICB9XG4gICAgfVxuXG4gICAgY29uc3QgbXNnID0gdHlwZW9mIGVyciA9PT0gXCJzdHJpbmdcIiA/IGVyciA6IGVyci5tZXNzYWdlO1xuICAgIGlmIChtc2cuaW5jbHVkZXMoTm90Rm91bmRFcnJvci5uYW1lKSkgcmV0dXJuIG5ldyBOb3RGb3VuZEVycm9yKGVycikgYXMgRTtcbiAgICBpZiAobXNnLmluY2x1ZGVzKENvbmZsaWN0RXJyb3IubmFtZSkpIHJldHVybiBuZXcgQ29uZmxpY3RFcnJvcihlcnIpIGFzIEU7XG4gICAgaWYgKG1zZy5pbmNsdWRlcyhCYWRSZXF1ZXN0RXJyb3IubmFtZSkpXG4gICAgICByZXR1cm4gbmV3IEJhZFJlcXVlc3RFcnJvcihlcnIpIGFzIEU7XG4gICAgaWYgKG1zZy5pbmNsdWRlcyhRdWVyeUVycm9yLm5hbWUpKSByZXR1cm4gbmV3IFF1ZXJ5RXJyb3IoZXJyKSBhcyBFO1xuICAgIGlmIChtc2cuaW5jbHVkZXMoUGFnaW5nRXJyb3IubmFtZSkpIHJldHVybiBuZXcgUGFnaW5nRXJyb3IoZXJyKSBhcyBFO1xuICAgIGlmIChtc2cuaW5jbHVkZXMoVW5zdXBwb3J0ZWRFcnJvci5uYW1lKSlcbiAgICAgIHJldHVybiBuZXcgVW5zdXBwb3J0ZWRFcnJvcihlcnIpIGFzIEU7XG4gICAgaWYgKG1zZy5pbmNsdWRlcyhNaWdyYXRpb25FcnJvci5uYW1lKSkgcmV0dXJuIG5ldyBNaWdyYXRpb25FcnJvcihlcnIpIGFzIEU7XG4gICAgaWYgKG1zZy5pbmNsdWRlcyhPYnNlcnZlckVycm9yLm5hbWUpKSByZXR1cm4gbmV3IE9ic2VydmVyRXJyb3IoZXJyKSBhcyBFO1xuICAgIGlmIChtc2cuaW5jbHVkZXMoQXV0aG9yaXphdGlvbkVycm9yLm5hbWUpKVxuICAgICAgcmV0dXJuIG5ldyBBdXRob3JpemF0aW9uRXJyb3IoZXJyKSBhcyBFO1xuICAgIGlmIChtc2cuaW5jbHVkZXMoRm9yYmlkZGVuRXJyb3IubmFtZSkpIHJldHVybiBuZXcgRm9yYmlkZGVuRXJyb3IoZXJyKSBhcyBFO1xuICAgIGlmIChtc2cuaW5jbHVkZXMoQ29ubmVjdGlvbkVycm9yLm5hbWUpKVxuICAgICAgcmV0dXJuIG5ldyBDb25uZWN0aW9uRXJyb3IoZXJyKSBhcyBFO1xuICAgIGlmIChtc2cuaW5jbHVkZXMoU2VyaWFsaXphdGlvbkVycm9yLm5hbWUpKVxuICAgICAgcmV0dXJuIG5ldyBTZXJpYWxpemF0aW9uRXJyb3IoZXJyKSBhcyBFO1xuICAgIHJldHVybiBuZXcgSW50ZXJuYWxFcnJvcihlcnIpIGFzIEU7XG4gIH1cbn1cblxuRmFicmljQ2xpZW50QWRhcHRlci5kZWNvcmF0aW9uKCk7XG5BZGFwdGVyLnNldEN1cnJlbnQoRmFicmljRmxhdm91cik7XG4iXX0=
|
|
878
|
+
//# sourceMappingURL=FabricClientAdapter.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"FabricClientAdapter.js","sourceRoot":"","sources":["../../src/client/FabricClientAdapter.ts"],"names":[],"mappings":"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"}
|