@requestnetwork/request-client.js 0.40.1-next.1869 → 0.40.1-next.1870
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/report.html +2 -2
- package/dist/requestnetwork.min.js +1 -1
- package/package.json +14 -14
|
@@ -317,5 +317,5 @@ ${t.PaymentFragmentFragmentDoc}`;const n=(e,t)=>e();t.getSdk=function(e,f=n){ret
|
|
|
317
317
|
}
|
|
318
318
|
}
|
|
319
319
|
${t.EventFragment}
|
|
320
|
-
${t.PaymentFragment}`},function(e,t,f){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.EthInputDataPaymentDetector=void 0;const r=f(12),n=f(40),a=f(4),i=f(648),o=f(254),s=f(87),c=f(30),u=f(42),d={"0.1.0":"0.1.0","0.2.0":"0.1.0","0.3.0":"0.3.0"};class l extends s.ReferenceBasedDetector{constructor({advancedLogic:e,currencyManager:t,explorerApiKeys:f,getSubgraphClient:r}){super(a.ExtensionTypes.PAYMENT_NETWORK_ID.ETH_INPUT_DATA,e.extensions.ethereumInputData,t),this.explorerApiKeys=f||{},this.getSubgraphClient=r}extractEvents(e,t,f,n,a,s){return r.__awaiter(this,void 0,void 0,(function*(){if(!t)return{paymentEvents:[]};const r=new i.EthInputDataInfoRetriever(t,e,a,f,this.explorerApiKeys[a]),n=yield r.getTransferEvents(),c=l.getDeploymentInformation(a,s.version);let d,p=[];if(c){const r=this.getSubgraphClient(a);if(r){const n=new u.TheGraphInfoRetriever(r,this.currencyManager);d=yield n.getTransferEvents({paymentReference:f,contractAddress:c.address,toAddress:t,eventName:e,paymentChain:a})}else{const r=new o.EthProxyInfoRetriever(f,c.address,c.creationBlockNumber,t,e,a);d={paymentEvents:yield r.getTransferEvents()}}n.push(...d.paymentEvents),p=d.escrowEvents}return{paymentEvents:n,escrowEvents:p}}))}}t.EthInputDataPaymentDetector=l,l.getDeploymentInformation=(0,c.makeGetDeploymentInformation)(n.ethereumProxyArtifact,d,!0)},function(e,t,f){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.EthInputDataInfoRetriever=void 0;const r=f(12),n=f(649);t.EthInputDataInfoRetriever=class{constructor(e,t,f,r,n){this.toAddress=e,this.eventName=t,this.network=f,this.paymentReference=r,this.explorerApiKey=n}getTransferEvents(){return r.__awaiter(this,void 0,void 0,(function*(){if("private"===this.network)throw new Error("ETH input data info-retriever works with etherscan and cannot work on a local network");const e=new n.MultichainExplorerApiProvider(this.network,this.explorerApiKey),t=yield e.getHistory(this.toAddress);return t.filter(((e,f)=>t.findIndex((t=>t.hash===e.hash))===f)).filter((e=>e.to&&e.to.toLowerCase()===this.toAddress.toLowerCase())).filter((e=>e.data.toLowerCase()==="0x"+this.paymentReference.toLowerCase())).map((e=>({amount:e.value.toString(),name:this.eventName,parameters:{block:e.blockNumber,confirmations:e.confirmations,txHash:e.hash},timestamp:e.timestamp})))}))}}},function(e,t,f){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.MultichainExplorerApiProvider=void 0;const r=f(3),n={sokol:{chainId:77,name:"sokol"},fuse:{chainId:122,name:"fuse"},celo:{chainId:42220,name:"celo"},fantom:{chainId:250,name:"fantom"},"arbitrum-rinkeby":{chainId:421611,name:"arbitrum-rinkeby"},"arbitrum-one":{chainId:42161,name:"arbitrum-one"},avalanche:{chainId:43114,name:"avalanche"},bsc:{chainId:56,name:"bsc"},optimism:{chainId:10,name:"optimism"},moonbeam:{chainId:1284,name:"moonbeam"},tombchain:{chainId:6969,name:"tombchain"}};class a extends r.ethers.providers.EtherscanProvider{constructor(e,t){"string"==typeof e&&n[e]&&(e=n[e]),t||"mainnet"!==e&&"rinkeby"!==e||(t="TCVQQU5V39TAS1V6HF61P9K7IJZVEHH1D9"),super(e,t)}getBaseUrl(){switch(this.network.name){case"sokol":case"xdai":return"https://api.gnosisscan.io";case"fuse":return"https://explorer.fuse.io";case"celo":return"https://api.celoscan.io";case"matic":return"https://api.polygonscan.com";case"fantom":return"https://api.ftmscan.com";case"bsctest":return"https://api-testnet.bscscan.com/";case"bsc":return"https://api.bscscan.com/";case"aurora":return"https://explorer.mainnet.near.org";case"aurora-testnet":case"near-testnet":return"https://explorer.testnet.near.org";case"arbitrum-rinkeby":return"https://testnet.arbiscan.io/";case"arbitrum-one":return"https://api.arbiscan.io";case"avalanche":return"https://api.snowtrace.io";default:return super.getBaseUrl()}}}t.MultichainExplorerApiProvider=a},function(e,t,f){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.EthFeeProxyPaymentDetector=void 0;const r=f(12),n=f(40),a=f(4),i=f(254),o=f(86),s=f(30),c=f(42),u={"0.1.0":"0.1.0","0.2.0":"0.2.0"};class d extends o.FeeReferenceBasedDetector{constructor({advancedLogic:e,currencyManager:t,getSubgraphClient:f}){super(a.ExtensionTypes.PAYMENT_NETWORK_ID.ETH_FEE_PROXY_CONTRACT,e.extensions.feeProxyContractEth,t),this.getSubgraphClient=f}extractEvents(e,t,f,n,a,o){return r.__awaiter(this,void 0,void 0,(function*(){if(!t)return{paymentEvents:[]};const r=d.getDeploymentInformation(a,o.version),n=this.getSubgraphClient(a);if(n){return new c.TheGraphInfoRetriever(n,this.currencyManager).getTransferEvents({paymentReference:f,contractAddress:r.address,toAddress:t,eventName:e,paymentChain:a})}{const n=new i.EthProxyInfoRetriever(f,r.address,r.creationBlockNumber,t,e,a);return{paymentEvents:yield n.getTransferEvents()}}}))}}t.EthFeeProxyPaymentDetector=d,d.getDeploymentInformation=(0,s.makeGetDeploymentInformation)(n.ethereumFeeProxyArtifact,u)},function(e,t,f){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.AnyToERC20PaymentDetector=void 0;const r=f(12),n=f(40),a=f(4),i=f(235),o=f(652),s=f(42),c=f(30),u=f(7),d={"0.1.0":"0.1.0"};class l extends i.ERC20FeeProxyPaymentDetectorBase{constructor({advancedLogic:e,currencyManager:t,getSubgraphClient:f}){super(a.ExtensionTypes.PAYMENT_NETWORK_ID.ANY_TO_ERC20_PROXY,e.extensions.anyToErc20Proxy,t),this.getSubgraphClient=f}createExtensionsDataForCreation(e){return r.__awaiter(this,void 0,void 0,(function*(){const t=e.salt||(yield(0,u.generate8randomBytes)());return this.extension.createCreationAction({feeAddress:e.feeAddress,feeAmount:e.feeAmount,paymentAddress:e.paymentAddress,refundAddress:e.refundAddress,network:e.network,acceptedTokens:e.acceptedTokens,maxRateTimespan:e.maxRateTimespan,salt:t})}))}extractEvents(e,t,f,a,i,c){return r.__awaiter(this,void 0,void 0,(function*(){if(!t)return{paymentEvents:[]};const{acceptedTokens:r,maxRateTimespan:u=0}=c.values,{address:d,creationBlockNumber:p}=l.getDeploymentInformation(i,c.version),b=n.erc20ConversionProxy.getContractAbi(c.version),h=yield this.getCurrency(a),m=this.getSubgraphClient(i);if(m){const n=new s.TheGraphInfoRetriever(m,this.currencyManager);return yield n.getTransferEvents({paymentReference:f,contractAddress:d,toAddress:t,eventName:e,paymentChain:i,acceptedTokens:r,maxRateTimespan:u})}const y=new o.AnyToErc20InfoRetriever(h,f,d,p,b,t,e,i,r,u);return{paymentEvents:yield y.getTransferEvents()}}))}getPaymentChain(e){const t=this.getPaymentExtension(e).values.network;if(!t)throw Error(`request.extensions[${this.paymentNetworkId}].values.network must be defined`);return t}}t.AnyToERC20PaymentDetector=l,l.getDeploymentInformation=(0,c.makeGetDeploymentInformation)(n.erc20ConversionProxy,d)},function(e,t,f){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.AnyToErc20InfoRetriever=void 0;const r=f(256);class n extends r.ConversionInfoRetriever{getFeeFilter(){const e=this.contractConversionProxy.filters.TransferWithReferenceAndFee(null,null,null,"0x"+this.paymentReference);return e.fromBlock=this.conversionProxyCreationBlockNumber,e.toBlock="latest",e}}t.AnyToErc20InfoRetriever=n},function(e,t,f){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.AnyToEthFeeProxyPaymentDetector=void 0;const r=f(12),n=f(40),a=f(4),i=f(41),o=f(654),s=f(257),c=f(30),u=f(42),d={"0.1.0":"0.1.0","0.2.0":"0.2.0"};class l extends s.AnyToAnyDetector{constructor({advancedLogic:e,currencyManager:t,getSubgraphClient:f}){super(a.ExtensionTypes.PAYMENT_NETWORK_ID.ANY_TO_ETH_PROXY,e.extensions.anyToEthProxy,t),this.getSubgraphClient=f}extractEvents(e,t,f,a,s,c){var d,p;return r.__awaiter(this,void 0,void 0,(function*(){if(!t)return{paymentEvents:[]};const r=l.getDeploymentInformation(s,c.version),b=this.currencyManager.fromStorageCurrency(a);if(!b)throw new i.UnsupportedCurrencyError(a.value);const h=this.getSubgraphClient(s);if(h){const n=new u.TheGraphInfoRetriever(h,this.currencyManager);return yield n.getTransferEvents({paymentReference:f,contractAddress:r.address,toAddress:t,eventName:e,paymentChain:s,maxRateTimespan:null===(d=c.values)||void 0===d?void 0:d.maxRateTimespan})}const m=n.ethConversionArtifact.getContractAbi(r.contractVersion),y=new o.AnyToEthInfoRetriever(b,f,r.address,r.creationBlockNumber,m,t,e,s,void 0,null===(p=c.values)||void 0===p?void 0:p.maxRateTimespan);return{paymentEvents:yield y.getTransferEvents()}}))}getPaymentChain(e){const t=this.getPaymentExtension(e).values.network;if(!t)throw Error(`request.extensions[${this.paymentNetworkId}].values.network must be defined`);return t}}t.AnyToEthFeeProxyPaymentDetector=l,l.getDeploymentInformation=(0,c.makeGetDeploymentInformation)(n.ethConversionArtifact,d)},function(e,t,f){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.AnyToEthInfoRetriever=void 0;const r=f(256);class n extends r.ConversionInfoRetriever{getFeeFilter(){const e=this.contractConversionProxy.filters.TransferWithReferenceAndFee(null,null,"0x"+this.paymentReference);return e.fromBlock=this.conversionProxyCreationBlockNumber,e.toBlock="latest",e}}t.AnyToEthInfoRetriever=n},function(e,t,f){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.NearNativeTokenPaymentDetector=void 0;const r=f(12),n=f(151),a=f(656),i=f(102),o={"0.1.0":"0.1.0","0.2.0":"0.2.0"};class s extends a.NativeTokenPaymentDetector{constructor(e){super(e)}extractEvents(e,t,f,a,i,o){return r.__awaiter(this,void 0,void 0,(function*(){if(!t)return{paymentEvents:[]};const r=new n.NearInfoRetriever(f,t,s.getContractName(i,o.version),e,i);return{paymentEvents:yield r.getTransferEvents()}}))}}t.NearNativeTokenPaymentDetector=s,s.getContractName=(e,t="0.2.0")=>{var f;const r=s.getVersionOrThrow(t),n={aurora:{"0.1.0":"requestnetwork.near","0.2.0":"requestnetwork.near"},"aurora-testnet":{"0.1.0":"dev-1626339335241-5544297","0.2.0":"dev-1631521265288-35171138540673"},"near-testnet":{"0.1.0":"dev-1626339335241-5544297","0.2.0":"dev-1631521265288-35171138540673"}};if(null===(f=n[e])||void 0===f?void 0:f[r])return n[e][r];throw new i.NetworkNotSupported(`Unconfigured near-detector chain '${e}' and version '${r}'`)},s.getVersionOrThrow=e=>{if(!o[e])throw Error(`Near payment detection not implemented for version ${e}`);return o[e]}},function(e,t,f){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.NativeTokenPaymentDetector=void 0;const r=f(4),n=f(87);class a extends n.ReferenceBasedDetector{constructor({network:e,advancedLogic:t,currencyManager:f}){const n=r.ExtensionTypes.PAYMENT_NETWORK_ID.NATIVE_TOKEN,a=t.getNativeTokenExtensionForNetwork(e);if(!a)throw new Error(`the ${n} extension is not supported for the network ${e}`);super(n,a,f)}}t.NativeTokenPaymentDetector=a},function(e,t,f){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.NearConversionNativeTokenPaymentDetector=void 0;const r=f(12),n=f(41),a=f(259),i=f(658),o=f(102),s={"0.1.0":"0.1.0"};class c extends i.AnyToNativeDetector{constructor(e){super(e)}extractEvents(e,t,f,i,o,s){return r.__awaiter(this,void 0,void 0,(function*(){if(!t)return{paymentEvents:[]};const r=this.currencyManager.fromStorageCurrency(i);if(!r)throw new n.UnsupportedCurrencyError(i.value);const u=new a.NearConversionInfoRetriever(r,f,t,c.getContractName(o,s.version),e,o,s.values.maxRateTimespan);return{paymentEvents:yield u.getTransferEvents()}}))}getPaymentChain(e){const t=this.getPaymentExtension(e).values.network;if(!t)throw Error(`request.extensions[${this.paymentNetworkId}].values.network must be defined`);return t}}t.NearConversionNativeTokenPaymentDetector=c,c.getContractName=(e,t="0.1.0")=>{var f;const r=c.getVersionOrThrow(t),n={aurora:{"0.1.0":"native.conversion.reqnetwork.near"},"aurora-testnet":{"0.1.0":"native.conversion.reqnetwork.testnet"},"near-testnet":{"0.1.0":"native.conversion.reqnetwork.testnet"}};if(null===(f=n[e])||void 0===f?void 0:f[r])return n[e][r];throw new o.NetworkNotSupported(`Unconfigured near-conversion-detector chain '${e}' and version '${r}'`)},c.getVersionOrThrow=e=>{if(!s[e])throw Error(`Near payment detection not implemented for version ${e}`);return s[e]}},function(e,t,f){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.AnyToNativeDetector=void 0;const r=f(4),n=f(257);class a extends n.AnyToAnyDetector{constructor({network:e,advancedLogic:t,currencyManager:f}){const n=r.ExtensionTypes.PAYMENT_NETWORK_ID.ANY_TO_NATIVE_TOKEN,a=t.getAnyToNativeTokenExtensionForNetwork(e);if(!a)throw new Error(`the ${n} extension is not supported for the network ${e}`);super(n,a,f)}}t.AnyToNativeDetector=a},function(e,t,f){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.EscrowERC20InfoRetriever=void 0;const r=f(12),n=f(4),a=f(40),i=f(3),o=f(30),s=f(7),c={"0.1.0":"0.1.0","0.2.0":"0.1.0"};class u{constructor(e,t,f,r,n,o,c){this.paymentReference=e,this.escrowContractAddress=t,this.escrowCreationBlockNumber=f,this.tokenContractAddress=r,this.toAddress=n,this.network=o,this.eventName=c,this.provider=(0,s.getDefaultProvider)(this.network),this.contractEscrow=new i.ethers.Contract(this.escrowContractAddress,a.erc20EscrowToPayArtifact.getContractAbi(),this.provider)}getAllContractEvents(){return r.__awaiter(this,void 0,void 0,(function*(){return[...yield this.getContractEventsForEventName(n.PaymentTypes.ESCROW_EVENTS_NAMES.FREEZE_ESCROW),...yield this.getContractEventsForEventName(n.PaymentTypes.ESCROW_EVENTS_NAMES.INITIATE_EMERGENCY_CLAIM),...yield this.getContractEventsForEventName(n.PaymentTypes.ESCROW_EVENTS_NAMES.REVERT_EMERGENCY_CLAIM)]}))}getContractEvents(){return r.__awaiter(this,void 0,void 0,(function*(){if(!this.eventName)throw new Error("Missing event name in EscrowInfoRetriever for getContractEvents()");return this.getContractEventsForEventName(this.eventName)}))}getContractEventsForEventName(e){return r.__awaiter(this,void 0,void 0,(function*(){const t=e===n.PaymentTypes.ESCROW_EVENTS_NAMES.FREEZE_ESCROW?this.contractEscrow.filters.RequestFrozen("0x"+this.paymentReference):e===n.PaymentTypes.ESCROW_EVENTS_NAMES.INITIATE_EMERGENCY_CLAIM?this.contractEscrow.filters.InitiatedEmergencyClaim("0x"+this.paymentReference):e===n.PaymentTypes.ESCROW_EVENTS_NAMES.REVERT_EMERGENCY_CLAIM?this.contractEscrow.filters.RevertedEmergencyClaim("0x"+this.paymentReference):e===n.PaymentTypes.ESCROW_EVENTS_NAMES.PAID_ESCROW?this.contractEscrow.filters.TransferWithReferenceAndFee(null,null,null,"0x"+this.paymentReference,null,null):void 0;if(!t)throw new Error("Wrong eventName for Escrow event retriever");t.fromBlock=this.escrowCreationBlockNumber,t.toBlock="latest";const f=(yield this.provider.getLogs(t)).map((e=>{const t=this.contractEscrow.interface.parseLog(e);return Object.assign(Object.assign({},e),{parsedLog:(0,o.parseLogArgs)(t)})})).filter((({parsedLog:e})=>!e.tokenAddress||e.tokenAddress.toLowerCase()===this.tokenContractAddress.toLowerCase()&&e.to.toLowerCase()===this.toAddress.toLowerCase())).map((({parsedLog:t,blockNumber:f,transactionHash:n})=>r.__awaiter(this,void 0,void 0,(function*(){var r,a;return{amount:(null===(r=t.amount)||void 0===r?void 0:r.toString())||void 0,name:e,parameters:{block:f,paymentReference:t.paymentReference,feeAddress:t.feeAddress||void 0,feeAmount:(null===(a=t.feeAmount)||void 0===a?void 0:a.toString())||void 0,to:this.toAddress||void 0,txHash:n},timestamp:(yield this.provider.getBlock(f||0)).timestamp}}))));return Promise.all(f)}))}getEscrowRequestMapping(){return r.__awaiter(this,void 0,void 0,(function*(){return this.contractEscrow.requestMapping(`0x${this.paymentReference}`)}))}}t.EscrowERC20InfoRetriever=u,u.getEscrowDeploymentInformation=(0,o.makeGetDeploymentInformation)(a.erc20EscrowToPayArtifact,c)},function(e,t,f){"use strict";Object.defineProperty(t,"__esModule",{value:!0});const r=f(41),n=f(261),a=f(280),i=f(750),o=f(758);class s extends n.default{constructor({decryptionProvider:e,httpConfig:t,nodeConnectionConfig:f,signatureProvider:n,useMockStorage:s,currencies:c,currencyManager:u,paymentOptions:d}={httpConfig:{},nodeConnectionConfig:{},useMockStorage:!1}){const l=s?new i.default(new o.default):new a.default({httpConfig:t,nodeConnectionConfig:f});u||(u=new r.CurrencyManager(c||r.CurrencyManager.getDefaultList())),super({dataAccess:l,signatureProvider:n,decryptionProvider:e,currencyManager:u,paymentOptions:d})}}t.default=s},function(e,t,f){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.AdvancedLogic=void 0;var r=f(662);Object.defineProperty(t,"AdvancedLogic",{enumerable:!0,get:function(){return r.default}})},function(e,t,f){"use strict";Object.defineProperty(t,"__esModule",{value:!0});const r=f(4),n=f(41),a=f(663),i=f(263),o=f(664),s=f(264),c=f(665),u=f(265),d=f(666),l=f(667),p=f(266),b=f(668),h=f(267),m=f(670),y=f(671),g=f(672),v=f(268),_=f(674),w=f(675);t.default=class{constructor(e){e||(e=n.CurrencyManager.getDefault()),this.extensions={addressBasedBtc:new i.default,addressBasedErc20:new c.default,addressBasedTestnetBtc:new o.default,contentData:new a.default,anyToErc20Proxy:new y.default(e),declarative:new s.default,ethereumInputData:new b.default,feeProxyContractErc20:new u.default,proxyContractErc20:new d.default,erc777Stream:new l.default,feeProxyContractEth:new p.default,anyToEthProxy:new g.default(e),nativeToken:[new h.default,new m.default],anyToNativeToken:[new v.default(e),new _.default(e)],erc20TransferableReceivable:new w.default}}applyActionToExtensions(e,t,f,r,n){return this.getExtensionForActionAndState(t,f).applyActionToExtension(e,t,f,r,n)}getExtensionForActionAndState(e,t){const f=e.id,n={[r.ExtensionTypes.ID.CONTENT_DATA]:this.extensions.contentData,[r.ExtensionTypes.PAYMENT_NETWORK_ID.BITCOIN_ADDRESS_BASED]:this.extensions.addressBasedBtc,[r.ExtensionTypes.PAYMENT_NETWORK_ID.TESTNET_BITCOIN_ADDRESS_BASED]:this.extensions.addressBasedTestnetBtc,[r.ExtensionTypes.PAYMENT_NETWORK_ID.ANY_DECLARATIVE]:this.extensions.declarative,[r.ExtensionTypes.PAYMENT_NETWORK_ID.ERC20_ADDRESS_BASED]:this.extensions.addressBasedErc20,[r.ExtensionTypes.PAYMENT_NETWORK_ID.ERC20_PROXY_CONTRACT]:this.extensions.proxyContractErc20,[r.ExtensionTypes.PAYMENT_NETWORK_ID.ERC20_FEE_PROXY_CONTRACT]:this.extensions.feeProxyContractErc20,[r.ExtensionTypes.PAYMENT_NETWORK_ID.ERC777_STREAM]:this.extensions.erc777Stream,[r.ExtensionTypes.PAYMENT_NETWORK_ID.ETH_INPUT_DATA]:this.extensions.ethereumInputData,[r.ExtensionTypes.PAYMENT_NETWORK_ID.NATIVE_TOKEN]:this.getNativeTokenExtensionForActionAndState(e,t),[r.ExtensionTypes.PAYMENT_NETWORK_ID.ANY_TO_ERC20_PROXY]:this.extensions.anyToErc20Proxy,[r.ExtensionTypes.PAYMENT_NETWORK_ID.ETH_FEE_PROXY_CONTRACT]:this.extensions.feeProxyContractEth,[r.ExtensionTypes.PAYMENT_NETWORK_ID.ANY_TO_ETH_PROXY]:this.extensions.anyToEthProxy,[r.ExtensionTypes.PAYMENT_NETWORK_ID.ANY_TO_NATIVE_TOKEN]:this.getAnyToNativeTokenExtensionForActionAndState(e,t),[r.ExtensionTypes.PAYMENT_NETWORK_ID.ERC20_TRANSFERABLE_RECEIVABLE]:this.extensions.erc20TransferableReceivable}[f];if(!n){if(f===r.ExtensionTypes.PAYMENT_NETWORK_ID.NATIVE_TOKEN||f===r.ExtensionTypes.PAYMENT_NETWORK_ID.ANY_TO_NATIVE_TOKEN){const r=this.getNetwork(e,t)||t.currency.network;throw Error(`extension with id: ${f} not found for network: ${r}`)}throw Error(`extension not recognized, id: ${f}`)}return n}getNativeTokenExtensionForNetwork(e){return this.extensions.nativeToken.find((t=>t.supportedNetworks.includes(e)))}getNativeTokenExtensionForActionAndState(e,t){var f;if(t.currency.network&&e.parameters.paymentNetworkName&&t.currency.network!==e.parameters.paymentNetworkName)throw new Error(`Cannot apply action for network ${e.parameters.paymentNetworkName} on state with payment network: ${t.currency.network}`);const r=null!==(f=t.currency.network)&&void 0!==f?f:e.parameters.paymentNetworkName;return r?this.getNativeTokenExtensionForNetwork(r):void 0}getAnyToNativeTokenExtensionForNetwork(e){return this.extensions.anyToNativeToken.find((t=>t.supportedNetworks.includes(e)))}getAnyToNativeTokenExtensionForActionAndState(e,t){const f=this.getNetwork(e,t);return f?this.getAnyToNativeTokenExtensionForNetwork(f):void 0}getNetwork(e,t){var f,n;return"create"===e.action?e.parameters.network:null===(n=null===(f=t.extensions[r.ExtensionTypes.PAYMENT_NETWORK_ID.ANY_TO_NATIVE_TOKEN])||void 0===f?void 0:f.values)||void 0===n?void 0:n.network}}},function(e,t,f){"use strict";Object.defineProperty(t,"__esModule",{value:!0});const r=f(4),n=f(262);class a extends n.AbstractExtension{constructor(){super(r.ExtensionTypes.TYPE.CONTENT_DATA,r.ExtensionTypes.ID.CONTENT_DATA,"0.1.0")}createCreationAction(e){if(!e.content)throw Error("No content has been given for the extension content-data");return super.createCreationAction(e)}applyCreation(e,t){if(!e.parameters.content)throw Error("No content has been given for the extension content-data");const f=super.applyCreation(e,t);return Object.assign(Object.assign({},f),{events:[],id:this.extensionId,type:this.extensionType,values:Object.assign(Object.assign({},f.values),{content:e.parameters.content})})}}t.default=a},function(e,t,f){"use strict";Object.defineProperty(t,"__esModule",{value:!0});const r=f(263),n=f(4);class a extends r.default{constructor(){super(n.ExtensionTypes.PAYMENT_NETWORK_ID.TESTNET_BITCOIN_ADDRESS_BASED)}isValidAddress(e){return this.isValidAddressForSymbolAndNetwork(e,"BTC-testnet","testnet")}}t.default=a},function(e,t,f){"use strict";Object.defineProperty(t,"__esModule",{value:!0});const r=f(4),n=f(88);class a extends n.default{constructor(){super(r.ExtensionTypes.PAYMENT_NETWORK_ID.ERC20_ADDRESS_BASED,"0.1.0",r.RequestLogicTypes.CURRENCY.ERC20)}}t.default=a},function(e,t,f){"use strict";Object.defineProperty(t,"__esModule",{value:!0});const r=f(4),n=f(89);class a extends n.default{constructor(){super(r.ExtensionTypes.PAYMENT_NETWORK_ID.ERC20_PROXY_CONTRACT,"0.1.0",r.RequestLogicTypes.CURRENCY.ERC20)}}t.default=a},function(e,t,f){"use strict";Object.defineProperty(t,"__esModule",{value:!0});const r=f(4),n=f(89),a=f(7);class i extends n.default{constructor(){super(r.ExtensionTypes.PAYMENT_NETWORK_ID.ERC777_STREAM,"0.1.0",r.RequestLogicTypes.CURRENCY.ERC777)}createCreationAction(e){if(!r.TypesUtils.isOriginalRequestCreationParameters(e)&&!r.TypesUtils.isSubsequentRequestCreationParameters(e))throw Error("originalRequestId, previousRequestId and recurrenceNumber must be all empty or all filled");if(r.TypesUtils.isOriginalRequestCreationParameters(e)){if(!e.expectedFlowRate)throw Error("expectedFlowRate should not be empty");if(!e.expectedStartDate)throw Error("expectedStartDate should not be empty");return super.createCreationAction(e)}if(!this.isSubsequentRequestParametersValid(e))throw Error("recurrenceNumber must be 1 if originalRequestId and previousRequestId are equal and vice versa");return{action:r.ExtensionTypes.PnFeeReferenceBased.ACTION.CREATE,id:this.extensionId,parameters:e,version:this.currentVersion}}applyCreation(e,t){if(!r.TypesUtils.isOriginalRequestCreationParameters(e.parameters)&&!r.TypesUtils.isSubsequentRequestCreationParameters(e.parameters))throw Error("originalRequestId, previousRequestId and recurrenceNumber must be all empty or all filled");if(r.TypesUtils.isOriginalRequestCreationParameters(e.parameters)){if(!e.parameters.expectedStartDate||e.parameters.expectedStartDate&&!(0,a.isValidAmount)(e.parameters.expectedStartDate))throw Error("expectedStartDate is empty or invalid");if(!e.parameters.expectedFlowRate||e.parameters.expectedFlowRate&&!(0,a.isValidAmount)(e.parameters.expectedFlowRate))throw Error("expectedFlowRate is empty or invalid");const f=super.applyCreation(e,t);return Object.assign(Object.assign({},f),{events:[{name:r.ExtensionTypes.PnFeeReferenceBased.ACTION.CREATE,parameters:e.parameters,timestamp:t}],values:Object.assign(Object.assign({},f.values),{expectedStartDate:e.parameters.expectedStartDate,expectedFlowRate:e.parameters.expectedFlowRate})})}if(!e.parameters.originalRequestId)throw Error("originalRequestId is empty");if(!e.parameters.previousRequestId)throw Error("previousRequestId is empty");if(!e.parameters.recurrenceNumber)throw Error("recurrenceNumber is empty");if(!e.version)throw Error("version is required at creation");if(!this.isSubsequentRequestParametersValid(e.parameters))throw Error("recurrenceNumber must be 1 if originalRequestId and previousRequestId are equal and vice versa");return{events:[{name:r.ExtensionTypes.PnFeeReferenceBased.ACTION.CREATE,parameters:e.parameters,timestamp:t}],id:e.id,type:this.extensionType,values:e.parameters,version:e.version}}isSubsequentRequestParametersValid(e){return e.originalRequestId===e.previousRequestId&&1===e.recurrenceNumber||1!==e.recurrenceNumber&&e.originalRequestId!==e.previousRequestId}}t.default=i},function(e,t,f){"use strict";Object.defineProperty(t,"__esModule",{value:!0});const r=f(4),n=f(89);class a extends n.default{constructor(e=r.ExtensionTypes.PAYMENT_NETWORK_ID.ETH_INPUT_DATA,t="0.3.0"){super(e,t,r.RequestLogicTypes.CURRENCY.ETH)}}t.default=a},function(e,t,f){"use strict";Object.defineProperty(t,"__esModule",{value:!0});const r=f(4),n=f(88),a=f(89);class i extends a.default{constructor(e,t,f){super(e,t,r.RequestLogicTypes.CURRENCY.ETH),this.supportedNetworks=f}createCreationAction(e){const t=e.paymentNetworkName;if(e.paymentAddress||e.refundAddress){if(!t)throw new Error(`The network name is mandatory for the creation of the extension ${this.extensionId}.`);this.throwIfInvalidNetwork(t)}if(e.paymentAddress&&!this.isValidAddress(e.paymentAddress))throw new n.InvalidPaymentAddressError(e.paymentAddress);if(e.refundAddress&&!this.isValidAddress(e.refundAddress))throw new n.InvalidPaymentAddressError(e.refundAddress,"refundAddress");return super.createCreationAction(e)}isValidAddress(e){throw new Error("Default implementation of isValidAddress() does not support native tokens. Please override this method.")}throwIfInvalidNetwork(e){if(super.throwIfInvalidNetwork(e),this.supportedNetworks&&!this.supportedNetworks.includes(e))throw new n.UnsupportedNetworkError(e,this.supportedNetworks)}}t.default=i},function(e,t,f){"use strict";Object.defineProperty(t,"__esModule",{value:!0});const r=f(267);class n extends r.default{constructor(){super(["aurora-testnet","near-testnet"])}isValidAddress(e){return this.isValidAddressForSymbolAndNetwork(e,"NEAR-testnet","aurora-testnet")}}t.default=n},function(e,t,f){"use strict";Object.defineProperty(t,"__esModule",{value:!0});const r=f(41),n=f(4),a=f(265);class i extends a.default{constructor(e,t=n.ExtensionTypes.PAYMENT_NETWORK_ID.ANY_TO_ERC20_PROXY,f="0.1.0"){super(t,f),this.currencyManager=e}createCreationAction(e){if(!e.acceptedTokens||0===e.acceptedTokens.length)throw Error("acceptedTokens is required");if(e.acceptedTokens.some((e=>!this.isValidAddress(e))))throw Error("acceptedTokens must contains only valid ethereum addresses");const t=e.network;this.throwIfInvalidNetwork(t);for(const f of e.acceptedTokens){const e=this.currencyManager.fromAddress(f,t);if(!e)throw new r.UnsupportedCurrencyError({value:f,network:t});if(!this.currencyManager.supportsConversion(e,t))throw Error(`acceptedTokens must contain only supported token addresses (ERC20 only). ${f} is not supported for ${t}.`)}return super.createCreationAction(e)}applyCreation(e,t){if(!e.parameters.network||0===e.parameters.network.length)throw Error("network is required");if(!e.parameters.acceptedTokens||0===e.parameters.acceptedTokens.length)throw Error("acceptedTokens is required and cannot be empty");if(e.parameters.acceptedTokens.some((e=>!this.isValidAddress(e))))throw Error("acceptedTokens must contains only valid ethereum addresses");const f=super.applyCreation(e,t);return Object.assign(Object.assign({},f),{events:[{name:"create",parameters:{feeAddress:e.parameters.feeAddress,feeAmount:e.parameters.feeAmount,paymentAddress:e.parameters.paymentAddress,refundAddress:e.parameters.refundAddress,salt:e.parameters.salt,network:e.parameters.network,acceptedTokens:e.parameters.acceptedTokens,maxRateTimespan:e.parameters.maxRateTimespan},timestamp:t}],values:Object.assign(Object.assign({},f.values),{network:e.parameters.network,acceptedTokens:e.parameters.acceptedTokens,maxRateTimespan:e.parameters.maxRateTimespan})})}validate(e,t){var f;const a=t.action===n.ExtensionTypes.PnFeeReferenceBased.ACTION.CREATE?t.parameters.network:null===(f=e.extensions[this.extensionId])||void 0===f?void 0:f.values.network;if(!a)return;if(!a)return;if(!r.conversionSupportedNetworks.includes(a))throw new Error(`The network (${a}) is not supported for this payment network.`);const i=this.currencyManager.fromStorageCurrency(e.currency);if(!i)throw new r.UnsupportedCurrencyError(e.currency);if(!this.currencyManager.supportsConversion(i,a))throw new Error(`The currency (${i.id}, ${i.hash}) of the request is not supported for this payment network.`)}}t.default=i},function(e,t,f){"use strict";Object.defineProperty(t,"__esModule",{value:!0});const r=f(41),n=f(4),a=f(266);class i extends a.default{constructor(e){super(n.ExtensionTypes.PAYMENT_NETWORK_ID.ANY_TO_ETH_PROXY,"0.2.0"),this.currencyManager=e}createCreationAction(e){return this.throwIfInvalidNetwork(e.network),super.createCreationAction(e)}applyCreation(e,t){if(!e.parameters.network||0===e.parameters.network.length)throw Error("network is required");const f=super.applyCreation(e,t);return Object.assign(Object.assign({},f),{events:[{name:"create",parameters:{feeAddress:e.parameters.feeAddress,feeAmount:e.parameters.feeAmount,paymentAddress:e.parameters.paymentAddress,refundAddress:e.parameters.refundAddress,salt:e.parameters.salt,network:e.parameters.network,maxRateTimespan:e.parameters.maxRateTimespan},timestamp:t}],values:Object.assign(Object.assign({},f.values),{network:e.parameters.network,maxRateTimespan:e.parameters.maxRateTimespan})})}validate(e,t){var f;const a=t.action===n.ExtensionTypes.PnFeeReferenceBased.ACTION.CREATE?t.parameters.network:null===(f=e.extensions[this.extensionId])||void 0===f?void 0:f.values.network;if(!a)throw new Error("The network must be provided from the creation action or from the extension state");const i=this.currencyManager.fromStorageCurrency(e.currency);if(!i)throw new r.UnsupportedCurrencyError(e.currency);if(!this.currencyManager.supportsConversion(i,a))throw new Error(`The currency (${e.currency.value}) of the request is not supported for this payment network.`)}}t.default=i},function(e,t,f){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.InvalidMaxRateTimespanError=void 0;const r=f(106),n=f(4),a=f(88);class i extends r.FeeReferenceBasedPaymentNetwork{constructor(e,t,f){super(e,t,n.RequestLogicTypes.CURRENCY.ETH),this.supportedNetworks=f}createCreationAction(e){const t=e.network;if(this.throwIfInvalidNetwork(t),e.paymentAddress&&!this.isValidAddress(e.paymentAddress))throw new a.InvalidPaymentAddressError(e.paymentAddress);if(e.refundAddress&&!this.isValidAddress(e.refundAddress))throw new a.InvalidPaymentAddressError(e.refundAddress,"refundAddress");if(e.feeAddress&&!this.isValidAddress(e.feeAddress))throw new a.InvalidPaymentAddressError(e.feeAddress,"feeAddress");if(e.maxRateTimespan&&e.maxRateTimespan<0)throw new o(e.maxRateTimespan);return super.createCreationAction(e)}isValidAddress(e){throw new Error("Default implementation of isValidAddress() does not support native tokens. Please override this method.")}throwIfInvalidNetwork(e){if(super.throwIfInvalidNetwork(e),this.supportedNetworks&&!this.supportedNetworks.includes(e))throw new a.UnsupportedNetworkError(e,this.supportedNetworks)}}t.default=i;class o extends Error{constructor(e){super(`${e} is not a valid maxRateTimespan`)}}t.InvalidMaxRateTimespanError=o},function(e,t,f){"use strict";Object.defineProperty(t,"__esModule",{value:!0});const r=f(268);class n extends r.default{constructor(e){super(e,["aurora-testnet","near-testnet"])}isValidAddress(e){return this.isValidAddressForSymbolAndNetwork(e,"NEAR-testnet","aurora-testnet")}}t.default=n},function(e,t,f){"use strict";Object.defineProperty(t,"__esModule",{value:!0});const r=f(4),n=f(106);class a extends n.FeeReferenceBasedPaymentNetwork{constructor(e=r.ExtensionTypes.PAYMENT_NETWORK_ID.ERC20_TRANSFERABLE_RECEIVABLE,t="0.1.0"){super(e,t,r.RequestLogicTypes.CURRENCY.ERC20)}}t.default=a},function(e,t,f){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.RequestLogic=void 0;var r=f(677);Object.defineProperty(t,"RequestLogic",{enumerable:!0,get:function(){return r.default}})},function(e,t,f){"use strict";Object.defineProperty(t,"__esModule",{value:!0});const r=f(678),n=f(28),a=f(43),i=f(4),o=f(689),s=f(7);t.default=class{constructor(e,t,f){this.transactionManager=e,this.signatureProvider=t,this.advancedLogic=f}createRequest(e,t,f=[]){return r.__awaiter(this,void 0,void 0,(function*(){const{action:r,requestId:a,hashedTopics:i}=yield this.createCreationActionRequestIdAndTopics(e,t,f);o.default.applyActionToRequest(null,r,Date.now(),this.advancedLogic);const s=yield this.transactionManager.persistTransaction(JSON.stringify(r),a,i),c=Object.assign(new n.EventEmitter,{meta:{transactionManagerMeta:s.meta},result:{requestId:a}});return s.on("confirmed",(e=>{c.emit("confirmed",{meta:{transactionManagerMeta:e.meta},result:{requestId:a}})})).on("error",(e=>{c.emit("error",e)})),c}))}createEncryptedRequest(e,t,f,a=[]){return r.__awaiter(this,void 0,void 0,(function*(){if(0===f.length)throw new Error("You must give at least one encryption parameter to create an encrypted request");const{action:r,requestId:i,hashedTopics:s}=yield this.createCreationActionRequestIdAndTopics(e,t,a);o.default.applyActionToRequest(null,r,Date.now(),this.advancedLogic);const c=yield this.transactionManager.persistTransaction(JSON.stringify(r),i,s,f),u=Object.assign(new n.EventEmitter,{meta:{transactionManagerMeta:c.meta},result:{requestId:i}});return c.on("confirmed",(e=>{u.emit("confirmed",{meta:{transactionManagerMeta:e.meta},result:{requestId:i}})})).on("error",(e=>{u.emit("error",e)})),u}))}computeRequestId(e,t){return r.__awaiter(this,void 0,void 0,(function*(){if(!this.signatureProvider)throw new Error("You must give a signature provider to create actions");const f=yield o.default.formatCreate(e,t,this.signatureProvider);return o.default.applyActionToRequest(null,f,Date.now(),this.advancedLogic),o.default.getRequestIdFromAction(f)}))}acceptRequest(e,t,f=!1){return r.__awaiter(this,void 0,void 0,(function*(){if(!this.signatureProvider)throw new Error("You must give a signature provider to create actions");const r=yield o.default.formatAccept(e,t,this.signatureProvider),a=o.default.getRequestIdFromAction(r);f&&(yield this.validateAction(a,r));const i=yield this.transactionManager.persistTransaction(JSON.stringify(r),a),s=Object.assign(new n.EventEmitter,{meta:{transactionManagerMeta:i.meta}});return i.on("confirmed",(e=>{s.emit("confirmed",{meta:{transactionManagerMeta:e.meta}})})).on("error",(e=>{s.emit("error",e)})),s}))}cancelRequest(e,t,f=!1){return r.__awaiter(this,void 0,void 0,(function*(){if(!this.signatureProvider)throw new Error("You must give a signature provider to create actions");const r=yield o.default.formatCancel(e,t,this.signatureProvider),a=o.default.getRequestIdFromAction(r);f&&(yield this.validateAction(a,r));const i=yield this.transactionManager.persistTransaction(JSON.stringify(r),a),s=Object.assign(new n.EventEmitter,{meta:{transactionManagerMeta:i.meta}});return i.on("confirmed",(e=>{s.emit("confirmed",{meta:{transactionManagerMeta:e.meta}})})).on("error",(e=>{s.emit("error",e)})),s}))}increaseExpectedAmountRequest(e,t,f=!1){return r.__awaiter(this,void 0,void 0,(function*(){if(!this.signatureProvider)throw new Error("You must give a signature provider to create actions");const r=yield o.default.formatIncreaseExpectedAmount(e,t,this.signatureProvider),a=o.default.getRequestIdFromAction(r);f&&(yield this.validateAction(a,r));const i=yield this.transactionManager.persistTransaction(JSON.stringify(r),a),s=Object.assign(new n.EventEmitter,{meta:{transactionManagerMeta:i.meta}});return i.on("confirmed",(e=>{s.emit("confirmed",{meta:{transactionManagerMeta:e.meta}})})).on("error",(e=>{s.emit("error",e)})),s}))}reduceExpectedAmountRequest(e,t,f=!1){return r.__awaiter(this,void 0,void 0,(function*(){if(!this.signatureProvider)throw new Error("You must give a signature provider to create actions");const r=yield o.default.formatReduceExpectedAmount(e,t,this.signatureProvider),a=o.default.getRequestIdFromAction(r);f&&(yield this.validateAction(a,r));const i=yield this.transactionManager.persistTransaction(JSON.stringify(r),a),s=Object.assign(new n.EventEmitter,{meta:{transactionManagerMeta:i.meta}});return i.on("confirmed",(e=>{s.emit("confirmed",{meta:{transactionManagerMeta:e.meta}})})).on("error",(e=>{s.emit("error",e)})),s}))}addExtensionsDataRequest(e,t,f=!1){return r.__awaiter(this,void 0,void 0,(function*(){if(!this.signatureProvider)throw new Error("You must give a signature provider to create actions");const r=yield o.default.formatAddExtensionsData(e,t,this.signatureProvider),a=o.default.getRequestIdFromAction(r);f&&(yield this.validateAction(a,r));const i=yield this.transactionManager.persistTransaction(JSON.stringify(r),a),s=Object.assign(new n.EventEmitter,{meta:{transactionManagerMeta:i.meta}});return i.on("confirmed",(e=>{s.emit("confirmed",{meta:{transactionManagerMeta:e.meta}})})).on("error",(e=>{s.emit("error",e)})),s}))}getRequestFromId(e){return r.__awaiter(this,void 0,void 0,(function*(){const{ignoredTransactions:t,confirmedRequestState:f,pendingRequestState:r,transactionManagerMeta:n}=yield this.computeRequestFromRequestId(e);return{meta:{ignoredTransactions:t,transactionManagerMeta:n},result:{request:f,pending:this.computeDiffBetweenPendingAndConfirmedRequestState(f,r)}}}))}getRequestsByTopic(e,t){return r.__awaiter(this,void 0,void 0,(function*(){const f=a.default.serialize((0,s.normalizeKeccak256Hash)(e)),r=yield this.transactionManager.getChannelsByTopic(f,t);return this.computeMultipleRequestFromChannels(r)}))}getRequestsByMultipleTopics(e,t){return r.__awaiter(this,void 0,void 0,(function*(){const f=e.map((e=>a.default.serialize((0,s.normalizeKeccak256Hash)(e)))),r=yield this.transactionManager.getChannelsByMultipleTopics(f,t);return this.computeMultipleRequestFromChannels(r)}))}createCreationActionRequestIdAndTopics(e,t,f){return r.__awaiter(this,void 0,void 0,(function*(){if(!this.signatureProvider)throw new Error("You must give a signature provider to create actions");const r=yield o.default.formatCreate(e,t,this.signatureProvider),n=o.default.getRequestIdFromAction(r);return{action:r,hashedTopics:f.map((e=>a.default.serialize((0,s.normalizeKeccak256Hash)(e)))),requestId:n}}))}computeRequestFromRequestId(e){return r.__awaiter(this,void 0,void 0,(function*(){const t=yield this.transactionManager.getTransactionsByChannelId(e),f=t.result.transactions.filter(s.notNull).sort(((e,t)=>e.timestamp-t.timestamp));let{ignoredTransactions:r,keptTransactions:n}=this.removeOldPendingTransactions(f);const a=(0,s.uniqueByProperty)(n.filter(s.notNull).map((e=>{try{return{action:JSON.parse(e.transaction.data||""),state:e.state,timestamp:e.timestamp}}catch(t){return void r.push({reason:"JSON parsing error",transaction:e})}})).filter(s.notNull),"action");r=r.concat(a.duplicates.map((e=>({reason:"Duplicated transaction",transaction:e}))));const{confirmedRequestState:i,pendingRequestState:o,ignoredTransactionsByApplication:c}=yield this.computeRequestFromTransactions(a.uniqueItems);return r=r.concat(c),{confirmedRequestState:i,ignoredTransactions:r,pendingRequestState:o,transactionManagerMeta:t.meta}}))}computeRequestFromTransactions(e){return r.__awaiter(this,void 0,void 0,(function*(){const t=[],f=e.filter((e=>e.state===i.TransactionTypes.TransactionState.CONFIRMED)).reduce(((e,f)=>{try{return o.default.applyActionToRequest(e,f.action,f.timestamp,this.advancedLogic)}catch(r){return t.push({reason:r.message,transaction:f}),e}}),null),r=e.filter((e=>e.state===i.TransactionTypes.TransactionState.PENDING)).reduce(((e,f)=>{try{return o.default.applyActionToRequest(e,f.action,f.timestamp,this.advancedLogic)}catch(r){return t.push({reason:r.message,transaction:f}),e}}),f);return{confirmedRequestState:f,ignoredTransactionsByApplication:t,pendingRequestState:r}}))}computeMultipleRequestFromChannels(e){return r.__awaiter(this,void 0,void 0,(function*(){const t=e.result.transactions,f=e.meta.dataAccessMeta,n=Object.keys(e.result.transactions).map((e=>r.__awaiter(this,void 0,void 0,(function*(){let{ignoredTransactions:r,keptTransactions:n}=this.removeOldPendingTransactions(t[e]);const a=(0,s.uniqueByProperty)(n.filter(s.notNull).map((e=>{try{return{action:JSON.parse(e.transaction.data||""),state:e.state,timestamp:e.timestamp}}catch(t){return void r.push({reason:"JSON parsing error",transaction:e})}})).filter(s.notNull),"action");r=r.concat(a.duplicates.map((e=>({reason:"Duplicated transaction",transaction:e}))));const{confirmedRequestState:i,pendingRequestState:o,ignoredTransactionsByApplication:c}=yield this.computeRequestFromTransactions(a.uniqueItems);r=r.concat(c);const u=this.computeDiffBetweenPendingAndConfirmedRequestState(i,o);return{ignoredTransactions:r,pending:u,request:i,transactionManagerMeta:f[e]}}))));return(yield Promise.all(n)).reduce(((e,t)=>((t.request||t.pending)&&(e.result.requests.push({pending:t.pending,request:t.request}),(e.meta.ignoredTransactions||[]).push(t.ignoredTransactions),(e.meta.transactionManagerMeta||[]).push(t.transactionManagerMeta)),e)),{meta:{ignoredTransactions:[],transactionManagerMeta:[]},result:{requests:[]}})}))}validateAction(e,t){return r.__awaiter(this,void 0,void 0,(function*(){const{confirmedRequestState:f,pendingRequestState:r}=yield this.computeRequestFromRequestId(e);try{o.default.applyActionToRequest(f,t,Date.now(),this.advancedLogic)}catch(e){r&&o.default.applyActionToRequest(r,t,Date.now(),this.advancedLogic)}}))}computeDiffBetweenPendingAndConfirmedRequestState(e,t){let f=null;if(e){if(t)for(const r in t)r in t&&(0,s.normalizeKeccak256Hash)(t[r]).value!==(0,s.normalizeKeccak256Hash)(e[r]).value&&(f||(f={}),f[r]="events"===r?t[r].slice(e[r].length):t[r])}else f=t;return f}removeOldPendingTransactions(e){const t=[];let f=!1;const r=e.reverse().filter((e=>!!e&&(f=f||e.state===i.TransactionTypes.TransactionState.CONFIRMED,e.state===i.TransactionTypes.TransactionState.CONFIRMED||e.state===i.TransactionTypes.TransactionState.PENDING&&!f||(t.push({reason:"Confirmed transaction newer than this pending transaction",transaction:e}),!1)))).reverse();return{ignoredTransactions:t,keptTransactions:r}}}},function(e,t,f){"use strict";f.r(t),f.d(t,"__extends",(function(){return n})),f.d(t,"__assign",(function(){return a})),f.d(t,"__rest",(function(){return i})),f.d(t,"__decorate",(function(){return o})),f.d(t,"__param",(function(){return s})),f.d(t,"__esDecorate",(function(){return c})),f.d(t,"__runInitializers",(function(){return u})),f.d(t,"__propKey",(function(){return d})),f.d(t,"__setFunctionName",(function(){return l})),f.d(t,"__metadata",(function(){return p})),f.d(t,"__awaiter",(function(){return b})),f.d(t,"__generator",(function(){return h})),f.d(t,"__createBinding",(function(){return m})),f.d(t,"__exportStar",(function(){return y})),f.d(t,"__values",(function(){return g})),f.d(t,"__read",(function(){return v})),f.d(t,"__spread",(function(){return _})),f.d(t,"__spreadArrays",(function(){return w})),f.d(t,"__spreadArray",(function(){return E})),f.d(t,"__await",(function(){return A})),f.d(t,"__asyncGenerator",(function(){return T})),f.d(t,"__asyncDelegator",(function(){return x})),f.d(t,"__asyncValues",(function(){return S})),f.d(t,"__makeTemplateObject",(function(){return k})),f.d(t,"__importStar",(function(){return O})),f.d(t,"__importDefault",(function(){return P})),f.d(t,"__classPrivateFieldGet",(function(){return R})),f.d(t,"__classPrivateFieldSet",(function(){return M})),f.d(t,"__classPrivateFieldIn",(function(){return N}));var r=function(e,t){return r=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var f in t)Object.prototype.hasOwnProperty.call(t,f)&&(e[f]=t[f])},r(e,t)};function n(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Class extends value "+String(t)+" is not a constructor or null");function f(){this.constructor=e}r(e,t),e.prototype=null===t?Object.create(t):(f.prototype=t.prototype,new f)}var a=function(){return a=Object.assign||function(e){for(var t,f=1,r=arguments.length;f<r;f++)for(var n in t=arguments[f])Object.prototype.hasOwnProperty.call(t,n)&&(e[n]=t[n]);return e},a.apply(this,arguments)};function i(e,t){var f={};for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&t.indexOf(r)<0&&(f[r]=e[r]);if(null!=e&&"function"==typeof Object.getOwnPropertySymbols){var n=0;for(r=Object.getOwnPropertySymbols(e);n<r.length;n++)t.indexOf(r[n])<0&&Object.prototype.propertyIsEnumerable.call(e,r[n])&&(f[r[n]]=e[r[n]])}return f}function o(e,t,f,r){var n,a=arguments.length,i=a<3?t:null===r?r=Object.getOwnPropertyDescriptor(t,f):r;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)i=Reflect.decorate(e,t,f,r);else for(var o=e.length-1;o>=0;o--)(n=e[o])&&(i=(a<3?n(i):a>3?n(t,f,i):n(t,f))||i);return a>3&&i&&Object.defineProperty(t,f,i),i}function s(e,t){return function(f,r){t(f,r,e)}}function c(e,t,f,r,n,a){function i(e){if(void 0!==e&&"function"!=typeof e)throw new TypeError("Function expected");return e}for(var o,s=r.kind,c="getter"===s?"get":"setter"===s?"set":"value",u=!t&&e?r.static?e:e.prototype:null,d=t||(u?Object.getOwnPropertyDescriptor(u,r.name):{}),l=!1,p=f.length-1;p>=0;p--){var b={};for(var h in r)b[h]="access"===h?{}:r[h];for(var h in r.access)b.access[h]=r.access[h];b.addInitializer=function(e){if(l)throw new TypeError("Cannot add initializers after decoration has completed");a.push(i(e||null))};var m=(0,f[p])("accessor"===s?{get:d.get,set:d.set}:d[c],b);if("accessor"===s){if(void 0===m)continue;if(null===m||"object"!=typeof m)throw new TypeError("Object expected");(o=i(m.get))&&(d.get=o),(o=i(m.set))&&(d.set=o),(o=i(m.init))&&n.push(o)}else(o=i(m))&&("field"===s?n.push(o):d[c]=o)}u&&Object.defineProperty(u,r.name,d),l=!0}function u(e,t,f){for(var r=arguments.length>2,n=0;n<t.length;n++)f=r?t[n].call(e,f):t[n].call(e);return r?f:void 0}function d(e){return"symbol"==typeof e?e:"".concat(e)}function l(e,t,f){return"symbol"==typeof t&&(t=t.description?"[".concat(t.description,"]"):""),Object.defineProperty(e,"name",{configurable:!0,value:f?"".concat(f," ",t):t})}function p(e,t){if("object"==typeof Reflect&&"function"==typeof Reflect.metadata)return Reflect.metadata(e,t)}function b(e,t,f,r){return new(f||(f=Promise))((function(n,a){function i(e){try{s(r.next(e))}catch(e){a(e)}}function o(e){try{s(r.throw(e))}catch(e){a(e)}}function s(e){var t;e.done?n(e.value):(t=e.value,t instanceof f?t:new f((function(e){e(t)}))).then(i,o)}s((r=r.apply(e,t||[])).next())}))}function h(e,t){var f,r,n,a,i={label:0,sent:function(){if(1&n[0])throw n[1];return n[1]},trys:[],ops:[]};return a={next:o(0),throw:o(1),return:o(2)},"function"==typeof Symbol&&(a[Symbol.iterator]=function(){return this}),a;function o(o){return function(s){return function(o){if(f)throw new TypeError("Generator is already executing.");for(;a&&(a=0,o[0]&&(i=0)),i;)try{if(f=1,r&&(n=2&o[0]?r.return:o[0]?r.throw||((n=r.return)&&n.call(r),0):r.next)&&!(n=n.call(r,o[1])).done)return n;switch(r=0,n&&(o=[2&o[0],n.value]),o[0]){case 0:case 1:n=o;break;case 4:return i.label++,{value:o[1],done:!1};case 5:i.label++,r=o[1],o=[0];continue;case 7:o=i.ops.pop(),i.trys.pop();continue;default:if(!(n=i.trys,(n=n.length>0&&n[n.length-1])||6!==o[0]&&2!==o[0])){i=0;continue}if(3===o[0]&&(!n||o[1]>n[0]&&o[1]<n[3])){i.label=o[1];break}if(6===o[0]&&i.label<n[1]){i.label=n[1],n=o;break}if(n&&i.label<n[2]){i.label=n[2],i.ops.push(o);break}n[2]&&i.ops.pop(),i.trys.pop();continue}o=t.call(e,i)}catch(e){o=[6,e],r=0}finally{f=n=0}if(5&o[0])throw o[1];return{value:o[0]?o[1]:void 0,done:!0}}([o,s])}}}var m=Object.create?function(e,t,f,r){void 0===r&&(r=f);var n=Object.getOwnPropertyDescriptor(t,f);n&&!("get"in n?!t.__esModule:n.writable||n.configurable)||(n={enumerable:!0,get:function(){return t[f]}}),Object.defineProperty(e,r,n)}:function(e,t,f,r){void 0===r&&(r=f),e[r]=t[f]};function y(e,t){for(var f in e)"default"===f||Object.prototype.hasOwnProperty.call(t,f)||m(t,e,f)}function g(e){var t="function"==typeof Symbol&&Symbol.iterator,f=t&&e[t],r=0;if(f)return f.call(e);if(e&&"number"==typeof e.length)return{next:function(){return e&&r>=e.length&&(e=void 0),{value:e&&e[r++],done:!e}}};throw new TypeError(t?"Object is not iterable.":"Symbol.iterator is not defined.")}function v(e,t){var f="function"==typeof Symbol&&e[Symbol.iterator];if(!f)return e;var r,n,a=f.call(e),i=[];try{for(;(void 0===t||t-- >0)&&!(r=a.next()).done;)i.push(r.value)}catch(e){n={error:e}}finally{try{r&&!r.done&&(f=a.return)&&f.call(a)}finally{if(n)throw n.error}}return i}function _(){for(var e=[],t=0;t<arguments.length;t++)e=e.concat(v(arguments[t]));return e}function w(){for(var e=0,t=0,f=arguments.length;t<f;t++)e+=arguments[t].length;var r=Array(e),n=0;for(t=0;t<f;t++)for(var a=arguments[t],i=0,o=a.length;i<o;i++,n++)r[n]=a[i];return r}function E(e,t,f){if(f||2===arguments.length)for(var r,n=0,a=t.length;n<a;n++)!r&&n in t||(r||(r=Array.prototype.slice.call(t,0,n)),r[n]=t[n]);return e.concat(r||Array.prototype.slice.call(t))}function A(e){return this instanceof A?(this.v=e,this):new A(e)}function T(e,t,f){if(!Symbol.asyncIterator)throw new TypeError("Symbol.asyncIterator is not defined.");var r,n=f.apply(e,t||[]),a=[];return r={},i("next"),i("throw"),i("return"),r[Symbol.asyncIterator]=function(){return this},r;function i(e){n[e]&&(r[e]=function(t){return new Promise((function(f,r){a.push([e,t,f,r])>1||o(e,t)}))})}function o(e,t){try{(f=n[e](t)).value instanceof A?Promise.resolve(f.value.v).then(s,c):u(a[0][2],f)}catch(e){u(a[0][3],e)}var f}function s(e){o("next",e)}function c(e){o("throw",e)}function u(e,t){e(t),a.shift(),a.length&&o(a[0][0],a[0][1])}}function x(e){var t,f;return t={},r("next"),r("throw",(function(e){throw e})),r("return"),t[Symbol.iterator]=function(){return this},t;function r(r,n){t[r]=e[r]?function(t){return(f=!f)?{value:A(e[r](t)),done:!1}:n?n(t):t}:n}}function S(e){if(!Symbol.asyncIterator)throw new TypeError("Symbol.asyncIterator is not defined.");var t,f=e[Symbol.asyncIterator];return f?f.call(e):(e=g(e),t={},r("next"),r("throw"),r("return"),t[Symbol.asyncIterator]=function(){return this},t);function r(f){t[f]=e[f]&&function(t){return new Promise((function(r,n){(function(e,t,f,r){Promise.resolve(r).then((function(t){e({value:t,done:f})}),t)})(r,n,(t=e[f](t)).done,t.value)}))}}}function k(e,t){return Object.defineProperty?Object.defineProperty(e,"raw",{value:t}):e.raw=t,e}var C=Object.create?function(e,t){Object.defineProperty(e,"default",{enumerable:!0,value:t})}:function(e,t){e.default=t};function O(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var f in e)"default"!==f&&Object.prototype.hasOwnProperty.call(e,f)&&m(t,e,f);return C(t,e),t}function P(e){return e&&e.__esModule?e:{default:e}}function R(e,t,f,r){if("a"===f&&!r)throw new TypeError("Private accessor was defined without a getter");if("function"==typeof t?e!==t||!r:!t.has(e))throw new TypeError("Cannot read private member from an object whose class did not declare it");return"m"===f?r:"a"===f?r.call(e):r?r.value:t.get(e)}function M(e,t,f,r,n){if("m"===r)throw new TypeError("Private method is not writable");if("a"===r&&!n)throw new TypeError("Private accessor was defined without a setter");if("function"==typeof t?e!==t||!n:!t.has(e))throw new TypeError("Cannot write private member to an object whose class did not declare it");return"a"===r?n.call(e,f):n?n.value=f:t.set(e,f),f}function N(e,t){if(null===t||"object"!=typeof t&&"function"!=typeof t)throw new TypeError("Cannot use 'in' operator on non-object");return"function"==typeof e?t===e:e.has(t)}},function(e,t,f){"use strict";Object.defineProperty(t,"__esModule",{value:!0});const r=f(107),n=f(680),a=f(681),i=f(682),o=new r.default([new n.default,new i.default,new a.default]);t.default=o},function(e,t,f){"use strict";Object.defineProperty(t,"__esModule",{value:!0});const r=f(4),n=f(90);class a extends n.default{constructor(){super(r.MultiFormatTypes.prefix.AES256_CBC_ENCRYPTED,r.EncryptionTypes.METHOD.AES256_CBC)}}t.default=a},function(e,t,f){"use strict";Object.defineProperty(t,"__esModule",{value:!0});const r=f(4),n=f(90);class a extends n.default{constructor(){super(r.MultiFormatTypes.prefix.AES256_GCM_ENCRYPTED,r.EncryptionTypes.METHOD.AES256_GCM)}}t.default=a},function(e,t,f){"use strict";Object.defineProperty(t,"__esModule",{value:!0});const r=f(4),n=f(90);class a extends n.default{constructor(){super(r.MultiFormatTypes.prefix.ECIES_ENCRYPTED,r.EncryptionTypes.METHOD.ECIES)}}t.default=a},function(e,t,f){"use strict";Object.defineProperty(t,"__esModule",{value:!0});const r=f(107),n=f(684),a=new r.default([new n.default]);t.default=a},function(e,t,f){"use strict";Object.defineProperty(t,"__esModule",{value:!0});const r=f(4),n=f(269);class a extends n.default{constructor(){super(r.MultiFormatTypes.prefix.NORMALIZE_KECCAK256_HASH,r.MultiFormatTypes.HashTypes.TYPE.KECCAK256)}isSerializableObject(e){return super.isSerializableObject(e)&&e.value.length===r.MultiFormatTypes.FORMAT_NORMALIZE_KECCAK256_HASH_LENGTH}isDeserializableString(e){return super.isDeserializableString(e)&&e.length===r.MultiFormatTypes.FORMAT_NORMALIZE_KECCAK256_HASH_LENGTH}}t.default=a},function(e,t,f){"use strict";Object.defineProperty(t,"__esModule",{value:!0});const r=f(107),n=f(686),a=new r.default([new n.default]);t.default=a},function(e,t,f){"use strict";Object.defineProperty(t,"__esModule",{value:!0});const r=f(4),n=f(269);class a extends n.default{constructor(){super(r.MultiFormatTypes.prefix.IDENTITY_ETHEREUM_ADDRESS,r.IdentityTypes.TYPE.ETHEREUM_ADDRESS)}isSerializableObject(e){return super.isSerializableObject(e)&&e.value.length===r.MultiFormatTypes.FORMAT_IDENTITY_ETHEREUM_ADDRESS_LENGTH}isDeserializableString(e){return super.isDeserializableString(e)&&e.length===r.MultiFormatTypes.FORMAT_IDENTITY_ETHEREUM_ADDRESS_LENGTH}}t.default=a},function(e,t,f){"use strict";Object.defineProperty(t,"__esModule",{value:!0});const r=f(107),n=f(688),a=new r.default([new n.default]);t.default=a},function(e,t,f){"use strict";Object.defineProperty(t,"__esModule",{value:!0});const r=f(4),n=f(90);class a extends n.default{constructor(){super(r.MultiFormatTypes.prefix.PLAIN_TEXT,r.MultiFormatTypes.PlainTypes.TYPE.PLAIN_TEXT)}}t.default=a},function(e,t,f){"use strict";Object.defineProperty(t,"__esModule",{value:!0});const r=f(4),n=f(57),a=f(70),i=f(691),o=f(692),s=f(693),c=f(694),u=f(695),d=f(696),l=f(7);t.default={applyActionToRequest:function(e,t,f,p){if(!n.default.isActionVersionSupported(t))throw new Error("action version not supported");const b=e?(0,l.deepCopy)(e):null;let h=null;if(t.data.name===r.RequestLogicTypes.ACTION_NAME.CREATE){if(b)throw new Error("no request is expected at the creation");h=c.default.createRequest(t,f)}else{if(!b)throw new Error("request is expected");a.default.checkRequest(b),t.data.name===r.RequestLogicTypes.ACTION_NAME.ACCEPT&&(h=i.default.applyActionToRequest(t,f,b)),t.data.name===r.RequestLogicTypes.ACTION_NAME.CANCEL&&(h=s.default.applyActionToRequest(t,f,b)),t.data.name===r.RequestLogicTypes.ACTION_NAME.INCREASE_EXPECTED_AMOUNT&&(h=u.default.applyActionToRequest(t,f,b)),t.data.name===r.RequestLogicTypes.ACTION_NAME.REDUCE_EXPECTED_AMOUNT&&(h=d.default.applyActionToRequest(t,f,b)),t.data.name===r.RequestLogicTypes.ACTION_NAME.ADD_EXTENSIONS_DATA&&(h=o.default.applyActionToRequest(t,f,b))}if(!h)throw new Error(`Unknown action ${t.data.name}`);t.data.parameters.extensionsData&&p&&(h.extensions=t.data.parameters.extensionsData.reduce(((e,r)=>p.applyActionToExtensions(e,r,h,n.default.getSignerIdentityFromAction(t),f)),h.extensions));return h},formatAccept:i.default.format,formatAddExtensionsData:o.default.format,formatCancel:s.default.format,formatCreate:c.default.format,formatIncreaseExpectedAmount:u.default.format,formatReduceExpectedAmount:d.default.format,getRequestIdFromAction:function(e){return n.default.getRequestId(e)}}},function(e,t,f){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default={specificationVersion:{current:"2.0.3",exceptions:[]}}},function(e,t,f){"use strict";Object.defineProperty(t,"__esModule",{value:!0});const r=f(4),n=f(57),a=f(70),i=f(58),o=f(7);function s(e,t,f){const n=e.data.parameters;return{actionSigner:f,name:r.RequestLogicTypes.ACTION_NAME.ACCEPT,parameters:{extensionsDataLength:n.extensionsData?n.extensionsData.length:0},timestamp:t}}t.default={applyActionToRequest:function(e,t,f){if(!e.data.parameters.requestId)throw new Error("requestId must be given");if(!f.payer)throw new Error("the request must have a payer");if(f.state!==r.RequestLogicTypes.STATE.CREATED)throw new Error("the request state must be created");const i=n.default.getSignerIdentityFromAction(e);if(a.default.getRoleInRequest(i,f)!==r.RequestLogicTypes.ROLE.PAYER)throw new Error("Signer must be the payer");f.state=r.RequestLogicTypes.STATE.ACCEPTED;let c=(0,o.deepCopy)(f);return c=a.default.pushExtensionsData(c,e.data.parameters.extensionsData),c.events.push(s(e,t,i)),c},format:function(e,t,f){const a={name:r.RequestLogicTypes.ACTION_NAME.ACCEPT,parameters:e,version:i.default.currentVersion};return n.default.createAction(a,t,f)}}},function(e,t,f){"use strict";Object.defineProperty(t,"__esModule",{value:!0});const r=f(4),n=f(57),a=f(70),i=f(58),o=f(7);function s(e,t,f){const n=e.data.parameters;return{actionSigner:f,name:r.RequestLogicTypes.ACTION_NAME.ADD_EXTENSIONS_DATA,parameters:{extensionsDataLength:n.extensionsData?n.extensionsData.length:0},timestamp:t}}t.default={applyActionToRequest:function(e,t,f){if(!e.data.parameters.requestId)throw new Error("requestId must be given");if(!e.data.parameters.extensionsData||0===e.data.parameters.extensionsData.length)throw new Error("extensionsData must be given");const r=n.default.getSignerIdentityFromAction(e);let i=(0,o.deepCopy)(f);return i=a.default.pushExtensionsData(i,e.data.parameters.extensionsData),i.events.push(s(e,t,r)),i},format:function(e,t,f){if(!e.extensionsData||0===e.extensionsData.length)throw new Error("extensionsData must be given");const a={name:r.RequestLogicTypes.ACTION_NAME.ADD_EXTENSIONS_DATA,parameters:e,version:i.default.currentVersion};return n.default.createAction(a,t,f)}}},function(e,t,f){"use strict";Object.defineProperty(t,"__esModule",{value:!0});const r=f(4),n=f(57),a=f(70),i=f(58),o=f(7);function s(e,t,f){const n=e.data.parameters;return{actionSigner:f,name:r.RequestLogicTypes.ACTION_NAME.CANCEL,parameters:{extensionsDataLength:n.extensionsData?n.extensionsData.length:0},timestamp:t}}t.default={applyActionToRequest:function(e,t,f){if(!e.data.parameters.requestId)throw new Error("requestId must be given");const i=n.default.getSignerIdentityFromAction(e),c=a.default.getRoleInRequest(i,f);let u=(0,o.deepCopy)(f);if(u=a.default.pushExtensionsData(u,e.data.parameters.extensionsData),u.events.push(s(e,t,i)),c===r.RequestLogicTypes.ROLE.PAYER){if(f.state!==r.RequestLogicTypes.STATE.CREATED)throw new Error("A payer cancel need to be done on a request with the state created");return u.state=r.RequestLogicTypes.STATE.CANCELED,u}if(c===r.RequestLogicTypes.ROLE.PAYEE){if(f.state===r.RequestLogicTypes.STATE.CANCELED)throw new Error("Cannot cancel an already canceled request");return u.state=r.RequestLogicTypes.STATE.CANCELED,u}throw new Error("Signer must be the payer or the payee")},format:function(e,t,f){const a={name:r.RequestLogicTypes.ACTION_NAME.CANCEL,parameters:e,version:i.default.currentVersion};return n.default.createAction(a,t,f)}}},function(e,t,f){"use strict";Object.defineProperty(t,"__esModule",{value:!0});const r=f(4),n=f(153),a=f(57),i=f(58),o=f(7);function s(e,t,f){const n=e.data.parameters;return{actionSigner:f,name:r.RequestLogicTypes.ACTION_NAME.CREATE,parameters:{expectedAmount:n.expectedAmount,extensionsDataLength:n.extensionsData?n.extensionsData.length:0,isSignedRequest:!1},timestamp:t}}t.default={createRequest:function(e,t){if(!e.data.parameters.payee&&!e.data.parameters.payer)throw new Error("action.parameters.payee or action.parameters.payer must be given");if(e.data.parameters.payee&&(0,o.identityHasError)(e.data.parameters.payee))throw new Error(`payee: ${(0,o.identityHasError)(e.data.parameters.payee)}̀`);if(e.data.parameters.payer&&(0,o.identityHasError)(e.data.parameters.payer))throw new Error(`payer: ${(0,o.identityHasError)(e.data.parameters.payer)}̀`);if(!(0,o.isString)(e.data.parameters.expectedAmount)||!(0,o.isValidAmount)(e.data.parameters.expectedAmount))throw new Error("action.parameters.expectedAmount must be a string representing a positive integer");const f=a.default.getSignerIdentityFromAction(e),i=(0,o.deepCopy)(e.data.parameters);i.extensions={},i.requestId=a.default.getRequestId(e),i.version=a.default.getVersionFromAction(e),i.events=[s(e,t,f)],n.lt(e.data.version,"2.0.2")&&(i.currency=function(e){switch(e){case"BTC":return{network:"mainnet",type:r.RequestLogicTypes.CURRENCY.BTC,value:"BTC"};case"ETH":return{network:"mainnet",type:r.RequestLogicTypes.CURRENCY.ETH,value:"ETH"};case"EUR":return{type:r.RequestLogicTypes.CURRENCY.ISO4217,value:"EUR"};case"USD":return{type:r.RequestLogicTypes.CURRENCY.ISO4217,value:"USD"};case"DAI":return{type:r.RequestLogicTypes.CURRENCY.ERC20,value:"0x89d24A6b4CcB1B6fAA2625fE562bDD9a23260359"};default:throw new Error("Unsupported currency when getting request from transactions.")}}(e.data.parameters.currency));const c=a.default.getRoleInAction(f,e);if(c===r.RequestLogicTypes.ROLE.PAYEE)return i.state=r.RequestLogicTypes.STATE.CREATED,i.creator=e.data.parameters.payee,i;if(c===r.RequestLogicTypes.ROLE.PAYER)return i.state=r.RequestLogicTypes.STATE.ACCEPTED,i.creator=e.data.parameters.payer,i;throw new Error("Signer must be the payee or the payer")},format:function(e,t,f){if(!e.payee&&!e.payer)throw new Error("payee or PayerId must be given");if(!(0,o.isValidAmount)(e.expectedAmount))throw new Error("expectedAmount must be a positive integer");if(e.payee&&(0,o.identityHasError)(e.payee))throw new Error(`payee: ${(0,o.identityHasError)(e.payee)}̀`);if(e.payer&&(0,o.identityHasError)(e.payer))throw new Error(`payer: ${(0,o.identityHasError)(e.payer)}̀`);e.timestamp||(e.timestamp=(0,o.getCurrentTimestampInSecond)());e.expectedAmount=e.expectedAmount.toString();const n=i.default.currentVersion,s={name:r.RequestLogicTypes.ACTION_NAME.CREATE,parameters:e,version:n},c=a.default.getRoleInUnsignedAction(t,s);if(c!==r.RequestLogicTypes.ROLE.PAYEE&&c!==r.RequestLogicTypes.ROLE.PAYER)throw new Error("Signer must be the payee or the payer");return a.default.createAction(s,t,f)}}},function(e,t,f){"use strict";Object.defineProperty(t,"__esModule",{value:!0});const r=f(4),n=f(57),a=f(70),i=f(58),o=f(7);function s(e,t,f){const n=e.data.parameters;return{actionSigner:f,name:r.RequestLogicTypes.ACTION_NAME.INCREASE_EXPECTED_AMOUNT,parameters:{deltaAmount:e.data.parameters.deltaAmount,extensionsDataLength:n.extensionsData?n.extensionsData.length:0},timestamp:t}}t.default={applyActionToRequest:function(e,t,f){if(!e.data.parameters.requestId)throw new Error("requestId must be given");if(!f.payer)throw new Error("the request must have a payer");if(!e.data.parameters.deltaAmount)throw new Error("deltaAmount must be given");if(!(0,o.isValidAmount)(e.data.parameters.deltaAmount))throw new Error("deltaAmount must be a string representing a positive integer");const i=n.default.getSignerIdentityFromAction(e),c=a.default.getRoleInRequest(i,f);let u=(0,o.deepCopy)(f);if(u=a.default.pushExtensionsData(u,e.data.parameters.extensionsData),u.events.push(s(e,t,i)),c===r.RequestLogicTypes.ROLE.PAYER){if(f.state===r.RequestLogicTypes.STATE.CANCELED)throw new Error("the request must not be canceled");return u.expectedAmount=(0,o.addAmount)(f.expectedAmount,e.data.parameters.deltaAmount),u}throw new Error("signer must be the payer")},format:function(e,t,f){if(!(0,o.isValidAmount)(e.deltaAmount))throw new Error("deltaAmount must be a string representing a positive integer");const a={name:r.RequestLogicTypes.ACTION_NAME.INCREASE_EXPECTED_AMOUNT,parameters:e,version:i.default.currentVersion};return n.default.createAction(a,t,f)}}},function(e,t,f){"use strict";Object.defineProperty(t,"__esModule",{value:!0});const r=f(4),n=f(57),a=f(70),i=f(58),o=f(7);function s(e,t,f){const n=e.data.parameters;return{actionSigner:f,name:r.RequestLogicTypes.ACTION_NAME.REDUCE_EXPECTED_AMOUNT,parameters:{deltaAmount:e.data.parameters.deltaAmount,extensionsDataLength:n.extensionsData?n.extensionsData.length:0},timestamp:t}}t.default={applyActionToRequest:function(e,t,f){if(!e.data.parameters.requestId)throw new Error("requestId must be given");if(!f.payee)throw new Error("the request must have a payee");if(!e.data.parameters.deltaAmount)throw new Error("deltaAmount must be given");if(!(0,o.isValidAmount)(e.data.parameters.deltaAmount))throw new Error("deltaAmount must be a string representing a positive integer");const i=n.default.getSignerIdentityFromAction(e),c=a.default.getRoleInRequest(i,f);let u=(0,o.deepCopy)(f);if(u=a.default.pushExtensionsData(u,e.data.parameters.extensionsData),u.events.push(s(e,t,i)),c===r.RequestLogicTypes.ROLE.PAYEE){if(f.state===r.RequestLogicTypes.STATE.CANCELED)throw new Error("the request must not be canceled");return u.expectedAmount=(0,o.reduceAmount)(f.expectedAmount,e.data.parameters.deltaAmount),u}throw new Error("signer must be the payee")},format:function(e,t,f){if(!(0,o.isValidAmount)(e.deltaAmount))throw new Error("deltaAmount must be a string representing a positive integer");const a={name:r.RequestLogicTypes.ACTION_NAME.REDUCE_EXPECTED_AMOUNT,parameters:e,version:i.default.currentVersion};return n.default.createAction(a,t,f)}}},function(e,t,f){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.TransactionManager=void 0;var r=f(698);Object.defineProperty(t,"TransactionManager",{enumerable:!0,get:function(){return r.default}})},function(e,t,f){"use strict";Object.defineProperty(t,"__esModule",{value:!0});const r=f(71),n=f(43),a=f(4),i=f(7),o=f(28),s=f(699),c=f(703);t.default=class{constructor(e,t){this.dataAccess=e,this.channelParser=new s.default(t)}persistTransaction(e,t,f=[],s=[]){return r.__awaiter(this,void 0,void 0,(function*(){let r,u={};const d=n.default.serialize((0,i.normalizeKeccak256Hash)(JSON.parse(e)));if(t===d)0===s.length?u=yield c.default.createClearTransaction(e):(u=yield c.default.createEncryptedTransactionInNewChannel(e,s),r=u.encryptionMethod);else{const f=yield this.dataAccess.getTransactionsByChannelId(t),{channelKey:n,channelType:i,encryptionMethod:o}=yield this.channelParser.getChannelTypeAndChannelKey(t,f.result.transactions);if(i===a.TransactionTypes.ChannelType.UNKNOWN)throw new Error(`Impossible to retrieve the channel: ${t}`);if(i===a.TransactionTypes.ChannelType.CLEAR&&(u=yield c.default.createClearTransaction(e)),i===a.TransactionTypes.ChannelType.ENCRYPTED){if(0!==s.length)throw new Error("Impossible to add new stakeholder to an existing channel");if(!n)throw new Error(`Impossible to decrypt the channel key of: ${t}`);u=yield c.default.createEncryptedTransaction(e,n),r=o}}const l=yield this.dataAccess.persistTransaction(u,t,f.concat([d])),p=Object.assign(new o.EventEmitter,{meta:{dataAccessMeta:l.meta,encryptionMethod:r},result:{}});return l.on("confirmed",(e=>{const t={meta:{dataAccessMeta:e.meta,encryptionMethod:r},result:{}};p.emit("confirmed",t)})).on("error",(e=>{p.emit("error",e)})),p}))}getTransactionsByChannelId(e,t){return r.__awaiter(this,void 0,void 0,(function*(){const f=yield this.dataAccess.getTransactionsByChannelId(e,t),{transactions:r,ignoredTransactions:n,encryptionMethod:a}=yield this.channelParser.decryptAndCleanChannel(e,f.result.transactions),i={dataAccessMeta:f.meta,encryptionMethod:a,ignoredTransactions:n};return a||delete i.encryptionMethod,{meta:i,result:{transactions:r}}}))}getChannelsByTopic(e,t){return r.__awaiter(this,void 0,void 0,(function*(){const f=yield this.dataAccess.getChannelsByTopic(e,t);return this.parseMultipleChannels(f)}))}getChannelsByMultipleTopics(e,t){return r.__awaiter(this,void 0,void 0,(function*(){const f=yield this.dataAccess.getChannelsByMultipleTopics(e,t);return this.parseMultipleChannels(f)}))}parseMultipleChannels(e){return r.__awaiter(this,void 0,void 0,(function*(){const t=yield Object.keys(e.result.transactions).reduce(((t,f)=>r.__awaiter(this,void 0,void 0,(function*(){const r=yield this.channelParser.decryptAndCleanChannel(f,e.result.transactions[f]),n=yield t;return n.transactions[f]=r.transactions,n.ignoredTransactions[f]=r.ignoredTransactions,n}))),Promise.resolve({transactions:{},ignoredTransactions:{}}));return{meta:{dataAccessMeta:e.meta,ignoredTransactions:t.ignoredTransactions},result:{transactions:t.transactions}}}))}}},function(e,t,f){"use strict";Object.defineProperty(t,"__esModule",{value:!0});const r=f(71),n=f(4),a=f(700);t.default=class{constructor(e){this.transactionParser=new a.default(e)}decryptAndCleanChannel(e,t){return r.__awaiter(this,void 0,void 0,(function*(){let f,a,i=n.TransactionTypes.ChannelType.UNKNOWN;const o=yield t.reduce(((t,o)=>r.__awaiter(this,void 0,void 0,(function*(){const r=yield t;let s;try{s=yield this.transactionParser.parsePersistedTransaction(o.transaction,i,f)}catch(u){return r.concat([{ignored:{reason:u.message,transaction:o},valid:null}])}const c=s.transaction,u=yield c.getError();if(""!==u)return r.concat([{ignored:{reason:u,transaction:o},valid:null}]);if(i===n.TransactionTypes.ChannelType.UNKNOWN){if((yield c.getHash())!==e)return r.concat([{ignored:{reason:"as first transaction, the hash of the transaction do not match the channelId",transaction:o},valid:null}]);i=s.channelKey?n.TransactionTypes.ChannelType.ENCRYPTED:n.TransactionTypes.ChannelType.CLEAR,a=s.encryptionMethod,f=s.channelKey}const d=yield c.getData();return r.concat([{ignored:null,valid:{state:o.state,timestamp:o.timestamp,transaction:{data:d}}}])}))),Promise.resolve([])),s=o.map((e=>e.ignored)),c=o.map((e=>e.valid));return{encryptionMethod:a,ignoredTransactions:s,transactions:c}}))}getChannelTypeAndChannelKey(e,t){return r.__awaiter(this,void 0,void 0,(function*(){return yield t.reduce(((t,f)=>r.__awaiter(this,void 0,void 0,(function*(){const r=yield t;if(r.channelType!==n.TransactionTypes.ChannelType.UNKNOWN)return r;let a;try{a=yield this.transactionParser.parsePersistedTransaction(f.transaction,n.TransactionTypes.ChannelType.UNKNOWN)}catch(e){return r}const i=a.transaction;if(""!==(yield i.getError()))return r;return(yield i.getHash())!==e||(r.channelType=a.channelKey?n.TransactionTypes.ChannelType.ENCRYPTED:n.TransactionTypes.ChannelType.CLEAR,r.channelKey=a.channelKey,r.encryptionMethod=a.encryptionMethod),r}))),Promise.resolve({channelKey:void 0,channelType:n.TransactionTypes.ChannelType.UNKNOWN,encryptionMethod:void 0}))}))}}},function(e,t,f){"use strict";Object.defineProperty(t,"__esModule",{value:!0});const r=f(71),n=f(43),a=f(4),i=f(701),o=f(702);t.default=class{constructor(e){this.decryptionProvider=e}parsePersistedTransaction(e,t,f){return r.__awaiter(this,void 0,void 0,(function*(){if(e.data){if(t===a.TransactionTypes.ChannelType.ENCRYPTED)throw new Error("Clear transactions are not allowed in encrypted channel");if(e.encryptedData||e.encryptionMethod||e.keys)throw new Error('only the property "data" is allowed for clear transaction');return{transaction:new i.default(e.data)}}if(e.encryptedData){if(t===a.TransactionTypes.ChannelType.CLEAR)throw new Error("Encrypted transactions are not allowed in clear channel");if(f){if(e.encryptionMethod||e.keys)throw new Error('the properties "encryptionMethod" and "keys" have been already given for this channel')}else{if(!e.encryptionMethod||!e.keys)throw new Error('the properties "encryptionMethod" and "keys" are needed to compute the channel key');f=yield this.decryptChannelKey(e.keys,e.encryptionMethod)}return{channelKey:f,encryptionMethod:e.encryptionMethod,transaction:new o.default(e.encryptedData,f)}}throw new Error('Transaction must have a property "data" or "encryptedData"')}))}decryptChannelKey(e,t){return r.__awaiter(this,void 0,void 0,(function*(){if(!this.decryptionProvider)throw new Error("No decryption provider given");let f;if(t===`${a.EncryptionTypes.METHOD.ECIES}-${a.EncryptionTypes.METHOD.AES256_CBC}`)f=a.EncryptionTypes.METHOD.AES256_CBC;else{if(t!==`${a.EncryptionTypes.METHOD.ECIES}-${a.EncryptionTypes.METHOD.AES256_GCM}`)throw new Error(`Encryption method not supported: ${t}`);f=a.EncryptionTypes.METHOD.AES256_GCM}let i="";const o=yield Object.keys(e||{}).reduce(((t,f)=>r.__awaiter(this,void 0,void 0,(function*(){let r=yield t;if(e&&""===r){let t;try{t=n.default.deserialize(f)}catch(e){}if(t&&t.type===a.IdentityTypes.TYPE.ETHEREUM_ADDRESS&&this.decryptionProvider&&(yield this.decryptionProvider.isIdentityRegistered(t)))try{const a=n.default.deserialize(e[f]);r=yield this.decryptionProvider.decrypt(a,t)}catch(e){i=e.message}}return r}))),Promise.resolve(""));if(""===o)throw new Error(`Impossible to decrypt the channel key from this transaction (${i})`);return{key:o,method:f}}))}}},function(e,t,f){"use strict";Object.defineProperty(t,"__esModule",{value:!0});const r=f(71),n=f(43),a=f(7);t.default=class{constructor(e){this.data=e}getData(){return r.__awaiter(this,void 0,void 0,(function*(){return this.data}))}getHash(){return r.__awaiter(this,void 0,void 0,(function*(){return n.default.serialize((0,a.normalizeKeccak256Hash)(JSON.parse(this.data)))}))}getError(){return r.__awaiter(this,void 0,void 0,(function*(){try{return JSON.parse(this.data),""}catch(e){return"Impossible to JSON parse the transaction"}}))}}},function(e,t,f){"use strict";Object.defineProperty(t,"__esModule",{value:!0});const r=f(71),n=f(43),a=f(7);t.default=class{constructor(e,t){this.data="",this.dataHashSerialized="",this.persistedData=e,this.channelKey=t}getData(){return r.__awaiter(this,void 0,void 0,(function*(){if(""===this.data)try{const e=n.default.deserialize(this.persistedData);this.data=yield(0,a.decrypt)(e,this.channelKey)}catch(e){throw new Error("Impossible to decrypt the transaction")}return this.data}))}getHash(){return r.__awaiter(this,void 0,void 0,(function*(){if(""===this.dataHashSerialized){const e=yield this.getData();try{const t=(0,a.normalizeKeccak256Hash)(JSON.parse(e));this.dataHashSerialized=n.default.serialize(t)}catch(e){throw new Error("Impossible to JSON parse the decrypted transaction data")}}return this.dataHashSerialized}))}getError(){return r.__awaiter(this,void 0,void 0,(function*(){let e="";try{e=yield this.getData()}catch(e){return e.message}try{JSON.parse(e)}catch(e){return"Impossible to JSON parse the decrypted transaction data"}return""}))}}},function(e,t,f){"use strict";Object.defineProperty(t,"__esModule",{value:!0});const r=f(71),n=f(43),a=f(4),i=f(7);t.default=class{static createClearTransaction(e){return r.__awaiter(this,void 0,void 0,(function*(){try{JSON.parse(e)}catch(e){throw new Error("Data not parsable")}return{data:e}}))}static createEncryptedTransactionInNewChannel(e,t){return r.__awaiter(this,void 0,void 0,(function*(){const f=`${a.EncryptionTypes.METHOD.ECIES}-${a.EncryptionTypes.METHOD.AES256_GCM}`,o=yield(0,i.generate32BufferKey)(),s=yield(0,i.encrypt)(e,{key:o,method:a.EncryptionTypes.METHOD.AES256_GCM});try{JSON.parse(e)}catch(e){throw new Error("Data not parsable")}if(!t.every((e=>e.method===a.EncryptionTypes.METHOD.ECIES)))throw new Error(`encryptionParams method must be all: ${a.EncryptionTypes.METHOD.ECIES}`);const c=t.map((e=>r.__awaiter(this,void 0,void 0,(function*(){const t=yield(0,i.encrypt)(o,e),f=(0,i.getIdentityFromEncryptionParams)(e);return{encryptedKey:t,multiFormattedIdentity:n.default.serialize(f)}})))),u=(yield Promise.all(c)).reduce(((e,t)=>{const f=n.default.serialize(t.encryptedKey);return e[t.multiFormattedIdentity]=f,e}),{});return{encryptedData:n.default.serialize(s),keys:u,encryptionMethod:f}}))}static createEncryptedTransaction(e,t){return r.__awaiter(this,void 0,void 0,(function*(){if(t.method!==a.EncryptionTypes.METHOD.AES256_GCM)throw new Error(`encryption method not supported for the channel key: ${t.method}`);const f=yield(0,i.encrypt)(e,t);try{JSON.parse(e)}catch(e){throw new Error("Data not parsable")}return{encryptedData:n.default.serialize(f)}}))}}},function(e,t,f){"use strict";Object.defineProperty(t,"__esModule",{value:!0});const r=f(705),n=f(4).ExtensionTypes.ID.CONTENT_DATA;t.default=class{constructor(e){this.extension=e.extensions.contentData}createExtensionsDataForCreation(e){if(r.default.isKnownFormat(e)){const{valid:t,errors:f}=r.default.validate(e);if(!t){const e=f.map((e=>JSON.stringify(e))).join("\n");throw new Error(`The content data seem to follow a request format but contains errors: ${e}`)}}return this.extension.createCreationAction({content:e})}getContent(e){return e&&e.extensions&&e.extensions[n]?e.extensions[n].values.content:null}}},function(e,t,f){"use strict";Object.defineProperty(t,"__esModule",{value:!0});const r=f(271),n=f(706),a=f(740),i=f(741),o=f(742);t.default={validate(e){var t;const f=(new n).addMetaSchema(a).addSchema(i);if(!e.meta)return{valid:!1,errors:[{message:"meta not found"}]};if(!e.meta.format)return{valid:!1,errors:[{message:"meta.format not found"}]};if(!e.meta.version)return{valid:!1,errors:[{message:"meta.version not found"}]};const r=null===(t=o.default[e.meta.format])||void 0===t?void 0:t[e.meta.version];if(!r)return{valid:!1,errors:[{message:"format not found"}]};const s=f.compile(r);return s(e)?{valid:!0}:{valid:!1,errors:s.errors}},isKnownFormat:e=>!!e.meta&&"rnf_invoice"===e.meta.format},r.__exportStar(f(746),t)},function(e,t,f){"use strict";var r=f(707),n=f(154),a=f(711),i=f(272),o=f(273),s=f(712),c=f(713),u=f(734),d=f(72);e.exports=y,y.prototype.validate=function(e,t){var f;if("string"==typeof e){if(!(f=this.getSchema(e)))throw new Error('no schema with key or ref "'+e+'"')}else{var r=this._addSchema(e);f=r.validate||this._compile(r)}var n=f(t);!0!==f.$async&&(this.errors=f.errors);return n},y.prototype.compile=function(e,t){var f=this._addSchema(e,void 0,t);return f.validate||this._compile(f)},y.prototype.addSchema=function(e,t,f,r){if(Array.isArray(e)){for(var a=0;a<e.length;a++)this.addSchema(e[a],void 0,f,r);return this}var i=this._getId(e);if(void 0!==i&&"string"!=typeof i)throw new Error("schema id must be string");return A(this,t=n.normalizeId(t||i)),this._schemas[t]=this._addSchema(e,f,r,!0),this},y.prototype.addMetaSchema=function(e,t,f){return this.addSchema(e,t,f,!0),this},y.prototype.validateSchema=function(e,t){var f=e.$schema;if(void 0!==f&&"string"!=typeof f)throw new Error("$schema must be a string");if(!(f=f||this._opts.defaultMeta||function(e){var t=e._opts.meta;return e._opts.defaultMeta="object"==typeof t?e._getId(t)||t:e.getSchema(b)?b:void 0,e._opts.defaultMeta}(this)))return this.logger.warn("meta-schema not available"),this.errors=null,!0;var r=this.validate(f,e);if(!r&&t){var n="schema is invalid: "+this.errorsText();if("log"!=this._opts.validateSchema)throw new Error(n);this.logger.error(n)}return r},y.prototype.getSchema=function(e){var t=g(this,e);switch(typeof t){case"object":return t.validate||this._compile(t);case"string":return this.getSchema(t);case"undefined":return function(e,t){var f=n.schema.call(e,{schema:{}},t);if(f){var a=f.schema,o=f.root,s=f.baseId,c=r.call(e,a,o,void 0,s);return e._fragments[t]=new i({ref:t,fragment:!0,schema:a,root:o,baseId:s,validate:c}),c}}(this,e)}},y.prototype.removeSchema=function(e){if(e instanceof RegExp)return v(this,this._schemas,e),v(this,this._refs,e),this;switch(typeof e){case"undefined":return v(this,this._schemas),v(this,this._refs),this._cache.clear(),this;case"string":var t=g(this,e);return t&&this._cache.del(t.cacheKey),delete this._schemas[e],delete this._refs[e],this;case"object":var f=this._opts.serialize,r=f?f(e):e;this._cache.del(r);var a=this._getId(e);a&&(a=n.normalizeId(a),delete this._schemas[a],delete this._refs[a])}return this},y.prototype.addFormat=function(e,t){"string"==typeof t&&(t=new RegExp(t));return this._formats[e]=t,this},y.prototype.errorsText=function(e,t){if(!(e=e||this.errors))return"No errors";for(var f=void 0===(t=t||{}).separator?", ":t.separator,r=void 0===t.dataVar?"data":t.dataVar,n="",a=0;a<e.length;a++){var i=e[a];i&&(n+=r+i.dataPath+" "+i.message+f)}return n.slice(0,-f.length)},y.prototype._addSchema=function(e,t,f,r){if("object"!=typeof e&&"boolean"!=typeof e)throw new Error("schema should be object or boolean");var a=this._opts.serialize,o=a?a(e):e,s=this._cache.get(o);if(s)return s;r=r||!1!==this._opts.addUsedSchema;var c=n.normalizeId(this._getId(e));c&&r&&A(this,c);var u,d=!1!==this._opts.validateSchema&&!t;d&&!(u=c&&c==n.normalizeId(e.$schema))&&this.validateSchema(e,!0);var l=n.ids.call(this,e),p=new i({id:c,schema:e,localRefs:l,cacheKey:o,meta:f});"#"!=c[0]&&r&&(this._refs[c]=p);this._cache.put(o,p),d&&u&&this.validateSchema(e,!0);return p},y.prototype._compile=function(e,t){if(e.compiling)return e.validate=a,a.schema=e.schema,a.errors=null,a.root=t||a,!0===e.schema.$async&&(a.$async=!0),a;var f,n;e.compiling=!0,e.meta&&(f=this._opts,this._opts=this._metaOpts);try{n=r.call(this,e.schema,t,e.localRefs)}catch(t){throw delete e.validate,t}finally{e.compiling=!1,e.meta&&(this._opts=f)}return e.validate=n,e.refs=n.refs,e.refVal=n.refVal,e.root=n.root,n;function a(){var t=e.validate,f=t.apply(this,arguments);return a.errors=t.errors,f}},y.prototype.compileAsync=f(735);var l=f(736);y.prototype.addKeyword=l.add,y.prototype.getKeyword=l.get,y.prototype.removeKeyword=l.remove,y.prototype.validateKeyword=l.validate;var p=f(156);y.ValidationError=p.Validation,y.MissingRefError=p.MissingRef,y.$dataMetaSchema=u;var b="http://json-schema.org/draft-07/schema",h=["removeAdditional","useDefaults","coerceTypes","strictDefaults"],m=["/properties"];function y(e){if(!(this instanceof y))return new y(e);e=this._opts=d.copy(e)||{},function(e){var t=e._opts.logger;if(!1===t)e.logger={log:T,warn:T,error:T};else{if(void 0===t&&(t=console),!("object"==typeof t&&t.log&&t.warn&&t.error))throw new Error("logger must implement log, warn and error methods");e.logger=t}}(this),this._schemas={},this._refs={},this._fragments={},this._formats=s(e.format),this._cache=e.cache||new a,this._loadingSchemas={},this._compilations=[],this.RULES=c(),this._getId=function(e){switch(e.schemaId){case"auto":return E;case"id":return _;default:return w}}(e),e.loopRequired=e.loopRequired||1/0,"property"==e.errorDataPath&&(e._errorDataPathProperty=!0),void 0===e.serialize&&(e.serialize=o),this._metaOpts=function(e){for(var t=d.copy(e._opts),f=0;f<h.length;f++)delete t[h[f]];return t}(this),e.formats&&function(e){for(var t in e._opts.formats){var f=e._opts.formats[t];e.addFormat(t,f)}}(this),e.keywords&&function(e){for(var t in e._opts.keywords){var f=e._opts.keywords[t];e.addKeyword(t,f)}}(this),function(e){var t;e._opts.$data&&(t=f(739),e.addMetaSchema(t,t.$id,!0));if(!1===e._opts.meta)return;var r=f(279);e._opts.$data&&(r=u(r,m));e.addMetaSchema(r,b,!0),e._refs["http://json-schema.org/schema"]=b}(this),"object"==typeof e.meta&&this.addMetaSchema(e.meta),e.nullable&&this.addKeyword("nullable",{metaSchema:{type:"boolean"}}),function(e){var t=e._opts.schemas;if(!t)return;if(Array.isArray(t))e.addSchema(t);else for(var f in t)e.addSchema(t[f],f)}(this)}function g(e,t){return t=n.normalizeId(t),e._schemas[t]||e._refs[t]||e._fragments[t]}function v(e,t,f){for(var r in t){var n=t[r];n.meta||f&&!f.test(r)||(e._cache.del(n.cacheKey),delete t[r])}}function _(e){return e.$id&&this.logger.warn("schema $id ignored",e.$id),e.id}function w(e){return e.id&&this.logger.warn("schema id ignored",e.id),e.$id}function E(e){if(e.$id&&e.id&&e.$id!=e.id)throw new Error("schema $id is different from id");return e.$id||e.id}function A(e,t){if(e._schemas[t]||e._refs[t])throw new Error('schema with key or id "'+t+'" already exists')}function T(){}},function(e,t,f){"use strict";var r=f(154),n=f(72),a=f(156),i=f(273),o=f(274),s=n.ucs2length,c=f(155),u=a.Validation;function d(e,t,f){var r=p.call(this,e,t,f);return r>=0?{index:r,compiling:!0}:(r=this._compilations.length,this._compilations[r]={schema:e,root:t,baseId:f},{index:r,compiling:!1})}function l(e,t,f){var r=p.call(this,e,t,f);r>=0&&this._compilations.splice(r,1)}function p(e,t,f){for(var r=0;r<this._compilations.length;r++){var n=this._compilations[r];if(n.schema==e&&n.root==t&&n.baseId==f)return r}return-1}function b(e,t){return"var pattern"+e+" = new RegExp("+n.toQuotedString(t[e])+");"}function h(e){return"var default"+e+" = defaults["+e+"];"}function m(e,t){return void 0===t[e]?"":"var refVal"+e+" = refVal["+e+"];"}function y(e){return"var customRule"+e+" = customRules["+e+"];"}function g(e,t){if(!e.length)return"";for(var f="",r=0;r<e.length;r++)f+=t(r,e);return f}e.exports=function e(t,f,p,v){var _=this,w=this._opts,E=[void 0],A={},T=[],x={},S=[],k={},C=[];f=f||{schema:t,refVal:E,refs:A};var O=d.call(this,t,f,v),P=this._compilations[O.index];if(O.compiling)return P.callValidate=function e(){var t=P.validate,f=t.apply(this,arguments);return e.errors=t.errors,f};var R=this._formats,M=this.RULES;try{var N=B(t,f,p,v);P.validate=N;var D=P.callValidate;return D&&(D.schema=N.schema,D.errors=null,D.refs=N.refs,D.refVal=N.refVal,D.root=N.root,D.$async=N.$async,w.sourceCode&&(D.source=N.source)),N}finally{l.call(this,t,f,v)}function B(t,i,d,l){var p=!i||i&&i.schema==t;if(i.schema!=f.schema)return e.call(_,t,i,d,l);var v,x=!0===t.$async,k=o({isTop:!0,schema:t,isRoot:p,baseId:l,root:i,schemaPath:"",errSchemaPath:"#",errorPath:'""',MissingRefError:a.MissingRef,RULES:M,validate:o,util:n,resolve:r,resolveRef:I,usePattern:L,useDefault:U,useCustomRule:q,opts:w,formats:R,logger:_.logger,self:_});k=g(E,m)+g(T,b)+g(S,h)+g(C,y)+k,w.processCode&&(k=w.processCode(k,t));try{v=new Function("self","RULES","formats","root","refVal","defaults","customRules","equal","ucs2length","ValidationError",k)(_,M,R,f,E,S,C,c,s,u),E[0]=v}catch(e){throw _.logger.error("Error compiling schema, function code:",k),e}return v.schema=t,v.errors=null,v.refs=A,v.refVal=E,v.root=p?v:i,x&&(v.$async=!0),!0===w.sourceCode&&(v.source={code:k,patterns:T,defaults:S}),v}function I(t,n,a){n=r.url(t,n);var i,o,s=A[n];if(void 0!==s)return j(i=E[s],o="refVal["+s+"]");if(!a&&f.refs){var c=f.refs[n];if(void 0!==c)return j(i=f.refVal[c],o=F(n,i))}o=F(n);var u=r.call(_,B,f,n);if(void 0===u){var d=p&&p[n];d&&(u=r.inlineRef(d,w.inlineRefs)?d:e.call(_,d,f,p,t))}if(void 0!==u)return function(e,t){var f=A[e];E[f]=t}(n,u),j(u,o);!function(e){delete A[e]}(n)}function F(e,t){var f=E.length;return E[f]=t,A[e]=f,"refVal"+f}function j(e,t){return"object"==typeof e||"boolean"==typeof e?{code:t,schema:e,inline:!0}:{code:t,$async:e&&!!e.$async}}function L(e){var t=x[e];return void 0===t&&(t=x[e]=T.length,T[t]=e),"pattern"+t}function U(e){switch(typeof e){case"boolean":case"number":return""+e;case"string":return n.toQuotedString(e);case"object":if(null===e)return"null";var t=i(e),f=k[t];return void 0===f&&(f=k[t]=S.length,S[f]=e),"default"+f}}function q(e,t,f,r){if(!1!==_._opts.validateSchema){var n=e.definition.dependencies;if(n&&!n.every((function(e){return Object.prototype.hasOwnProperty.call(f,e)})))throw new Error("parent schema must have all required keywords: "+n.join(","));var a=e.definition.validateSchema;if(a)if(!a(t)){var i="keyword schema is invalid: "+_.errorsText(a.errors);if("log"!=_._opts.validateSchema)throw new Error(i);_.logger.error(i)}}var o,s=e.definition.compile,c=e.definition.inline,u=e.definition.macro;if(s)o=s.call(_,t,f,r);else if(u)o=u.call(_,t,f,r),!1!==w.validateSchema&&_.validateSchema(o,!0);else if(c)o=c.call(_,r,e.keyword,t,f);else if(!(o=e.definition.validate))return;if(void 0===o)throw new Error('custom keyword "'+e.keyword+'"failed to compile');var d=C.length;return C[d]=o,{code:"customRule"+d,validate:o}}}},function(e,t,f){!function(e){"use strict";function t(){for(var e=arguments.length,t=Array(e),f=0;f<e;f++)t[f]=arguments[f];if(t.length>1){t[0]=t[0].slice(0,-1);for(var r=t.length-1,n=1;n<r;++n)t[n]=t[n].slice(1,-1);return t[r]=t[r].slice(1),t.join("")}return t[0]}function f(e){return"(?:"+e+")"}function r(e){return void 0===e?"undefined":null===e?"null":Object.prototype.toString.call(e).split(" ").pop().split("]").shift().toLowerCase()}function n(e){return e.toUpperCase()}function a(e){return null!=e?e instanceof Array?e:"number"!=typeof e.length||e.split||e.setInterval||e.call?[e]:Array.prototype.slice.call(e):[]}function i(e,t){var f=e;if(t)for(var r in t)f[r]=t[r];return f}function o(e){var r="[A-Za-z]",n="[0-9]",a=t(n,"[A-Fa-f]"),i=f(f("%[EFef]"+a+"%"+a+a+"%"+a+a)+"|"+f("%[89A-Fa-f]"+a+"%"+a+a)+"|"+f("%"+a+a)),o="[\\!\\$\\&\\'\\(\\)\\*\\+\\,\\;\\=]",s=t("[\\:\\/\\?\\#\\[\\]\\@]",o),c=e?"[\\uE000-\\uF8FF]":"[]",u=t(r,n,"[\\-\\.\\_\\~]",e?"[\\xA0-\\u200D\\u2010-\\u2029\\u202F-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFEF]":"[]"),d=f(r+t(r,n,"[\\+\\-\\.]")+"*"),l=f(f(i+"|"+t(u,o,"[\\:]"))+"*"),p=(f(f("25[0-5]")+"|"+f("2[0-4]"+n)+"|"+f("1"+n+n)+"|"+f("[1-9]"+n)+"|"+n),f(f("25[0-5]")+"|"+f("2[0-4]"+n)+"|"+f("1"+n+n)+"|"+f("0?[1-9]"+n)+"|0?0?"+n)),b=f(p+"\\."+p+"\\."+p+"\\."+p),h=f(a+"{1,4}"),m=f(f(h+"\\:"+h)+"|"+b),y=f(f(h+"\\:")+"{6}"+m),g=f("\\:\\:"+f(h+"\\:")+"{5}"+m),v=f(f(h)+"?\\:\\:"+f(h+"\\:")+"{4}"+m),_=f(f(f(h+"\\:")+"{0,1}"+h)+"?\\:\\:"+f(h+"\\:")+"{3}"+m),w=f(f(f(h+"\\:")+"{0,2}"+h)+"?\\:\\:"+f(h+"\\:")+"{2}"+m),E=f(f(f(h+"\\:")+"{0,3}"+h)+"?\\:\\:"+h+"\\:"+m),A=f(f(f(h+"\\:")+"{0,4}"+h)+"?\\:\\:"+m),T=f(f(f(h+"\\:")+"{0,5}"+h)+"?\\:\\:"+h),x=f(f(f(h+"\\:")+"{0,6}"+h)+"?\\:\\:"),S=f([y,g,v,_,w,E,A,T,x].join("|")),k=f(f(u+"|"+i)+"+"),C=(f(S+"\\%25"+k),f(S+f("\\%25|\\%(?!"+a+"{2})")+k)),O=f("[vV]"+a+"+\\."+t(u,o,"[\\:]")+"+"),P=f("\\["+f(C+"|"+S+"|"+O)+"\\]"),R=f(f(i+"|"+t(u,o))+"*"),M=f(P+"|"+b+"(?!"+R+")|"+R),N=f(n+"*"),D=f(f(l+"@")+"?"+M+f("\\:"+N)+"?"),B=f(i+"|"+t(u,o,"[\\:\\@]")),I=f(B+"*"),F=f(B+"+"),j=f(f(i+"|"+t(u,o,"[\\@]"))+"+"),L=f(f("\\/"+I)+"*"),U=f("\\/"+f(F+L)+"?"),q=f(j+L),H=f(F+L),z="(?!"+B+")",V=(f(L+"|"+U+"|"+q+"|"+H+"|"+z),f(f(B+"|"+t("[\\/\\?]",c))+"*")),K=f(f(B+"|[\\/\\?]")+"*"),G=f(f("\\/\\/"+D+L)+"|"+U+"|"+H+"|"+z),W=f(d+"\\:"+G+f("\\?"+V)+"?"+f("\\#"+K)+"?"),$=f(f("\\/\\/"+D+L)+"|"+U+"|"+q+"|"+z),Y=f($+f("\\?"+V)+"?"+f("\\#"+K)+"?");return f(W+"|"+Y),f(d+"\\:"+G+f("\\?"+V)+"?"),f(f("\\/\\/("+f("("+l+")@")+"?("+M+")"+f("\\:("+N+")")+"?)")+"?("+L+"|"+U+"|"+H+"|"+z+")"),f("\\?("+V+")"),f("\\#("+K+")"),f(f("\\/\\/("+f("("+l+")@")+"?("+M+")"+f("\\:("+N+")")+"?)")+"?("+L+"|"+U+"|"+q+"|"+z+")"),f("\\?("+V+")"),f("\\#("+K+")"),f(f("\\/\\/("+f("("+l+")@")+"?("+M+")"+f("\\:("+N+")")+"?)")+"?("+L+"|"+U+"|"+H+"|"+z+")"),f("\\?("+V+")"),f("\\#("+K+")"),f("("+l+")@"),f("\\:("+N+")"),{NOT_SCHEME:new RegExp(t("[^]",r,n,"[\\+\\-\\.]"),"g"),NOT_USERINFO:new RegExp(t("[^\\%\\:]",u,o),"g"),NOT_HOST:new RegExp(t("[^\\%\\[\\]\\:]",u,o),"g"),NOT_PATH:new RegExp(t("[^\\%\\/\\:\\@]",u,o),"g"),NOT_PATH_NOSCHEME:new RegExp(t("[^\\%\\/\\@]",u,o),"g"),NOT_QUERY:new RegExp(t("[^\\%]",u,o,"[\\:\\@\\/\\?]",c),"g"),NOT_FRAGMENT:new RegExp(t("[^\\%]",u,o,"[\\:\\@\\/\\?]"),"g"),ESCAPE:new RegExp(t("[^]",u,o),"g"),UNRESERVED:new RegExp(u,"g"),OTHER_CHARS:new RegExp(t("[^\\%]",u,s),"g"),PCT_ENCODED:new RegExp(i,"g"),IPV4ADDRESS:new RegExp("^("+b+")$"),IPV6ADDRESS:new RegExp("^\\[?("+S+")"+f(f("\\%25|\\%(?!"+a+"{2})")+"("+k+")")+"?\\]?$")}}var s=o(!1),c=o(!0),u=function(){function e(e,t){var f=[],r=!0,n=!1,a=void 0;try{for(var i,o=e[Symbol.iterator]();!(r=(i=o.next()).done)&&(f.push(i.value),!t||f.length!==t);r=!0);}catch(e){n=!0,a=e}finally{try{!r&&o.return&&o.return()}finally{if(n)throw a}}return f}return function(t,f){if(Array.isArray(t))return t;if(Symbol.iterator in Object(t))return e(t,f);throw new TypeError("Invalid attempt to destructure non-iterable instance")}}(),d=function(e){if(Array.isArray(e)){for(var t=0,f=Array(e.length);t<e.length;t++)f[t]=e[t];return f}return Array.from(e)},l=2147483647,p=36,b=1,h=26,m=38,y=700,g=72,v=128,_="-",w=/^xn--/,E=/[^\0-\x7E]/,A=/[\x2E\u3002\uFF0E\uFF61]/g,T={overflow:"Overflow: input needs wider integers to process","not-basic":"Illegal input >= 0x80 (not a basic code point)","invalid-input":"Invalid input"},x=p-b,S=Math.floor,k=String.fromCharCode;function C(e){throw new RangeError(T[e])}function O(e,t){for(var f=[],r=e.length;r--;)f[r]=t(e[r]);return f}function P(e,t){var f=e.split("@"),r="";return f.length>1&&(r=f[0]+"@",e=f[1]),r+O((e=e.replace(A,".")).split("."),t).join(".")}function R(e){for(var t=[],f=0,r=e.length;f<r;){var n=e.charCodeAt(f++);if(n>=55296&&n<=56319&&f<r){var a=e.charCodeAt(f++);56320==(64512&a)?t.push(((1023&n)<<10)+(1023&a)+65536):(t.push(n),f--)}else t.push(n)}return t}var M=function(e){return e-48<10?e-22:e-65<26?e-65:e-97<26?e-97:p},N=function(e,t){return e+22+75*(e<26)-((0!=t)<<5)},D=function(e,t,f){var r=0;for(e=f?S(e/y):e>>1,e+=S(e/t);e>x*h>>1;r+=p)e=S(e/x);return S(r+(x+1)*e/(e+m))},B=function(e){var t=[],f=e.length,r=0,n=v,a=g,i=e.lastIndexOf(_);i<0&&(i=0);for(var o=0;o<i;++o)e.charCodeAt(o)>=128&&C("not-basic"),t.push(e.charCodeAt(o));for(var s=i>0?i+1:0;s<f;){for(var c=r,u=1,d=p;;d+=p){s>=f&&C("invalid-input");var m=M(e.charCodeAt(s++));(m>=p||m>S((l-r)/u))&&C("overflow"),r+=m*u;var y=d<=a?b:d>=a+h?h:d-a;if(m<y)break;var w=p-y;u>S(l/w)&&C("overflow"),u*=w}var E=t.length+1;a=D(r-c,E,0==c),S(r/E)>l-n&&C("overflow"),n+=S(r/E),r%=E,t.splice(r++,0,n)}return String.fromCodePoint.apply(String,t)},I=function(e){var t=[],f=(e=R(e)).length,r=v,n=0,a=g,i=!0,o=!1,s=void 0;try{for(var c,u=e[Symbol.iterator]();!(i=(c=u.next()).done);i=!0){var d=c.value;d<128&&t.push(k(d))}}catch(e){o=!0,s=e}finally{try{!i&&u.return&&u.return()}finally{if(o)throw s}}var m=t.length,y=m;for(m&&t.push(_);y<f;){var w=l,E=!0,A=!1,T=void 0;try{for(var x,O=e[Symbol.iterator]();!(E=(x=O.next()).done);E=!0){var P=x.value;P>=r&&P<w&&(w=P)}}catch(e){A=!0,T=e}finally{try{!E&&O.return&&O.return()}finally{if(A)throw T}}var M=y+1;w-r>S((l-n)/M)&&C("overflow"),n+=(w-r)*M,r=w;var B=!0,I=!1,F=void 0;try{for(var j,L=e[Symbol.iterator]();!(B=(j=L.next()).done);B=!0){var U=j.value;if(U<r&&++n>l&&C("overflow"),U==r){for(var q=n,H=p;;H+=p){var z=H<=a?b:H>=a+h?h:H-a;if(q<z)break;var V=q-z,K=p-z;t.push(k(N(z+V%K,0))),q=S(V/K)}t.push(k(N(q,0))),a=D(n,M,y==m),n=0,++y}}}catch(e){I=!0,F=e}finally{try{!B&&L.return&&L.return()}finally{if(I)throw F}}++n,++r}return t.join("")},F=function(e){return P(e,(function(e){return w.test(e)?B(e.slice(4).toLowerCase()):e}))},j=function(e){return P(e,(function(e){return E.test(e)?"xn--"+I(e):e}))},L={version:"2.1.0",ucs2:{decode:R,encode:function(e){return String.fromCodePoint.apply(String,d(e))}},decode:B,encode:I,toASCII:j,toUnicode:F},U={};function q(e){var t=e.charCodeAt(0);return t<16?"%0"+t.toString(16).toUpperCase():t<128?"%"+t.toString(16).toUpperCase():t<2048?"%"+(t>>6|192).toString(16).toUpperCase()+"%"+(63&t|128).toString(16).toUpperCase():"%"+(t>>12|224).toString(16).toUpperCase()+"%"+(t>>6&63|128).toString(16).toUpperCase()+"%"+(63&t|128).toString(16).toUpperCase()}function H(e){for(var t="",f=0,r=e.length;f<r;){var n=parseInt(e.substr(f+1,2),16);if(n<128)t+=String.fromCharCode(n),f+=3;else if(n>=194&&n<224){if(r-f>=6){var a=parseInt(e.substr(f+4,2),16);t+=String.fromCharCode((31&n)<<6|63&a)}else t+=e.substr(f,6);f+=6}else if(n>=224){if(r-f>=9){var i=parseInt(e.substr(f+4,2),16),o=parseInt(e.substr(f+7,2),16);t+=String.fromCharCode((15&n)<<12|(63&i)<<6|63&o)}else t+=e.substr(f,9);f+=9}else t+=e.substr(f,3),f+=3}return t}function z(e,t){function f(e){var f=H(e);return f.match(t.UNRESERVED)?f:e}return e.scheme&&(e.scheme=String(e.scheme).replace(t.PCT_ENCODED,f).toLowerCase().replace(t.NOT_SCHEME,"")),void 0!==e.userinfo&&(e.userinfo=String(e.userinfo).replace(t.PCT_ENCODED,f).replace(t.NOT_USERINFO,q).replace(t.PCT_ENCODED,n)),void 0!==e.host&&(e.host=String(e.host).replace(t.PCT_ENCODED,f).toLowerCase().replace(t.NOT_HOST,q).replace(t.PCT_ENCODED,n)),void 0!==e.path&&(e.path=String(e.path).replace(t.PCT_ENCODED,f).replace(e.scheme?t.NOT_PATH:t.NOT_PATH_NOSCHEME,q).replace(t.PCT_ENCODED,n)),void 0!==e.query&&(e.query=String(e.query).replace(t.PCT_ENCODED,f).replace(t.NOT_QUERY,q).replace(t.PCT_ENCODED,n)),void 0!==e.fragment&&(e.fragment=String(e.fragment).replace(t.PCT_ENCODED,f).replace(t.NOT_FRAGMENT,q).replace(t.PCT_ENCODED,n)),e}function V(e){return e.replace(/^0*(.*)/,"$1")||"0"}function K(e,t){var f=e.match(t.IPV4ADDRESS)||[],r=u(f,2)[1];return r?r.split(".").map(V).join("."):e}function G(e,t){var f=e.match(t.IPV6ADDRESS)||[],r=u(f,3),n=r[1],a=r[2];if(n){for(var i=n.toLowerCase().split("::").reverse(),o=u(i,2),s=o[0],c=o[1],d=c?c.split(":").map(V):[],l=s.split(":").map(V),p=t.IPV4ADDRESS.test(l[l.length-1]),b=p?7:8,h=l.length-b,m=Array(b),y=0;y<b;++y)m[y]=d[y]||l[h+y]||"";p&&(m[b-1]=K(m[b-1],t));var g=m.reduce((function(e,t,f){if(!t||"0"===t){var r=e[e.length-1];r&&r.index+r.length===f?r.length++:e.push({index:f,length:1})}return e}),[]).sort((function(e,t){return t.length-e.length}))[0],v=void 0;if(g&&g.length>1){var _=m.slice(0,g.index),w=m.slice(g.index+g.length);v=_.join(":")+"::"+w.join(":")}else v=m.join(":");return a&&(v+="%"+a),v}return e}var W=/^(?:([^:\/?#]+):)?(?:\/\/((?:([^\/?#@]*)@)?(\[[^\/?#\]]+\]|[^\/?#:]*)(?:\:(\d*))?))?([^?#]*)(?:\?([^#]*))?(?:#((?:.|\n|\r)*))?/i,$=void 0==="".match(/(){0}/)[1];function Y(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},f={},r=!1!==t.iri?c:s;"suffix"===t.reference&&(e=(t.scheme?t.scheme+":":"")+"//"+e);var n=e.match(W);if(n){$?(f.scheme=n[1],f.userinfo=n[3],f.host=n[4],f.port=parseInt(n[5],10),f.path=n[6]||"",f.query=n[7],f.fragment=n[8],isNaN(f.port)&&(f.port=n[5])):(f.scheme=n[1]||void 0,f.userinfo=-1!==e.indexOf("@")?n[3]:void 0,f.host=-1!==e.indexOf("//")?n[4]:void 0,f.port=parseInt(n[5],10),f.path=n[6]||"",f.query=-1!==e.indexOf("?")?n[7]:void 0,f.fragment=-1!==e.indexOf("#")?n[8]:void 0,isNaN(f.port)&&(f.port=e.match(/\/\/(?:.|\n)*\:(?:\/|\?|\#|$)/)?n[4]:void 0)),f.host&&(f.host=G(K(f.host,r),r)),void 0!==f.scheme||void 0!==f.userinfo||void 0!==f.host||void 0!==f.port||f.path||void 0!==f.query?void 0===f.scheme?f.reference="relative":void 0===f.fragment?f.reference="absolute":f.reference="uri":f.reference="same-document",t.reference&&"suffix"!==t.reference&&t.reference!==f.reference&&(f.error=f.error||"URI is not a "+t.reference+" reference.");var a=U[(t.scheme||f.scheme||"").toLowerCase()];if(t.unicodeSupport||a&&a.unicodeSupport)z(f,r);else{if(f.host&&(t.domainHost||a&&a.domainHost))try{f.host=L.toASCII(f.host.replace(r.PCT_ENCODED,H).toLowerCase())}catch(e){f.error=f.error||"Host's domain name can not be converted to ASCII via punycode: "+e}z(f,s)}a&&a.parse&&a.parse(f,t)}else f.error=f.error||"URI can not be parsed.";return f}function J(e,t){var f=!1!==t.iri?c:s,r=[];return void 0!==e.userinfo&&(r.push(e.userinfo),r.push("@")),void 0!==e.host&&r.push(G(K(String(e.host),f),f).replace(f.IPV6ADDRESS,(function(e,t,f){return"["+t+(f?"%25"+f:"")+"]"}))),"number"!=typeof e.port&&"string"!=typeof e.port||(r.push(":"),r.push(String(e.port))),r.length?r.join(""):void 0}var X=/^\.\.?\//,Z=/^\/\.(\/|$)/,Q=/^\/\.\.(\/|$)/,ee=/^\/?(?:.|\n)*?(?=\/|$)/;function te(e){for(var t=[];e.length;)if(e.match(X))e=e.replace(X,"");else if(e.match(Z))e=e.replace(Z,"/");else if(e.match(Q))e=e.replace(Q,"/"),t.pop();else if("."===e||".."===e)e="";else{var f=e.match(ee);if(!f)throw new Error("Unexpected dot segment condition");var r=f[0];e=e.slice(r.length),t.push(r)}return t.join("")}function fe(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},f=t.iri?c:s,r=[],n=U[(t.scheme||e.scheme||"").toLowerCase()];if(n&&n.serialize&&n.serialize(e,t),e.host)if(f.IPV6ADDRESS.test(e.host));else if(t.domainHost||n&&n.domainHost)try{e.host=t.iri?L.toUnicode(e.host):L.toASCII(e.host.replace(f.PCT_ENCODED,H).toLowerCase())}catch(f){e.error=e.error||"Host's domain name can not be converted to "+(t.iri?"Unicode":"ASCII")+" via punycode: "+f}z(e,f),"suffix"!==t.reference&&e.scheme&&(r.push(e.scheme),r.push(":"));var a=J(e,t);if(void 0!==a&&("suffix"!==t.reference&&r.push("//"),r.push(a),e.path&&"/"!==e.path.charAt(0)&&r.push("/")),void 0!==e.path){var i=e.path;t.absolutePath||n&&n.absolutePath||(i=te(i)),void 0===a&&(i=i.replace(/^\/\//,"/%2F")),r.push(i)}return void 0!==e.query&&(r.push("?"),r.push(e.query)),void 0!==e.fragment&&(r.push("#"),r.push(e.fragment)),r.join("")}function re(e,t){var f=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{},r={};return arguments[3]||(e=Y(fe(e,f),f),t=Y(fe(t,f),f)),!(f=f||{}).tolerant&&t.scheme?(r.scheme=t.scheme,r.userinfo=t.userinfo,r.host=t.host,r.port=t.port,r.path=te(t.path||""),r.query=t.query):(void 0!==t.userinfo||void 0!==t.host||void 0!==t.port?(r.userinfo=t.userinfo,r.host=t.host,r.port=t.port,r.path=te(t.path||""),r.query=t.query):(t.path?("/"===t.path.charAt(0)?r.path=te(t.path):(void 0===e.userinfo&&void 0===e.host&&void 0===e.port||e.path?e.path?r.path=e.path.slice(0,e.path.lastIndexOf("/")+1)+t.path:r.path=t.path:r.path="/"+t.path,r.path=te(r.path)),r.query=t.query):(r.path=e.path,void 0!==t.query?r.query=t.query:r.query=e.query),r.userinfo=e.userinfo,r.host=e.host,r.port=e.port),r.scheme=e.scheme),r.fragment=t.fragment,r}function ne(e,t,f){var r=i({scheme:"null"},f);return fe(re(Y(e,r),Y(t,r),r,!0),r)}function ae(e,t){return"string"==typeof e?e=fe(Y(e,t),t):"object"===r(e)&&(e=Y(fe(e,t),t)),e}function ie(e,t,f){return"string"==typeof e?e=fe(Y(e,f),f):"object"===r(e)&&(e=fe(e,f)),"string"==typeof t?t=fe(Y(t,f),f):"object"===r(t)&&(t=fe(t,f)),e===t}function oe(e,t){return e&&e.toString().replace(t&&t.iri?c.ESCAPE:s.ESCAPE,q)}function se(e,t){return e&&e.toString().replace(t&&t.iri?c.PCT_ENCODED:s.PCT_ENCODED,H)}var ce={scheme:"http",domainHost:!0,parse:function(e,t){return e.host||(e.error=e.error||"HTTP URIs must have a host."),e},serialize:function(e,t){var f="https"===String(e.scheme).toLowerCase();return e.port!==(f?443:80)&&""!==e.port||(e.port=void 0),e.path||(e.path="/"),e}},ue={scheme:"https",domainHost:ce.domainHost,parse:ce.parse,serialize:ce.serialize};function de(e){return"boolean"==typeof e.secure?e.secure:"wss"===String(e.scheme).toLowerCase()}var le={scheme:"ws",domainHost:!0,parse:function(e,t){var f=e;return f.secure=de(f),f.resourceName=(f.path||"/")+(f.query?"?"+f.query:""),f.path=void 0,f.query=void 0,f},serialize:function(e,t){if(e.port!==(de(e)?443:80)&&""!==e.port||(e.port=void 0),"boolean"==typeof e.secure&&(e.scheme=e.secure?"wss":"ws",e.secure=void 0),e.resourceName){var f=e.resourceName.split("?"),r=u(f,2),n=r[0],a=r[1];e.path=n&&"/"!==n?n:void 0,e.query=a,e.resourceName=void 0}return e.fragment=void 0,e}},pe={scheme:"wss",domainHost:le.domainHost,parse:le.parse,serialize:le.serialize},be={},he="[A-Za-z0-9\\-\\.\\_\\~\\xA0-\\u200D\\u2010-\\u2029\\u202F-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFEF]",me="[0-9A-Fa-f]",ye=f(f("%[EFef]"+me+"%"+me+me+"%"+me+me)+"|"+f("%[89A-Fa-f]"+me+"%"+me+me)+"|"+f("%"+me+me)),ge="[A-Za-z0-9\\!\\$\\%\\'\\*\\+\\-\\^\\_\\`\\{\\|\\}\\~]",ve=t("[\\!\\$\\%\\'\\(\\)\\*\\+\\,\\-\\.0-9\\<\\>A-Z\\x5E-\\x7E]",'[\\"\\\\]'),_e="[\\!\\$\\'\\(\\)\\*\\+\\,\\;\\:\\@]",we=new RegExp(he,"g"),Ee=new RegExp(ye,"g"),Ae=new RegExp(t("[^]",ge,"[\\.]",'[\\"]',ve),"g"),Te=new RegExp(t("[^]",he,_e),"g"),xe=Te;function Se(e){var t=H(e);return t.match(we)?t:e}var ke={scheme:"mailto",parse:function(e,t){var f=e,r=f.to=f.path?f.path.split(","):[];if(f.path=void 0,f.query){for(var n=!1,a={},i=f.query.split("&"),o=0,s=i.length;o<s;++o){var c=i[o].split("=");switch(c[0]){case"to":for(var u=c[1].split(","),d=0,l=u.length;d<l;++d)r.push(u[d]);break;case"subject":f.subject=se(c[1],t);break;case"body":f.body=se(c[1],t);break;default:n=!0,a[se(c[0],t)]=se(c[1],t)}}n&&(f.headers=a)}f.query=void 0;for(var p=0,b=r.length;p<b;++p){var h=r[p].split("@");if(h[0]=se(h[0]),t.unicodeSupport)h[1]=se(h[1],t).toLowerCase();else try{h[1]=L.toASCII(se(h[1],t).toLowerCase())}catch(e){f.error=f.error||"Email address's domain name can not be converted to ASCII via punycode: "+e}r[p]=h.join("@")}return f},serialize:function(e,t){var f=e,r=a(e.to);if(r){for(var i=0,o=r.length;i<o;++i){var s=String(r[i]),c=s.lastIndexOf("@"),u=s.slice(0,c).replace(Ee,Se).replace(Ee,n).replace(Ae,q),d=s.slice(c+1);try{d=t.iri?L.toUnicode(d):L.toASCII(se(d,t).toLowerCase())}catch(e){f.error=f.error||"Email address's domain name can not be converted to "+(t.iri?"Unicode":"ASCII")+" via punycode: "+e}r[i]=u+"@"+d}f.path=r.join(",")}var l=e.headers=e.headers||{};e.subject&&(l.subject=e.subject),e.body&&(l.body=e.body);var p=[];for(var b in l)l[b]!==be[b]&&p.push(b.replace(Ee,Se).replace(Ee,n).replace(Te,q)+"="+l[b].replace(Ee,Se).replace(Ee,n).replace(xe,q));return p.length&&(f.query=p.join("&")),f}},Ce=/^([^\:]+)\:(.*)/,Oe={scheme:"urn",parse:function(e,t){var f=e.path&&e.path.match(Ce),r=e;if(f){var n=t.scheme||r.scheme||"urn",a=f[1].toLowerCase(),i=f[2],o=n+":"+(t.nid||a),s=U[o];r.nid=a,r.nss=i,r.path=void 0,s&&(r=s.parse(r,t))}else r.error=r.error||"URN can not be parsed.";return r},serialize:function(e,t){var f=t.scheme||e.scheme||"urn",r=e.nid,n=f+":"+(t.nid||r),a=U[n];a&&(e=a.serialize(e,t));var i=e,o=e.nss;return i.path=(r||t.nid)+":"+o,i}},Pe=/^[0-9A-Fa-f]{8}(?:\-[0-9A-Fa-f]{4}){3}\-[0-9A-Fa-f]{12}$/,Re={scheme:"urn:uuid",parse:function(e,t){var f=e;return f.uuid=f.nss,f.nss=void 0,t.tolerant||f.uuid&&f.uuid.match(Pe)||(f.error=f.error||"UUID is not valid."),f},serialize:function(e,t){var f=e;return f.nss=(e.uuid||"").toLowerCase(),f}};U[ce.scheme]=ce,U[ue.scheme]=ue,U[le.scheme]=le,U[pe.scheme]=pe,U[ke.scheme]=ke,U[Oe.scheme]=Oe,U[Re.scheme]=Re,e.SCHEMES=U,e.pctEncChar=q,e.pctDecChars=H,e.parse=Y,e.removeDotSegments=te,e.serialize=fe,e.resolveComponents=re,e.resolve=ne,e.normalize=ae,e.equal=ie,e.escapeComponent=oe,e.unescapeComponent=se,Object.defineProperty(e,"__esModule",{value:!0})}(t)},function(e,t,f){"use strict";e.exports=function(e){for(var t,f=0,r=e.length,n=0;n<r;)f++,(t=e.charCodeAt(n++))>=55296&&t<=56319&&n<r&&56320==(64512&(t=e.charCodeAt(n)))&&n++;return f}},function(e,t,f){"use strict";var r=e.exports=function(e,t,f){"function"==typeof t&&(f=t,t={}),n(t,"function"==typeof(f=t.cb||f)?f:f.pre||function(){},f.post||function(){},e,"",e)};function n(e,t,f,a,i,o,s,c,u,d){if(a&&"object"==typeof a&&!Array.isArray(a)){for(var l in t(a,i,o,s,c,u,d),a){var p=a[l];if(Array.isArray(p)){if(l in r.arrayKeywords)for(var b=0;b<p.length;b++)n(e,t,f,p[b],i+"/"+l+"/"+b,o,i,l,a,b)}else if(l in r.propsKeywords){if(p&&"object"==typeof p)for(var h in p)n(e,t,f,p[h],i+"/"+l+"/"+h.replace(/~/g,"~0").replace(/\//g,"~1"),o,i,l,a,h)}else(l in r.keywords||e.allKeys&&!(l in r.skipKeywords))&&n(e,t,f,p,i+"/"+l,o,i,l,a)}f(a,i,o,s,c,u,d)}}r.keywords={additionalItems:!0,items:!0,contains:!0,additionalProperties:!0,propertyNames:!0,not:!0},r.arrayKeywords={items:!0,allOf:!0,anyOf:!0,oneOf:!0},r.propsKeywords={definitions:!0,properties:!0,patternProperties:!0,dependencies:!0},r.skipKeywords={default:!0,enum:!0,const:!0,required:!0,maximum:!0,minimum:!0,exclusiveMaximum:!0,exclusiveMinimum:!0,multipleOf:!0,maxLength:!0,minLength:!0,pattern:!0,format:!0,maxItems:!0,minItems:!0,uniqueItems:!0,maxProperties:!0,minProperties:!0}},function(e,t,f){"use strict";var r=e.exports=function(){this._cache={}};r.prototype.put=function(e,t){this._cache[e]=t},r.prototype.get=function(e){return this._cache[e]},r.prototype.del=function(e){delete this._cache[e]},r.prototype.clear=function(){this._cache={}}},function(e,t,f){"use strict";var r=f(72),n=/^(\d\d\d\d)-(\d\d)-(\d\d)$/,a=[0,31,28,31,30,31,30,31,31,30,31,30,31],i=/^(\d\d):(\d\d):(\d\d)(\.\d+)?(z|[+-]\d\d(?::?\d\d)?)?$/i,o=/^(?=.{1,253}\.?$)[a-z0-9](?:[a-z0-9-]{0,61}[a-z0-9])?(?:\.[a-z0-9](?:[-0-9a-z]{0,61}[0-9a-z])?)*\.?$/i,s=/^(?:[a-z][a-z0-9+\-.]*:)(?:\/?\/(?:(?:[a-z0-9\-._~!$&'()*+,;=:]|%[0-9a-f]{2})*@)?(?:\[(?:(?:(?:(?:[0-9a-f]{1,4}:){6}|::(?:[0-9a-f]{1,4}:){5}|(?:[0-9a-f]{1,4})?::(?:[0-9a-f]{1,4}:){4}|(?:(?:[0-9a-f]{1,4}:){0,1}[0-9a-f]{1,4})?::(?:[0-9a-f]{1,4}:){3}|(?:(?:[0-9a-f]{1,4}:){0,2}[0-9a-f]{1,4})?::(?:[0-9a-f]{1,4}:){2}|(?:(?:[0-9a-f]{1,4}:){0,3}[0-9a-f]{1,4})?::[0-9a-f]{1,4}:|(?:(?:[0-9a-f]{1,4}:){0,4}[0-9a-f]{1,4})?::)(?:[0-9a-f]{1,4}:[0-9a-f]{1,4}|(?:(?:25[0-5]|2[0-4]\d|[01]?\d\d?)\.){3}(?:25[0-5]|2[0-4]\d|[01]?\d\d?))|(?:(?:[0-9a-f]{1,4}:){0,5}[0-9a-f]{1,4})?::[0-9a-f]{1,4}|(?:(?:[0-9a-f]{1,4}:){0,6}[0-9a-f]{1,4})?::)|[Vv][0-9a-f]+\.[a-z0-9\-._~!$&'()*+,;=:]+)\]|(?:(?:25[0-5]|2[0-4]\d|[01]?\d\d?)\.){3}(?:25[0-5]|2[0-4]\d|[01]?\d\d?)|(?:[a-z0-9\-._~!$&'()*+,;=]|%[0-9a-f]{2})*)(?::\d*)?(?:\/(?:[a-z0-9\-._~!$&'()*+,;=:@]|%[0-9a-f]{2})*)*|\/(?:(?:[a-z0-9\-._~!$&'()*+,;=:@]|%[0-9a-f]{2})+(?:\/(?:[a-z0-9\-._~!$&'()*+,;=:@]|%[0-9a-f]{2})*)*)?|(?:[a-z0-9\-._~!$&'()*+,;=:@]|%[0-9a-f]{2})+(?:\/(?:[a-z0-9\-._~!$&'()*+,;=:@]|%[0-9a-f]{2})*)*)(?:\?(?:[a-z0-9\-._~!$&'()*+,;=:@/?]|%[0-9a-f]{2})*)?(?:#(?:[a-z0-9\-._~!$&'()*+,;=:@/?]|%[0-9a-f]{2})*)?$/i,c=/^(?:(?:[^\x00-\x20"'<>%\\^`{|}]|%[0-9a-f]{2})|\{[+#./;?&=,!@|]?(?:[a-z0-9_]|%[0-9a-f]{2})+(?::[1-9][0-9]{0,3}|\*)?(?:,(?:[a-z0-9_]|%[0-9a-f]{2})+(?::[1-9][0-9]{0,3}|\*)?)*\})*$/i,u=/^(?:(?:http[s\u017F]?|ftp):\/\/)(?:(?:[\0-\x08\x0E-\x1F!-\x9F\xA1-\u167F\u1681-\u1FFF\u200B-\u2027\u202A-\u202E\u2030-\u205E\u2060-\u2FFF\u3001-\uD7FF\uE000-\uFEFE\uFF00-\uFFFF]|[\uD800-\uDBFF][\uDC00-\uDFFF]|[\uD800-\uDBFF](?![\uDC00-\uDFFF])|(?:[^\uD800-\uDBFF]|^)[\uDC00-\uDFFF])+(?::(?:[\0-\x08\x0E-\x1F!-\x9F\xA1-\u167F\u1681-\u1FFF\u200B-\u2027\u202A-\u202E\u2030-\u205E\u2060-\u2FFF\u3001-\uD7FF\uE000-\uFEFE\uFF00-\uFFFF]|[\uD800-\uDBFF][\uDC00-\uDFFF]|[\uD800-\uDBFF](?![\uDC00-\uDFFF])|(?:[^\uD800-\uDBFF]|^)[\uDC00-\uDFFF])*)?@)?(?:(?!10(?:\.[0-9]{1,3}){3})(?!127(?:\.[0-9]{1,3}){3})(?!169\.254(?:\.[0-9]{1,3}){2})(?!192\.168(?:\.[0-9]{1,3}){2})(?!172\.(?:1[6-9]|2[0-9]|3[01])(?:\.[0-9]{1,3}){2})(?:[1-9][0-9]?|1[0-9][0-9]|2[01][0-9]|22[0-3])(?:\.(?:1?[0-9]{1,2}|2[0-4][0-9]|25[0-5])){2}(?:\.(?:[1-9][0-9]?|1[0-9][0-9]|2[0-4][0-9]|25[0-4]))|(?:(?:(?:[0-9KSa-z\xA1-\uD7FF\uE000-\uFFFF]|[\uD800-\uDBFF](?![\uDC00-\uDFFF])|(?:[^\uD800-\uDBFF]|^)[\uDC00-\uDFFF])+-?)*(?:[0-9KSa-z\xA1-\uD7FF\uE000-\uFFFF]|[\uD800-\uDBFF](?![\uDC00-\uDFFF])|(?:[^\uD800-\uDBFF]|^)[\uDC00-\uDFFF])+)(?:\.(?:(?:[0-9KSa-z\xA1-\uD7FF\uE000-\uFFFF]|[\uD800-\uDBFF](?![\uDC00-\uDFFF])|(?:[^\uD800-\uDBFF]|^)[\uDC00-\uDFFF])+-?)*(?:[0-9KSa-z\xA1-\uD7FF\uE000-\uFFFF]|[\uD800-\uDBFF](?![\uDC00-\uDFFF])|(?:[^\uD800-\uDBFF]|^)[\uDC00-\uDFFF])+)*(?:\.(?:(?:[KSa-z\xA1-\uD7FF\uE000-\uFFFF]|[\uD800-\uDBFF](?![\uDC00-\uDFFF])|(?:[^\uD800-\uDBFF]|^)[\uDC00-\uDFFF]){2,})))(?::[0-9]{2,5})?(?:\/(?:[\0-\x08\x0E-\x1F!-\x9F\xA1-\u167F\u1681-\u1FFF\u200B-\u2027\u202A-\u202E\u2030-\u205E\u2060-\u2FFF\u3001-\uD7FF\uE000-\uFEFE\uFF00-\uFFFF]|[\uD800-\uDBFF][\uDC00-\uDFFF]|[\uD800-\uDBFF](?![\uDC00-\uDFFF])|(?:[^\uD800-\uDBFF]|^)[\uDC00-\uDFFF])*)?$/i,d=/^(?:urn:uuid:)?[0-9a-f]{8}-(?:[0-9a-f]{4}-){3}[0-9a-f]{12}$/i,l=/^(?:\/(?:[^~/]|~0|~1)*)*$/,p=/^#(?:\/(?:[a-z0-9_\-.!$&'()*+,;:=@]|%[0-9a-f]{2}|~0|~1)*)*$/i,b=/^(?:0|[1-9][0-9]*)(?:#|(?:\/(?:[^~/]|~0|~1)*)*)$/;function h(e){return e="full"==e?"full":"fast",r.copy(h[e])}function m(e){var t=e.match(n);if(!t)return!1;var f=+t[1],r=+t[2],i=+t[3];return r>=1&&r<=12&&i>=1&&i<=(2==r&&function(e){return e%4==0&&(e%100!=0||e%400==0)}(f)?29:a[r])}function y(e,t){var f=e.match(i);if(!f)return!1;var r=f[1],n=f[2],a=f[3],o=f[5];return(r<=23&&n<=59&&a<=59||23==r&&59==n&&60==a)&&(!t||o)}e.exports=h,h.fast={date:/^\d\d\d\d-[0-1]\d-[0-3]\d$/,time:/^(?:[0-2]\d:[0-5]\d:[0-5]\d|23:59:60)(?:\.\d+)?(?:z|[+-]\d\d(?::?\d\d)?)?$/i,"date-time":/^\d\d\d\d-[0-1]\d-[0-3]\d[t\s](?:[0-2]\d:[0-5]\d:[0-5]\d|23:59:60)(?:\.\d+)?(?:z|[+-]\d\d(?::?\d\d)?)$/i,uri:/^(?:[a-z][a-z0-9+-.]*:)(?:\/?\/)?[^\s]*$/i,"uri-reference":/^(?:(?:[a-z][a-z0-9+-.]*:)?\/?\/)?(?:[^\\\s#][^\s#]*)?(?:#[^\\\s]*)?$/i,"uri-template":c,url:u,email:/^[a-z0-9.!#$%&'*+/=?^_`{|}~-]+@[a-z0-9](?:[a-z0-9-]{0,61}[a-z0-9])?(?:\.[a-z0-9](?:[a-z0-9-]{0,61}[a-z0-9])?)*$/i,hostname:o,ipv4:/^(?:(?:25[0-5]|2[0-4]\d|[01]?\d\d?)\.){3}(?:25[0-5]|2[0-4]\d|[01]?\d\d?)$/,ipv6:/^\s*(?:(?:(?:[0-9a-f]{1,4}:){7}(?:[0-9a-f]{1,4}|:))|(?:(?:[0-9a-f]{1,4}:){6}(?::[0-9a-f]{1,4}|(?:(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(?:\.(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3})|:))|(?:(?:[0-9a-f]{1,4}:){5}(?:(?:(?::[0-9a-f]{1,4}){1,2})|:(?:(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(?:\.(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3})|:))|(?:(?:[0-9a-f]{1,4}:){4}(?:(?:(?::[0-9a-f]{1,4}){1,3})|(?:(?::[0-9a-f]{1,4})?:(?:(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(?:\.(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:))|(?:(?:[0-9a-f]{1,4}:){3}(?:(?:(?::[0-9a-f]{1,4}){1,4})|(?:(?::[0-9a-f]{1,4}){0,2}:(?:(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(?:\.(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:))|(?:(?:[0-9a-f]{1,4}:){2}(?:(?:(?::[0-9a-f]{1,4}){1,5})|(?:(?::[0-9a-f]{1,4}){0,3}:(?:(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(?:\.(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:))|(?:(?:[0-9a-f]{1,4}:){1}(?:(?:(?::[0-9a-f]{1,4}){1,6})|(?:(?::[0-9a-f]{1,4}){0,4}:(?:(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(?:\.(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:))|(?::(?:(?:(?::[0-9a-f]{1,4}){1,7})|(?:(?::[0-9a-f]{1,4}){0,5}:(?:(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(?:\.(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:)))(?:%.+)?\s*$/i,regex:w,uuid:d,"json-pointer":l,"json-pointer-uri-fragment":p,"relative-json-pointer":b},h.full={date:m,time:y,"date-time":function(e){var t=e.split(g);return 2==t.length&&m(t[0])&&y(t[1],!0)},uri:function(e){return v.test(e)&&s.test(e)},"uri-reference":/^(?:[a-z][a-z0-9+\-.]*:)?(?:\/?\/(?:(?:[a-z0-9\-._~!$&'()*+,;=:]|%[0-9a-f]{2})*@)?(?:\[(?:(?:(?:(?:[0-9a-f]{1,4}:){6}|::(?:[0-9a-f]{1,4}:){5}|(?:[0-9a-f]{1,4})?::(?:[0-9a-f]{1,4}:){4}|(?:(?:[0-9a-f]{1,4}:){0,1}[0-9a-f]{1,4})?::(?:[0-9a-f]{1,4}:){3}|(?:(?:[0-9a-f]{1,4}:){0,2}[0-9a-f]{1,4})?::(?:[0-9a-f]{1,4}:){2}|(?:(?:[0-9a-f]{1,4}:){0,3}[0-9a-f]{1,4})?::[0-9a-f]{1,4}:|(?:(?:[0-9a-f]{1,4}:){0,4}[0-9a-f]{1,4})?::)(?:[0-9a-f]{1,4}:[0-9a-f]{1,4}|(?:(?:25[0-5]|2[0-4]\d|[01]?\d\d?)\.){3}(?:25[0-5]|2[0-4]\d|[01]?\d\d?))|(?:(?:[0-9a-f]{1,4}:){0,5}[0-9a-f]{1,4})?::[0-9a-f]{1,4}|(?:(?:[0-9a-f]{1,4}:){0,6}[0-9a-f]{1,4})?::)|[Vv][0-9a-f]+\.[a-z0-9\-._~!$&'()*+,;=:]+)\]|(?:(?:25[0-5]|2[0-4]\d|[01]?\d\d?)\.){3}(?:25[0-5]|2[0-4]\d|[01]?\d\d?)|(?:[a-z0-9\-._~!$&'"()*+,;=]|%[0-9a-f]{2})*)(?::\d*)?(?:\/(?:[a-z0-9\-._~!$&'"()*+,;=:@]|%[0-9a-f]{2})*)*|\/(?:(?:[a-z0-9\-._~!$&'"()*+,;=:@]|%[0-9a-f]{2})+(?:\/(?:[a-z0-9\-._~!$&'"()*+,;=:@]|%[0-9a-f]{2})*)*)?|(?:[a-z0-9\-._~!$&'"()*+,;=:@]|%[0-9a-f]{2})+(?:\/(?:[a-z0-9\-._~!$&'"()*+,;=:@]|%[0-9a-f]{2})*)*)?(?:\?(?:[a-z0-9\-._~!$&'"()*+,;=:@/?]|%[0-9a-f]{2})*)?(?:#(?:[a-z0-9\-._~!$&'"()*+,;=:@/?]|%[0-9a-f]{2})*)?$/i,"uri-template":c,url:u,email:/^[a-z0-9!#$%&'*+/=?^_`{|}~-]+(?:\.[a-z0-9!#$%&'*+/=?^_`{|}~-]+)*@(?:[a-z0-9](?:[a-z0-9-]*[a-z0-9])?\.)+[a-z0-9](?:[a-z0-9-]*[a-z0-9])?$/i,hostname:o,ipv4:/^(?:(?:25[0-5]|2[0-4]\d|[01]?\d\d?)\.){3}(?:25[0-5]|2[0-4]\d|[01]?\d\d?)$/,ipv6:/^\s*(?:(?:(?:[0-9a-f]{1,4}:){7}(?:[0-9a-f]{1,4}|:))|(?:(?:[0-9a-f]{1,4}:){6}(?::[0-9a-f]{1,4}|(?:(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(?:\.(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3})|:))|(?:(?:[0-9a-f]{1,4}:){5}(?:(?:(?::[0-9a-f]{1,4}){1,2})|:(?:(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(?:\.(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3})|:))|(?:(?:[0-9a-f]{1,4}:){4}(?:(?:(?::[0-9a-f]{1,4}){1,3})|(?:(?::[0-9a-f]{1,4})?:(?:(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(?:\.(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:))|(?:(?:[0-9a-f]{1,4}:){3}(?:(?:(?::[0-9a-f]{1,4}){1,4})|(?:(?::[0-9a-f]{1,4}){0,2}:(?:(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(?:\.(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:))|(?:(?:[0-9a-f]{1,4}:){2}(?:(?:(?::[0-9a-f]{1,4}){1,5})|(?:(?::[0-9a-f]{1,4}){0,3}:(?:(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(?:\.(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:))|(?:(?:[0-9a-f]{1,4}:){1}(?:(?:(?::[0-9a-f]{1,4}){1,6})|(?:(?::[0-9a-f]{1,4}){0,4}:(?:(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(?:\.(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:))|(?::(?:(?:(?::[0-9a-f]{1,4}){1,7})|(?:(?::[0-9a-f]{1,4}){0,5}:(?:(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(?:\.(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:)))(?:%.+)?\s*$/i,regex:w,uuid:d,"json-pointer":l,"json-pointer-uri-fragment":p,"relative-json-pointer":b};var g=/t|\s/i;var v=/\/|:/;var _=/[^\\]\\Z/;function w(e){if(_.test(e))return!1;try{return new RegExp(e),!0}catch(e){return!1}}},function(e,t,f){"use strict";var r=f(714),n=f(72).toHash;e.exports=function(){var e=[{type:"number",rules:[{maximum:["exclusiveMaximum"]},{minimum:["exclusiveMinimum"]},"multipleOf","format"]},{type:"string",rules:["maxLength","minLength","pattern","format"]},{type:"array",rules:["maxItems","minItems","items","contains","uniqueItems"]},{type:"object",rules:["maxProperties","minProperties","required","dependencies","propertyNames",{properties:["additionalProperties","patternProperties"]}]},{rules:["$ref","const","enum","not","anyOf","oneOf","allOf","if"]}],t=["type","$comment"];return e.all=n(t),e.types=n(["number","integer","string","array","object","boolean","null"]),e.forEach((function(f){f.rules=f.rules.map((function(f){var n;if("object"==typeof f){var a=Object.keys(f)[0];n=f[a],f=a,n.forEach((function(f){t.push(f),e.all[f]=!0}))}return t.push(f),e.all[f]={keyword:f,code:r[f],implements:n}})),e.all.$comment={keyword:"$comment",code:r.$comment},f.type&&(e.types[f.type]=f)})),e.keywords=n(t.concat(["$schema","$id","id","$data","$async","title","description","default","definitions","examples","readOnly","writeOnly","contentMediaType","contentEncoding","additionalItems","then","else"])),e.custom={},e}},function(e,t,f){"use strict";e.exports={$ref:f(715),allOf:f(716),anyOf:f(717),$comment:f(718),const:f(719),contains:f(720),dependencies:f(721),enum:f(722),format:f(723),if:f(724),items:f(725),maximum:f(275),minimum:f(275),maxItems:f(276),minItems:f(276),maxLength:f(277),minLength:f(277),maxProperties:f(278),minProperties:f(278),multipleOf:f(726),not:f(727),oneOf:f(728),pattern:f(729),properties:f(730),propertyNames:f(731),required:f(732),uniqueItems:f(733),validate:f(274)}},function(e,t,f){"use strict";e.exports=function(e,t,f){var r,n,a=" ",i=e.level,o=e.dataLevel,s=e.schema[t],c=e.errSchemaPath+"/"+t,u=!e.opts.allErrors,d="data"+(o||""),l="valid"+i;if("#"==s||"#/"==s)e.isRoot?(r=e.async,n="validate"):(r=!0===e.root.schema.$async,n="root.refVal[0]");else{var p=e.resolveRef(e.baseId,s,e.isRoot);if(void 0===p){var b=e.MissingRefError.message(e.baseId,s);if("fail"==e.opts.missingRefs){e.logger.error(b),(g=g||[]).push(a),a="",!1!==e.createErrors?(a+=" { keyword: '$ref' , dataPath: (dataPath || '') + "+e.errorPath+" , schemaPath: "+e.util.toQuotedString(c)+" , params: { ref: '"+e.util.escapeQuotes(s)+"' } ",!1!==e.opts.messages&&(a+=" , message: 'can\\'t resolve reference "+e.util.escapeQuotes(s)+"' "),e.opts.verbose&&(a+=" , schema: "+e.util.toQuotedString(s)+" , parentSchema: validate.schema"+e.schemaPath+" , data: "+d+" "),a+=" } "):a+=" {} ";var h=a;a=g.pop(),!e.compositeRule&&u?e.async?a+=" throw new ValidationError(["+h+"]); ":a+=" validate.errors = ["+h+"]; return false; ":a+=" var err = "+h+"; if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; ",u&&(a+=" if (false) { ")}else{if("ignore"!=e.opts.missingRefs)throw new e.MissingRefError(e.baseId,s,b);e.logger.warn(b),u&&(a+=" if (true) { ")}}else if(p.inline){var m=e.util.copy(e);m.level++;var y="valid"+m.level;m.schema=p.schema,m.schemaPath="",m.errSchemaPath=s,a+=" "+e.validate(m).replace(/validate\.schema/g,p.code)+" ",u&&(a+=" if ("+y+") { ")}else r=!0===p.$async||e.async&&!1!==p.$async,n=p.code}if(n){var g;(g=g||[]).push(a),a="",e.opts.passContext?a+=" "+n+".call(this, ":a+=" "+n+"( ",a+=" "+d+", (dataPath || '')",'""'!=e.errorPath&&(a+=" + "+e.errorPath);var v=a+=" , "+(o?"data"+(o-1||""):"parentData")+" , "+(o?e.dataPathArr[o]:"parentDataProperty")+", rootData) ";if(a=g.pop(),r){if(!e.async)throw new Error("async schema referenced by sync schema");u&&(a+=" var "+l+"; "),a+=" try { await "+v+"; ",u&&(a+=" "+l+" = true; "),a+=" } catch (e) { if (!(e instanceof ValidationError)) throw e; if (vErrors === null) vErrors = e.errors; else vErrors = vErrors.concat(e.errors); errors = vErrors.length; ",u&&(a+=" "+l+" = false; "),a+=" } ",u&&(a+=" if ("+l+") { ")}else a+=" if (!"+v+") { if (vErrors === null) vErrors = "+n+".errors; else vErrors = vErrors.concat("+n+".errors); errors = vErrors.length; } ",u&&(a+=" else { ")}return a}},function(e,t,f){"use strict";e.exports=function(e,t,f){var r=" ",n=e.schema[t],a=e.schemaPath+e.util.getProperty(t),i=e.errSchemaPath+"/"+t,o=!e.opts.allErrors,s=e.util.copy(e),c="";s.level++;var u="valid"+s.level,d=s.baseId,l=!0,p=n;if(p)for(var b,h=-1,m=p.length-1;h<m;)b=p[h+=1],(e.opts.strictKeywords?"object"==typeof b&&Object.keys(b).length>0:e.util.schemaHasRules(b,e.RULES.all))&&(l=!1,s.schema=b,s.schemaPath=a+"["+h+"]",s.errSchemaPath=i+"/"+h,r+=" "+e.validate(s)+" ",s.baseId=d,o&&(r+=" if ("+u+") { ",c+="}"));return o&&(r+=l?" if (true) { ":" "+c.slice(0,-1)+" "),r}},function(e,t,f){"use strict";e.exports=function(e,t,f){var r=" ",n=e.level,a=e.dataLevel,i=e.schema[t],o=e.schemaPath+e.util.getProperty(t),s=e.errSchemaPath+"/"+t,c=!e.opts.allErrors,u="data"+(a||""),d="valid"+n,l="errs__"+n,p=e.util.copy(e),b="";p.level++;var h="valid"+p.level,m=i.every((function(t){return e.opts.strictKeywords?"object"==typeof t&&Object.keys(t).length>0:e.util.schemaHasRules(t,e.RULES.all)}));if(m){var y=p.baseId;r+=" var "+l+" = errors; var "+d+" = false; ";var g=e.compositeRule;e.compositeRule=p.compositeRule=!0;var v=i;if(v)for(var _,w=-1,E=v.length-1;w<E;)_=v[w+=1],p.schema=_,p.schemaPath=o+"["+w+"]",p.errSchemaPath=s+"/"+w,r+=" "+e.validate(p)+" ",p.baseId=y,r+=" "+d+" = "+d+" || "+h+"; if (!"+d+") { ",b+="}";e.compositeRule=p.compositeRule=g,r+=" "+b+" if (!"+d+") { var err = ",!1!==e.createErrors?(r+=" { keyword: 'anyOf' , dataPath: (dataPath || '') + "+e.errorPath+" , schemaPath: "+e.util.toQuotedString(s)+" , params: {} ",!1!==e.opts.messages&&(r+=" , message: 'should match some schema in anyOf' "),e.opts.verbose&&(r+=" , schema: validate.schema"+o+" , parentSchema: validate.schema"+e.schemaPath+" , data: "+u+" "),r+=" } "):r+=" {} ",r+="; if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; ",!e.compositeRule&&c&&(e.async?r+=" throw new ValidationError(vErrors); ":r+=" validate.errors = vErrors; return false; "),r+=" } else { errors = "+l+"; if (vErrors !== null) { if ("+l+") vErrors.length = "+l+"; else vErrors = null; } ",e.opts.allErrors&&(r+=" } ")}else c&&(r+=" if (true) { ");return r}},function(e,t,f){"use strict";e.exports=function(e,t,f){var r=" ",n=e.schema[t],a=e.errSchemaPath+"/"+t,i=(e.opts.allErrors,e.util.toQuotedString(n));return!0===e.opts.$comment?r+=" console.log("+i+");":"function"==typeof e.opts.$comment&&(r+=" self._opts.$comment("+i+", "+e.util.toQuotedString(a)+", validate.root.schema);"),r}},function(e,t,f){"use strict";e.exports=function(e,t,f){var r=" ",n=e.level,a=e.dataLevel,i=e.schema[t],o=e.schemaPath+e.util.getProperty(t),s=e.errSchemaPath+"/"+t,c=!e.opts.allErrors,u="data"+(a||""),d="valid"+n,l=e.opts.$data&&i&&i.$data;l&&(r+=" var schema"+n+" = "+e.util.getData(i.$data,a,e.dataPathArr)+"; "),l||(r+=" var schema"+n+" = validate.schema"+o+";"),r+="var "+d+" = equal("+u+", schema"+n+"); if (!"+d+") { ";var p=p||[];p.push(r),r="",!1!==e.createErrors?(r+=" { keyword: 'const' , dataPath: (dataPath || '') + "+e.errorPath+" , schemaPath: "+e.util.toQuotedString(s)+" , params: { allowedValue: schema"+n+" } ",!1!==e.opts.messages&&(r+=" , message: 'should be equal to constant' "),e.opts.verbose&&(r+=" , schema: validate.schema"+o+" , parentSchema: validate.schema"+e.schemaPath+" , data: "+u+" "),r+=" } "):r+=" {} ";var b=r;return r=p.pop(),!e.compositeRule&&c?e.async?r+=" throw new ValidationError(["+b+"]); ":r+=" validate.errors = ["+b+"]; return false; ":r+=" var err = "+b+"; if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; ",r+=" }",c&&(r+=" else { "),r}},function(e,t,f){"use strict";e.exports=function(e,t,f){var r=" ",n=e.level,a=e.dataLevel,i=e.schema[t],o=e.schemaPath+e.util.getProperty(t),s=e.errSchemaPath+"/"+t,c=!e.opts.allErrors,u="data"+(a||""),d="valid"+n,l="errs__"+n,p=e.util.copy(e);p.level++;var b="valid"+p.level,h="i"+n,m=p.dataLevel=e.dataLevel+1,y="data"+m,g=e.baseId,v=e.opts.strictKeywords?"object"==typeof i&&Object.keys(i).length>0:e.util.schemaHasRules(i,e.RULES.all);if(r+="var "+l+" = errors;var "+d+";",v){var _=e.compositeRule;e.compositeRule=p.compositeRule=!0,p.schema=i,p.schemaPath=o,p.errSchemaPath=s,r+=" var "+b+" = false; for (var "+h+" = 0; "+h+" < "+u+".length; "+h+"++) { ",p.errorPath=e.util.getPathExpr(e.errorPath,h,e.opts.jsonPointers,!0);var w=u+"["+h+"]";p.dataPathArr[m]=h;var E=e.validate(p);p.baseId=g,e.util.varOccurences(E,y)<2?r+=" "+e.util.varReplace(E,y,w)+" ":r+=" var "+y+" = "+w+"; "+E+" ",r+=" if ("+b+") break; } ",e.compositeRule=p.compositeRule=_,r+=" if (!"+b+") {"}else r+=" if ("+u+".length == 0) {";var A=A||[];A.push(r),r="",!1!==e.createErrors?(r+=" { keyword: 'contains' , dataPath: (dataPath || '') + "+e.errorPath+" , schemaPath: "+e.util.toQuotedString(s)+" , params: {} ",!1!==e.opts.messages&&(r+=" , message: 'should contain a valid item' "),e.opts.verbose&&(r+=" , schema: validate.schema"+o+" , parentSchema: validate.schema"+e.schemaPath+" , data: "+u+" "),r+=" } "):r+=" {} ";var T=r;return r=A.pop(),!e.compositeRule&&c?e.async?r+=" throw new ValidationError(["+T+"]); ":r+=" validate.errors = ["+T+"]; return false; ":r+=" var err = "+T+"; if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; ",r+=" } else { ",v&&(r+=" errors = "+l+"; if (vErrors !== null) { if ("+l+") vErrors.length = "+l+"; else vErrors = null; } "),e.opts.allErrors&&(r+=" } "),r}},function(e,t,f){"use strict";e.exports=function(e,t,f){var r=" ",n=e.level,a=e.dataLevel,i=e.schema[t],o=e.schemaPath+e.util.getProperty(t),s=e.errSchemaPath+"/"+t,c=!e.opts.allErrors,u="data"+(a||""),d="errs__"+n,l=e.util.copy(e),p="";l.level++;var b="valid"+l.level,h={},m={},y=e.opts.ownProperties;for(w in i)if("__proto__"!=w){var g=i[w],v=Array.isArray(g)?m:h;v[w]=g}r+="var "+d+" = errors;";var _=e.errorPath;for(var w in r+="var missing"+n+";",m)if((v=m[w]).length){if(r+=" if ( "+u+e.util.getProperty(w)+" !== undefined ",y&&(r+=" && Object.prototype.hasOwnProperty.call("+u+", '"+e.util.escapeQuotes(w)+"') "),c){r+=" && ( ";var E=v;if(E)for(var A=-1,T=E.length-1;A<T;){P=E[A+=1],A&&(r+=" || "),r+=" ( ( "+(D=u+(N=e.util.getProperty(P)))+" === undefined ",y&&(r+=" || ! Object.prototype.hasOwnProperty.call("+u+", '"+e.util.escapeQuotes(P)+"') "),r+=") && (missing"+n+" = "+e.util.toQuotedString(e.opts.jsonPointers?P:N)+") ) "}r+=")) { ";var x="missing"+n,S="' + "+x+" + '";e.opts._errorDataPathProperty&&(e.errorPath=e.opts.jsonPointers?e.util.getPathExpr(_,x,!0):_+" + "+x);var k=k||[];k.push(r),r="",!1!==e.createErrors?(r+=" { keyword: 'dependencies' , dataPath: (dataPath || '') + "+e.errorPath+" , schemaPath: "+e.util.toQuotedString(s)+" , params: { property: '"+e.util.escapeQuotes(w)+"', missingProperty: '"+S+"', depsCount: "+v.length+", deps: '"+e.util.escapeQuotes(1==v.length?v[0]:v.join(", "))+"' } ",!1!==e.opts.messages&&(r+=" , message: 'should have ",1==v.length?r+="property "+e.util.escapeQuotes(v[0]):r+="properties "+e.util.escapeQuotes(v.join(", ")),r+=" when property "+e.util.escapeQuotes(w)+" is present' "),e.opts.verbose&&(r+=" , schema: validate.schema"+o+" , parentSchema: validate.schema"+e.schemaPath+" , data: "+u+" "),r+=" } "):r+=" {} ";var C=r;r=k.pop(),!e.compositeRule&&c?e.async?r+=" throw new ValidationError(["+C+"]); ":r+=" validate.errors = ["+C+"]; return false; ":r+=" var err = "+C+"; if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; "}else{r+=" ) { ";var O=v;if(O)for(var P,R=-1,M=O.length-1;R<M;){P=O[R+=1];var N=e.util.getProperty(P),D=(S=e.util.escapeQuotes(P),u+N);e.opts._errorDataPathProperty&&(e.errorPath=e.util.getPath(_,P,e.opts.jsonPointers)),r+=" if ( "+D+" === undefined ",y&&(r+=" || ! Object.prototype.hasOwnProperty.call("+u+", '"+e.util.escapeQuotes(P)+"') "),r+=") { var err = ",!1!==e.createErrors?(r+=" { keyword: 'dependencies' , dataPath: (dataPath || '') + "+e.errorPath+" , schemaPath: "+e.util.toQuotedString(s)+" , params: { property: '"+e.util.escapeQuotes(w)+"', missingProperty: '"+S+"', depsCount: "+v.length+", deps: '"+e.util.escapeQuotes(1==v.length?v[0]:v.join(", "))+"' } ",!1!==e.opts.messages&&(r+=" , message: 'should have ",1==v.length?r+="property "+e.util.escapeQuotes(v[0]):r+="properties "+e.util.escapeQuotes(v.join(", ")),r+=" when property "+e.util.escapeQuotes(w)+" is present' "),e.opts.verbose&&(r+=" , schema: validate.schema"+o+" , parentSchema: validate.schema"+e.schemaPath+" , data: "+u+" "),r+=" } "):r+=" {} ",r+="; if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; } "}}r+=" } ",c&&(p+="}",r+=" else { ")}e.errorPath=_;var B=l.baseId;for(var w in h){g=h[w];(e.opts.strictKeywords?"object"==typeof g&&Object.keys(g).length>0:e.util.schemaHasRules(g,e.RULES.all))&&(r+=" "+b+" = true; if ( "+u+e.util.getProperty(w)+" !== undefined ",y&&(r+=" && Object.prototype.hasOwnProperty.call("+u+", '"+e.util.escapeQuotes(w)+"') "),r+=") { ",l.schema=g,l.schemaPath=o+e.util.getProperty(w),l.errSchemaPath=s+"/"+e.util.escapeFragment(w),r+=" "+e.validate(l)+" ",l.baseId=B,r+=" } ",c&&(r+=" if ("+b+") { ",p+="}"))}return c&&(r+=" "+p+" if ("+d+" == errors) {"),r}},function(e,t,f){"use strict";e.exports=function(e,t,f){var r=" ",n=e.level,a=e.dataLevel,i=e.schema[t],o=e.schemaPath+e.util.getProperty(t),s=e.errSchemaPath+"/"+t,c=!e.opts.allErrors,u="data"+(a||""),d="valid"+n,l=e.opts.$data&&i&&i.$data;l&&(r+=" var schema"+n+" = "+e.util.getData(i.$data,a,e.dataPathArr)+"; ");var p="i"+n,b="schema"+n;l||(r+=" var "+b+" = validate.schema"+o+";"),r+="var "+d+";",l&&(r+=" if (schema"+n+" === undefined) "+d+" = true; else if (!Array.isArray(schema"+n+")) "+d+" = false; else {"),r+=d+" = false;for (var "+p+"=0; "+p+"<"+b+".length; "+p+"++) if (equal("+u+", "+b+"["+p+"])) { "+d+" = true; break; }",l&&(r+=" } "),r+=" if (!"+d+") { ";var h=h||[];h.push(r),r="",!1!==e.createErrors?(r+=" { keyword: 'enum' , dataPath: (dataPath || '') + "+e.errorPath+" , schemaPath: "+e.util.toQuotedString(s)+" , params: { allowedValues: schema"+n+" } ",!1!==e.opts.messages&&(r+=" , message: 'should be equal to one of the allowed values' "),e.opts.verbose&&(r+=" , schema: validate.schema"+o+" , parentSchema: validate.schema"+e.schemaPath+" , data: "+u+" "),r+=" } "):r+=" {} ";var m=r;return r=h.pop(),!e.compositeRule&&c?e.async?r+=" throw new ValidationError(["+m+"]); ":r+=" validate.errors = ["+m+"]; return false; ":r+=" var err = "+m+"; if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; ",r+=" }",c&&(r+=" else { "),r}},function(e,t,f){"use strict";e.exports=function(e,t,f){var r=" ",n=e.level,a=e.dataLevel,i=e.schema[t],o=e.schemaPath+e.util.getProperty(t),s=e.errSchemaPath+"/"+t,c=!e.opts.allErrors,u="data"+(a||"");if(!1===e.opts.format)return c&&(r+=" if (true) { "),r;var d,l=e.opts.$data&&i&&i.$data;l?(r+=" var schema"+n+" = "+e.util.getData(i.$data,a,e.dataPathArr)+"; ",d="schema"+n):d=i;var p=e.opts.unknownFormats,b=Array.isArray(p);if(l){r+=" var "+(h="format"+n)+" = formats["+d+"]; var "+(m="isObject"+n)+" = typeof "+h+" == 'object' && !("+h+" instanceof RegExp) && "+h+".validate; var "+(y="formatType"+n)+" = "+m+" && "+h+".type || 'string'; if ("+m+") { ",e.async&&(r+=" var async"+n+" = "+h+".async; "),r+=" "+h+" = "+h+".validate; } if ( ",l&&(r+=" ("+d+" !== undefined && typeof "+d+" != 'string') || "),r+=" (","ignore"!=p&&(r+=" ("+d+" && !"+h+" ",b&&(r+=" && self._opts.unknownFormats.indexOf("+d+") == -1 "),r+=") || "),r+=" ("+h+" && "+y+" == '"+f+"' && !(typeof "+h+" == 'function' ? ",e.async?r+=" (async"+n+" ? await "+h+"("+u+") : "+h+"("+u+")) ":r+=" "+h+"("+u+") ",r+=" : "+h+".test("+u+"))))) {"}else{var h;if(!(h=e.formats[i])){if("ignore"==p)return e.logger.warn('unknown format "'+i+'" ignored in schema at path "'+e.errSchemaPath+'"'),c&&(r+=" if (true) { "),r;if(b&&p.indexOf(i)>=0)return c&&(r+=" if (true) { "),r;throw new Error('unknown format "'+i+'" is used in schema at path "'+e.errSchemaPath+'"')}var m,y=(m="object"==typeof h&&!(h instanceof RegExp)&&h.validate)&&h.type||"string";if(m){var g=!0===h.async;h=h.validate}if(y!=f)return c&&(r+=" if (true) { "),r;if(g){if(!e.async)throw new Error("async format in sync schema");r+=" if (!(await "+(v="formats"+e.util.getProperty(i)+".validate")+"("+u+"))) { "}else{r+=" if (! ";var v="formats"+e.util.getProperty(i);m&&(v+=".validate"),r+="function"==typeof h?" "+v+"("+u+") ":" "+v+".test("+u+") ",r+=") { "}}var _=_||[];_.push(r),r="",!1!==e.createErrors?(r+=" { keyword: 'format' , dataPath: (dataPath || '') + "+e.errorPath+" , schemaPath: "+e.util.toQuotedString(s)+" , params: { format: ",r+=l?""+d:""+e.util.toQuotedString(i),r+=" } ",!1!==e.opts.messages&&(r+=" , message: 'should match format \"",r+=l?"' + "+d+" + '":""+e.util.escapeQuotes(i),r+="\"' "),e.opts.verbose&&(r+=" , schema: ",r+=l?"validate.schema"+o:""+e.util.toQuotedString(i),r+=" , parentSchema: validate.schema"+e.schemaPath+" , data: "+u+" "),r+=" } "):r+=" {} ";var w=r;return r=_.pop(),!e.compositeRule&&c?e.async?r+=" throw new ValidationError(["+w+"]); ":r+=" validate.errors = ["+w+"]; return false; ":r+=" var err = "+w+"; if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; ",r+=" } ",c&&(r+=" else { "),r}},function(e,t,f){"use strict";e.exports=function(e,t,f){var r=" ",n=e.level,a=e.dataLevel,i=e.schema[t],o=e.schemaPath+e.util.getProperty(t),s=e.errSchemaPath+"/"+t,c=!e.opts.allErrors,u="data"+(a||""),d="valid"+n,l="errs__"+n,p=e.util.copy(e);p.level++;var b="valid"+p.level,h=e.schema.then,m=e.schema.else,y=void 0!==h&&(e.opts.strictKeywords?"object"==typeof h&&Object.keys(h).length>0:e.util.schemaHasRules(h,e.RULES.all)),g=void 0!==m&&(e.opts.strictKeywords?"object"==typeof m&&Object.keys(m).length>0:e.util.schemaHasRules(m,e.RULES.all)),v=p.baseId;if(y||g){var _;p.createErrors=!1,p.schema=i,p.schemaPath=o,p.errSchemaPath=s,r+=" var "+l+" = errors; var "+d+" = true; ";var w=e.compositeRule;e.compositeRule=p.compositeRule=!0,r+=" "+e.validate(p)+" ",p.baseId=v,p.createErrors=!0,r+=" errors = "+l+"; if (vErrors !== null) { if ("+l+") vErrors.length = "+l+"; else vErrors = null; } ",e.compositeRule=p.compositeRule=w,y?(r+=" if ("+b+") { ",p.schema=e.schema.then,p.schemaPath=e.schemaPath+".then",p.errSchemaPath=e.errSchemaPath+"/then",r+=" "+e.validate(p)+" ",p.baseId=v,r+=" "+d+" = "+b+"; ",y&&g?r+=" var "+(_="ifClause"+n)+" = 'then'; ":_="'then'",r+=" } ",g&&(r+=" else { ")):r+=" if (!"+b+") { ",g&&(p.schema=e.schema.else,p.schemaPath=e.schemaPath+".else",p.errSchemaPath=e.errSchemaPath+"/else",r+=" "+e.validate(p)+" ",p.baseId=v,r+=" "+d+" = "+b+"; ",y&&g?r+=" var "+(_="ifClause"+n)+" = 'else'; ":_="'else'",r+=" } "),r+=" if (!"+d+") { var err = ",!1!==e.createErrors?(r+=" { keyword: 'if' , dataPath: (dataPath || '') + "+e.errorPath+" , schemaPath: "+e.util.toQuotedString(s)+" , params: { failingKeyword: "+_+" } ",!1!==e.opts.messages&&(r+=" , message: 'should match \"' + "+_+" + '\" schema' "),e.opts.verbose&&(r+=" , schema: validate.schema"+o+" , parentSchema: validate.schema"+e.schemaPath+" , data: "+u+" "),r+=" } "):r+=" {} ",r+="; if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; ",!e.compositeRule&&c&&(e.async?r+=" throw new ValidationError(vErrors); ":r+=" validate.errors = vErrors; return false; "),r+=" } ",c&&(r+=" else { ")}else c&&(r+=" if (true) { ");return r}},function(e,t,f){"use strict";e.exports=function(e,t,f){var r=" ",n=e.level,a=e.dataLevel,i=e.schema[t],o=e.schemaPath+e.util.getProperty(t),s=e.errSchemaPath+"/"+t,c=!e.opts.allErrors,u="data"+(a||""),d="valid"+n,l="errs__"+n,p=e.util.copy(e),b="";p.level++;var h="valid"+p.level,m="i"+n,y=p.dataLevel=e.dataLevel+1,g="data"+y,v=e.baseId;if(r+="var "+l+" = errors;var "+d+";",Array.isArray(i)){var _=e.schema.additionalItems;if(!1===_){r+=" "+d+" = "+u+".length <= "+i.length+"; ";var w=s;s=e.errSchemaPath+"/additionalItems",r+=" if (!"+d+") { ";var E=E||[];E.push(r),r="",!1!==e.createErrors?(r+=" { keyword: 'additionalItems' , dataPath: (dataPath || '') + "+e.errorPath+" , schemaPath: "+e.util.toQuotedString(s)+" , params: { limit: "+i.length+" } ",!1!==e.opts.messages&&(r+=" , message: 'should NOT have more than "+i.length+" items' "),e.opts.verbose&&(r+=" , schema: false , parentSchema: validate.schema"+e.schemaPath+" , data: "+u+" "),r+=" } "):r+=" {} ";var A=r;r=E.pop(),!e.compositeRule&&c?e.async?r+=" throw new ValidationError(["+A+"]); ":r+=" validate.errors = ["+A+"]; return false; ":r+=" var err = "+A+"; if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; ",r+=" } ",s=w,c&&(b+="}",r+=" else { ")}var T=i;if(T)for(var x,S=-1,k=T.length-1;S<k;)if(x=T[S+=1],e.opts.strictKeywords?"object"==typeof x&&Object.keys(x).length>0:e.util.schemaHasRules(x,e.RULES.all)){r+=" "+h+" = true; if ("+u+".length > "+S+") { ";var C=u+"["+S+"]";p.schema=x,p.schemaPath=o+"["+S+"]",p.errSchemaPath=s+"/"+S,p.errorPath=e.util.getPathExpr(e.errorPath,S,e.opts.jsonPointers,!0),p.dataPathArr[y]=S;var O=e.validate(p);p.baseId=v,e.util.varOccurences(O,g)<2?r+=" "+e.util.varReplace(O,g,C)+" ":r+=" var "+g+" = "+C+"; "+O+" ",r+=" } ",c&&(r+=" if ("+h+") { ",b+="}")}if("object"==typeof _&&(e.opts.strictKeywords?"object"==typeof _&&Object.keys(_).length>0:e.util.schemaHasRules(_,e.RULES.all))){p.schema=_,p.schemaPath=e.schemaPath+".additionalItems",p.errSchemaPath=e.errSchemaPath+"/additionalItems",r+=" "+h+" = true; if ("+u+".length > "+i.length+") { for (var "+m+" = "+i.length+"; "+m+" < "+u+".length; "+m+"++) { ",p.errorPath=e.util.getPathExpr(e.errorPath,m,e.opts.jsonPointers,!0);C=u+"["+m+"]";p.dataPathArr[y]=m;O=e.validate(p);p.baseId=v,e.util.varOccurences(O,g)<2?r+=" "+e.util.varReplace(O,g,C)+" ":r+=" var "+g+" = "+C+"; "+O+" ",c&&(r+=" if (!"+h+") break; "),r+=" } } ",c&&(r+=" if ("+h+") { ",b+="}")}}else if(e.opts.strictKeywords?"object"==typeof i&&Object.keys(i).length>0:e.util.schemaHasRules(i,e.RULES.all)){p.schema=i,p.schemaPath=o,p.errSchemaPath=s,r+=" for (var "+m+" = 0; "+m+" < "+u+".length; "+m+"++) { ",p.errorPath=e.util.getPathExpr(e.errorPath,m,e.opts.jsonPointers,!0);C=u+"["+m+"]";p.dataPathArr[y]=m;O=e.validate(p);p.baseId=v,e.util.varOccurences(O,g)<2?r+=" "+e.util.varReplace(O,g,C)+" ":r+=" var "+g+" = "+C+"; "+O+" ",c&&(r+=" if (!"+h+") break; "),r+=" }"}return c&&(r+=" "+b+" if ("+l+" == errors) {"),r}},function(e,t,f){"use strict";e.exports=function(e,t,f){var r,n=" ",a=e.level,i=e.dataLevel,o=e.schema[t],s=e.schemaPath+e.util.getProperty(t),c=e.errSchemaPath+"/"+t,u=!e.opts.allErrors,d="data"+(i||""),l=e.opts.$data&&o&&o.$data;if(l?(n+=" var schema"+a+" = "+e.util.getData(o.$data,i,e.dataPathArr)+"; ",r="schema"+a):r=o,!l&&"number"!=typeof o)throw new Error(t+" must be number");n+="var division"+a+";if (",l&&(n+=" "+r+" !== undefined && ( typeof "+r+" != 'number' || "),n+=" (division"+a+" = "+d+" / "+r+", ",e.opts.multipleOfPrecision?n+=" Math.abs(Math.round(division"+a+") - division"+a+") > 1e-"+e.opts.multipleOfPrecision+" ":n+=" division"+a+" !== parseInt(division"+a+") ",n+=" ) ",l&&(n+=" ) "),n+=" ) { ";var p=p||[];p.push(n),n="",!1!==e.createErrors?(n+=" { keyword: 'multipleOf' , dataPath: (dataPath || '') + "+e.errorPath+" , schemaPath: "+e.util.toQuotedString(c)+" , params: { multipleOf: "+r+" } ",!1!==e.opts.messages&&(n+=" , message: 'should be multiple of ",n+=l?"' + "+r:r+"'"),e.opts.verbose&&(n+=" , schema: ",n+=l?"validate.schema"+s:""+o,n+=" , parentSchema: validate.schema"+e.schemaPath+" , data: "+d+" "),n+=" } "):n+=" {} ";var b=n;return n=p.pop(),!e.compositeRule&&u?e.async?n+=" throw new ValidationError(["+b+"]); ":n+=" validate.errors = ["+b+"]; return false; ":n+=" var err = "+b+"; if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; ",n+="} ",u&&(n+=" else { "),n}},function(e,t,f){"use strict";e.exports=function(e,t,f){var r=" ",n=e.level,a=e.dataLevel,i=e.schema[t],o=e.schemaPath+e.util.getProperty(t),s=e.errSchemaPath+"/"+t,c=!e.opts.allErrors,u="data"+(a||""),d="errs__"+n,l=e.util.copy(e);l.level++;var p="valid"+l.level;if(e.opts.strictKeywords?"object"==typeof i&&Object.keys(i).length>0:e.util.schemaHasRules(i,e.RULES.all)){l.schema=i,l.schemaPath=o,l.errSchemaPath=s,r+=" var "+d+" = errors; ";var b,h=e.compositeRule;e.compositeRule=l.compositeRule=!0,l.createErrors=!1,l.opts.allErrors&&(b=l.opts.allErrors,l.opts.allErrors=!1),r+=" "+e.validate(l)+" ",l.createErrors=!0,b&&(l.opts.allErrors=b),e.compositeRule=l.compositeRule=h,r+=" if ("+p+") { ";var m=m||[];m.push(r),r="",!1!==e.createErrors?(r+=" { keyword: 'not' , dataPath: (dataPath || '') + "+e.errorPath+" , schemaPath: "+e.util.toQuotedString(s)+" , params: {} ",!1!==e.opts.messages&&(r+=" , message: 'should NOT be valid' "),e.opts.verbose&&(r+=" , schema: validate.schema"+o+" , parentSchema: validate.schema"+e.schemaPath+" , data: "+u+" "),r+=" } "):r+=" {} ";var y=r;r=m.pop(),!e.compositeRule&&c?e.async?r+=" throw new ValidationError(["+y+"]); ":r+=" validate.errors = ["+y+"]; return false; ":r+=" var err = "+y+"; if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; ",r+=" } else { errors = "+d+"; if (vErrors !== null) { if ("+d+") vErrors.length = "+d+"; else vErrors = null; } ",e.opts.allErrors&&(r+=" } ")}else r+=" var err = ",!1!==e.createErrors?(r+=" { keyword: 'not' , dataPath: (dataPath || '') + "+e.errorPath+" , schemaPath: "+e.util.toQuotedString(s)+" , params: {} ",!1!==e.opts.messages&&(r+=" , message: 'should NOT be valid' "),e.opts.verbose&&(r+=" , schema: validate.schema"+o+" , parentSchema: validate.schema"+e.schemaPath+" , data: "+u+" "),r+=" } "):r+=" {} ",r+="; if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; ",c&&(r+=" if (false) { ");return r}},function(e,t,f){"use strict";e.exports=function(e,t,f){var r=" ",n=e.level,a=e.dataLevel,i=e.schema[t],o=e.schemaPath+e.util.getProperty(t),s=e.errSchemaPath+"/"+t,c=!e.opts.allErrors,u="data"+(a||""),d="valid"+n,l="errs__"+n,p=e.util.copy(e),b="";p.level++;var h="valid"+p.level,m=p.baseId,y="prevValid"+n,g="passingSchemas"+n;r+="var "+l+" = errors , "+y+" = false , "+d+" = false , "+g+" = null; ";var v=e.compositeRule;e.compositeRule=p.compositeRule=!0;var _=i;if(_)for(var w,E=-1,A=_.length-1;E<A;)w=_[E+=1],(e.opts.strictKeywords?"object"==typeof w&&Object.keys(w).length>0:e.util.schemaHasRules(w,e.RULES.all))?(p.schema=w,p.schemaPath=o+"["+E+"]",p.errSchemaPath=s+"/"+E,r+=" "+e.validate(p)+" ",p.baseId=m):r+=" var "+h+" = true; ",E&&(r+=" if ("+h+" && "+y+") { "+d+" = false; "+g+" = ["+g+", "+E+"]; } else { ",b+="}"),r+=" if ("+h+") { "+d+" = "+y+" = true; "+g+" = "+E+"; }";return e.compositeRule=p.compositeRule=v,r+=b+"if (!"+d+") { var err = ",!1!==e.createErrors?(r+=" { keyword: 'oneOf' , dataPath: (dataPath || '') + "+e.errorPath+" , schemaPath: "+e.util.toQuotedString(s)+" , params: { passingSchemas: "+g+" } ",!1!==e.opts.messages&&(r+=" , message: 'should match exactly one schema in oneOf' "),e.opts.verbose&&(r+=" , schema: validate.schema"+o+" , parentSchema: validate.schema"+e.schemaPath+" , data: "+u+" "),r+=" } "):r+=" {} ",r+="; if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; ",!e.compositeRule&&c&&(e.async?r+=" throw new ValidationError(vErrors); ":r+=" validate.errors = vErrors; return false; "),r+="} else { errors = "+l+"; if (vErrors !== null) { if ("+l+") vErrors.length = "+l+"; else vErrors = null; }",e.opts.allErrors&&(r+=" } "),r}},function(e,t,f){"use strict";e.exports=function(e,t,f){var r,n=" ",a=e.level,i=e.dataLevel,o=e.schema[t],s=e.schemaPath+e.util.getProperty(t),c=e.errSchemaPath+"/"+t,u=!e.opts.allErrors,d="data"+(i||""),l=e.opts.$data&&o&&o.$data;l?(n+=" var schema"+a+" = "+e.util.getData(o.$data,i,e.dataPathArr)+"; ",r="schema"+a):r=o,n+="if ( ",l&&(n+=" ("+r+" !== undefined && typeof "+r+" != 'string') || "),n+=" !"+(l?"(new RegExp("+r+"))":e.usePattern(o))+".test("+d+") ) { ";var p=p||[];p.push(n),n="",!1!==e.createErrors?(n+=" { keyword: 'pattern' , dataPath: (dataPath || '') + "+e.errorPath+" , schemaPath: "+e.util.toQuotedString(c)+" , params: { pattern: ",n+=l?""+r:""+e.util.toQuotedString(o),n+=" } ",!1!==e.opts.messages&&(n+=" , message: 'should match pattern \"",n+=l?"' + "+r+" + '":""+e.util.escapeQuotes(o),n+="\"' "),e.opts.verbose&&(n+=" , schema: ",n+=l?"validate.schema"+s:""+e.util.toQuotedString(o),n+=" , parentSchema: validate.schema"+e.schemaPath+" , data: "+d+" "),n+=" } "):n+=" {} ";var b=n;return n=p.pop(),!e.compositeRule&&u?e.async?n+=" throw new ValidationError(["+b+"]); ":n+=" validate.errors = ["+b+"]; return false; ":n+=" var err = "+b+"; if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; ",n+="} ",u&&(n+=" else { "),n}},function(e,t,f){"use strict";e.exports=function(e,t,f){var r=" ",n=e.level,a=e.dataLevel,i=e.schema[t],o=e.schemaPath+e.util.getProperty(t),s=e.errSchemaPath+"/"+t,c=!e.opts.allErrors,u="data"+(a||""),d="errs__"+n,l=e.util.copy(e),p="";l.level++;var b="valid"+l.level,h="key"+n,m="idx"+n,y=l.dataLevel=e.dataLevel+1,g="data"+y,v="dataProperties"+n,_=Object.keys(i||{}).filter(N),w=e.schema.patternProperties||{},E=Object.keys(w).filter(N),A=e.schema.additionalProperties,T=_.length||E.length,x=!1===A,S="object"==typeof A&&Object.keys(A).length,k=e.opts.removeAdditional,C=x||S||k,O=e.opts.ownProperties,P=e.baseId,R=e.schema.required;if(R&&(!e.opts.$data||!R.$data)&&R.length<e.opts.loopRequired)var M=e.util.toHash(R);function N(e){return"__proto__"!==e}if(r+="var "+d+" = errors;var "+b+" = true;",O&&(r+=" var "+v+" = undefined;"),C){if(r+=O?" "+v+" = "+v+" || Object.keys("+u+"); for (var "+m+"=0; "+m+"<"+v+".length; "+m+"++) { var "+h+" = "+v+"["+m+"]; ":" for (var "+h+" in "+u+") { ",T){if(r+=" var isAdditional"+n+" = !(false ",_.length)if(_.length>8)r+=" || validate.schema"+o+".hasOwnProperty("+h+") ";else{var D=_;if(D)for(var B=-1,I=D.length-1;B<I;)Y=D[B+=1],r+=" || "+h+" == "+e.util.toQuotedString(Y)+" "}if(E.length){var F=E;if(F)for(var j=-1,L=F.length-1;j<L;)ae=F[j+=1],r+=" || "+e.usePattern(ae)+".test("+h+") "}r+=" ); if (isAdditional"+n+") { "}if("all"==k)r+=" delete "+u+"["+h+"]; ";else{var U=e.errorPath,q="' + "+h+" + '";if(e.opts._errorDataPathProperty&&(e.errorPath=e.util.getPathExpr(e.errorPath,h,e.opts.jsonPointers)),x)if(k)r+=" delete "+u+"["+h+"]; ";else{r+=" "+b+" = false; ";var H=s;s=e.errSchemaPath+"/additionalProperties",(fe=fe||[]).push(r),r="",!1!==e.createErrors?(r+=" { keyword: 'additionalProperties' , dataPath: (dataPath || '') + "+e.errorPath+" , schemaPath: "+e.util.toQuotedString(s)+" , params: { additionalProperty: '"+q+"' } ",!1!==e.opts.messages&&(r+=" , message: '",e.opts._errorDataPathProperty?r+="is an invalid additional property":r+="should NOT have additional properties",r+="' "),e.opts.verbose&&(r+=" , schema: false , parentSchema: validate.schema"+e.schemaPath+" , data: "+u+" "),r+=" } "):r+=" {} ";var z=r;r=fe.pop(),!e.compositeRule&&c?e.async?r+=" throw new ValidationError(["+z+"]); ":r+=" validate.errors = ["+z+"]; return false; ":r+=" var err = "+z+"; if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; ",s=H,c&&(r+=" break; ")}else if(S)if("failing"==k){r+=" var "+d+" = errors; ";var V=e.compositeRule;e.compositeRule=l.compositeRule=!0,l.schema=A,l.schemaPath=e.schemaPath+".additionalProperties",l.errSchemaPath=e.errSchemaPath+"/additionalProperties",l.errorPath=e.opts._errorDataPathProperty?e.errorPath:e.util.getPathExpr(e.errorPath,h,e.opts.jsonPointers);var K=u+"["+h+"]";l.dataPathArr[y]=h;var G=e.validate(l);l.baseId=P,e.util.varOccurences(G,g)<2?r+=" "+e.util.varReplace(G,g,K)+" ":r+=" var "+g+" = "+K+"; "+G+" ",r+=" if (!"+b+") { errors = "+d+"; if (validate.errors !== null) { if (errors) validate.errors.length = errors; else validate.errors = null; } delete "+u+"["+h+"]; } ",e.compositeRule=l.compositeRule=V}else{l.schema=A,l.schemaPath=e.schemaPath+".additionalProperties",l.errSchemaPath=e.errSchemaPath+"/additionalProperties",l.errorPath=e.opts._errorDataPathProperty?e.errorPath:e.util.getPathExpr(e.errorPath,h,e.opts.jsonPointers);K=u+"["+h+"]";l.dataPathArr[y]=h;G=e.validate(l);l.baseId=P,e.util.varOccurences(G,g)<2?r+=" "+e.util.varReplace(G,g,K)+" ":r+=" var "+g+" = "+K+"; "+G+" ",c&&(r+=" if (!"+b+") break; ")}e.errorPath=U}T&&(r+=" } "),r+=" } ",c&&(r+=" if ("+b+") { ",p+="}")}var W=e.opts.useDefaults&&!e.compositeRule;if(_.length){var $=_;if($)for(var Y,J=-1,X=$.length-1;J<X;){var Z=i[Y=$[J+=1]];if(e.opts.strictKeywords?"object"==typeof Z&&Object.keys(Z).length>0:e.util.schemaHasRules(Z,e.RULES.all)){var Q=e.util.getProperty(Y),ee=(K=u+Q,W&&void 0!==Z.default);l.schema=Z,l.schemaPath=o+Q,l.errSchemaPath=s+"/"+e.util.escapeFragment(Y),l.errorPath=e.util.getPath(e.errorPath,Y,e.opts.jsonPointers),l.dataPathArr[y]=e.util.toQuotedString(Y);G=e.validate(l);if(l.baseId=P,e.util.varOccurences(G,g)<2){G=e.util.varReplace(G,g,K);var te=K}else{te=g;r+=" var "+g+" = "+K+"; "}if(ee)r+=" "+G+" ";else{if(M&&M[Y]){r+=" if ( "+te+" === undefined ",O&&(r+=" || ! Object.prototype.hasOwnProperty.call("+u+", '"+e.util.escapeQuotes(Y)+"') "),r+=") { "+b+" = false; ";U=e.errorPath,H=s;var fe,re=e.util.escapeQuotes(Y);e.opts._errorDataPathProperty&&(e.errorPath=e.util.getPath(U,Y,e.opts.jsonPointers)),s=e.errSchemaPath+"/required",(fe=fe||[]).push(r),r="",!1!==e.createErrors?(r+=" { keyword: 'required' , dataPath: (dataPath || '') + "+e.errorPath+" , schemaPath: "+e.util.toQuotedString(s)+" , params: { missingProperty: '"+re+"' } ",!1!==e.opts.messages&&(r+=" , message: '",e.opts._errorDataPathProperty?r+="is a required property":r+="should have required property \\'"+re+"\\'",r+="' "),e.opts.verbose&&(r+=" , schema: validate.schema"+o+" , parentSchema: validate.schema"+e.schemaPath+" , data: "+u+" "),r+=" } "):r+=" {} ";z=r;r=fe.pop(),!e.compositeRule&&c?e.async?r+=" throw new ValidationError(["+z+"]); ":r+=" validate.errors = ["+z+"]; return false; ":r+=" var err = "+z+"; if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; ",s=H,e.errorPath=U,r+=" } else { "}else c?(r+=" if ( "+te+" === undefined ",O&&(r+=" || ! Object.prototype.hasOwnProperty.call("+u+", '"+e.util.escapeQuotes(Y)+"') "),r+=") { "+b+" = true; } else { "):(r+=" if ("+te+" !== undefined ",O&&(r+=" && Object.prototype.hasOwnProperty.call("+u+", '"+e.util.escapeQuotes(Y)+"') "),r+=" ) { ");r+=" "+G+" } "}}c&&(r+=" if ("+b+") { ",p+="}")}}if(E.length){var ne=E;if(ne)for(var ae,ie=-1,oe=ne.length-1;ie<oe;){Z=w[ae=ne[ie+=1]];if(e.opts.strictKeywords?"object"==typeof Z&&Object.keys(Z).length>0:e.util.schemaHasRules(Z,e.RULES.all)){l.schema=Z,l.schemaPath=e.schemaPath+".patternProperties"+e.util.getProperty(ae),l.errSchemaPath=e.errSchemaPath+"/patternProperties/"+e.util.escapeFragment(ae),r+=O?" "+v+" = "+v+" || Object.keys("+u+"); for (var "+m+"=0; "+m+"<"+v+".length; "+m+"++) { var "+h+" = "+v+"["+m+"]; ":" for (var "+h+" in "+u+") { ",r+=" if ("+e.usePattern(ae)+".test("+h+")) { ",l.errorPath=e.util.getPathExpr(e.errorPath,h,e.opts.jsonPointers);K=u+"["+h+"]";l.dataPathArr[y]=h;G=e.validate(l);l.baseId=P,e.util.varOccurences(G,g)<2?r+=" "+e.util.varReplace(G,g,K)+" ":r+=" var "+g+" = "+K+"; "+G+" ",c&&(r+=" if (!"+b+") break; "),r+=" } ",c&&(r+=" else "+b+" = true; "),r+=" } ",c&&(r+=" if ("+b+") { ",p+="}")}}}return c&&(r+=" "+p+" if ("+d+" == errors) {"),r}},function(e,t,f){"use strict";e.exports=function(e,t,f){var r=" ",n=e.level,a=e.dataLevel,i=e.schema[t],o=e.schemaPath+e.util.getProperty(t),s=e.errSchemaPath+"/"+t,c=!e.opts.allErrors,u="data"+(a||""),d="errs__"+n,l=e.util.copy(e);l.level++;var p="valid"+l.level;if(r+="var "+d+" = errors;",e.opts.strictKeywords?"object"==typeof i&&Object.keys(i).length>0:e.util.schemaHasRules(i,e.RULES.all)){l.schema=i,l.schemaPath=o,l.errSchemaPath=s;var b="key"+n,h="idx"+n,m="i"+n,y="' + "+b+" + '",g="data"+(l.dataLevel=e.dataLevel+1),v="dataProperties"+n,_=e.opts.ownProperties,w=e.baseId;_&&(r+=" var "+v+" = undefined; "),r+=_?" "+v+" = "+v+" || Object.keys("+u+"); for (var "+h+"=0; "+h+"<"+v+".length; "+h+"++) { var "+b+" = "+v+"["+h+"]; ":" for (var "+b+" in "+u+") { ",r+=" var startErrs"+n+" = errors; ";var E=b,A=e.compositeRule;e.compositeRule=l.compositeRule=!0;var T=e.validate(l);l.baseId=w,e.util.varOccurences(T,g)<2?r+=" "+e.util.varReplace(T,g,E)+" ":r+=" var "+g+" = "+E+"; "+T+" ",e.compositeRule=l.compositeRule=A,r+=" if (!"+p+") { for (var "+m+"=startErrs"+n+"; "+m+"<errors; "+m+"++) { vErrors["+m+"].propertyName = "+b+"; } var err = ",!1!==e.createErrors?(r+=" { keyword: 'propertyNames' , dataPath: (dataPath || '') + "+e.errorPath+" , schemaPath: "+e.util.toQuotedString(s)+" , params: { propertyName: '"+y+"' } ",!1!==e.opts.messages&&(r+=" , message: 'property name \\'"+y+"\\' is invalid' "),e.opts.verbose&&(r+=" , schema: validate.schema"+o+" , parentSchema: validate.schema"+e.schemaPath+" , data: "+u+" "),r+=" } "):r+=" {} ",r+="; if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; ",!e.compositeRule&&c&&(e.async?r+=" throw new ValidationError(vErrors); ":r+=" validate.errors = vErrors; return false; "),c&&(r+=" break; "),r+=" } }"}return c&&(r+=" if ("+d+" == errors) {"),r}},function(e,t,f){"use strict";e.exports=function(e,t,f){var r=" ",n=e.level,a=e.dataLevel,i=e.schema[t],o=e.schemaPath+e.util.getProperty(t),s=e.errSchemaPath+"/"+t,c=!e.opts.allErrors,u="data"+(a||""),d="valid"+n,l=e.opts.$data&&i&&i.$data;l&&(r+=" var schema"+n+" = "+e.util.getData(i.$data,a,e.dataPathArr)+"; ");var p="schema"+n;if(!l)if(i.length<e.opts.loopRequired&&e.schema.properties&&Object.keys(e.schema.properties).length){var b=[],h=i;if(h)for(var m,y=-1,g=h.length-1;y<g;){m=h[y+=1];var v=e.schema.properties[m];v&&(e.opts.strictKeywords?"object"==typeof v&&Object.keys(v).length>0:e.util.schemaHasRules(v,e.RULES.all))||(b[b.length]=m)}}else b=i;if(l||b.length){var _=e.errorPath,w=l||b.length>=e.opts.loopRequired,E=e.opts.ownProperties;if(c)if(r+=" var missing"+n+"; ",w){l||(r+=" var "+p+" = validate.schema"+o+"; ");var A="' + "+(O="schema"+n+"["+(S="i"+n)+"]")+" + '";e.opts._errorDataPathProperty&&(e.errorPath=e.util.getPathExpr(_,O,e.opts.jsonPointers)),r+=" var "+d+" = true; ",l&&(r+=" if (schema"+n+" === undefined) "+d+" = true; else if (!Array.isArray(schema"+n+")) "+d+" = false; else {"),r+=" for (var "+S+" = 0; "+S+" < "+p+".length; "+S+"++) { "+d+" = "+u+"["+p+"["+S+"]] !== undefined ",E&&(r+=" && Object.prototype.hasOwnProperty.call("+u+", "+p+"["+S+"]) "),r+="; if (!"+d+") break; } ",l&&(r+=" } "),r+=" if (!"+d+") { ",(C=C||[]).push(r),r="",!1!==e.createErrors?(r+=" { keyword: 'required' , dataPath: (dataPath || '') + "+e.errorPath+" , schemaPath: "+e.util.toQuotedString(s)+" , params: { missingProperty: '"+A+"' } ",!1!==e.opts.messages&&(r+=" , message: '",e.opts._errorDataPathProperty?r+="is a required property":r+="should have required property \\'"+A+"\\'",r+="' "),e.opts.verbose&&(r+=" , schema: validate.schema"+o+" , parentSchema: validate.schema"+e.schemaPath+" , data: "+u+" "),r+=" } "):r+=" {} ";var T=r;r=C.pop(),!e.compositeRule&&c?e.async?r+=" throw new ValidationError(["+T+"]); ":r+=" validate.errors = ["+T+"]; return false; ":r+=" var err = "+T+"; if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; ",r+=" } else { "}else{r+=" if ( ";var x=b;if(x)for(var S=-1,k=x.length-1;S<k;){R=x[S+=1],S&&(r+=" || "),r+=" ( ( "+(B=u+(D=e.util.getProperty(R)))+" === undefined ",E&&(r+=" || ! Object.prototype.hasOwnProperty.call("+u+", '"+e.util.escapeQuotes(R)+"') "),r+=") && (missing"+n+" = "+e.util.toQuotedString(e.opts.jsonPointers?R:D)+") ) "}r+=") { ";var C;A="' + "+(O="missing"+n)+" + '";e.opts._errorDataPathProperty&&(e.errorPath=e.opts.jsonPointers?e.util.getPathExpr(_,O,!0):_+" + "+O),(C=C||[]).push(r),r="",!1!==e.createErrors?(r+=" { keyword: 'required' , dataPath: (dataPath || '') + "+e.errorPath+" , schemaPath: "+e.util.toQuotedString(s)+" , params: { missingProperty: '"+A+"' } ",!1!==e.opts.messages&&(r+=" , message: '",e.opts._errorDataPathProperty?r+="is a required property":r+="should have required property \\'"+A+"\\'",r+="' "),e.opts.verbose&&(r+=" , schema: validate.schema"+o+" , parentSchema: validate.schema"+e.schemaPath+" , data: "+u+" "),r+=" } "):r+=" {} ";T=r;r=C.pop(),!e.compositeRule&&c?e.async?r+=" throw new ValidationError(["+T+"]); ":r+=" validate.errors = ["+T+"]; return false; ":r+=" var err = "+T+"; if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; ",r+=" } else { "}else if(w){l||(r+=" var "+p+" = validate.schema"+o+"; ");var O;A="' + "+(O="schema"+n+"["+(S="i"+n)+"]")+" + '";e.opts._errorDataPathProperty&&(e.errorPath=e.util.getPathExpr(_,O,e.opts.jsonPointers)),l&&(r+=" if ("+p+" && !Array.isArray("+p+")) { var err = ",!1!==e.createErrors?(r+=" { keyword: 'required' , dataPath: (dataPath || '') + "+e.errorPath+" , schemaPath: "+e.util.toQuotedString(s)+" , params: { missingProperty: '"+A+"' } ",!1!==e.opts.messages&&(r+=" , message: '",e.opts._errorDataPathProperty?r+="is a required property":r+="should have required property \\'"+A+"\\'",r+="' "),e.opts.verbose&&(r+=" , schema: validate.schema"+o+" , parentSchema: validate.schema"+e.schemaPath+" , data: "+u+" "),r+=" } "):r+=" {} ",r+="; if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; } else if ("+p+" !== undefined) { "),r+=" for (var "+S+" = 0; "+S+" < "+p+".length; "+S+"++) { if ("+u+"["+p+"["+S+"]] === undefined ",E&&(r+=" || ! Object.prototype.hasOwnProperty.call("+u+", "+p+"["+S+"]) "),r+=") { var err = ",!1!==e.createErrors?(r+=" { keyword: 'required' , dataPath: (dataPath || '') + "+e.errorPath+" , schemaPath: "+e.util.toQuotedString(s)+" , params: { missingProperty: '"+A+"' } ",!1!==e.opts.messages&&(r+=" , message: '",e.opts._errorDataPathProperty?r+="is a required property":r+="should have required property \\'"+A+"\\'",r+="' "),e.opts.verbose&&(r+=" , schema: validate.schema"+o+" , parentSchema: validate.schema"+e.schemaPath+" , data: "+u+" "),r+=" } "):r+=" {} ",r+="; if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; } } ",l&&(r+=" } ")}else{var P=b;if(P)for(var R,M=-1,N=P.length-1;M<N;){R=P[M+=1];var D=e.util.getProperty(R),B=(A=e.util.escapeQuotes(R),u+D);e.opts._errorDataPathProperty&&(e.errorPath=e.util.getPath(_,R,e.opts.jsonPointers)),r+=" if ( "+B+" === undefined ",E&&(r+=" || ! Object.prototype.hasOwnProperty.call("+u+", '"+e.util.escapeQuotes(R)+"') "),r+=") { var err = ",!1!==e.createErrors?(r+=" { keyword: 'required' , dataPath: (dataPath || '') + "+e.errorPath+" , schemaPath: "+e.util.toQuotedString(s)+" , params: { missingProperty: '"+A+"' } ",!1!==e.opts.messages&&(r+=" , message: '",e.opts._errorDataPathProperty?r+="is a required property":r+="should have required property \\'"+A+"\\'",r+="' "),e.opts.verbose&&(r+=" , schema: validate.schema"+o+" , parentSchema: validate.schema"+e.schemaPath+" , data: "+u+" "),r+=" } "):r+=" {} ",r+="; if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; } "}}e.errorPath=_}else c&&(r+=" if (true) {");return r}},function(e,t,f){"use strict";e.exports=function(e,t,f){var r,n=" ",a=e.level,i=e.dataLevel,o=e.schema[t],s=e.schemaPath+e.util.getProperty(t),c=e.errSchemaPath+"/"+t,u=!e.opts.allErrors,d="data"+(i||""),l="valid"+a,p=e.opts.$data&&o&&o.$data;if(p?(n+=" var schema"+a+" = "+e.util.getData(o.$data,i,e.dataPathArr)+"; ",r="schema"+a):r=o,(o||p)&&!1!==e.opts.uniqueItems){p&&(n+=" var "+l+"; if ("+r+" === false || "+r+" === undefined) "+l+" = true; else if (typeof "+r+" != 'boolean') "+l+" = false; else { "),n+=" var i = "+d+".length , "+l+" = true , j; if (i > 1) { ";var b=e.schema.items&&e.schema.items.type,h=Array.isArray(b);if(!b||"object"==b||"array"==b||h&&(b.indexOf("object")>=0||b.indexOf("array")>=0))n+=" outer: for (;i--;) { for (j = i; j--;) { if (equal("+d+"[i], "+d+"[j])) { "+l+" = false; break outer; } } } ";else{n+=" var itemIndices = {}, item; for (;i--;) { var item = "+d+"[i]; ";var m="checkDataType"+(h?"s":"");n+=" if ("+e.util[m](b,"item",e.opts.strictNumbers,!0)+") continue; ",h&&(n+=" if (typeof item == 'string') item = '\"' + item; "),n+=" if (typeof itemIndices[item] == 'number') { "+l+" = false; j = itemIndices[item]; break; } itemIndices[item] = i; } "}n+=" } ",p&&(n+=" } "),n+=" if (!"+l+") { ";var y=y||[];y.push(n),n="",!1!==e.createErrors?(n+=" { keyword: 'uniqueItems' , dataPath: (dataPath || '') + "+e.errorPath+" , schemaPath: "+e.util.toQuotedString(c)+" , params: { i: i, j: j } ",!1!==e.opts.messages&&(n+=" , message: 'should NOT have duplicate items (items ## ' + j + ' and ' + i + ' are identical)' "),e.opts.verbose&&(n+=" , schema: ",n+=p?"validate.schema"+s:""+o,n+=" , parentSchema: validate.schema"+e.schemaPath+" , data: "+d+" "),n+=" } "):n+=" {} ";var g=n;n=y.pop(),!e.compositeRule&&u?e.async?n+=" throw new ValidationError(["+g+"]); ":n+=" validate.errors = ["+g+"]; return false; ":n+=" var err = "+g+"; if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; ",n+=" } ",u&&(n+=" else { ")}else u&&(n+=" if (true) { ");return n}},function(e,t,f){"use strict";var r=["multipleOf","maximum","exclusiveMaximum","minimum","exclusiveMinimum","maxLength","minLength","pattern","additionalItems","maxItems","minItems","uniqueItems","maxProperties","minProperties","required","additionalProperties","enum","format","const"];e.exports=function(e,t){for(var f=0;f<t.length;f++){e=JSON.parse(JSON.stringify(e));var n,a=t[f].split("/"),i=e;for(n=1;n<a.length;n++)i=i[a[n]];for(n=0;n<r.length;n++){var o=r[n],s=i[o];s&&(i[o]={anyOf:[s,{$ref:"https://raw.githubusercontent.com/ajv-validator/ajv/master/lib/refs/data.json#"}]})}}return e}},function(e,t,f){"use strict";var r=f(156).MissingRef;e.exports=function e(t,f,n){var a=this;if("function"!=typeof this._opts.loadSchema)throw new Error("options.loadSchema should be a function");"function"==typeof f&&(n=f,f=void 0);var i=o(t).then((function(){var e=a._addSchema(t,void 0,f);return e.validate||s(e)}));n&&i.then((function(e){n(null,e)}),n);return i;function o(t){var f=t.$schema;return f&&!a.getSchema(f)?e.call(a,{$ref:f},!0):Promise.resolve()}function s(e){try{return a._compile(e)}catch(t){if(t instanceof r)return function(t){var r=t.missingSchema;if(c(r))throw new Error("Schema "+r+" is loaded but "+t.missingRef+" cannot be resolved");var n=a._loadingSchemas[r];n||(n=a._loadingSchemas[r]=a._opts.loadSchema(r)).then(i,i);return n.then((function(e){if(!c(r))return o(e).then((function(){c(r)||a.addSchema(e,r,void 0,f)}))})).then((function(){return s(e)}));function i(){delete a._loadingSchemas[r]}function c(e){return a._refs[e]||a._schemas[e]}}(t);throw t}}}},function(e,t,f){"use strict";var r=/^[a-z_$][a-z0-9_$-]*$/i,n=f(737),a=f(738);e.exports={add:function(e,t){var f=this.RULES;if(f.keywords[e])throw new Error("Keyword "+e+" is already defined");if(!r.test(e))throw new Error("Keyword "+e+" is not a valid identifier");if(t){this.validateKeyword(t,!0);var a=t.type;if(Array.isArray(a))for(var i=0;i<a.length;i++)s(e,a[i],t);else s(e,a,t);var o=t.metaSchema;o&&(t.$data&&this._opts.$data&&(o={anyOf:[o,{$ref:"https://raw.githubusercontent.com/ajv-validator/ajv/master/lib/refs/data.json#"}]}),t.validateSchema=this.compile(o,!0))}function s(e,t,r){for(var a,i=0;i<f.length;i++){var o=f[i];if(o.type==t){a=o;break}}a||(a={type:t,rules:[]},f.push(a));var s={keyword:e,definition:r,custom:!0,code:n,implements:r.implements};a.rules.push(s),f.custom[e]=s}return f.keywords[e]=f.all[e]=!0,this},get:function(e){var t=this.RULES.custom[e];return t?t.definition:this.RULES.keywords[e]||!1},remove:function(e){var t=this.RULES;delete t.keywords[e],delete t.all[e],delete t.custom[e];for(var f=0;f<t.length;f++)for(var r=t[f].rules,n=0;n<r.length;n++)if(r[n].keyword==e){r.splice(n,1);break}return this},validate:function e(t,f){e.errors=null;var r=this._validateKeyword=this._validateKeyword||this.compile(a,!0);if(r(t))return!0;if(e.errors=r.errors,f)throw new Error("custom keyword definition is invalid: "+this.errorsText(r.errors));return!1}}},function(e,t,f){"use strict";e.exports=function(e,t,f){var r,n,a=" ",i=e.level,o=e.dataLevel,s=e.schema[t],c=e.schemaPath+e.util.getProperty(t),u=e.errSchemaPath+"/"+t,d=!e.opts.allErrors,l="data"+(o||""),p="valid"+i,b="errs__"+i,h=e.opts.$data&&s&&s.$data;h?(a+=" var schema"+i+" = "+e.util.getData(s.$data,o,e.dataPathArr)+"; ",n="schema"+i):n=s;var m,y,g,v,_,w=this,E="definition"+i,A=w.definition,T="";if(h&&A.$data){_="keywordValidate"+i;var x=A.validateSchema;a+=" var "+E+" = RULES.custom['"+t+"'].definition; var "+_+" = "+E+".validate;"}else{if(!(v=e.useCustomRule(w,s,e.schema,e)))return;n="validate.schema"+c,_=v.code,m=A.compile,y=A.inline,g=A.macro}var S=_+".errors",k="i"+i,C="ruleErr"+i,O=A.async;if(O&&!e.async)throw new Error("async keyword in sync schema");if(y||g||(a+=S+" = null;"),a+="var "+b+" = errors;var "+p+";",h&&A.$data&&(T+="}",a+=" if ("+n+" === undefined) { "+p+" = true; } else { ",x&&(T+="}",a+=" "+p+" = "+E+".validateSchema("+n+"); if ("+p+") { ")),y)A.statements?a+=" "+v.validate+" ":a+=" "+p+" = "+v.validate+"; ";else if(g){var P=e.util.copy(e);T="";P.level++;var R="valid"+P.level;P.schema=v.validate,P.schemaPath="";var M=e.compositeRule;e.compositeRule=P.compositeRule=!0;var N=e.validate(P).replace(/validate\.schema/g,_);e.compositeRule=P.compositeRule=M,a+=" "+N}else{(F=F||[]).push(a),a="",a+=" "+_+".call( ",e.opts.passContext?a+="this":a+="self",m||!1===A.schema?a+=" , "+l+" ":a+=" , "+n+" , "+l+" , validate.schema"+e.schemaPath+" ",a+=" , (dataPath || '')",'""'!=e.errorPath&&(a+=" + "+e.errorPath);var D=o?"data"+(o-1||""):"parentData",B=o?e.dataPathArr[o]:"parentDataProperty",I=a+=" , "+D+" , "+B+" , rootData ) ";a=F.pop(),!1===A.errors?(a+=" "+p+" = ",O&&(a+="await "),a+=I+"; "):a+=O?" var "+(S="customErrors"+i)+" = null; try { "+p+" = await "+I+"; } catch (e) { "+p+" = false; if (e instanceof ValidationError) "+S+" = e.errors; else throw e; } ":" "+S+" = null; "+p+" = "+I+"; "}if(A.modifying&&(a+=" if ("+D+") "+l+" = "+D+"["+B+"];"),a+=""+T,A.valid)d&&(a+=" if (true) { ");else{var F;a+=" if ( ",void 0===A.valid?(a+=" !",a+=g?""+R:""+p):a+=" "+!A.valid+" ",a+=") { ",r=w.keyword,(F=F||[]).push(a),a="",(F=F||[]).push(a),a="",!1!==e.createErrors?(a+=" { keyword: '"+(r||"custom")+"' , dataPath: (dataPath || '') + "+e.errorPath+" , schemaPath: "+e.util.toQuotedString(u)+" , params: { keyword: '"+w.keyword+"' } ",!1!==e.opts.messages&&(a+=" , message: 'should pass \""+w.keyword+"\" keyword validation' "),e.opts.verbose&&(a+=" , schema: validate.schema"+c+" , parentSchema: validate.schema"+e.schemaPath+" , data: "+l+" "),a+=" } "):a+=" {} ";var j=a;a=F.pop(),!e.compositeRule&&d?e.async?a+=" throw new ValidationError(["+j+"]); ":a+=" validate.errors = ["+j+"]; return false; ":a+=" var err = "+j+"; if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; ";var L=a;a=F.pop(),y?A.errors?"full"!=A.errors&&(a+=" for (var "+k+"="+b+"; "+k+"<errors; "+k+"++) { var "+C+" = vErrors["+k+"]; if ("+C+".dataPath === undefined) "+C+".dataPath = (dataPath || '') + "+e.errorPath+"; if ("+C+".schemaPath === undefined) { "+C+'.schemaPath = "'+u+'"; } ',e.opts.verbose&&(a+=" "+C+".schema = "+n+"; "+C+".data = "+l+"; "),a+=" } "):!1===A.errors?a+=" "+L+" ":(a+=" if ("+b+" == errors) { "+L+" } else { for (var "+k+"="+b+"; "+k+"<errors; "+k+"++) { var "+C+" = vErrors["+k+"]; if ("+C+".dataPath === undefined) "+C+".dataPath = (dataPath || '') + "+e.errorPath+"; if ("+C+".schemaPath === undefined) { "+C+'.schemaPath = "'+u+'"; } ',e.opts.verbose&&(a+=" "+C+".schema = "+n+"; "+C+".data = "+l+"; "),a+=" } } "):g?(a+=" var err = ",!1!==e.createErrors?(a+=" { keyword: '"+(r||"custom")+"' , dataPath: (dataPath || '') + "+e.errorPath+" , schemaPath: "+e.util.toQuotedString(u)+" , params: { keyword: '"+w.keyword+"' } ",!1!==e.opts.messages&&(a+=" , message: 'should pass \""+w.keyword+"\" keyword validation' "),e.opts.verbose&&(a+=" , schema: validate.schema"+c+" , parentSchema: validate.schema"+e.schemaPath+" , data: "+l+" "),a+=" } "):a+=" {} ",a+="; if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; ",!e.compositeRule&&d&&(e.async?a+=" throw new ValidationError(vErrors); ":a+=" validate.errors = vErrors; return false; ")):!1===A.errors?a+=" "+L+" ":(a+=" if (Array.isArray("+S+")) { if (vErrors === null) vErrors = "+S+"; else vErrors = vErrors.concat("+S+"); errors = vErrors.length; for (var "+k+"="+b+"; "+k+"<errors; "+k+"++) { var "+C+" = vErrors["+k+"]; if ("+C+".dataPath === undefined) "+C+".dataPath = (dataPath || '') + "+e.errorPath+"; "+C+'.schemaPath = "'+u+'"; ',e.opts.verbose&&(a+=" "+C+".schema = "+n+"; "+C+".data = "+l+"; "),a+=" } } else { "+L+" } "),a+=" } ",d&&(a+=" else { ")}return a}},function(e,t,f){"use strict";var r=f(279);e.exports={$id:"https://github.com/ajv-validator/ajv/blob/master/lib/definition_schema.js",definitions:{simpleTypes:r.definitions.simpleTypes},type:"object",dependencies:{schema:["validate"],$data:["validate"],statements:["inline"],valid:{not:{required:["macro"]}}},properties:{type:r.properties.type,schema:{type:"boolean"},statements:{type:"boolean"},dependencies:{type:"array",items:{type:"string"}},metaSchema:{type:"object"},modifying:{type:"boolean"},valid:{type:"boolean"},$data:{type:"boolean"},async:{type:"boolean"},errors:{anyOf:[{type:"boolean"},{const:"full"}]}}}},function(e){e.exports=JSON.parse('{"$schema":"http://json-schema.org/draft-07/schema#","$id":"https://raw.githubusercontent.com/ajv-validator/ajv/master/lib/refs/data.json#","description":"Meta-schema for $data reference (JSON Schema extension proposal)","type":"object","required":["$data"],"properties":{"$data":{"type":"string","anyOf":[{"format":"relative-json-pointer"},{"format":"json-pointer"}]}},"additionalProperties":false}')},function(e){e.exports=JSON.parse('{"$schema":"http://json-schema.org/draft-06/schema#","$id":"http://json-schema.org/draft-06/schema#","title":"Core schema meta-schema","definitions":{"schemaArray":{"type":"array","minItems":1,"items":{"$ref":"#"}},"nonNegativeInteger":{"type":"integer","minimum":0},"nonNegativeIntegerDefault0":{"allOf":[{"$ref":"#/definitions/nonNegativeInteger"},{"default":0}]},"simpleTypes":{"enum":["array","boolean","integer","null","number","object","string"]},"stringArray":{"type":"array","items":{"type":"string"},"uniqueItems":true,"default":[]}},"type":["object","boolean"],"properties":{"$id":{"type":"string","format":"uri-reference"},"$schema":{"type":"string","format":"uri"},"$ref":{"type":"string","format":"uri-reference"},"title":{"type":"string"},"description":{"type":"string"},"default":{},"examples":{"type":"array","items":{}},"multipleOf":{"type":"number","exclusiveMinimum":0},"maximum":{"type":"number"},"exclusiveMaximum":{"type":"number"},"minimum":{"type":"number"},"exclusiveMinimum":{"type":"number"},"maxLength":{"$ref":"#/definitions/nonNegativeInteger"},"minLength":{"$ref":"#/definitions/nonNegativeIntegerDefault0"},"pattern":{"type":"string","format":"regex"},"additionalItems":{"$ref":"#"},"items":{"anyOf":[{"$ref":"#"},{"$ref":"#/definitions/schemaArray"}],"default":{}},"maxItems":{"$ref":"#/definitions/nonNegativeInteger"},"minItems":{"$ref":"#/definitions/nonNegativeIntegerDefault0"},"uniqueItems":{"type":"boolean","default":false},"contains":{"$ref":"#"},"maxProperties":{"$ref":"#/definitions/nonNegativeInteger"},"minProperties":{"$ref":"#/definitions/nonNegativeIntegerDefault0"},"required":{"$ref":"#/definitions/stringArray"},"additionalProperties":{"$ref":"#"},"definitions":{"type":"object","additionalProperties":{"$ref":"#"},"default":{}},"properties":{"type":"object","additionalProperties":{"$ref":"#"},"default":{}},"patternProperties":{"type":"object","additionalProperties":{"$ref":"#"},"default":{}},"dependencies":{"type":"object","additionalProperties":{"anyOf":[{"$ref":"#"},{"$ref":"#/definitions/stringArray"}]}},"propertyNames":{"$ref":"#"},"const":{},"enum":{"type":"array","minItems":1,"uniqueItems":true},"type":{"anyOf":[{"$ref":"#/definitions/simpleTypes"},{"type":"array","items":{"$ref":"#/definitions/simpleTypes"},"minItems":1,"uniqueItems":true}]},"format":{"type":"string"},"allOf":{"$ref":"#/definitions/schemaArray"},"anyOf":{"$ref":"#/definitions/schemaArray"},"oneOf":{"$ref":"#/definitions/schemaArray"},"not":{"$ref":"#"}},"default":{}}')},function(e){e.exports=JSON.parse('{"$id":"http://json-schema.org/address","$schema":"http://json-schema.org/draft-06/schema#","description":"An Address following the convention of http://microformats.org/wiki/hcard","type":"object","properties":{"post-office-box":{"type":"string"},"extended-address":{"type":"string"},"street-address":{"type":"string"},"locality":{"type":"string"},"region":{"type":"string"},"postal-code":{"type":"string"},"country-name":{"type":"string"}},"dependencies":{"post-office-box":["street-address"],"extended-address":["street-address"]}}')},function(e,t,f){"use strict";Object.defineProperty(t,"__esModule",{value:!0});const r={rnf_invoice:{"0.0.1":f(743),"0.0.2":f(744),"0.0.3":f(745)}};t.default=r},function(e){e.exports=JSON.parse('{"$schema":"http://json-schema.org/draft-07/schema#","description":"Request Network Format of an invoice","type":"object","additionalProperties":false,"required":["meta","invoiceNumber","creationDate","invoiceItems"],"properties":{"meta":{"description":"Meta information about the format","type":"object","additionalProperties":false,"required":["format","version"],"properties":{"format":{"const":"rnf_invoice"},"version":{"const":"0.0.1"}}},"creationDate":{"type":"string","format":"date-time"},"invoiceNumber":{"type":"string"},"purchaseOrderId":{"type":"string"},"note":{"type":"string"},"terms":{"type":"string"},"sellerInfo":{"description":"Seller information","type":"object","additionalProperties":false,"properties":{"email":{"type":"string","format":"email"},"firstName":{"type":"string"},"lastName":{"type":"string"},"businessName":{"type":"string"},"phone":{"type":"string"},"address":{"$ref":"http://json-schema.org/address"},"taxRegistration":{"type":"string"},"companyRegistration":{"type":"string"},"miscellaneous":{"type":"object"}}},"buyerInfo":{"description":"Buyer information","type":"object","additionalProperties":false,"properties":{"email":{"type":"string","format":"email"},"firstName":{"type":"string"},"lastName":{"type":"string"},"businessName":{"type":"string"},"phone":{"type":"string"},"address":{"$ref":"http://json-schema.org/address"},"taxRegistration":{"type":"string"},"miscellaneous":{"type":"object"}}},"invoiceItems":{"type":"array","items":{"type":"object","additionalProperties":false,"required":["name","quantity","unitPrice","taxPercent","currency"],"properties":{"name":{"type":"string"},"reference":{"type":"string"},"quantity":{"type":"number","minimum":0},"unitPrice":{"type":"number","minimum":0},"discount":{"type":"number"},"taxPercent":{"type":"number"},"currency":{"type":"string","minLength":2},"deliveryDate":{"type":"string","format":"date-time"},"deliveryPeriod":{"type":"string"}}}},"paymentTerms":{"description":"Payment terms","type":"object","additionalProperties":false,"properties":{"dueDate":{"type":"string","format":"date-time"},"lateFeesPercent":{"type":"number"},"lateFeesFix":{"type":"number"},"miscellaneous":{"type":"object"}}},"miscellaneous":{"type":"object"}}}')},function(e){e.exports=JSON.parse('{"$schema":"http://json-schema.org/draft-07/schema#","description":"Request Network Format of an invoice","type":"object","additionalProperties":false,"required":["meta","invoiceNumber","creationDate","invoiceItems"],"properties":{"meta":{"description":"Meta information about the format","type":"object","additionalProperties":false,"required":["format","version"],"properties":{"format":{"const":"rnf_invoice"},"version":{"const":"0.0.2"}}},"creationDate":{"type":"string","format":"date-time"},"invoiceNumber":{"type":"string"},"purchaseOrderId":{"type":"string"},"note":{"type":"string"},"terms":{"type":"string"},"sellerInfo":{"description":"Seller information","type":"object","additionalProperties":false,"properties":{"email":{"type":"string","format":"email"},"firstName":{"type":"string"},"lastName":{"type":"string"},"businessName":{"type":"string"},"phone":{"type":"string"},"address":{"$ref":"http://json-schema.org/address"},"taxRegistration":{"type":"string"},"companyRegistration":{"type":"string"},"miscellaneous":{"type":"object"}}},"buyerInfo":{"description":"Buyer information","type":"object","additionalProperties":false,"properties":{"email":{"type":"string","format":"email"},"firstName":{"type":"string"},"lastName":{"type":"string"},"businessName":{"type":"string"},"phone":{"type":"string"},"address":{"$ref":"http://json-schema.org/address"},"taxRegistration":{"type":"string"},"companyRegistration":{"type":"string"},"miscellaneous":{"type":"object"}}},"invoiceItems":{"type":"array","items":{"type":"object","additionalProperties":false,"required":["name","quantity","unitPrice","taxPercent","currency"],"properties":{"name":{"type":"string"},"reference":{"type":"string"},"quantity":{"type":"number","minimum":0},"unitPrice":{"type":"string","pattern":"^\\\\d+$"},"discount":{"type":"string","pattern":"^\\\\d+$"},"taxPercent":{"type":"number"},"currency":{"type":"string","minLength":2},"deliveryDate":{"type":"string","format":"date-time"},"deliveryPeriod":{"type":"string"}}}},"paymentTerms":{"description":"Payment terms","type":"object","additionalProperties":false,"properties":{"dueDate":{"type":"string","format":"date-time"},"lateFeesPercent":{"type":"number"},"lateFeesFix":{"type":"string","pattern":"^\\\\d+$"},"miscellaneous":{"type":"object"}}},"miscellaneous":{"type":"object"}}}')},function(e){e.exports=JSON.parse('{"$schema":"http://json-schema.org/draft-07/schema#","description":"Request Network Format of an invoice","type":"object","additionalProperties":false,"required":["meta","invoiceNumber","creationDate","invoiceItems"],"properties":{"meta":{"description":"Meta information about the format","type":"object","additionalProperties":false,"required":["format","version"],"properties":{"format":{"const":"rnf_invoice"},"version":{"const":"0.0.3"}}},"creationDate":{"type":"string","format":"date-time"},"invoiceNumber":{"type":"string"},"purchaseOrderId":{"type":"string"},"note":{"type":"string"},"terms":{"type":"string"},"sellerInfo":{"description":"Seller information","type":"object","additionalProperties":false,"properties":{"email":{"type":"string","format":"email"},"firstName":{"type":"string"},"lastName":{"type":"string"},"businessName":{"type":"string"},"phone":{"type":"string"},"address":{"$ref":"http://json-schema.org/address"},"taxRegistration":{"type":"string"},"companyRegistration":{"type":"string"},"miscellaneous":{"type":"object"}}},"buyerInfo":{"description":"Buyer information","type":"object","additionalProperties":false,"properties":{"email":{"type":"string","format":"email"},"firstName":{"type":"string"},"lastName":{"type":"string"},"businessName":{"type":"string"},"phone":{"type":"string"},"address":{"$ref":"http://json-schema.org/address"},"taxRegistration":{"type":"string"},"companyRegistration":{"type":"string"},"miscellaneous":{"type":"object"}}},"invoiceItems":{"type":"array","items":{"type":"object","additionalProperties":false,"required":["name","quantity","unitPrice","tax","currency"],"properties":{"name":{"type":"string"},"reference":{"type":"string"},"quantity":{"type":"number","minimum":0},"unitPrice":{"type":"string","pattern":"^\\\\d+$"},"discount":{"type":"string","pattern":"^\\\\d+$"},"tax":{"description":"Tax information about the invoice","type":"object","additionalProperties":false,"required":["amount","type"],"properties":{"amount":{"type":"string"},"type":{"type":"string","enum":["percentage","fixed"]}},"if":{"properties":{"type":{"const":"percentage"}}},"then":{"properties":{"amount":{"pattern":"^\\\\d*\\\\.?\\\\d+$"}}},"else":{"properties":{"amount":{"pattern":"^\\\\d+$"}}}},"currency":{"type":"string","minLength":2},"deliveryDate":{"type":"string","format":"date-time"},"deliveryPeriod":{"type":"string"}}}},"paymentTerms":{"description":"Payment terms","type":"object","additionalProperties":false,"properties":{"dueDate":{"type":"string","format":"date-time"},"lateFeesPercent":{"type":"number"},"lateFeesFix":{"type":"string","pattern":"^\\\\d+$"},"miscellaneous":{"type":"object"}}},"miscellaneous":{"type":"object"}}}')},function(e,t,f){"use strict";Object.defineProperty(t,"__esModule",{value:!0});f(271).__exportStar(f(747),t)},function(e,t,f){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.getInvoiceTaxTotal=t.getInvoiceLineTotalWithoutTax=t.getInvoiceTotalWithoutTax=t.getInvoiceLineTotal=t.getInvoiceTotal=void 0;const r=f(3);t.getInvoiceTotal=e=>e.invoiceItems.reduce(((e,f)=>e.add((0,t.getInvoiceLineTotal)(f))),r.BigNumber.from(0));t.getInvoiceLineTotal=e=>{const t=e.taxPercent?{type:"percentage",amount:String(e.taxPercent)}:e.tax||{type:"percentage",amount:"0"},f=t.amount&&"percentage"===t.type?Number(t.amount)+100:100,n=t.amount&&"fixed"===t.type?r.BigNumber.from(t.amount):r.BigNumber.from(0),a=e.discount?r.BigNumber.from(e.discount):r.BigNumber.from(0);return r.BigNumber.from(r.FixedNumber.from(e.unitPrice).mulUnsafe(r.FixedNumber.fromString(e.quantity.toString())).subUnsafe(r.FixedNumber.from(a)).mulUnsafe(r.FixedNumber.fromString(f.toString())).divUnsafe(r.FixedNumber.from(100)).addUnsafe(r.FixedNumber.from(n)).round(0).toString().split(".")[0])};t.getInvoiceTotalWithoutTax=e=>e.invoiceItems.reduce(((e,f)=>e.add((0,t.getInvoiceLineTotalWithoutTax)(f))),r.BigNumber.from(0));t.getInvoiceLineTotalWithoutTax=e=>{const t=e.discount?r.BigNumber.from(e.discount):r.BigNumber.from(0);return r.BigNumber.from(r.FixedNumber.from(e.unitPrice).mulUnsafe(r.FixedNumber.fromString(e.quantity.toString())).subUnsafe(r.FixedNumber.from(t)).round(0).toString().split(".")[0])};t.getInvoiceTaxTotal=e=>{const f=e.invoiceItems.reduce(((e,f)=>e.add((0,t.getInvoiceLineTotalWithoutTax)(f))),r.BigNumber.from(0));return e.invoiceItems.reduce(((e,f)=>e.add((0,t.getInvoiceLineTotal)(f))),r.BigNumber.from(0)).sub(f)}},function(e,t,f){"use strict";Object.defineProperty(t,"__esModule",{value:!0});t.default={requestClientVersionHeader:"X-Request-Network-Client-Version",httpRequestMaxRetry:3,httpRequestRetryDelay:100,getConfirmationMaxRetry:500,getConfirmationRetryDelay:3e3,getConfirmationDeferDelay:3e3}},function(e){e.exports=JSON.parse('{"name":"@requestnetwork/request-client.js","version":"0.40.1-next.1869+99941521","publishConfig":{"access":"public"},"description":"Client side library for Request Network.","keywords":["requestnetwork","request-client.js"],"repository":{"type":"git","url":"git+https://github.com/RequestNetwork/requestNetwork.git"},"homepage":"https://github.com/RequestNetwork/requestNetwork/tree/master/packages/request-client.js#readme","bugs":{"url":"https://github.com/RequestNetwork/requestNetwork/issues"},"license":"MIT","engines":{"node":">=16.0.0"},"main":"dist/index.js","types":"dist/index.d.ts","directories":{"lib":"src","test":"test"},"files":["dist"],"scripts":{"build":"run-s build:commonjs build:umd","build:commonjs":"tsc -b tsconfig.build.json","build:umd":"webpack","clean":"shx rm -rf dist tsconfig.tsbuildinfo tsconfig.build.tsbuildinfo","docs":"shx rm -rf ./docs && compodoc -p tsconfig.json --output docs --disablePrivate --gaID UA-105153327-8","lint":"eslint . --fix","lint:check":"eslint .","prepare":"yarn run build","test":"jest","test:watch":"yarn test --watch"},"dependencies":{"@requestnetwork/advanced-logic":"0.35.1-next.1869+99941521","@requestnetwork/currency":"0.9.1-next.1869+99941521","@requestnetwork/data-access":"0.27.1-next.1869+99941521","@requestnetwork/data-format":"0.10.1-next.1869+99941521","@requestnetwork/epk-signature":"0.5.36-next.1869+99941521","@requestnetwork/multi-format":"0.15.11-next.1869+99941521","@requestnetwork/payment-detection":"0.36.1-next.1869+99941521","@requestnetwork/request-logic":"0.26.11-next.1869+99941521","@requestnetwork/smart-contracts":"0.29.1-next.1869+99941521","@requestnetwork/transaction-manager":"0.27.1-next.1869+99941521","@requestnetwork/types":"0.36.1-next.1869+99941521","@requestnetwork/utils":"0.36.1-next.1869+99941521","axios":"0.27.2","ethers":"5.5.1","tslib":"2.5.0"},"devDependencies":{"@compodoc/compodoc":"1.1.11","@types/jest":"26.0.13","amd-loader":"0.0.8","axios-mock-adapter":"1.19.0","duplicate-package-checker-webpack-plugin":"3.0.0","jest":"26.4.2","npm-run-all":"4.1.5","nyc":"15.1.0","shx":"0.3.2","source-map-support":"0.5.19","terser-webpack-plugin":"4.2.3","ts-jest":"26.3.0","ts-loader":"8.4.0","ts-node":"10.9.1","typescript":"4.9.5","webpack":"4.44.2","webpack-bundle-analyzer":"4.2.0","webpack-cli":"3.3.12"},"gitHead":"999415216bb90feee74d7e1fc04eb826c1640152"}')},function(e,t,f){"use strict";Object.defineProperty(t,"__esModule",{value:!0});const r=f(281);class n extends r.DataAccess{constructor(e){super(e),this.isInitialized=!0}}t.default=n},function(e,t,f){"use strict";Object.defineProperty(t,"__esModule",{value:!0});const r=f(51),n=f(43),a=f(4),i=f(7),o=f(282),s=f(28),c=f(283),u=f(752),d=f(755),l=f(284),p={meta:{storageMeta:{},transactionsStorageLocation:{}},result:{transactions:{}}};t.default=class{constructor(e,t){this.isInitialized=!1;const f={ignoredLocationIndex:new u.default,logger:new i.SimpleLogger,synchronizationIntervalTime:1e4,transactionIndex:new l.default,autoStartSynchronization:!1},{ignoredLocationIndex:r,logger:n,synchronizationIntervalTime:a,transactionIndex:o,autoStartSynchronization:s}=Object.assign(Object.assign({},f),t);this.storage=e,this.lastSyncStorageTimestamp=0,this.autoStartSynchronization=s,this.synchronizationTimer=new d.default((()=>this.synchronizeNewDataIds()),a,n,5),this.transactionIndex=o,this.ignoredLocationIndex=r,this.logger=n}initialize(){return r.__awaiter(this,void 0,void 0,(function*(){if(this.isInitialized)throw new Error("already initialized");yield this.transactionIndex.initialize(),yield this.storage.initialize();const e=yield this.transactionIndex.getLastTransactionTimestamp(),t=(0,i.getCurrentTimestampInSecond)(),f=yield this.storage.getData(e?{from:e,to:t}:void 0);this.lastSyncStorageTimestamp=f.lastTimestamp,yield this.pushLocationsWithTopics(f.entries),this.isInitialized=!0,this.autoStartSynchronization&&this.startAutoSynchronization()}))}close(){return r.__awaiter(this,void 0,void 0,(function*(){yield this.stopAutoSynchronization()}))}persistTransaction(e,t,f=[]){return r.__awaiter(this,void 0,void 0,(function*(){this.checkInitialized();const a=f.filter((e=>!n.default.hashFormat.isDeserializableString(e)));if(0!==a.length)throw new Error(`The following topics are not well formatted: ${JSON.stringify(a)}`);const i=c.default.pushTransaction(c.default.createEmptyBlock(),e,t,f),o=yield this.storage.append(JSON.stringify(i)),u=Object.assign(new s.EventEmitter,{meta:{storageMeta:o.meta,topics:f,transactionStorageLocation:o.id},result:{}});return o.on("confirmed",(e=>r.__awaiter(this,void 0,void 0,(function*(){yield this.transactionIndex.updateTimestamp(e.id,e.meta.timestamp);const t={meta:{storageMeta:e.meta,topics:f,transactionStorageLocation:e.id},result:{}};u.emit("confirmed",t)})))).on("error",(e=>r.__awaiter(this,void 0,void 0,(function*(){u.emit("error",e)})))),yield this.transactionIndex.addTransaction(o.id,i.header,o.meta.timestamp),u}))}getTransactionsByChannelId(e,t){return r.__awaiter(this,void 0,void 0,(function*(){this.checkInitialized();const f=yield this.transactionIndex.getStorageLocationList(e,t);return(yield this.getBlockAndMetaFromStorageLocation(f)).map((t=>{const f=c.default.getTransactionPositionFromChannelId(t.block,e);return this.getTransactionAndMetaFromPosition(f,t.block,t.location,t.meta)})).reduce(((e,t)=>({meta:{storageMeta:e.meta.storageMeta.concat(t.storageMeta),transactionsStorageLocation:e.meta.transactionsStorageLocation.concat(t.transactionsStorageLocation)},result:{transactions:e.result.transactions.concat(t.transactions)}})),{meta:{storageMeta:[],transactionsStorageLocation:[]},result:{transactions:[]}})}))}getChannelsByTopic(e,t){return r.__awaiter(this,void 0,void 0,(function*(){if(this.checkInitialized(),!n.default.hashFormat.isDeserializableString(e))throw new Error(`The topic is not well formatted: ${e}`);const f=yield this.transactionIndex.getChannelIdsForTopic(e,t);return o.map(f,(e=>this.getTransactionsByChannelId(e).then((t=>({channelId:e,transactionsWithMeta:t}))))).reduce(((e,t)=>{const f=t.channelId;return e.meta.transactionsStorageLocation[f]=t.transactionsWithMeta.meta.transactionsStorageLocation,e.meta.storageMeta[f]=t.transactionsWithMeta.meta.storageMeta,e.result.transactions[f]=t.transactionsWithMeta.result.transactions,e}),(0,i.deepCopy)(p))}))}getChannelsByMultipleTopics(e,t){return r.__awaiter(this,void 0,void 0,(function*(){if(this.checkInitialized(),e.some((e=>!n.default.hashFormat.isDeserializableString(e))))throw new Error("The topics are not well formatted");const f=yield this.transactionIndex.getChannelIdsForMultipleTopics(e,t);return o.map(f,(e=>this.getTransactionsByChannelId(e).then((t=>({channelId:e,transactionsWithMeta:t}))))).reduce(((e,t)=>{const f=t.channelId;return e.meta.transactionsStorageLocation[f]=t.transactionsWithMeta.meta.transactionsStorageLocation,e.meta.storageMeta[f]=t.transactionsWithMeta.meta.storageMeta,e.result.transactions[f]=t.transactionsWithMeta.result.transactions,e}),(0,i.deepCopy)(p))}))}synchronizeNewDataIds(){return r.__awaiter(this,void 0,void 0,(function*(){this.checkInitialized();const e=(0,i.getCurrentTimestampInSecond)();let t=0;this.lastSyncStorageTimestamp>0&&(t=this.lastSyncStorageTimestamp+1);const f=yield this.storage.getData({from:t,to:e}),r=yield this.storage.getIgnoredData();yield this.pushLocationsWithTopics(f.entries.concat(r)),this.lastSyncStorageTimestamp=f.lastTimestamp}))}startAutoSynchronization(){this.checkInitialized(),this.synchronizationTimer.start()}stopAutoSynchronization(){return r.__awaiter(this,void 0,void 0,(function*(){this.synchronizationTimer.isStarted&&(yield this.synchronizationTimer.stop())}))}_getStatus(e=!1){return r.__awaiter(this,void 0,void 0,(function*(){this.checkInitialized();const t=yield this.transactionIndex.getLastTransactionTimestamp(),f=yield this.transactionIndex.getIndexedLocations(),r=yield this.ignoredLocationIndex.getIgnoredLocations(),n=this.synchronizationTimer.getConfig();return{filesIgnored:{count:Object.keys(r).length,list:e?r:void 0},filesRetrieved:{count:f.length,lastTimestamp:t,list:e?f:void 0},lastSynchronizationTimestamp:this.lastSyncStorageTimestamp,storage:yield this.storage._getStatus(e),synchronizationConfig:n}}))}pushLocationsWithTopics(e){return r.__awaiter(this,void 0,void 0,(function*(){if(!e)throw Error("data from storage do not follow the standard");let t=0,f=0;yield o.each(e,(e=>r.__awaiter(this,void 0,void 0,(function*(){if(!e.content||!e.id)throw Error("data from storage do not follow the standard");let r;const n=e.content;try{r=c.default.parseBlock(n),f++,yield this.transactionIndex.addTransaction(e.id,r.header,e.meta.timestamp)}catch(f){t++,yield this.ignoredLocationIndex.pushReasonByLocation(e.id,f.message),this.logger.debug(`Error: can't parse content of the dataId (${e.id}): ${f}`,["synchronization"])}})))),this.logger.info(`Synchronization: ${f} blocks synchronized, ${t} ignored from parsing error`,["synchronization"])}))}getBlockAndMetaFromStorageLocation(e){return r.__awaiter(this,void 0,void 0,(function*(){return Promise.all(e.map((e=>r.__awaiter(this,void 0,void 0,(function*(){const t=yield this.storage.read(e);return{block:c.default.parseBlock(t.content),location:e,meta:t.meta}})))))}))}getTransactionAndMetaFromPosition(e,t,f,r){const n=(0,i.unique)(e).uniqueItems.map((e=>({state:r.state===a.StorageTypes.ContentState.CONFIRMED?a.DataAccessTypes.TransactionState.CONFIRMED:a.DataAccessTypes.TransactionState.PENDING,timestamp:r.timestamp,transaction:t.transactions[e]}))),o=Array(n.length).fill(f),s=n.map((()=>r));return{transactions:n,transactionsStorageLocation:o,storageMeta:s}}checkInitialized(){if(!this.isInitialized)throw new Error("DataAccess must be initialized")}}},function(e,t,f){"use strict";Object.defineProperty(t,"__esModule",{value:!0});const r=f(51),n=f(108);t.default=class{constructor(e){this.reasonsByIgnoredLocation=new n({namespace:"reasonsByIgnoredLocation",store:e}),this.listIgnoredLocation=new n({namespace:"listIgnoredLocation",store:e})}pushReasonByLocation(e,t){return r.__awaiter(this,void 0,void 0,(function*(){(yield this.reasonsByIgnoredLocation.get(e))||(yield this.reasonsByIgnoredLocation.set(e,t),yield this.updateDataId(e))}))}removeReasonByLocation(e){return r.__awaiter(this,void 0,void 0,(function*(){yield this.reasonsByIgnoredLocation.delete(e)}))}getReasonFromLocation(e){return r.__awaiter(this,void 0,void 0,(function*(){const t=yield this.reasonsByIgnoredLocation.get(e);return t||null}))}getIgnoredLocations(){return r.__awaiter(this,void 0,void 0,(function*(){const e=yield this.listIgnoredLocation.get("list");if(!e)return{};const t={};for(const f of Array.from(e))t[f]=yield this.reasonsByIgnoredLocation.get(f);return t}))}updateDataId(e){return r.__awaiter(this,void 0,void 0,(function*(){let t=yield this.listIgnoredLocation.get("list");t||(t=[]),t.push(e),yield this.listIgnoredLocation.set("list",t)}))}}},function(e,t,f){(function(e){t.stringify=function t(f){if(void 0===f)return f;if(f&&e.isBuffer(f))return JSON.stringify(":base64:"+f.toString("base64"));if(f&&f.toJSON&&(f=f.toJSON()),f&&"object"==typeof f){var r="",n=Array.isArray(f);r=n?"[":"{";var a=!0;for(var i in f){var o="function"==typeof f[i]||!n&&void 0===f[i];Object.hasOwnProperty.call(f,i)&&!o&&(a||(r+=","),a=!1,n?null==f[i]?r+="null":r+=t(f[i]):void 0!==f[i]&&(r+=t(i)+":"+t(f[i])))}return r+=n?"]":"}"}return"string"==typeof f?JSON.stringify(/^:/.test(f)?":"+f:f):void 0===f?"null":JSON.stringify(f)},t.parse=function(t){return JSON.parse(t,(function(t,f){return"string"==typeof f?/^:base64:/.test(f)?e.from(f.substring(8),"base64"):/^:/.test(f)?f.substring(1):f:f}))}}).call(this,f(6).Buffer)},function(e,t){function f(e){var t=new Error("Cannot find module '"+e+"'");throw t.code="MODULE_NOT_FOUND",t}f.keys=function(){return[]},f.resolve=f,e.exports=f,f.id=754},function(e,t,f){"use strict";Object.defineProperty(t,"__esModule",{value:!0});const r=f(51);t.default=class{constructor(e,t,f,r=1){this.intervalFunctionSuccessiveFailureCount=0,this.timeoutObject=null,this.lastRecursion=Promise.resolve(),this.intervalFunction=e,this.intervalTime=t,this.logger=f,this.successiveFailureThreshold=r}start(){if(this.timeoutObject)throw Error("IntervalTimer already started");const e=()=>r.__awaiter(this,void 0,void 0,(function*(){try{yield this.intervalFunction(),this.intervalFunctionSuccessiveFailureCount=0}catch(e){this.logger.warn(`${this.intervalFunction.name||"intervalFunction"} error: ${e}`),this.intervalFunctionSuccessiveFailureCount++,this.intervalFunctionSuccessiveFailureCount>=this.successiveFailureThreshold&&this.logger.error(`${this.intervalFunction.name||"intervalFunction"} failed ${this.intervalFunctionSuccessiveFailureCount} times in a row, last error: ${e}`)}t()})),t=()=>{this.timeoutObject=setTimeout((()=>{this.lastRecursion=e()}),this.intervalTime)};t()}stop(){return r.__awaiter(this,void 0,void 0,(function*(){return this.timeoutObject?(clearTimeout(this.timeoutObject),this.timeoutObject=null,this.lastRecursion):Promise.reject("Can't stop IntervalTimer if it has not been started")}))}get isStarted(){return Boolean(this.timeoutObject)}getConfig(){return{intervalTime:this.intervalTime,successiveFailureThreshold:this.successiveFailureThreshold}}}},function(e,t,f){"use strict";Object.defineProperty(t,"__esModule",{value:!0});const r=f(51),n=f(282),a=f(108),i=f(285),o=f(286);t.default=class{constructor(e){this.timestampByLocation=new o.default(e),this.locationByTopic=new i.default(e),this.indexedLocation=new a({namespace:"indexedLocation",store:e})}initialize(){return r.__awaiter(this,void 0,void 0,(function*(){}))}getLastTransactionTimestamp(){return this.timestampByLocation.getLastTransactionTimestamp()}addTransaction(e,t,f){return r.__awaiter(this,void 0,void 0,(function*(){if(!this.locationByTopic)throw new Error("TransactionIndex must be initialized");yield this.locationByTopic.pushStorageLocationIndexedWithBlockTopics(e,t),yield this.timestampByLocation.pushTimestampByLocation(e,f),yield this.updateIndexedLocation(e)}))}removeTransaction(e){return r.__awaiter(this,void 0,void 0,(function*(){if(!this.locationByTopic)throw new Error("TransactionIndex must be initialized");yield this.timestampByLocation.removeIndexedDataId(e)}))}updateTimestamp(e,t){return r.__awaiter(this,void 0,void 0,(function*(){if(!this.timestampByLocation)throw new Error("TransactionIndex must be initialized");yield this.timestampByLocation.updateTimestampByLocation(e,t)}))}getStorageLocationList(e,t){return r.__awaiter(this,void 0,void 0,(function*(){if(!this.locationByTopic)throw new Error("TransactionIndex must be initialized");let f=yield this.locationByTopic.getStorageLocationsFromChannelId(e);return f=yield n.filter(f,(e=>r.__awaiter(this,void 0,void 0,(function*(){const f=null!==(yield this.timestampByLocation.getTimestampFromLocation(e)),r=!t||(yield this.timestampByLocation.isDataInBoundaries(e,t));return f&&r})))),f}))}getChannelIdsForTopic(e,t){return r.__awaiter(this,void 0,void 0,(function*(){if(!this.locationByTopic)throw new Error("TransactionIndex must be initialized");const f=yield this.locationByTopic.getChannelIdsFromTopic(e);if(t){const e=[];for(const r of f){const f=yield this.locationByTopic.getStorageLocationsFromChannelId(r);for(const n of f){if(yield this.timestampByLocation.isDataInBoundaries(n,t)){e.push(r);break}}}return e}return f}))}getChannelIdsForMultipleTopics(e,t){return r.__awaiter(this,void 0,void 0,(function*(){if(!this.locationByTopic)throw new Error("TransactionIndex must be initialized");const f=yield this.locationByTopic.getChannelIdsFromMultipleTopics(e);if(t){const e=[];for(const r of f){const f=yield this.locationByTopic.getStorageLocationsFromChannelId(r);for(const n of f){if(yield this.timestampByLocation.isDataInBoundaries(n,t)){e.push(r);break}}}return e}return f}))}getIndexedLocations(){return r.__awaiter(this,void 0,void 0,(function*(){return(yield this.indexedLocation.get("list"))||[]}))}updateIndexedLocation(e){return r.__awaiter(this,void 0,void 0,(function*(){let t=yield this.indexedLocation.get("list");t||(t=[]),t.includes(e)||(t.push(e),yield this.indexedLocation.set("list",t))}))}}},function(e,t,f){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.CombinedDataAccess=void 0;const r=f(51);t.CombinedDataAccess=class{constructor(e,t){this.reader=e,this.writer=t,this.getTransactionsByChannelId=this.reader.getTransactionsByChannelId.bind(this.reader),this.getChannelsByTopic=this.reader.getChannelsByTopic.bind(this.reader),this.getChannelsByMultipleTopics=this.reader.getChannelsByMultipleTopics.bind(this.reader),this.persistTransaction=this.writer.persistTransaction.bind(this.writer)}initialize(){return r.__awaiter(this,void 0,void 0,(function*(){yield this.reader.initialize(),yield this.writer.initialize()}))}close(){return r.__awaiter(this,void 0,void 0,(function*(){yield this.writer.close(),yield this.reader.close()}))}}},function(e,t,f){"use strict";Object.defineProperty(t,"__esModule",{value:!0});const r=f(69),n=f(43),a=f(4),i=f(28),o=f(7);t.default=class{constructor(){this.data=new Map,this.forceEmitError=!1}initialize(){return r.__awaiter(this,void 0,void 0,(function*(){}))}ipfsAdd(e){return r.__awaiter(this,void 0,void 0,(function*(){if(!e)throw Error("Error: no content provided");const t=n.default.serialize((0,o.normalizeKeccak256Hash)(e)),f=(0,o.getCurrentTimestampInSecond)();return this.data.set(t,{content:e,state:a.StorageTypes.ContentState.PENDING,timestamp:f}),{ipfsHash:t,ipfsSize:e.length}}))}append(e){return r.__awaiter(this,void 0,void 0,(function*(){if(!e)throw Error("Error: no content provided");const t=n.default.serialize((0,o.normalizeKeccak256Hash)(e)),f=(0,o.getCurrentTimestampInSecond)(),r={content:e,state:a.StorageTypes.ContentState.PENDING,timestamp:f};this.data.set(t,r);const s={content:e,id:t,meta:{state:a.StorageTypes.ContentState.PENDING,storageType:a.StorageTypes.StorageSystemType.IN_MEMORY_MOCK,timestamp:f}},c=Object.assign(new i.EventEmitter,s);return setTimeout((()=>{this.forceEmitError?(this.forceEmitError=!1,c.emit("error","forced error asked by _makeNextAppendFailInsteadOfConfirmed()")):(r.state=a.StorageTypes.ContentState.CONFIRMED,this.data.set(t,r),c.emit("confirmed",s))}),100),c}))}read(e){return r.__awaiter(this,void 0,void 0,(function*(){if(!e)throw Error("No id provided");const t=this.data.get(e);if(!t)throw Error("No content found from this id");return{content:t.content,id:e,meta:{state:t.state,storageType:a.StorageTypes.StorageSystemType.IN_MEMORY_MOCK,timestamp:t.timestamp}}}))}readMany(e){return r.__awaiter(this,void 0,void 0,(function*(){return Promise.all(e.map((e=>this.read(e))))}))}getData(){return r.__awaiter(this,void 0,void 0,(function*(){return{entries:Array.from(this.data.entries()).map((([e,{content:t,state:f,timestamp:r}])=>({content:t,id:e,meta:{state:f,storageType:a.StorageTypes.StorageSystemType.IN_MEMORY_MOCK,timestamp:r}}))),lastTimestamp:(0,o.getCurrentTimestampInSecond)()}}))}getIgnoredData(){return r.__awaiter(this,void 0,void 0,(function*(){return[]}))}_getStatus(e){return r.__awaiter(this,void 0,void 0,(function*(){return{dataIds:{count:Object.entries(this.data).length,values:e?Object.entries(this.data):void 0},ignoredDataIds:{count:0,values:e?[]:void 0}}}))}_makeNextAppendFailInsteadOfConfirmed(){this.forceEmitError=!0}}},function(e,t,f){"use strict";Object.defineProperty(t,"__esModule",{value:!0});const r=f(69),n=f(281),a=f(40),i=f(4),o=f(67),s=f(3),c=f(28),u=f(280),d=f(7);class l extends u.default{constructor({httpConfig:e,nodeConnectionConfig:t,web3:f,ethereumProviderUrl:r}={httpConfig:{},nodeConnectionConfig:{}}){super({httpConfig:e,nodeConnectionConfig:t}),this.cache={},this.networkName="",r=r||"http://localhost:8545",this.provider=f?new s.ethers.providers.Web3Provider(f):new s.ethers.providers.JsonRpcProvider({url:r})}initialize(){return r.__awaiter(this,void 0,void 0,(function*(){}))}persistTransaction(e,t,f){return r.__awaiter(this,void 0,void 0,(function*(){if(!this.submitterContract){const e=yield this.provider.getNetwork();this.networkName=1===e.chainId?"mainnet":4===e.chainId?"rinkeby":"private",this.submitterContract=new s.ethers.Contract(a.requestHashSubmitterArtifact.getAddress(this.networkName),a.requestHashSubmitterArtifact.getContractAbi(),this.provider.getSigner())}const r=n.Block.pushTransaction(n.Block.createEmptyBlock(),e,t,f),{data:{ipfsHash:u,ipfsSize:d}}=yield o.default.post("/ipfsAdd",{data:r},this.axiosConfig),l=yield this.submitterContract.getFeesAmount(d),p=yield this.submitterContract.submitHash(u,s.ethers.utils.hexZeroPad(s.ethers.utils.hexlify(d),32),{value:l}),b=yield this.provider.getBlock(p.blockNumber),h={blockConfirmation:p.confirmations,blockNumber:p.blockNumber,blockTimestamp:b.timestamp,fee:l,networkName:this.networkName,smartContractAddress:p.to,transactionHash:p.hash};this.cache[t]||(this.cache[t]={}),this.cache[t][u]={block:r,storageMeta:h};const m=new c.EventEmitter,y={meta:{storageMeta:{ethereum:h,ipfs:{size:d},state:i.StorageTypes.ContentState.PENDING,timestamp:h.blockTimestamp},topics:f||[],transactionStorageLocation:u},result:{}};return p.wait().then((e=>{const t={blockConfirmation:e.confirmations,blockNumber:e.blockNumber,blockTimestamp:b.timestamp,fee:l,networkName:this.networkName,smartContractAddress:e.to,transactionHash:e.hash};m.emit("confirmed",{meta:{storageMeta:t,topics:f||[],transactionStorageLocation:u},result:{}})})),Object.assign(m,y)}))}getTransactionsByChannelId(e,t){return r.__awaiter(this,void 0,void 0,(function*(){const{data:f}=yield(0,d.retry)((()=>r.__awaiter(this,void 0,void 0,(function*(){return o.default.get("/getTransactionsByChannelId",Object.assign(this.axiosConfig,{params:{channelId:e,timestampBoundaries:t}}))}))),{maxRetries:this.httpConfig.httpRequestMaxRetry,retryDelay:this.httpConfig.httpRequestRetryDelay})(),n=this.getCachedTransactionsAndCleanCache(e,f.meta.transactionsStorageLocation,t);return{meta:{storageMeta:f.meta.storageMeta.concat(n.meta.storageMeta),transactionsStorageLocation:f.meta.transactionsStorageLocation.concat(n.meta.transactionsStorageLocation)},result:{transactions:f.result.transactions.concat(n.result.transactions)}}}))}getCachedTransactionsAndCleanCache(e,t,f){for(const f of t)this.cache[e][f]=null;return Object.keys(this.cache[e]||[]).reduce(((t,r)=>{var n;const a=this.cache[e][r];return this.cache[e][r]&&(!f||(void 0===f.from||f.from<=(null==a?void 0:a.storageMeta.blockTimestamp))&&(void 0===f.to||f.to>=(null==a?void 0:a.storageMeta.blockTimestamp)))&&(null===(n=t.meta.storageMeta)||void 0===n||n.push(null==a?void 0:a.storageMeta),t.meta.transactionsStorageLocation.push(r),t.result.transactions.push({state:i.DataAccessTypes.TransactionState.PENDING,timestamp:null==a?void 0:a.storageMeta.blockTimestamp,transaction:null==a?void 0:a.block.transactions[0]})),t}),{meta:{storageMeta:[],transactionsStorageLocation:[]},result:{transactions:[]}})}}t.default=l},function(e,t,f){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.Payment=t.Transaction=t.Storage=t.Identity=t.SignatureProvider=t.Signature=t.DataAccess=t.RequestLogic=t.Encryption=t.Extension=t.DecryptionProvider=t.Log=t.AdvancedLogic=void 0;f(69).__exportStar(f(161),t);var r=f(4);Object.defineProperty(t,"AdvancedLogic",{enumerable:!0,get:function(){return r.AdvancedLogicTypes}}),Object.defineProperty(t,"Log",{enumerable:!0,get:function(){return r.LogTypes}}),Object.defineProperty(t,"DecryptionProvider",{enumerable:!0,get:function(){return r.DecryptionProviderTypes}}),Object.defineProperty(t,"Extension",{enumerable:!0,get:function(){return r.ExtensionTypes}}),Object.defineProperty(t,"Encryption",{enumerable:!0,get:function(){return r.EncryptionTypes}}),Object.defineProperty(t,"RequestLogic",{enumerable:!0,get:function(){return r.RequestLogicTypes}}),Object.defineProperty(t,"DataAccess",{enumerable:!0,get:function(){return r.DataAccessTypes}}),Object.defineProperty(t,"Signature",{enumerable:!0,get:function(){return r.SignatureTypes}}),Object.defineProperty(t,"SignatureProvider",{enumerable:!0,get:function(){return r.SignatureProviderTypes}}),Object.defineProperty(t,"Identity",{enumerable:!0,get:function(){return r.IdentityTypes}}),Object.defineProperty(t,"Storage",{enumerable:!0,get:function(){return r.StorageTypes}}),Object.defineProperty(t,"Transaction",{enumerable:!0,get:function(){return r.TransactionTypes}}),Object.defineProperty(t,"Payment",{enumerable:!0,get:function(){return r.PaymentTypes}})},function(e,t,f){"use strict";f.r(t),f.d(t,"dma",(function(){return a})),f.d(t,"sma",(function(){return i})),f.d(t,"ema",(function(){return o})),f.d(t,"ma",(function(){return s})),f.d(t,"wma",(function(){return c}));const r=e=>"number"==typeof e&&e==e,n=Array.isArray;var a=(e,t,f)=>{const a=e.length;if(t>1)return Array(a);if(1===t)return e.slice();const i=!n(t),o=[];let s,c=0,u=0;for(;c<a;c++)if(s=e[c],r(s)&&(i||r(s))){o[c]=f?0:s,u=s,c++;break}if(!i){for(;c<a;c++)s=e[c],r(s)&&r(t[c])?u=o[c]=t[c]*s+(1-t[c])*u:o[c]=o[c-1];return o}const d=1-t;for(;c<a;c++)s=e[c],r(s)?u=o[c]=t*s+d*u:o[c]=o[c-1];return o},i=(e,t,f=1)=>a(e,f/t,1),o=(e,t)=>a(e,2/(t+1)),s=(e,t)=>{const f=e.length;if(!t)return e.reduce(((e,t)=>e+t))/f;if(t<=1)return e.slice();if(t>f)return Array(f);const n=t-1,a=[];let i,o=0,s=0,c=0;for(;s<f&&c<n;s++)i=e[s],r(i)&&(o+=i,c++);for(;s<f;s++)i=e[s],r(i)&&(o+=i),r(e[s-t])&&(o-=e[s-t]),a[s]=o/t;return a},c=(e,t)=>{const f=e.length;if(t<=1)return e.slice();if(t>f)return Array(f);const n=[],a=t*(t+1)/2,i=t-1;let o=0,s=0,c=0,u=0,d=-1;for(;u<i;u++)c=e[u],r(c)&&(o+=c,s+=(u+1)*c);for(;u<f;u++,d++)c=e[u],r(c)&&(o+=c,s+=t*c),d>=0&&r(e[d])&&(o-=e[d]),n[u]=s/a,s-=o;return n}},function(e,t,f){"use strict";f.d(t,"a",(function(){return a}));var r=f(0),n=f(60);function a(e,t,f,a,i){let o;e=Object(r.arrayify)(e),t=Object(r.arrayify)(t);let s=1;const c=new Uint8Array(a),u=new Uint8Array(t.length+4);let d,l;u.set(t);for(let p=1;p<=s;p++){u[t.length]=p>>24&255,u[t.length+1]=p>>16&255,u[t.length+2]=p>>8&255,u[t.length+3]=255&p;let b=Object(r.arrayify)(Object(n.a)(i,e,u));o||(o=b.length,l=new Uint8Array(o),s=Math.ceil(a/o),d=a-(s-1)*o),l.set(b);for(let t=1;t<f;t++){b=Object(r.arrayify)(Object(n.a)(i,e,b));for(let e=0;e<o;e++)l[e]^=b[e]}const h=(p-1)*o,m=p===s?d:o;c.set(Object(r.arrayify)(l).slice(0,m),h)}return Object(r.hexlify)(c)}},,,function(e,t,f){"use strict";f.d(t,"b",(function(){return b})),f.d(t,"c",(function(){return h})),f.d(t,"a",(function(){return y}));var r=f(0),n=f(2),a=f(110),i=f(13);const o=new n.Logger(a.a),s={},c=i.a.from(0),u=i.a.from(-1);function d(e,t,f,r){const a={fault:t,operation:f};return void 0!==r&&(a.value=r),o.throwError(e,n.Logger.errors.NUMERIC_FAULT,a)}let l="0";for(;l.length<256;)l+=l;function p(e){if("number"!=typeof e)try{e=i.a.from(e).toNumber()}catch(e){}return"number"==typeof e&&e>=0&&e<=256&&!(e%1)?"1"+l.substring(0,e):o.throwArgumentError("invalid decimal size","decimals",e)}function b(e,t){null==t&&(t=0);const f=p(t),r=(e=i.a.from(e)).lt(c);r&&(e=e.mul(u));let n=e.mod(f).toString();for(;n.length<f.length-1;)n="0"+n;n=n.match(/^([0-9]*[1-9]|0)(0*)/)[1];const a=e.div(f).toString();return e=1===f.length?a:a+"."+n,r&&(e="-"+e),e}function h(e,t){null==t&&(t=0);const f=p(t);"string"==typeof e&&e.match(/^-?[0-9.]+$/)||o.throwArgumentError("invalid decimal value","value",e);const r="-"===e.substring(0,1);r&&(e=e.substring(1)),"."===e&&o.throwArgumentError("missing value","value",e);const n=e.split(".");n.length>2&&o.throwArgumentError("too many decimal points","value",e);let a=n[0],s=n[1];for(a||(a="0"),s||(s="0");"0"===s[s.length-1];)s=s.substring(0,s.length-1);for(s.length>f.length-1&&d("fractional component exceeds decimals","underflow","parseFixed"),""===s&&(s="0");s.length<f.length-1;)s+="0";const c=i.a.from(a),l=i.a.from(s);let b=c.mul(f).add(l);return r&&(b=b.mul(u)),b}class m{constructor(e,t,f,r){e!==s&&o.throwError("cannot use FixedFormat constructor; use FixedFormat.from",n.Logger.errors.UNSUPPORTED_OPERATION,{operation:"new FixedFormat"}),this.signed=t,this.width=f,this.decimals=r,this.name=(t?"":"u")+"fixed"+String(f)+"x"+String(r),this._multiplier=p(r),Object.freeze(this)}static from(e){if(e instanceof m)return e;"number"==typeof e&&(e=`fixed128x${e}`);let t=!0,f=128,r=18;if("string"==typeof e)if("fixed"===e);else if("ufixed"===e)t=!1;else{const n=e.match(/^(u?)fixed([0-9]+)x([0-9]+)$/);n||o.throwArgumentError("invalid fixed format","format",e),t="u"!==n[1],f=parseInt(n[2]),r=parseInt(n[3])}else if(e){const n=(t,f,r)=>null==e[t]?r:(typeof e[t]!==f&&o.throwArgumentError("invalid fixed format ("+t+" not "+f+")","format."+t,e[t]),e[t]);t=n("signed","boolean",t),f=n("width","number",f),r=n("decimals","number",r)}return f%8&&o.throwArgumentError("invalid fixed format width (not byte aligned)","format.width",f),r>80&&o.throwArgumentError("invalid fixed format (decimals too large)","format.decimals",r),new m(s,t,f,r)}}class y{constructor(e,t,f,r){o.checkNew(new.target,y),e!==s&&o.throwError("cannot use FixedNumber constructor; use FixedNumber.from",n.Logger.errors.UNSUPPORTED_OPERATION,{operation:"new FixedFormat"}),this.format=r,this._hex=t,this._value=f,this._isFixedNumber=!0,Object.freeze(this)}_checkFormat(e){this.format.name!==e.format.name&&o.throwArgumentError("incompatible format; use fixedNumber.toFormat","other",e)}addUnsafe(e){this._checkFormat(e);const t=h(this._value,this.format.decimals),f=h(e._value,e.format.decimals);return y.fromValue(t.add(f),this.format.decimals,this.format)}subUnsafe(e){this._checkFormat(e);const t=h(this._value,this.format.decimals),f=h(e._value,e.format.decimals);return y.fromValue(t.sub(f),this.format.decimals,this.format)}mulUnsafe(e){this._checkFormat(e);const t=h(this._value,this.format.decimals),f=h(e._value,e.format.decimals);return y.fromValue(t.mul(f).div(this.format._multiplier),this.format.decimals,this.format)}divUnsafe(e){this._checkFormat(e);const t=h(this._value,this.format.decimals),f=h(e._value,e.format.decimals);return y.fromValue(t.mul(this.format._multiplier).div(f),this.format.decimals,this.format)}floor(){const e=this.toString().split(".");1===e.length&&e.push("0");let t=y.from(e[0],this.format);const f=!e[1].match(/^(0*)$/);return this.isNegative()&&f&&(t=t.subUnsafe(g.toFormat(t.format))),t}ceiling(){const e=this.toString().split(".");1===e.length&&e.push("0");let t=y.from(e[0],this.format);const f=!e[1].match(/^(0*)$/);return!this.isNegative()&&f&&(t=t.addUnsafe(g.toFormat(t.format))),t}round(e){null==e&&(e=0);const t=this.toString().split(".");if(1===t.length&&t.push("0"),(e<0||e>80||e%1)&&o.throwArgumentError("invalid decimal count","decimals",e),t[1].length<=e)return this;const f=y.from("1"+l.substring(0,e),this.format),r=v.toFormat(this.format);return this.mulUnsafe(f).addUnsafe(r).floor().divUnsafe(f)}isZero(){return"0.0"===this._value||"0"===this._value}isNegative(){return"-"===this._value[0]}toString(){return this._value}toHexString(e){if(null==e)return this._hex;e%8&&o.throwArgumentError("invalid byte width","width",e);const t=i.a.from(this._hex).fromTwos(this.format.width).toTwos(e).toHexString();return Object(r.hexZeroPad)(t,e/8)}toUnsafeFloat(){return parseFloat(this.toString())}toFormat(e){return y.fromString(this._value,e)}static fromValue(e,t,f){return null!=f||null==t||Object(i.d)(t)||(f=t,t=null),null==t&&(t=0),null==f&&(f="fixed"),y.fromString(b(e,t),m.from(f))}static fromString(e,t){null==t&&(t="fixed");const f=m.from(t),n=h(e,f.decimals);!f.signed&&n.lt(c)&&d("unsigned value cannot be negative","overflow","value",e);let a=null;f.signed?a=n.toTwos(f.width).toHexString():(a=n.toHexString(),a=Object(r.hexZeroPad)(a,f.width/8));const i=b(n,f.decimals);return new y(s,a,i,f)}static fromBytes(e,t){null==t&&(t="fixed");const f=m.from(t);if(Object(r.arrayify)(e).length>f.width/8)throw new Error("overflow");let n=i.a.from(e);f.signed&&(n=n.fromTwos(f.width));const a=n.toTwos((f.signed?0:1)+f.width).toHexString(),o=b(n,f.decimals);return new y(s,a,o,f)}static from(e,t){if("string"==typeof e)return y.fromString(e,t);if(Object(r.isBytes)(e))return y.fromBytes(e,t);try{return y.fromValue(e,0,t)}catch(e){if(e.code!==n.Logger.errors.INVALID_ARGUMENT)throw e}return o.throwArgumentError("invalid FixedNumber value","value",e)}static isFixedNumber(e){return!(!e||!e._isFixedNumber)}}const g=y.from(1),v=y.from("0.5")},function(e,t,f){"use strict";f.d(t,"a",(function(){return s}));var r=f(115);let n=null;function a(e){if(null==n&&(n="AbandonAbilityAbleAboutAboveAbsentAbsorbAbstractAbsurdAbuseAccessAccidentAccountAccuseAchieveAcidAcousticAcquireAcrossActActionActorActressActualAdaptAddAddictAddressAdjustAdmitAdultAdvanceAdviceAerobicAffairAffordAfraidAgainAgeAgentAgreeAheadAimAirAirportAisleAlarmAlbumAlcoholAlertAlienAllAlleyAllowAlmostAloneAlphaAlreadyAlsoAlterAlwaysAmateurAmazingAmongAmountAmusedAnalystAnchorAncientAngerAngleAngryAnimalAnkleAnnounceAnnualAnotherAnswerAntennaAntiqueAnxietyAnyApartApologyAppearAppleApproveAprilArchArcticAreaArenaArgueArmArmedArmorArmyAroundArrangeArrestArriveArrowArtArtefactArtistArtworkAskAspectAssaultAssetAssistAssumeAsthmaAthleteAtomAttackAttendAttitudeAttractAuctionAuditAugustAuntAuthorAutoAutumnAverageAvocadoAvoidAwakeAwareAwayAwesomeAwfulAwkwardAxisBabyBachelorBaconBadgeBagBalanceBalconyBallBambooBananaBannerBarBarelyBargainBarrelBaseBasicBasketBattleBeachBeanBeautyBecauseBecomeBeefBeforeBeginBehaveBehindBelieveBelowBeltBenchBenefitBestBetrayBetterBetweenBeyondBicycleBidBikeBindBiologyBirdBirthBitterBlackBladeBlameBlanketBlastBleakBlessBlindBloodBlossomBlouseBlueBlurBlushBoardBoatBodyBoilBombBoneBonusBookBoostBorderBoringBorrowBossBottomBounceBoxBoyBracketBrainBrandBrassBraveBreadBreezeBrickBridgeBriefBrightBringBriskBroccoliBrokenBronzeBroomBrotherBrownBrushBubbleBuddyBudgetBuffaloBuildBulbBulkBulletBundleBunkerBurdenBurgerBurstBusBusinessBusyButterBuyerBuzzCabbageCabinCableCactusCageCakeCallCalmCameraCampCanCanalCancelCandyCannonCanoeCanvasCanyonCapableCapitalCaptainCarCarbonCardCargoCarpetCarryCartCaseCashCasinoCastleCasualCatCatalogCatchCategoryCattleCaughtCauseCautionCaveCeilingCeleryCementCensusCenturyCerealCertainChairChalkChampionChangeChaosChapterChargeChaseChatCheapCheckCheeseChefCherryChestChickenChiefChildChimneyChoiceChooseChronicChuckleChunkChurnCigarCinnamonCircleCitizenCityCivilClaimClapClarifyClawClayCleanClerkCleverClickClientCliffClimbClinicClipClockClogCloseClothCloudClownClubClumpClusterClutchCoachCoastCoconutCodeCoffeeCoilCoinCollectColorColumnCombineComeComfortComicCommonCompanyConcertConductConfirmCongressConnectConsiderControlConvinceCookCoolCopperCopyCoralCoreCornCorrectCostCottonCouchCountryCoupleCourseCousinCoverCoyoteCrackCradleCraftCramCraneCrashCraterCrawlCrazyCreamCreditCreekCrewCricketCrimeCrispCriticCropCrossCrouchCrowdCrucialCruelCruiseCrumbleCrunchCrushCryCrystalCubeCultureCupCupboardCuriousCurrentCurtainCurveCushionCustomCuteCycleDadDamageDampDanceDangerDaringDashDaughterDawnDayDealDebateDebrisDecadeDecemberDecideDeclineDecorateDecreaseDeerDefenseDefineDefyDegreeDelayDeliverDemandDemiseDenialDentistDenyDepartDependDepositDepthDeputyDeriveDescribeDesertDesignDeskDespairDestroyDetailDetectDevelopDeviceDevoteDiagramDialDiamondDiaryDiceDieselDietDifferDigitalDignityDilemmaDinnerDinosaurDirectDirtDisagreeDiscoverDiseaseDishDismissDisorderDisplayDistanceDivertDivideDivorceDizzyDoctorDocumentDogDollDolphinDomainDonateDonkeyDonorDoorDoseDoubleDoveDraftDragonDramaDrasticDrawDreamDressDriftDrillDrinkDripDriveDropDrumDryDuckDumbDuneDuringDustDutchDutyDwarfDynamicEagerEagleEarlyEarnEarthEasilyEastEasyEchoEcologyEconomyEdgeEditEducateEffortEggEightEitherElbowElderElectricElegantElementElephantElevatorEliteElseEmbarkEmbodyEmbraceEmergeEmotionEmployEmpowerEmptyEnableEnactEndEndlessEndorseEnemyEnergyEnforceEngageEngineEnhanceEnjoyEnlistEnoughEnrichEnrollEnsureEnterEntireEntryEnvelopeEpisodeEqualEquipEraEraseErodeErosionErrorEruptEscapeEssayEssenceEstateEternalEthicsEvidenceEvilEvokeEvolveExactExampleExcessExchangeExciteExcludeExcuseExecuteExerciseExhaustExhibitExileExistExitExoticExpandExpectExpireExplainExposeExpressExtendExtraEyeEyebrowFabricFaceFacultyFadeFaintFaithFallFalseFameFamilyFamousFanFancyFantasyFarmFashionFatFatalFatherFatigueFaultFavoriteFeatureFebruaryFederalFeeFeedFeelFemaleFenceFestivalFetchFeverFewFiberFictionFieldFigureFileFilmFilterFinalFindFineFingerFinishFireFirmFirstFiscalFishFitFitnessFixFlagFlameFlashFlatFlavorFleeFlightFlipFloatFlockFloorFlowerFluidFlushFlyFoamFocusFogFoilFoldFollowFoodFootForceForestForgetForkFortuneForumForwardFossilFosterFoundFoxFragileFrameFrequentFreshFriendFringeFrogFrontFrostFrownFrozenFruitFuelFunFunnyFurnaceFuryFutureGadgetGainGalaxyGalleryGameGapGarageGarbageGardenGarlicGarmentGasGaspGateGatherGaugeGazeGeneralGeniusGenreGentleGenuineGestureGhostGiantGiftGiggleGingerGiraffeGirlGiveGladGlanceGlareGlassGlideGlimpseGlobeGloomGloryGloveGlowGlueGoatGoddessGoldGoodGooseGorillaGospelGossipGovernGownGrabGraceGrainGrantGrapeGrassGravityGreatGreenGridGriefGritGroceryGroupGrowGruntGuardGuessGuideGuiltGuitarGunGymHabitHairHalfHammerHamsterHandHappyHarborHardHarshHarvestHatHaveHawkHazardHeadHealthHeartHeavyHedgehogHeightHelloHelmetHelpHenHeroHiddenHighHillHintHipHireHistoryHobbyHockeyHoldHoleHolidayHollowHomeHoneyHoodHopeHornHorrorHorseHospitalHostHotelHourHoverHubHugeHumanHumbleHumorHundredHungryHuntHurdleHurryHurtHusbandHybridIceIconIdeaIdentifyIdleIgnoreIllIllegalIllnessImageImitateImmenseImmuneImpactImposeImproveImpulseInchIncludeIncomeIncreaseIndexIndicateIndoorIndustryInfantInflictInformInhaleInheritInitialInjectInjuryInmateInnerInnocentInputInquiryInsaneInsectInsideInspireInstallIntactInterestIntoInvestInviteInvolveIronIslandIsolateIssueItemIvoryJacketJaguarJarJazzJealousJeansJellyJewelJobJoinJokeJourneyJoyJudgeJuiceJumpJungleJuniorJunkJustKangarooKeenKeepKetchupKeyKickKidKidneyKindKingdomKissKitKitchenKiteKittenKiwiKneeKnifeKnockKnowLabLabelLaborLadderLadyLakeLampLanguageLaptopLargeLaterLatinLaughLaundryLavaLawLawnLawsuitLayerLazyLeaderLeafLearnLeaveLectureLeftLegLegalLegendLeisureLemonLendLengthLensLeopardLessonLetterLevelLiarLibertyLibraryLicenseLifeLiftLightLikeLimbLimitLinkLionLiquidListLittleLiveLizardLoadLoanLobsterLocalLockLogicLonelyLongLoopLotteryLoudLoungeLoveLoyalLuckyLuggageLumberLunarLunchLuxuryLyricsMachineMadMagicMagnetMaidMailMainMajorMakeMammalManManageMandateMangoMansionManualMapleMarbleMarchMarginMarineMarketMarriageMaskMassMasterMatchMaterialMathMatrixMatterMaximumMazeMeadowMeanMeasureMeatMechanicMedalMediaMelodyMeltMemberMemoryMentionMenuMercyMergeMeritMerryMeshMessageMetalMethodMiddleMidnightMilkMillionMimicMindMinimumMinorMinuteMiracleMirrorMiseryMissMistakeMixMixedMixtureMobileModelModifyMomMomentMonitorMonkeyMonsterMonthMoonMoralMoreMorningMosquitoMotherMotionMotorMountainMouseMoveMovieMuchMuffinMuleMultiplyMuscleMuseumMushroomMusicMustMutualMyselfMysteryMythNaiveNameNapkinNarrowNastyNationNatureNearNeckNeedNegativeNeglectNeitherNephewNerveNestNetNetworkNeutralNeverNewsNextNiceNightNobleNoiseNomineeNoodleNormalNorthNoseNotableNoteNothingNoticeNovelNowNuclearNumberNurseNutOakObeyObjectObligeObscureObserveObtainObviousOccurOceanOctoberOdorOffOfferOfficeOftenOilOkayOldOliveOlympicOmitOnceOneOnionOnlineOnlyOpenOperaOpinionOpposeOptionOrangeOrbitOrchardOrderOrdinaryOrganOrientOriginalOrphanOstrichOtherOutdoorOuterOutputOutsideOvalOvenOverOwnOwnerOxygenOysterOzonePactPaddlePagePairPalacePalmPandaPanelPanicPantherPaperParadeParentParkParrotPartyPassPatchPathPatientPatrolPatternPausePavePaymentPeacePeanutPearPeasantPelicanPenPenaltyPencilPeoplePepperPerfectPermitPersonPetPhonePhotoPhrasePhysicalPianoPicnicPicturePiecePigPigeonPillPilotPinkPioneerPipePistolPitchPizzaPlacePlanetPlasticPlatePlayPleasePledgePluckPlugPlungePoemPoetPointPolarPolePolicePondPonyPoolPopularPortionPositionPossiblePostPotatoPotteryPovertyPowderPowerPracticePraisePredictPreferPreparePresentPrettyPreventPricePridePrimaryPrintPriorityPrisonPrivatePrizeProblemProcessProduceProfitProgramProjectPromoteProofPropertyProsperProtectProudProvidePublicPuddingPullPulpPulsePumpkinPunchPupilPuppyPurchasePurityPurposePursePushPutPuzzlePyramidQualityQuantumQuarterQuestionQuickQuitQuizQuoteRabbitRaccoonRaceRackRadarRadioRailRainRaiseRallyRampRanchRandomRangeRapidRareRateRatherRavenRawRazorReadyRealReasonRebelRebuildRecallReceiveRecipeRecordRecycleReduceReflectReformRefuseRegionRegretRegularRejectRelaxReleaseReliefRelyRemainRememberRemindRemoveRenderRenewRentReopenRepairRepeatReplaceReportRequireRescueResembleResistResourceResponseResultRetireRetreatReturnReunionRevealReviewRewardRhythmRibRibbonRiceRichRideRidgeRifleRightRigidRingRiotRippleRiskRitualRivalRiverRoadRoastRobotRobustRocketRomanceRoofRookieRoomRoseRotateRoughRoundRouteRoyalRubberRudeRugRuleRunRunwayRuralSadSaddleSadnessSafeSailSaladSalmonSalonSaltSaluteSameSampleSandSatisfySatoshiSauceSausageSaveSayScaleScanScareScatterSceneSchemeSchoolScienceScissorsScorpionScoutScrapScreenScriptScrubSeaSearchSeasonSeatSecondSecretSectionSecuritySeedSeekSegmentSelectSellSeminarSeniorSenseSentenceSeriesServiceSessionSettleSetupSevenShadowShaftShallowShareShedShellSheriffShieldShiftShineShipShiverShockShoeShootShopShortShoulderShoveShrimpShrugShuffleShySiblingSickSideSiegeSightSignSilentSilkSillySilverSimilarSimpleSinceSingSirenSisterSituateSixSizeSkateSketchSkiSkillSkinSkirtSkullSlabSlamSleepSlenderSliceSlideSlightSlimSloganSlotSlowSlushSmallSmartSmileSmokeSmoothSnackSnakeSnapSniffSnowSoapSoccerSocialSockSodaSoftSolarSoldierSolidSolutionSolveSomeoneSongSoonSorrySortSoulSoundSoupSourceSouthSpaceSpareSpatialSpawnSpeakSpecialSpeedSpellSpendSphereSpiceSpiderSpikeSpinSpiritSplitSpoilSponsorSpoonSportSpotSpraySpreadSpringSpySquareSqueezeSquirrelStableStadiumStaffStageStairsStampStandStartStateStaySteakSteelStemStepStereoStickStillStingStockStomachStoneStoolStoryStoveStrategyStreetStrikeStrongStruggleStudentStuffStumbleStyleSubjectSubmitSubwaySuccessSuchSuddenSufferSugarSuggestSuitSummerSunSunnySunsetSuperSupplySupremeSureSurfaceSurgeSurpriseSurroundSurveySuspectSustainSwallowSwampSwapSwarmSwearSweetSwiftSwimSwingSwitchSwordSymbolSymptomSyrupSystemTableTackleTagTailTalentTalkTankTapeTargetTaskTasteTattooTaxiTeachTeamTellTenTenantTennisTentTermTestTextThankThatThemeThenTheoryThereTheyThingThisThoughtThreeThriveThrowThumbThunderTicketTideTigerTiltTimberTimeTinyTipTiredTissueTitleToastTobaccoTodayToddlerToeTogetherToiletTokenTomatoTomorrowToneTongueTonightToolToothTopTopicToppleTorchTornadoTortoiseTossTotalTouristTowardTowerTownToyTrackTradeTrafficTragicTrainTransferTrapTrashTravelTrayTreatTreeTrendTrialTribeTrickTriggerTrimTripTrophyTroubleTruckTrueTrulyTrumpetTrustTruthTryTubeTuitionTumbleTunaTunnelTurkeyTurnTurtleTwelveTwentyTwiceTwinTwistTwoTypeTypicalUglyUmbrellaUnableUnawareUncleUncoverUnderUndoUnfairUnfoldUnhappyUniformUniqueUnitUniverseUnknownUnlockUntilUnusualUnveilUpdateUpgradeUpholdUponUpperUpsetUrbanUrgeUsageUseUsedUsefulUselessUsualUtilityVacantVacuumVagueValidValleyValveVanVanishVaporVariousVastVaultVehicleVelvetVendorVentureVenueVerbVerifyVersionVeryVesselVeteranViableVibrantViciousVictoryVideoViewVillageVintageViolinVirtualVirusVisaVisitVisualVitalVividVocalVoiceVoidVolcanoVolumeVoteVoyageWageWagonWaitWalkWallWalnutWantWarfareWarmWarriorWashWaspWasteWaterWaveWayWealthWeaponWearWeaselWeatherWebWeddingWeekendWeirdWelcomeWestWetWhaleWhatWheatWheelWhenWhereWhipWhisperWideWidthWifeWildWillWinWindowWineWingWinkWinnerWinterWireWisdomWiseWishWitnessWolfWomanWonderWoodWoolWordWorkWorldWorryWorthWrapWreckWrestleWristWriteWrongYardYearYellowYouYoungYouthZebraZeroZoneZoo".replace(/([A-Z])/g," $1").toLowerCase().substring(1).split(" "),"0x3c8acc1e7b08d8e76f9fda015ef48dc8c710a73cb7e0f77b2c18a9b5a7adde60"!==r.a.check(e)))throw n=null,new Error("BIP39 Wordlist for en (English) FAILED")}class i extends r.a{constructor(){super("en")}getWord(e){return a(this),n[e]}getWordIndex(e){return a(this),n.indexOf(e)}}const o=new i;r.a.register(o);const s={en:o}}])}));
|
|
320
|
+
${t.PaymentFragment}`},function(e,t,f){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.EthInputDataPaymentDetector=void 0;const r=f(12),n=f(40),a=f(4),i=f(648),o=f(254),s=f(87),c=f(30),u=f(42),d={"0.1.0":"0.1.0","0.2.0":"0.1.0","0.3.0":"0.3.0"};class l extends s.ReferenceBasedDetector{constructor({advancedLogic:e,currencyManager:t,explorerApiKeys:f,getSubgraphClient:r}){super(a.ExtensionTypes.PAYMENT_NETWORK_ID.ETH_INPUT_DATA,e.extensions.ethereumInputData,t),this.explorerApiKeys=f||{},this.getSubgraphClient=r}extractEvents(e,t,f,n,a,s){return r.__awaiter(this,void 0,void 0,(function*(){if(!t)return{paymentEvents:[]};const r=new i.EthInputDataInfoRetriever(t,e,a,f,this.explorerApiKeys[a]),n=yield r.getTransferEvents(),c=l.getDeploymentInformation(a,s.version);let d,p=[];if(c){const r=this.getSubgraphClient(a);if(r){const n=new u.TheGraphInfoRetriever(r,this.currencyManager);d=yield n.getTransferEvents({paymentReference:f,contractAddress:c.address,toAddress:t,eventName:e,paymentChain:a})}else{const r=new o.EthProxyInfoRetriever(f,c.address,c.creationBlockNumber,t,e,a);d={paymentEvents:yield r.getTransferEvents()}}n.push(...d.paymentEvents),p=d.escrowEvents}return{paymentEvents:n,escrowEvents:p}}))}}t.EthInputDataPaymentDetector=l,l.getDeploymentInformation=(0,c.makeGetDeploymentInformation)(n.ethereumProxyArtifact,d,!0)},function(e,t,f){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.EthInputDataInfoRetriever=void 0;const r=f(12),n=f(649);t.EthInputDataInfoRetriever=class{constructor(e,t,f,r,n){this.toAddress=e,this.eventName=t,this.network=f,this.paymentReference=r,this.explorerApiKey=n}getTransferEvents(){return r.__awaiter(this,void 0,void 0,(function*(){if("private"===this.network)throw new Error("ETH input data info-retriever works with etherscan and cannot work on a local network");const e=new n.MultichainExplorerApiProvider(this.network,this.explorerApiKey),t=yield e.getHistory(this.toAddress);return t.filter(((e,f)=>t.findIndex((t=>t.hash===e.hash))===f)).filter((e=>e.to&&e.to.toLowerCase()===this.toAddress.toLowerCase())).filter((e=>e.data.toLowerCase()==="0x"+this.paymentReference.toLowerCase())).map((e=>({amount:e.value.toString(),name:this.eventName,parameters:{block:e.blockNumber,confirmations:e.confirmations,txHash:e.hash},timestamp:e.timestamp})))}))}}},function(e,t,f){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.MultichainExplorerApiProvider=void 0;const r=f(3),n={sokol:{chainId:77,name:"sokol"},fuse:{chainId:122,name:"fuse"},celo:{chainId:42220,name:"celo"},fantom:{chainId:250,name:"fantom"},"arbitrum-rinkeby":{chainId:421611,name:"arbitrum-rinkeby"},"arbitrum-one":{chainId:42161,name:"arbitrum-one"},avalanche:{chainId:43114,name:"avalanche"},bsc:{chainId:56,name:"bsc"},optimism:{chainId:10,name:"optimism"},moonbeam:{chainId:1284,name:"moonbeam"},tombchain:{chainId:6969,name:"tombchain"}};class a extends r.ethers.providers.EtherscanProvider{constructor(e,t){"string"==typeof e&&n[e]&&(e=n[e]),t||"mainnet"!==e&&"rinkeby"!==e||(t="TCVQQU5V39TAS1V6HF61P9K7IJZVEHH1D9"),super(e,t)}getBaseUrl(){switch(this.network.name){case"sokol":case"xdai":return"https://api.gnosisscan.io";case"fuse":return"https://explorer.fuse.io";case"celo":return"https://api.celoscan.io";case"matic":return"https://api.polygonscan.com";case"fantom":return"https://api.ftmscan.com";case"bsctest":return"https://api-testnet.bscscan.com/";case"bsc":return"https://api.bscscan.com/";case"aurora":return"https://explorer.mainnet.near.org";case"aurora-testnet":case"near-testnet":return"https://explorer.testnet.near.org";case"arbitrum-rinkeby":return"https://testnet.arbiscan.io/";case"arbitrum-one":return"https://api.arbiscan.io";case"avalanche":return"https://api.snowtrace.io";default:return super.getBaseUrl()}}}t.MultichainExplorerApiProvider=a},function(e,t,f){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.EthFeeProxyPaymentDetector=void 0;const r=f(12),n=f(40),a=f(4),i=f(254),o=f(86),s=f(30),c=f(42),u={"0.1.0":"0.1.0","0.2.0":"0.2.0"};class d extends o.FeeReferenceBasedDetector{constructor({advancedLogic:e,currencyManager:t,getSubgraphClient:f}){super(a.ExtensionTypes.PAYMENT_NETWORK_ID.ETH_FEE_PROXY_CONTRACT,e.extensions.feeProxyContractEth,t),this.getSubgraphClient=f}extractEvents(e,t,f,n,a,o){return r.__awaiter(this,void 0,void 0,(function*(){if(!t)return{paymentEvents:[]};const r=d.getDeploymentInformation(a,o.version),n=this.getSubgraphClient(a);if(n){return new c.TheGraphInfoRetriever(n,this.currencyManager).getTransferEvents({paymentReference:f,contractAddress:r.address,toAddress:t,eventName:e,paymentChain:a})}{const n=new i.EthProxyInfoRetriever(f,r.address,r.creationBlockNumber,t,e,a);return{paymentEvents:yield n.getTransferEvents()}}}))}}t.EthFeeProxyPaymentDetector=d,d.getDeploymentInformation=(0,s.makeGetDeploymentInformation)(n.ethereumFeeProxyArtifact,u)},function(e,t,f){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.AnyToERC20PaymentDetector=void 0;const r=f(12),n=f(40),a=f(4),i=f(235),o=f(652),s=f(42),c=f(30),u=f(7),d={"0.1.0":"0.1.0"};class l extends i.ERC20FeeProxyPaymentDetectorBase{constructor({advancedLogic:e,currencyManager:t,getSubgraphClient:f}){super(a.ExtensionTypes.PAYMENT_NETWORK_ID.ANY_TO_ERC20_PROXY,e.extensions.anyToErc20Proxy,t),this.getSubgraphClient=f}createExtensionsDataForCreation(e){return r.__awaiter(this,void 0,void 0,(function*(){const t=e.salt||(yield(0,u.generate8randomBytes)());return this.extension.createCreationAction({feeAddress:e.feeAddress,feeAmount:e.feeAmount,paymentAddress:e.paymentAddress,refundAddress:e.refundAddress,network:e.network,acceptedTokens:e.acceptedTokens,maxRateTimespan:e.maxRateTimespan,salt:t})}))}extractEvents(e,t,f,a,i,c){return r.__awaiter(this,void 0,void 0,(function*(){if(!t)return{paymentEvents:[]};const{acceptedTokens:r,maxRateTimespan:u=0}=c.values,{address:d,creationBlockNumber:p}=l.getDeploymentInformation(i,c.version),b=n.erc20ConversionProxy.getContractAbi(c.version),h=yield this.getCurrency(a),m=this.getSubgraphClient(i);if(m){const n=new s.TheGraphInfoRetriever(m,this.currencyManager);return yield n.getTransferEvents({paymentReference:f,contractAddress:d,toAddress:t,eventName:e,paymentChain:i,acceptedTokens:r,maxRateTimespan:u})}const y=new o.AnyToErc20InfoRetriever(h,f,d,p,b,t,e,i,r,u);return{paymentEvents:yield y.getTransferEvents()}}))}getPaymentChain(e){const t=this.getPaymentExtension(e).values.network;if(!t)throw Error(`request.extensions[${this.paymentNetworkId}].values.network must be defined`);return t}}t.AnyToERC20PaymentDetector=l,l.getDeploymentInformation=(0,c.makeGetDeploymentInformation)(n.erc20ConversionProxy,d)},function(e,t,f){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.AnyToErc20InfoRetriever=void 0;const r=f(256);class n extends r.ConversionInfoRetriever{getFeeFilter(){const e=this.contractConversionProxy.filters.TransferWithReferenceAndFee(null,null,null,"0x"+this.paymentReference);return e.fromBlock=this.conversionProxyCreationBlockNumber,e.toBlock="latest",e}}t.AnyToErc20InfoRetriever=n},function(e,t,f){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.AnyToEthFeeProxyPaymentDetector=void 0;const r=f(12),n=f(40),a=f(4),i=f(41),o=f(654),s=f(257),c=f(30),u=f(42),d={"0.1.0":"0.1.0","0.2.0":"0.2.0"};class l extends s.AnyToAnyDetector{constructor({advancedLogic:e,currencyManager:t,getSubgraphClient:f}){super(a.ExtensionTypes.PAYMENT_NETWORK_ID.ANY_TO_ETH_PROXY,e.extensions.anyToEthProxy,t),this.getSubgraphClient=f}extractEvents(e,t,f,a,s,c){var d,p;return r.__awaiter(this,void 0,void 0,(function*(){if(!t)return{paymentEvents:[]};const r=l.getDeploymentInformation(s,c.version),b=this.currencyManager.fromStorageCurrency(a);if(!b)throw new i.UnsupportedCurrencyError(a.value);const h=this.getSubgraphClient(s);if(h){const n=new u.TheGraphInfoRetriever(h,this.currencyManager);return yield n.getTransferEvents({paymentReference:f,contractAddress:r.address,toAddress:t,eventName:e,paymentChain:s,maxRateTimespan:null===(d=c.values)||void 0===d?void 0:d.maxRateTimespan})}const m=n.ethConversionArtifact.getContractAbi(r.contractVersion),y=new o.AnyToEthInfoRetriever(b,f,r.address,r.creationBlockNumber,m,t,e,s,void 0,null===(p=c.values)||void 0===p?void 0:p.maxRateTimespan);return{paymentEvents:yield y.getTransferEvents()}}))}getPaymentChain(e){const t=this.getPaymentExtension(e).values.network;if(!t)throw Error(`request.extensions[${this.paymentNetworkId}].values.network must be defined`);return t}}t.AnyToEthFeeProxyPaymentDetector=l,l.getDeploymentInformation=(0,c.makeGetDeploymentInformation)(n.ethConversionArtifact,d)},function(e,t,f){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.AnyToEthInfoRetriever=void 0;const r=f(256);class n extends r.ConversionInfoRetriever{getFeeFilter(){const e=this.contractConversionProxy.filters.TransferWithReferenceAndFee(null,null,"0x"+this.paymentReference);return e.fromBlock=this.conversionProxyCreationBlockNumber,e.toBlock="latest",e}}t.AnyToEthInfoRetriever=n},function(e,t,f){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.NearNativeTokenPaymentDetector=void 0;const r=f(12),n=f(151),a=f(656),i=f(102),o={"0.1.0":"0.1.0","0.2.0":"0.2.0"};class s extends a.NativeTokenPaymentDetector{constructor(e){super(e)}extractEvents(e,t,f,a,i,o){return r.__awaiter(this,void 0,void 0,(function*(){if(!t)return{paymentEvents:[]};const r=new n.NearInfoRetriever(f,t,s.getContractName(i,o.version),e,i);return{paymentEvents:yield r.getTransferEvents()}}))}}t.NearNativeTokenPaymentDetector=s,s.getContractName=(e,t="0.2.0")=>{var f;const r=s.getVersionOrThrow(t),n={aurora:{"0.1.0":"requestnetwork.near","0.2.0":"requestnetwork.near"},"aurora-testnet":{"0.1.0":"dev-1626339335241-5544297","0.2.0":"dev-1631521265288-35171138540673"},"near-testnet":{"0.1.0":"dev-1626339335241-5544297","0.2.0":"dev-1631521265288-35171138540673"}};if(null===(f=n[e])||void 0===f?void 0:f[r])return n[e][r];throw new i.NetworkNotSupported(`Unconfigured near-detector chain '${e}' and version '${r}'`)},s.getVersionOrThrow=e=>{if(!o[e])throw Error(`Near payment detection not implemented for version ${e}`);return o[e]}},function(e,t,f){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.NativeTokenPaymentDetector=void 0;const r=f(4),n=f(87);class a extends n.ReferenceBasedDetector{constructor({network:e,advancedLogic:t,currencyManager:f}){const n=r.ExtensionTypes.PAYMENT_NETWORK_ID.NATIVE_TOKEN,a=t.getNativeTokenExtensionForNetwork(e);if(!a)throw new Error(`the ${n} extension is not supported for the network ${e}`);super(n,a,f)}}t.NativeTokenPaymentDetector=a},function(e,t,f){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.NearConversionNativeTokenPaymentDetector=void 0;const r=f(12),n=f(41),a=f(259),i=f(658),o=f(102),s={"0.1.0":"0.1.0"};class c extends i.AnyToNativeDetector{constructor(e){super(e)}extractEvents(e,t,f,i,o,s){return r.__awaiter(this,void 0,void 0,(function*(){if(!t)return{paymentEvents:[]};const r=this.currencyManager.fromStorageCurrency(i);if(!r)throw new n.UnsupportedCurrencyError(i.value);const u=new a.NearConversionInfoRetriever(r,f,t,c.getContractName(o,s.version),e,o,s.values.maxRateTimespan);return{paymentEvents:yield u.getTransferEvents()}}))}getPaymentChain(e){const t=this.getPaymentExtension(e).values.network;if(!t)throw Error(`request.extensions[${this.paymentNetworkId}].values.network must be defined`);return t}}t.NearConversionNativeTokenPaymentDetector=c,c.getContractName=(e,t="0.1.0")=>{var f;const r=c.getVersionOrThrow(t),n={aurora:{"0.1.0":"native.conversion.reqnetwork.near"},"aurora-testnet":{"0.1.0":"native.conversion.reqnetwork.testnet"},"near-testnet":{"0.1.0":"native.conversion.reqnetwork.testnet"}};if(null===(f=n[e])||void 0===f?void 0:f[r])return n[e][r];throw new o.NetworkNotSupported(`Unconfigured near-conversion-detector chain '${e}' and version '${r}'`)},c.getVersionOrThrow=e=>{if(!s[e])throw Error(`Near payment detection not implemented for version ${e}`);return s[e]}},function(e,t,f){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.AnyToNativeDetector=void 0;const r=f(4),n=f(257);class a extends n.AnyToAnyDetector{constructor({network:e,advancedLogic:t,currencyManager:f}){const n=r.ExtensionTypes.PAYMENT_NETWORK_ID.ANY_TO_NATIVE_TOKEN,a=t.getAnyToNativeTokenExtensionForNetwork(e);if(!a)throw new Error(`the ${n} extension is not supported for the network ${e}`);super(n,a,f)}}t.AnyToNativeDetector=a},function(e,t,f){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.EscrowERC20InfoRetriever=void 0;const r=f(12),n=f(4),a=f(40),i=f(3),o=f(30),s=f(7),c={"0.1.0":"0.1.0","0.2.0":"0.1.0"};class u{constructor(e,t,f,r,n,o,c){this.paymentReference=e,this.escrowContractAddress=t,this.escrowCreationBlockNumber=f,this.tokenContractAddress=r,this.toAddress=n,this.network=o,this.eventName=c,this.provider=(0,s.getDefaultProvider)(this.network),this.contractEscrow=new i.ethers.Contract(this.escrowContractAddress,a.erc20EscrowToPayArtifact.getContractAbi(),this.provider)}getAllContractEvents(){return r.__awaiter(this,void 0,void 0,(function*(){return[...yield this.getContractEventsForEventName(n.PaymentTypes.ESCROW_EVENTS_NAMES.FREEZE_ESCROW),...yield this.getContractEventsForEventName(n.PaymentTypes.ESCROW_EVENTS_NAMES.INITIATE_EMERGENCY_CLAIM),...yield this.getContractEventsForEventName(n.PaymentTypes.ESCROW_EVENTS_NAMES.REVERT_EMERGENCY_CLAIM)]}))}getContractEvents(){return r.__awaiter(this,void 0,void 0,(function*(){if(!this.eventName)throw new Error("Missing event name in EscrowInfoRetriever for getContractEvents()");return this.getContractEventsForEventName(this.eventName)}))}getContractEventsForEventName(e){return r.__awaiter(this,void 0,void 0,(function*(){const t=e===n.PaymentTypes.ESCROW_EVENTS_NAMES.FREEZE_ESCROW?this.contractEscrow.filters.RequestFrozen("0x"+this.paymentReference):e===n.PaymentTypes.ESCROW_EVENTS_NAMES.INITIATE_EMERGENCY_CLAIM?this.contractEscrow.filters.InitiatedEmergencyClaim("0x"+this.paymentReference):e===n.PaymentTypes.ESCROW_EVENTS_NAMES.REVERT_EMERGENCY_CLAIM?this.contractEscrow.filters.RevertedEmergencyClaim("0x"+this.paymentReference):e===n.PaymentTypes.ESCROW_EVENTS_NAMES.PAID_ESCROW?this.contractEscrow.filters.TransferWithReferenceAndFee(null,null,null,"0x"+this.paymentReference,null,null):void 0;if(!t)throw new Error("Wrong eventName for Escrow event retriever");t.fromBlock=this.escrowCreationBlockNumber,t.toBlock="latest";const f=(yield this.provider.getLogs(t)).map((e=>{const t=this.contractEscrow.interface.parseLog(e);return Object.assign(Object.assign({},e),{parsedLog:(0,o.parseLogArgs)(t)})})).filter((({parsedLog:e})=>!e.tokenAddress||e.tokenAddress.toLowerCase()===this.tokenContractAddress.toLowerCase()&&e.to.toLowerCase()===this.toAddress.toLowerCase())).map((({parsedLog:t,blockNumber:f,transactionHash:n})=>r.__awaiter(this,void 0,void 0,(function*(){var r,a;return{amount:(null===(r=t.amount)||void 0===r?void 0:r.toString())||void 0,name:e,parameters:{block:f,paymentReference:t.paymentReference,feeAddress:t.feeAddress||void 0,feeAmount:(null===(a=t.feeAmount)||void 0===a?void 0:a.toString())||void 0,to:this.toAddress||void 0,txHash:n},timestamp:(yield this.provider.getBlock(f||0)).timestamp}}))));return Promise.all(f)}))}getEscrowRequestMapping(){return r.__awaiter(this,void 0,void 0,(function*(){return this.contractEscrow.requestMapping(`0x${this.paymentReference}`)}))}}t.EscrowERC20InfoRetriever=u,u.getEscrowDeploymentInformation=(0,o.makeGetDeploymentInformation)(a.erc20EscrowToPayArtifact,c)},function(e,t,f){"use strict";Object.defineProperty(t,"__esModule",{value:!0});const r=f(41),n=f(261),a=f(280),i=f(750),o=f(758);class s extends n.default{constructor({decryptionProvider:e,httpConfig:t,nodeConnectionConfig:f,signatureProvider:n,useMockStorage:s,currencies:c,currencyManager:u,paymentOptions:d}={httpConfig:{},nodeConnectionConfig:{},useMockStorage:!1}){const l=s?new i.default(new o.default):new a.default({httpConfig:t,nodeConnectionConfig:f});u||(u=new r.CurrencyManager(c||r.CurrencyManager.getDefaultList())),super({dataAccess:l,signatureProvider:n,decryptionProvider:e,currencyManager:u,paymentOptions:d})}}t.default=s},function(e,t,f){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.AdvancedLogic=void 0;var r=f(662);Object.defineProperty(t,"AdvancedLogic",{enumerable:!0,get:function(){return r.default}})},function(e,t,f){"use strict";Object.defineProperty(t,"__esModule",{value:!0});const r=f(4),n=f(41),a=f(663),i=f(263),o=f(664),s=f(264),c=f(665),u=f(265),d=f(666),l=f(667),p=f(266),b=f(668),h=f(267),m=f(670),y=f(671),g=f(672),v=f(268),_=f(674),w=f(675);t.default=class{constructor(e){e||(e=n.CurrencyManager.getDefault()),this.extensions={addressBasedBtc:new i.default,addressBasedErc20:new c.default,addressBasedTestnetBtc:new o.default,contentData:new a.default,anyToErc20Proxy:new y.default(e),declarative:new s.default,ethereumInputData:new b.default,feeProxyContractErc20:new u.default,proxyContractErc20:new d.default,erc777Stream:new l.default,feeProxyContractEth:new p.default,anyToEthProxy:new g.default(e),nativeToken:[new h.default,new m.default],anyToNativeToken:[new v.default(e),new _.default(e)],erc20TransferableReceivable:new w.default}}applyActionToExtensions(e,t,f,r,n){return this.getExtensionForActionAndState(t,f).applyActionToExtension(e,t,f,r,n)}getExtensionForActionAndState(e,t){const f=e.id,n={[r.ExtensionTypes.ID.CONTENT_DATA]:this.extensions.contentData,[r.ExtensionTypes.PAYMENT_NETWORK_ID.BITCOIN_ADDRESS_BASED]:this.extensions.addressBasedBtc,[r.ExtensionTypes.PAYMENT_NETWORK_ID.TESTNET_BITCOIN_ADDRESS_BASED]:this.extensions.addressBasedTestnetBtc,[r.ExtensionTypes.PAYMENT_NETWORK_ID.ANY_DECLARATIVE]:this.extensions.declarative,[r.ExtensionTypes.PAYMENT_NETWORK_ID.ERC20_ADDRESS_BASED]:this.extensions.addressBasedErc20,[r.ExtensionTypes.PAYMENT_NETWORK_ID.ERC20_PROXY_CONTRACT]:this.extensions.proxyContractErc20,[r.ExtensionTypes.PAYMENT_NETWORK_ID.ERC20_FEE_PROXY_CONTRACT]:this.extensions.feeProxyContractErc20,[r.ExtensionTypes.PAYMENT_NETWORK_ID.ERC777_STREAM]:this.extensions.erc777Stream,[r.ExtensionTypes.PAYMENT_NETWORK_ID.ETH_INPUT_DATA]:this.extensions.ethereumInputData,[r.ExtensionTypes.PAYMENT_NETWORK_ID.NATIVE_TOKEN]:this.getNativeTokenExtensionForActionAndState(e,t),[r.ExtensionTypes.PAYMENT_NETWORK_ID.ANY_TO_ERC20_PROXY]:this.extensions.anyToErc20Proxy,[r.ExtensionTypes.PAYMENT_NETWORK_ID.ETH_FEE_PROXY_CONTRACT]:this.extensions.feeProxyContractEth,[r.ExtensionTypes.PAYMENT_NETWORK_ID.ANY_TO_ETH_PROXY]:this.extensions.anyToEthProxy,[r.ExtensionTypes.PAYMENT_NETWORK_ID.ANY_TO_NATIVE_TOKEN]:this.getAnyToNativeTokenExtensionForActionAndState(e,t),[r.ExtensionTypes.PAYMENT_NETWORK_ID.ERC20_TRANSFERABLE_RECEIVABLE]:this.extensions.erc20TransferableReceivable}[f];if(!n){if(f===r.ExtensionTypes.PAYMENT_NETWORK_ID.NATIVE_TOKEN||f===r.ExtensionTypes.PAYMENT_NETWORK_ID.ANY_TO_NATIVE_TOKEN){const r=this.getNetwork(e,t)||t.currency.network;throw Error(`extension with id: ${f} not found for network: ${r}`)}throw Error(`extension not recognized, id: ${f}`)}return n}getNativeTokenExtensionForNetwork(e){return this.extensions.nativeToken.find((t=>t.supportedNetworks.includes(e)))}getNativeTokenExtensionForActionAndState(e,t){var f;if(t.currency.network&&e.parameters.paymentNetworkName&&t.currency.network!==e.parameters.paymentNetworkName)throw new Error(`Cannot apply action for network ${e.parameters.paymentNetworkName} on state with payment network: ${t.currency.network}`);const r=null!==(f=t.currency.network)&&void 0!==f?f:e.parameters.paymentNetworkName;return r?this.getNativeTokenExtensionForNetwork(r):void 0}getAnyToNativeTokenExtensionForNetwork(e){return this.extensions.anyToNativeToken.find((t=>t.supportedNetworks.includes(e)))}getAnyToNativeTokenExtensionForActionAndState(e,t){const f=this.getNetwork(e,t);return f?this.getAnyToNativeTokenExtensionForNetwork(f):void 0}getNetwork(e,t){var f,n;return"create"===e.action?e.parameters.network:null===(n=null===(f=t.extensions[r.ExtensionTypes.PAYMENT_NETWORK_ID.ANY_TO_NATIVE_TOKEN])||void 0===f?void 0:f.values)||void 0===n?void 0:n.network}}},function(e,t,f){"use strict";Object.defineProperty(t,"__esModule",{value:!0});const r=f(4),n=f(262);class a extends n.AbstractExtension{constructor(){super(r.ExtensionTypes.TYPE.CONTENT_DATA,r.ExtensionTypes.ID.CONTENT_DATA,"0.1.0")}createCreationAction(e){if(!e.content)throw Error("No content has been given for the extension content-data");return super.createCreationAction(e)}applyCreation(e,t){if(!e.parameters.content)throw Error("No content has been given for the extension content-data");const f=super.applyCreation(e,t);return Object.assign(Object.assign({},f),{events:[],id:this.extensionId,type:this.extensionType,values:Object.assign(Object.assign({},f.values),{content:e.parameters.content})})}}t.default=a},function(e,t,f){"use strict";Object.defineProperty(t,"__esModule",{value:!0});const r=f(263),n=f(4);class a extends r.default{constructor(){super(n.ExtensionTypes.PAYMENT_NETWORK_ID.TESTNET_BITCOIN_ADDRESS_BASED)}isValidAddress(e){return this.isValidAddressForSymbolAndNetwork(e,"BTC-testnet","testnet")}}t.default=a},function(e,t,f){"use strict";Object.defineProperty(t,"__esModule",{value:!0});const r=f(4),n=f(88);class a extends n.default{constructor(){super(r.ExtensionTypes.PAYMENT_NETWORK_ID.ERC20_ADDRESS_BASED,"0.1.0",r.RequestLogicTypes.CURRENCY.ERC20)}}t.default=a},function(e,t,f){"use strict";Object.defineProperty(t,"__esModule",{value:!0});const r=f(4),n=f(89);class a extends n.default{constructor(){super(r.ExtensionTypes.PAYMENT_NETWORK_ID.ERC20_PROXY_CONTRACT,"0.1.0",r.RequestLogicTypes.CURRENCY.ERC20)}}t.default=a},function(e,t,f){"use strict";Object.defineProperty(t,"__esModule",{value:!0});const r=f(4),n=f(89),a=f(7);class i extends n.default{constructor(){super(r.ExtensionTypes.PAYMENT_NETWORK_ID.ERC777_STREAM,"0.1.0",r.RequestLogicTypes.CURRENCY.ERC777)}createCreationAction(e){if(!r.TypesUtils.isOriginalRequestCreationParameters(e)&&!r.TypesUtils.isSubsequentRequestCreationParameters(e))throw Error("originalRequestId, previousRequestId and recurrenceNumber must be all empty or all filled");if(r.TypesUtils.isOriginalRequestCreationParameters(e)){if(!e.expectedFlowRate)throw Error("expectedFlowRate should not be empty");if(!e.expectedStartDate)throw Error("expectedStartDate should not be empty");return super.createCreationAction(e)}if(!this.isSubsequentRequestParametersValid(e))throw Error("recurrenceNumber must be 1 if originalRequestId and previousRequestId are equal and vice versa");return{action:r.ExtensionTypes.PnFeeReferenceBased.ACTION.CREATE,id:this.extensionId,parameters:e,version:this.currentVersion}}applyCreation(e,t){if(!r.TypesUtils.isOriginalRequestCreationParameters(e.parameters)&&!r.TypesUtils.isSubsequentRequestCreationParameters(e.parameters))throw Error("originalRequestId, previousRequestId and recurrenceNumber must be all empty or all filled");if(r.TypesUtils.isOriginalRequestCreationParameters(e.parameters)){if(!e.parameters.expectedStartDate||e.parameters.expectedStartDate&&!(0,a.isValidAmount)(e.parameters.expectedStartDate))throw Error("expectedStartDate is empty or invalid");if(!e.parameters.expectedFlowRate||e.parameters.expectedFlowRate&&!(0,a.isValidAmount)(e.parameters.expectedFlowRate))throw Error("expectedFlowRate is empty or invalid");const f=super.applyCreation(e,t);return Object.assign(Object.assign({},f),{events:[{name:r.ExtensionTypes.PnFeeReferenceBased.ACTION.CREATE,parameters:e.parameters,timestamp:t}],values:Object.assign(Object.assign({},f.values),{expectedStartDate:e.parameters.expectedStartDate,expectedFlowRate:e.parameters.expectedFlowRate})})}if(!e.parameters.originalRequestId)throw Error("originalRequestId is empty");if(!e.parameters.previousRequestId)throw Error("previousRequestId is empty");if(!e.parameters.recurrenceNumber)throw Error("recurrenceNumber is empty");if(!e.version)throw Error("version is required at creation");if(!this.isSubsequentRequestParametersValid(e.parameters))throw Error("recurrenceNumber must be 1 if originalRequestId and previousRequestId are equal and vice versa");return{events:[{name:r.ExtensionTypes.PnFeeReferenceBased.ACTION.CREATE,parameters:e.parameters,timestamp:t}],id:e.id,type:this.extensionType,values:e.parameters,version:e.version}}isSubsequentRequestParametersValid(e){return e.originalRequestId===e.previousRequestId&&1===e.recurrenceNumber||1!==e.recurrenceNumber&&e.originalRequestId!==e.previousRequestId}}t.default=i},function(e,t,f){"use strict";Object.defineProperty(t,"__esModule",{value:!0});const r=f(4),n=f(89);class a extends n.default{constructor(e=r.ExtensionTypes.PAYMENT_NETWORK_ID.ETH_INPUT_DATA,t="0.3.0"){super(e,t,r.RequestLogicTypes.CURRENCY.ETH)}}t.default=a},function(e,t,f){"use strict";Object.defineProperty(t,"__esModule",{value:!0});const r=f(4),n=f(88),a=f(89);class i extends a.default{constructor(e,t,f){super(e,t,r.RequestLogicTypes.CURRENCY.ETH),this.supportedNetworks=f}createCreationAction(e){const t=e.paymentNetworkName;if(e.paymentAddress||e.refundAddress){if(!t)throw new Error(`The network name is mandatory for the creation of the extension ${this.extensionId}.`);this.throwIfInvalidNetwork(t)}if(e.paymentAddress&&!this.isValidAddress(e.paymentAddress))throw new n.InvalidPaymentAddressError(e.paymentAddress);if(e.refundAddress&&!this.isValidAddress(e.refundAddress))throw new n.InvalidPaymentAddressError(e.refundAddress,"refundAddress");return super.createCreationAction(e)}isValidAddress(e){throw new Error("Default implementation of isValidAddress() does not support native tokens. Please override this method.")}throwIfInvalidNetwork(e){if(super.throwIfInvalidNetwork(e),this.supportedNetworks&&!this.supportedNetworks.includes(e))throw new n.UnsupportedNetworkError(e,this.supportedNetworks)}}t.default=i},function(e,t,f){"use strict";Object.defineProperty(t,"__esModule",{value:!0});const r=f(267);class n extends r.default{constructor(){super(["aurora-testnet","near-testnet"])}isValidAddress(e){return this.isValidAddressForSymbolAndNetwork(e,"NEAR-testnet","aurora-testnet")}}t.default=n},function(e,t,f){"use strict";Object.defineProperty(t,"__esModule",{value:!0});const r=f(41),n=f(4),a=f(265);class i extends a.default{constructor(e,t=n.ExtensionTypes.PAYMENT_NETWORK_ID.ANY_TO_ERC20_PROXY,f="0.1.0"){super(t,f),this.currencyManager=e}createCreationAction(e){if(!e.acceptedTokens||0===e.acceptedTokens.length)throw Error("acceptedTokens is required");if(e.acceptedTokens.some((e=>!this.isValidAddress(e))))throw Error("acceptedTokens must contains only valid ethereum addresses");const t=e.network;this.throwIfInvalidNetwork(t);for(const f of e.acceptedTokens){const e=this.currencyManager.fromAddress(f,t);if(!e)throw new r.UnsupportedCurrencyError({value:f,network:t});if(!this.currencyManager.supportsConversion(e,t))throw Error(`acceptedTokens must contain only supported token addresses (ERC20 only). ${f} is not supported for ${t}.`)}return super.createCreationAction(e)}applyCreation(e,t){if(!e.parameters.network||0===e.parameters.network.length)throw Error("network is required");if(!e.parameters.acceptedTokens||0===e.parameters.acceptedTokens.length)throw Error("acceptedTokens is required and cannot be empty");if(e.parameters.acceptedTokens.some((e=>!this.isValidAddress(e))))throw Error("acceptedTokens must contains only valid ethereum addresses");const f=super.applyCreation(e,t);return Object.assign(Object.assign({},f),{events:[{name:"create",parameters:{feeAddress:e.parameters.feeAddress,feeAmount:e.parameters.feeAmount,paymentAddress:e.parameters.paymentAddress,refundAddress:e.parameters.refundAddress,salt:e.parameters.salt,network:e.parameters.network,acceptedTokens:e.parameters.acceptedTokens,maxRateTimespan:e.parameters.maxRateTimespan},timestamp:t}],values:Object.assign(Object.assign({},f.values),{network:e.parameters.network,acceptedTokens:e.parameters.acceptedTokens,maxRateTimespan:e.parameters.maxRateTimespan})})}validate(e,t){var f;const a=t.action===n.ExtensionTypes.PnFeeReferenceBased.ACTION.CREATE?t.parameters.network:null===(f=e.extensions[this.extensionId])||void 0===f?void 0:f.values.network;if(!a)return;if(!a)return;if(!r.conversionSupportedNetworks.includes(a))throw new Error(`The network (${a}) is not supported for this payment network.`);const i=this.currencyManager.fromStorageCurrency(e.currency);if(!i)throw new r.UnsupportedCurrencyError(e.currency);if(!this.currencyManager.supportsConversion(i,a))throw new Error(`The currency (${i.id}, ${i.hash}) of the request is not supported for this payment network.`)}}t.default=i},function(e,t,f){"use strict";Object.defineProperty(t,"__esModule",{value:!0});const r=f(41),n=f(4),a=f(266);class i extends a.default{constructor(e){super(n.ExtensionTypes.PAYMENT_NETWORK_ID.ANY_TO_ETH_PROXY,"0.2.0"),this.currencyManager=e}createCreationAction(e){return this.throwIfInvalidNetwork(e.network),super.createCreationAction(e)}applyCreation(e,t){if(!e.parameters.network||0===e.parameters.network.length)throw Error("network is required");const f=super.applyCreation(e,t);return Object.assign(Object.assign({},f),{events:[{name:"create",parameters:{feeAddress:e.parameters.feeAddress,feeAmount:e.parameters.feeAmount,paymentAddress:e.parameters.paymentAddress,refundAddress:e.parameters.refundAddress,salt:e.parameters.salt,network:e.parameters.network,maxRateTimespan:e.parameters.maxRateTimespan},timestamp:t}],values:Object.assign(Object.assign({},f.values),{network:e.parameters.network,maxRateTimespan:e.parameters.maxRateTimespan})})}validate(e,t){var f;const a=t.action===n.ExtensionTypes.PnFeeReferenceBased.ACTION.CREATE?t.parameters.network:null===(f=e.extensions[this.extensionId])||void 0===f?void 0:f.values.network;if(!a)throw new Error("The network must be provided from the creation action or from the extension state");const i=this.currencyManager.fromStorageCurrency(e.currency);if(!i)throw new r.UnsupportedCurrencyError(e.currency);if(!this.currencyManager.supportsConversion(i,a))throw new Error(`The currency (${e.currency.value}) of the request is not supported for this payment network.`)}}t.default=i},function(e,t,f){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.InvalidMaxRateTimespanError=void 0;const r=f(106),n=f(4),a=f(88);class i extends r.FeeReferenceBasedPaymentNetwork{constructor(e,t,f){super(e,t,n.RequestLogicTypes.CURRENCY.ETH),this.supportedNetworks=f}createCreationAction(e){const t=e.network;if(this.throwIfInvalidNetwork(t),e.paymentAddress&&!this.isValidAddress(e.paymentAddress))throw new a.InvalidPaymentAddressError(e.paymentAddress);if(e.refundAddress&&!this.isValidAddress(e.refundAddress))throw new a.InvalidPaymentAddressError(e.refundAddress,"refundAddress");if(e.feeAddress&&!this.isValidAddress(e.feeAddress))throw new a.InvalidPaymentAddressError(e.feeAddress,"feeAddress");if(e.maxRateTimespan&&e.maxRateTimespan<0)throw new o(e.maxRateTimespan);return super.createCreationAction(e)}isValidAddress(e){throw new Error("Default implementation of isValidAddress() does not support native tokens. Please override this method.")}throwIfInvalidNetwork(e){if(super.throwIfInvalidNetwork(e),this.supportedNetworks&&!this.supportedNetworks.includes(e))throw new a.UnsupportedNetworkError(e,this.supportedNetworks)}}t.default=i;class o extends Error{constructor(e){super(`${e} is not a valid maxRateTimespan`)}}t.InvalidMaxRateTimespanError=o},function(e,t,f){"use strict";Object.defineProperty(t,"__esModule",{value:!0});const r=f(268);class n extends r.default{constructor(e){super(e,["aurora-testnet","near-testnet"])}isValidAddress(e){return this.isValidAddressForSymbolAndNetwork(e,"NEAR-testnet","aurora-testnet")}}t.default=n},function(e,t,f){"use strict";Object.defineProperty(t,"__esModule",{value:!0});const r=f(4),n=f(106);class a extends n.FeeReferenceBasedPaymentNetwork{constructor(e=r.ExtensionTypes.PAYMENT_NETWORK_ID.ERC20_TRANSFERABLE_RECEIVABLE,t="0.1.0"){super(e,t,r.RequestLogicTypes.CURRENCY.ERC20)}}t.default=a},function(e,t,f){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.RequestLogic=void 0;var r=f(677);Object.defineProperty(t,"RequestLogic",{enumerable:!0,get:function(){return r.default}})},function(e,t,f){"use strict";Object.defineProperty(t,"__esModule",{value:!0});const r=f(678),n=f(28),a=f(43),i=f(4),o=f(689),s=f(7);t.default=class{constructor(e,t,f){this.transactionManager=e,this.signatureProvider=t,this.advancedLogic=f}createRequest(e,t,f=[]){return r.__awaiter(this,void 0,void 0,(function*(){const{action:r,requestId:a,hashedTopics:i}=yield this.createCreationActionRequestIdAndTopics(e,t,f);o.default.applyActionToRequest(null,r,Date.now(),this.advancedLogic);const s=yield this.transactionManager.persistTransaction(JSON.stringify(r),a,i),c=Object.assign(new n.EventEmitter,{meta:{transactionManagerMeta:s.meta},result:{requestId:a}});return s.on("confirmed",(e=>{c.emit("confirmed",{meta:{transactionManagerMeta:e.meta},result:{requestId:a}})})).on("error",(e=>{c.emit("error",e)})),c}))}createEncryptedRequest(e,t,f,a=[]){return r.__awaiter(this,void 0,void 0,(function*(){if(0===f.length)throw new Error("You must give at least one encryption parameter to create an encrypted request");const{action:r,requestId:i,hashedTopics:s}=yield this.createCreationActionRequestIdAndTopics(e,t,a);o.default.applyActionToRequest(null,r,Date.now(),this.advancedLogic);const c=yield this.transactionManager.persistTransaction(JSON.stringify(r),i,s,f),u=Object.assign(new n.EventEmitter,{meta:{transactionManagerMeta:c.meta},result:{requestId:i}});return c.on("confirmed",(e=>{u.emit("confirmed",{meta:{transactionManagerMeta:e.meta},result:{requestId:i}})})).on("error",(e=>{u.emit("error",e)})),u}))}computeRequestId(e,t){return r.__awaiter(this,void 0,void 0,(function*(){if(!this.signatureProvider)throw new Error("You must give a signature provider to create actions");const f=yield o.default.formatCreate(e,t,this.signatureProvider);return o.default.applyActionToRequest(null,f,Date.now(),this.advancedLogic),o.default.getRequestIdFromAction(f)}))}acceptRequest(e,t,f=!1){return r.__awaiter(this,void 0,void 0,(function*(){if(!this.signatureProvider)throw new Error("You must give a signature provider to create actions");const r=yield o.default.formatAccept(e,t,this.signatureProvider),a=o.default.getRequestIdFromAction(r);f&&(yield this.validateAction(a,r));const i=yield this.transactionManager.persistTransaction(JSON.stringify(r),a),s=Object.assign(new n.EventEmitter,{meta:{transactionManagerMeta:i.meta}});return i.on("confirmed",(e=>{s.emit("confirmed",{meta:{transactionManagerMeta:e.meta}})})).on("error",(e=>{s.emit("error",e)})),s}))}cancelRequest(e,t,f=!1){return r.__awaiter(this,void 0,void 0,(function*(){if(!this.signatureProvider)throw new Error("You must give a signature provider to create actions");const r=yield o.default.formatCancel(e,t,this.signatureProvider),a=o.default.getRequestIdFromAction(r);f&&(yield this.validateAction(a,r));const i=yield this.transactionManager.persistTransaction(JSON.stringify(r),a),s=Object.assign(new n.EventEmitter,{meta:{transactionManagerMeta:i.meta}});return i.on("confirmed",(e=>{s.emit("confirmed",{meta:{transactionManagerMeta:e.meta}})})).on("error",(e=>{s.emit("error",e)})),s}))}increaseExpectedAmountRequest(e,t,f=!1){return r.__awaiter(this,void 0,void 0,(function*(){if(!this.signatureProvider)throw new Error("You must give a signature provider to create actions");const r=yield o.default.formatIncreaseExpectedAmount(e,t,this.signatureProvider),a=o.default.getRequestIdFromAction(r);f&&(yield this.validateAction(a,r));const i=yield this.transactionManager.persistTransaction(JSON.stringify(r),a),s=Object.assign(new n.EventEmitter,{meta:{transactionManagerMeta:i.meta}});return i.on("confirmed",(e=>{s.emit("confirmed",{meta:{transactionManagerMeta:e.meta}})})).on("error",(e=>{s.emit("error",e)})),s}))}reduceExpectedAmountRequest(e,t,f=!1){return r.__awaiter(this,void 0,void 0,(function*(){if(!this.signatureProvider)throw new Error("You must give a signature provider to create actions");const r=yield o.default.formatReduceExpectedAmount(e,t,this.signatureProvider),a=o.default.getRequestIdFromAction(r);f&&(yield this.validateAction(a,r));const i=yield this.transactionManager.persistTransaction(JSON.stringify(r),a),s=Object.assign(new n.EventEmitter,{meta:{transactionManagerMeta:i.meta}});return i.on("confirmed",(e=>{s.emit("confirmed",{meta:{transactionManagerMeta:e.meta}})})).on("error",(e=>{s.emit("error",e)})),s}))}addExtensionsDataRequest(e,t,f=!1){return r.__awaiter(this,void 0,void 0,(function*(){if(!this.signatureProvider)throw new Error("You must give a signature provider to create actions");const r=yield o.default.formatAddExtensionsData(e,t,this.signatureProvider),a=o.default.getRequestIdFromAction(r);f&&(yield this.validateAction(a,r));const i=yield this.transactionManager.persistTransaction(JSON.stringify(r),a),s=Object.assign(new n.EventEmitter,{meta:{transactionManagerMeta:i.meta}});return i.on("confirmed",(e=>{s.emit("confirmed",{meta:{transactionManagerMeta:e.meta}})})).on("error",(e=>{s.emit("error",e)})),s}))}getRequestFromId(e){return r.__awaiter(this,void 0,void 0,(function*(){const{ignoredTransactions:t,confirmedRequestState:f,pendingRequestState:r,transactionManagerMeta:n}=yield this.computeRequestFromRequestId(e);return{meta:{ignoredTransactions:t,transactionManagerMeta:n},result:{request:f,pending:this.computeDiffBetweenPendingAndConfirmedRequestState(f,r)}}}))}getRequestsByTopic(e,t){return r.__awaiter(this,void 0,void 0,(function*(){const f=a.default.serialize((0,s.normalizeKeccak256Hash)(e)),r=yield this.transactionManager.getChannelsByTopic(f,t);return this.computeMultipleRequestFromChannels(r)}))}getRequestsByMultipleTopics(e,t){return r.__awaiter(this,void 0,void 0,(function*(){const f=e.map((e=>a.default.serialize((0,s.normalizeKeccak256Hash)(e)))),r=yield this.transactionManager.getChannelsByMultipleTopics(f,t);return this.computeMultipleRequestFromChannels(r)}))}createCreationActionRequestIdAndTopics(e,t,f){return r.__awaiter(this,void 0,void 0,(function*(){if(!this.signatureProvider)throw new Error("You must give a signature provider to create actions");const r=yield o.default.formatCreate(e,t,this.signatureProvider),n=o.default.getRequestIdFromAction(r);return{action:r,hashedTopics:f.map((e=>a.default.serialize((0,s.normalizeKeccak256Hash)(e)))),requestId:n}}))}computeRequestFromRequestId(e){return r.__awaiter(this,void 0,void 0,(function*(){const t=yield this.transactionManager.getTransactionsByChannelId(e),f=t.result.transactions.filter(s.notNull).sort(((e,t)=>e.timestamp-t.timestamp));let{ignoredTransactions:r,keptTransactions:n}=this.removeOldPendingTransactions(f);const a=(0,s.uniqueByProperty)(n.filter(s.notNull).map((e=>{try{return{action:JSON.parse(e.transaction.data||""),state:e.state,timestamp:e.timestamp}}catch(t){return void r.push({reason:"JSON parsing error",transaction:e})}})).filter(s.notNull),"action");r=r.concat(a.duplicates.map((e=>({reason:"Duplicated transaction",transaction:e}))));const{confirmedRequestState:i,pendingRequestState:o,ignoredTransactionsByApplication:c}=yield this.computeRequestFromTransactions(a.uniqueItems);return r=r.concat(c),{confirmedRequestState:i,ignoredTransactions:r,pendingRequestState:o,transactionManagerMeta:t.meta}}))}computeRequestFromTransactions(e){return r.__awaiter(this,void 0,void 0,(function*(){const t=[],f=e.filter((e=>e.state===i.TransactionTypes.TransactionState.CONFIRMED)).reduce(((e,f)=>{try{return o.default.applyActionToRequest(e,f.action,f.timestamp,this.advancedLogic)}catch(r){return t.push({reason:r.message,transaction:f}),e}}),null),r=e.filter((e=>e.state===i.TransactionTypes.TransactionState.PENDING)).reduce(((e,f)=>{try{return o.default.applyActionToRequest(e,f.action,f.timestamp,this.advancedLogic)}catch(r){return t.push({reason:r.message,transaction:f}),e}}),f);return{confirmedRequestState:f,ignoredTransactionsByApplication:t,pendingRequestState:r}}))}computeMultipleRequestFromChannels(e){return r.__awaiter(this,void 0,void 0,(function*(){const t=e.result.transactions,f=e.meta.dataAccessMeta,n=Object.keys(e.result.transactions).map((e=>r.__awaiter(this,void 0,void 0,(function*(){let{ignoredTransactions:r,keptTransactions:n}=this.removeOldPendingTransactions(t[e]);const a=(0,s.uniqueByProperty)(n.filter(s.notNull).map((e=>{try{return{action:JSON.parse(e.transaction.data||""),state:e.state,timestamp:e.timestamp}}catch(t){return void r.push({reason:"JSON parsing error",transaction:e})}})).filter(s.notNull),"action");r=r.concat(a.duplicates.map((e=>({reason:"Duplicated transaction",transaction:e}))));const{confirmedRequestState:i,pendingRequestState:o,ignoredTransactionsByApplication:c}=yield this.computeRequestFromTransactions(a.uniqueItems);r=r.concat(c);const u=this.computeDiffBetweenPendingAndConfirmedRequestState(i,o);return{ignoredTransactions:r,pending:u,request:i,transactionManagerMeta:f[e]}}))));return(yield Promise.all(n)).reduce(((e,t)=>((t.request||t.pending)&&(e.result.requests.push({pending:t.pending,request:t.request}),(e.meta.ignoredTransactions||[]).push(t.ignoredTransactions),(e.meta.transactionManagerMeta||[]).push(t.transactionManagerMeta)),e)),{meta:{ignoredTransactions:[],transactionManagerMeta:[]},result:{requests:[]}})}))}validateAction(e,t){return r.__awaiter(this,void 0,void 0,(function*(){const{confirmedRequestState:f,pendingRequestState:r}=yield this.computeRequestFromRequestId(e);try{o.default.applyActionToRequest(f,t,Date.now(),this.advancedLogic)}catch(e){r&&o.default.applyActionToRequest(r,t,Date.now(),this.advancedLogic)}}))}computeDiffBetweenPendingAndConfirmedRequestState(e,t){let f=null;if(e){if(t)for(const r in t)r in t&&(0,s.normalizeKeccak256Hash)(t[r]).value!==(0,s.normalizeKeccak256Hash)(e[r]).value&&(f||(f={}),f[r]="events"===r?t[r].slice(e[r].length):t[r])}else f=t;return f}removeOldPendingTransactions(e){const t=[];let f=!1;const r=e.reverse().filter((e=>!!e&&(f=f||e.state===i.TransactionTypes.TransactionState.CONFIRMED,e.state===i.TransactionTypes.TransactionState.CONFIRMED||e.state===i.TransactionTypes.TransactionState.PENDING&&!f||(t.push({reason:"Confirmed transaction newer than this pending transaction",transaction:e}),!1)))).reverse();return{ignoredTransactions:t,keptTransactions:r}}}},function(e,t,f){"use strict";f.r(t),f.d(t,"__extends",(function(){return n})),f.d(t,"__assign",(function(){return a})),f.d(t,"__rest",(function(){return i})),f.d(t,"__decorate",(function(){return o})),f.d(t,"__param",(function(){return s})),f.d(t,"__esDecorate",(function(){return c})),f.d(t,"__runInitializers",(function(){return u})),f.d(t,"__propKey",(function(){return d})),f.d(t,"__setFunctionName",(function(){return l})),f.d(t,"__metadata",(function(){return p})),f.d(t,"__awaiter",(function(){return b})),f.d(t,"__generator",(function(){return h})),f.d(t,"__createBinding",(function(){return m})),f.d(t,"__exportStar",(function(){return y})),f.d(t,"__values",(function(){return g})),f.d(t,"__read",(function(){return v})),f.d(t,"__spread",(function(){return _})),f.d(t,"__spreadArrays",(function(){return w})),f.d(t,"__spreadArray",(function(){return E})),f.d(t,"__await",(function(){return A})),f.d(t,"__asyncGenerator",(function(){return T})),f.d(t,"__asyncDelegator",(function(){return x})),f.d(t,"__asyncValues",(function(){return S})),f.d(t,"__makeTemplateObject",(function(){return k})),f.d(t,"__importStar",(function(){return O})),f.d(t,"__importDefault",(function(){return P})),f.d(t,"__classPrivateFieldGet",(function(){return R})),f.d(t,"__classPrivateFieldSet",(function(){return M})),f.d(t,"__classPrivateFieldIn",(function(){return N}));var r=function(e,t){return r=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var f in t)Object.prototype.hasOwnProperty.call(t,f)&&(e[f]=t[f])},r(e,t)};function n(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Class extends value "+String(t)+" is not a constructor or null");function f(){this.constructor=e}r(e,t),e.prototype=null===t?Object.create(t):(f.prototype=t.prototype,new f)}var a=function(){return a=Object.assign||function(e){for(var t,f=1,r=arguments.length;f<r;f++)for(var n in t=arguments[f])Object.prototype.hasOwnProperty.call(t,n)&&(e[n]=t[n]);return e},a.apply(this,arguments)};function i(e,t){var f={};for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&t.indexOf(r)<0&&(f[r]=e[r]);if(null!=e&&"function"==typeof Object.getOwnPropertySymbols){var n=0;for(r=Object.getOwnPropertySymbols(e);n<r.length;n++)t.indexOf(r[n])<0&&Object.prototype.propertyIsEnumerable.call(e,r[n])&&(f[r[n]]=e[r[n]])}return f}function o(e,t,f,r){var n,a=arguments.length,i=a<3?t:null===r?r=Object.getOwnPropertyDescriptor(t,f):r;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)i=Reflect.decorate(e,t,f,r);else for(var o=e.length-1;o>=0;o--)(n=e[o])&&(i=(a<3?n(i):a>3?n(t,f,i):n(t,f))||i);return a>3&&i&&Object.defineProperty(t,f,i),i}function s(e,t){return function(f,r){t(f,r,e)}}function c(e,t,f,r,n,a){function i(e){if(void 0!==e&&"function"!=typeof e)throw new TypeError("Function expected");return e}for(var o,s=r.kind,c="getter"===s?"get":"setter"===s?"set":"value",u=!t&&e?r.static?e:e.prototype:null,d=t||(u?Object.getOwnPropertyDescriptor(u,r.name):{}),l=!1,p=f.length-1;p>=0;p--){var b={};for(var h in r)b[h]="access"===h?{}:r[h];for(var h in r.access)b.access[h]=r.access[h];b.addInitializer=function(e){if(l)throw new TypeError("Cannot add initializers after decoration has completed");a.push(i(e||null))};var m=(0,f[p])("accessor"===s?{get:d.get,set:d.set}:d[c],b);if("accessor"===s){if(void 0===m)continue;if(null===m||"object"!=typeof m)throw new TypeError("Object expected");(o=i(m.get))&&(d.get=o),(o=i(m.set))&&(d.set=o),(o=i(m.init))&&n.push(o)}else(o=i(m))&&("field"===s?n.push(o):d[c]=o)}u&&Object.defineProperty(u,r.name,d),l=!0}function u(e,t,f){for(var r=arguments.length>2,n=0;n<t.length;n++)f=r?t[n].call(e,f):t[n].call(e);return r?f:void 0}function d(e){return"symbol"==typeof e?e:"".concat(e)}function l(e,t,f){return"symbol"==typeof t&&(t=t.description?"[".concat(t.description,"]"):""),Object.defineProperty(e,"name",{configurable:!0,value:f?"".concat(f," ",t):t})}function p(e,t){if("object"==typeof Reflect&&"function"==typeof Reflect.metadata)return Reflect.metadata(e,t)}function b(e,t,f,r){return new(f||(f=Promise))((function(n,a){function i(e){try{s(r.next(e))}catch(e){a(e)}}function o(e){try{s(r.throw(e))}catch(e){a(e)}}function s(e){var t;e.done?n(e.value):(t=e.value,t instanceof f?t:new f((function(e){e(t)}))).then(i,o)}s((r=r.apply(e,t||[])).next())}))}function h(e,t){var f,r,n,a,i={label:0,sent:function(){if(1&n[0])throw n[1];return n[1]},trys:[],ops:[]};return a={next:o(0),throw:o(1),return:o(2)},"function"==typeof Symbol&&(a[Symbol.iterator]=function(){return this}),a;function o(o){return function(s){return function(o){if(f)throw new TypeError("Generator is already executing.");for(;a&&(a=0,o[0]&&(i=0)),i;)try{if(f=1,r&&(n=2&o[0]?r.return:o[0]?r.throw||((n=r.return)&&n.call(r),0):r.next)&&!(n=n.call(r,o[1])).done)return n;switch(r=0,n&&(o=[2&o[0],n.value]),o[0]){case 0:case 1:n=o;break;case 4:return i.label++,{value:o[1],done:!1};case 5:i.label++,r=o[1],o=[0];continue;case 7:o=i.ops.pop(),i.trys.pop();continue;default:if(!(n=i.trys,(n=n.length>0&&n[n.length-1])||6!==o[0]&&2!==o[0])){i=0;continue}if(3===o[0]&&(!n||o[1]>n[0]&&o[1]<n[3])){i.label=o[1];break}if(6===o[0]&&i.label<n[1]){i.label=n[1],n=o;break}if(n&&i.label<n[2]){i.label=n[2],i.ops.push(o);break}n[2]&&i.ops.pop(),i.trys.pop();continue}o=t.call(e,i)}catch(e){o=[6,e],r=0}finally{f=n=0}if(5&o[0])throw o[1];return{value:o[0]?o[1]:void 0,done:!0}}([o,s])}}}var m=Object.create?function(e,t,f,r){void 0===r&&(r=f);var n=Object.getOwnPropertyDescriptor(t,f);n&&!("get"in n?!t.__esModule:n.writable||n.configurable)||(n={enumerable:!0,get:function(){return t[f]}}),Object.defineProperty(e,r,n)}:function(e,t,f,r){void 0===r&&(r=f),e[r]=t[f]};function y(e,t){for(var f in e)"default"===f||Object.prototype.hasOwnProperty.call(t,f)||m(t,e,f)}function g(e){var t="function"==typeof Symbol&&Symbol.iterator,f=t&&e[t],r=0;if(f)return f.call(e);if(e&&"number"==typeof e.length)return{next:function(){return e&&r>=e.length&&(e=void 0),{value:e&&e[r++],done:!e}}};throw new TypeError(t?"Object is not iterable.":"Symbol.iterator is not defined.")}function v(e,t){var f="function"==typeof Symbol&&e[Symbol.iterator];if(!f)return e;var r,n,a=f.call(e),i=[];try{for(;(void 0===t||t-- >0)&&!(r=a.next()).done;)i.push(r.value)}catch(e){n={error:e}}finally{try{r&&!r.done&&(f=a.return)&&f.call(a)}finally{if(n)throw n.error}}return i}function _(){for(var e=[],t=0;t<arguments.length;t++)e=e.concat(v(arguments[t]));return e}function w(){for(var e=0,t=0,f=arguments.length;t<f;t++)e+=arguments[t].length;var r=Array(e),n=0;for(t=0;t<f;t++)for(var a=arguments[t],i=0,o=a.length;i<o;i++,n++)r[n]=a[i];return r}function E(e,t,f){if(f||2===arguments.length)for(var r,n=0,a=t.length;n<a;n++)!r&&n in t||(r||(r=Array.prototype.slice.call(t,0,n)),r[n]=t[n]);return e.concat(r||Array.prototype.slice.call(t))}function A(e){return this instanceof A?(this.v=e,this):new A(e)}function T(e,t,f){if(!Symbol.asyncIterator)throw new TypeError("Symbol.asyncIterator is not defined.");var r,n=f.apply(e,t||[]),a=[];return r={},i("next"),i("throw"),i("return"),r[Symbol.asyncIterator]=function(){return this},r;function i(e){n[e]&&(r[e]=function(t){return new Promise((function(f,r){a.push([e,t,f,r])>1||o(e,t)}))})}function o(e,t){try{(f=n[e](t)).value instanceof A?Promise.resolve(f.value.v).then(s,c):u(a[0][2],f)}catch(e){u(a[0][3],e)}var f}function s(e){o("next",e)}function c(e){o("throw",e)}function u(e,t){e(t),a.shift(),a.length&&o(a[0][0],a[0][1])}}function x(e){var t,f;return t={},r("next"),r("throw",(function(e){throw e})),r("return"),t[Symbol.iterator]=function(){return this},t;function r(r,n){t[r]=e[r]?function(t){return(f=!f)?{value:A(e[r](t)),done:!1}:n?n(t):t}:n}}function S(e){if(!Symbol.asyncIterator)throw new TypeError("Symbol.asyncIterator is not defined.");var t,f=e[Symbol.asyncIterator];return f?f.call(e):(e=g(e),t={},r("next"),r("throw"),r("return"),t[Symbol.asyncIterator]=function(){return this},t);function r(f){t[f]=e[f]&&function(t){return new Promise((function(r,n){(function(e,t,f,r){Promise.resolve(r).then((function(t){e({value:t,done:f})}),t)})(r,n,(t=e[f](t)).done,t.value)}))}}}function k(e,t){return Object.defineProperty?Object.defineProperty(e,"raw",{value:t}):e.raw=t,e}var C=Object.create?function(e,t){Object.defineProperty(e,"default",{enumerable:!0,value:t})}:function(e,t){e.default=t};function O(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var f in e)"default"!==f&&Object.prototype.hasOwnProperty.call(e,f)&&m(t,e,f);return C(t,e),t}function P(e){return e&&e.__esModule?e:{default:e}}function R(e,t,f,r){if("a"===f&&!r)throw new TypeError("Private accessor was defined without a getter");if("function"==typeof t?e!==t||!r:!t.has(e))throw new TypeError("Cannot read private member from an object whose class did not declare it");return"m"===f?r:"a"===f?r.call(e):r?r.value:t.get(e)}function M(e,t,f,r,n){if("m"===r)throw new TypeError("Private method is not writable");if("a"===r&&!n)throw new TypeError("Private accessor was defined without a setter");if("function"==typeof t?e!==t||!n:!t.has(e))throw new TypeError("Cannot write private member to an object whose class did not declare it");return"a"===r?n.call(e,f):n?n.value=f:t.set(e,f),f}function N(e,t){if(null===t||"object"!=typeof t&&"function"!=typeof t)throw new TypeError("Cannot use 'in' operator on non-object");return"function"==typeof e?t===e:e.has(t)}},function(e,t,f){"use strict";Object.defineProperty(t,"__esModule",{value:!0});const r=f(107),n=f(680),a=f(681),i=f(682),o=new r.default([new n.default,new i.default,new a.default]);t.default=o},function(e,t,f){"use strict";Object.defineProperty(t,"__esModule",{value:!0});const r=f(4),n=f(90);class a extends n.default{constructor(){super(r.MultiFormatTypes.prefix.AES256_CBC_ENCRYPTED,r.EncryptionTypes.METHOD.AES256_CBC)}}t.default=a},function(e,t,f){"use strict";Object.defineProperty(t,"__esModule",{value:!0});const r=f(4),n=f(90);class a extends n.default{constructor(){super(r.MultiFormatTypes.prefix.AES256_GCM_ENCRYPTED,r.EncryptionTypes.METHOD.AES256_GCM)}}t.default=a},function(e,t,f){"use strict";Object.defineProperty(t,"__esModule",{value:!0});const r=f(4),n=f(90);class a extends n.default{constructor(){super(r.MultiFormatTypes.prefix.ECIES_ENCRYPTED,r.EncryptionTypes.METHOD.ECIES)}}t.default=a},function(e,t,f){"use strict";Object.defineProperty(t,"__esModule",{value:!0});const r=f(107),n=f(684),a=new r.default([new n.default]);t.default=a},function(e,t,f){"use strict";Object.defineProperty(t,"__esModule",{value:!0});const r=f(4),n=f(269);class a extends n.default{constructor(){super(r.MultiFormatTypes.prefix.NORMALIZE_KECCAK256_HASH,r.MultiFormatTypes.HashTypes.TYPE.KECCAK256)}isSerializableObject(e){return super.isSerializableObject(e)&&e.value.length===r.MultiFormatTypes.FORMAT_NORMALIZE_KECCAK256_HASH_LENGTH}isDeserializableString(e){return super.isDeserializableString(e)&&e.length===r.MultiFormatTypes.FORMAT_NORMALIZE_KECCAK256_HASH_LENGTH}}t.default=a},function(e,t,f){"use strict";Object.defineProperty(t,"__esModule",{value:!0});const r=f(107),n=f(686),a=new r.default([new n.default]);t.default=a},function(e,t,f){"use strict";Object.defineProperty(t,"__esModule",{value:!0});const r=f(4),n=f(269);class a extends n.default{constructor(){super(r.MultiFormatTypes.prefix.IDENTITY_ETHEREUM_ADDRESS,r.IdentityTypes.TYPE.ETHEREUM_ADDRESS)}isSerializableObject(e){return super.isSerializableObject(e)&&e.value.length===r.MultiFormatTypes.FORMAT_IDENTITY_ETHEREUM_ADDRESS_LENGTH}isDeserializableString(e){return super.isDeserializableString(e)&&e.length===r.MultiFormatTypes.FORMAT_IDENTITY_ETHEREUM_ADDRESS_LENGTH}}t.default=a},function(e,t,f){"use strict";Object.defineProperty(t,"__esModule",{value:!0});const r=f(107),n=f(688),a=new r.default([new n.default]);t.default=a},function(e,t,f){"use strict";Object.defineProperty(t,"__esModule",{value:!0});const r=f(4),n=f(90);class a extends n.default{constructor(){super(r.MultiFormatTypes.prefix.PLAIN_TEXT,r.MultiFormatTypes.PlainTypes.TYPE.PLAIN_TEXT)}}t.default=a},function(e,t,f){"use strict";Object.defineProperty(t,"__esModule",{value:!0});const r=f(4),n=f(57),a=f(70),i=f(691),o=f(692),s=f(693),c=f(694),u=f(695),d=f(696),l=f(7);t.default={applyActionToRequest:function(e,t,f,p){if(!n.default.isActionVersionSupported(t))throw new Error("action version not supported");const b=e?(0,l.deepCopy)(e):null;let h=null;if(t.data.name===r.RequestLogicTypes.ACTION_NAME.CREATE){if(b)throw new Error("no request is expected at the creation");h=c.default.createRequest(t,f)}else{if(!b)throw new Error("request is expected");a.default.checkRequest(b),t.data.name===r.RequestLogicTypes.ACTION_NAME.ACCEPT&&(h=i.default.applyActionToRequest(t,f,b)),t.data.name===r.RequestLogicTypes.ACTION_NAME.CANCEL&&(h=s.default.applyActionToRequest(t,f,b)),t.data.name===r.RequestLogicTypes.ACTION_NAME.INCREASE_EXPECTED_AMOUNT&&(h=u.default.applyActionToRequest(t,f,b)),t.data.name===r.RequestLogicTypes.ACTION_NAME.REDUCE_EXPECTED_AMOUNT&&(h=d.default.applyActionToRequest(t,f,b)),t.data.name===r.RequestLogicTypes.ACTION_NAME.ADD_EXTENSIONS_DATA&&(h=o.default.applyActionToRequest(t,f,b))}if(!h)throw new Error(`Unknown action ${t.data.name}`);t.data.parameters.extensionsData&&p&&(h.extensions=t.data.parameters.extensionsData.reduce(((e,r)=>p.applyActionToExtensions(e,r,h,n.default.getSignerIdentityFromAction(t),f)),h.extensions));return h},formatAccept:i.default.format,formatAddExtensionsData:o.default.format,formatCancel:s.default.format,formatCreate:c.default.format,formatIncreaseExpectedAmount:u.default.format,formatReduceExpectedAmount:d.default.format,getRequestIdFromAction:function(e){return n.default.getRequestId(e)}}},function(e,t,f){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default={specificationVersion:{current:"2.0.3",exceptions:[]}}},function(e,t,f){"use strict";Object.defineProperty(t,"__esModule",{value:!0});const r=f(4),n=f(57),a=f(70),i=f(58),o=f(7);function s(e,t,f){const n=e.data.parameters;return{actionSigner:f,name:r.RequestLogicTypes.ACTION_NAME.ACCEPT,parameters:{extensionsDataLength:n.extensionsData?n.extensionsData.length:0},timestamp:t}}t.default={applyActionToRequest:function(e,t,f){if(!e.data.parameters.requestId)throw new Error("requestId must be given");if(!f.payer)throw new Error("the request must have a payer");if(f.state!==r.RequestLogicTypes.STATE.CREATED)throw new Error("the request state must be created");const i=n.default.getSignerIdentityFromAction(e);if(a.default.getRoleInRequest(i,f)!==r.RequestLogicTypes.ROLE.PAYER)throw new Error("Signer must be the payer");f.state=r.RequestLogicTypes.STATE.ACCEPTED;let c=(0,o.deepCopy)(f);return c=a.default.pushExtensionsData(c,e.data.parameters.extensionsData),c.events.push(s(e,t,i)),c},format:function(e,t,f){const a={name:r.RequestLogicTypes.ACTION_NAME.ACCEPT,parameters:e,version:i.default.currentVersion};return n.default.createAction(a,t,f)}}},function(e,t,f){"use strict";Object.defineProperty(t,"__esModule",{value:!0});const r=f(4),n=f(57),a=f(70),i=f(58),o=f(7);function s(e,t,f){const n=e.data.parameters;return{actionSigner:f,name:r.RequestLogicTypes.ACTION_NAME.ADD_EXTENSIONS_DATA,parameters:{extensionsDataLength:n.extensionsData?n.extensionsData.length:0},timestamp:t}}t.default={applyActionToRequest:function(e,t,f){if(!e.data.parameters.requestId)throw new Error("requestId must be given");if(!e.data.parameters.extensionsData||0===e.data.parameters.extensionsData.length)throw new Error("extensionsData must be given");const r=n.default.getSignerIdentityFromAction(e);let i=(0,o.deepCopy)(f);return i=a.default.pushExtensionsData(i,e.data.parameters.extensionsData),i.events.push(s(e,t,r)),i},format:function(e,t,f){if(!e.extensionsData||0===e.extensionsData.length)throw new Error("extensionsData must be given");const a={name:r.RequestLogicTypes.ACTION_NAME.ADD_EXTENSIONS_DATA,parameters:e,version:i.default.currentVersion};return n.default.createAction(a,t,f)}}},function(e,t,f){"use strict";Object.defineProperty(t,"__esModule",{value:!0});const r=f(4),n=f(57),a=f(70),i=f(58),o=f(7);function s(e,t,f){const n=e.data.parameters;return{actionSigner:f,name:r.RequestLogicTypes.ACTION_NAME.CANCEL,parameters:{extensionsDataLength:n.extensionsData?n.extensionsData.length:0},timestamp:t}}t.default={applyActionToRequest:function(e,t,f){if(!e.data.parameters.requestId)throw new Error("requestId must be given");const i=n.default.getSignerIdentityFromAction(e),c=a.default.getRoleInRequest(i,f);let u=(0,o.deepCopy)(f);if(u=a.default.pushExtensionsData(u,e.data.parameters.extensionsData),u.events.push(s(e,t,i)),c===r.RequestLogicTypes.ROLE.PAYER){if(f.state!==r.RequestLogicTypes.STATE.CREATED)throw new Error("A payer cancel need to be done on a request with the state created");return u.state=r.RequestLogicTypes.STATE.CANCELED,u}if(c===r.RequestLogicTypes.ROLE.PAYEE){if(f.state===r.RequestLogicTypes.STATE.CANCELED)throw new Error("Cannot cancel an already canceled request");return u.state=r.RequestLogicTypes.STATE.CANCELED,u}throw new Error("Signer must be the payer or the payee")},format:function(e,t,f){const a={name:r.RequestLogicTypes.ACTION_NAME.CANCEL,parameters:e,version:i.default.currentVersion};return n.default.createAction(a,t,f)}}},function(e,t,f){"use strict";Object.defineProperty(t,"__esModule",{value:!0});const r=f(4),n=f(153),a=f(57),i=f(58),o=f(7);function s(e,t,f){const n=e.data.parameters;return{actionSigner:f,name:r.RequestLogicTypes.ACTION_NAME.CREATE,parameters:{expectedAmount:n.expectedAmount,extensionsDataLength:n.extensionsData?n.extensionsData.length:0,isSignedRequest:!1},timestamp:t}}t.default={createRequest:function(e,t){if(!e.data.parameters.payee&&!e.data.parameters.payer)throw new Error("action.parameters.payee or action.parameters.payer must be given");if(e.data.parameters.payee&&(0,o.identityHasError)(e.data.parameters.payee))throw new Error(`payee: ${(0,o.identityHasError)(e.data.parameters.payee)}̀`);if(e.data.parameters.payer&&(0,o.identityHasError)(e.data.parameters.payer))throw new Error(`payer: ${(0,o.identityHasError)(e.data.parameters.payer)}̀`);if(!(0,o.isString)(e.data.parameters.expectedAmount)||!(0,o.isValidAmount)(e.data.parameters.expectedAmount))throw new Error("action.parameters.expectedAmount must be a string representing a positive integer");const f=a.default.getSignerIdentityFromAction(e),i=(0,o.deepCopy)(e.data.parameters);i.extensions={},i.requestId=a.default.getRequestId(e),i.version=a.default.getVersionFromAction(e),i.events=[s(e,t,f)],n.lt(e.data.version,"2.0.2")&&(i.currency=function(e){switch(e){case"BTC":return{network:"mainnet",type:r.RequestLogicTypes.CURRENCY.BTC,value:"BTC"};case"ETH":return{network:"mainnet",type:r.RequestLogicTypes.CURRENCY.ETH,value:"ETH"};case"EUR":return{type:r.RequestLogicTypes.CURRENCY.ISO4217,value:"EUR"};case"USD":return{type:r.RequestLogicTypes.CURRENCY.ISO4217,value:"USD"};case"DAI":return{type:r.RequestLogicTypes.CURRENCY.ERC20,value:"0x89d24A6b4CcB1B6fAA2625fE562bDD9a23260359"};default:throw new Error("Unsupported currency when getting request from transactions.")}}(e.data.parameters.currency));const c=a.default.getRoleInAction(f,e);if(c===r.RequestLogicTypes.ROLE.PAYEE)return i.state=r.RequestLogicTypes.STATE.CREATED,i.creator=e.data.parameters.payee,i;if(c===r.RequestLogicTypes.ROLE.PAYER)return i.state=r.RequestLogicTypes.STATE.ACCEPTED,i.creator=e.data.parameters.payer,i;throw new Error("Signer must be the payee or the payer")},format:function(e,t,f){if(!e.payee&&!e.payer)throw new Error("payee or PayerId must be given");if(!(0,o.isValidAmount)(e.expectedAmount))throw new Error("expectedAmount must be a positive integer");if(e.payee&&(0,o.identityHasError)(e.payee))throw new Error(`payee: ${(0,o.identityHasError)(e.payee)}̀`);if(e.payer&&(0,o.identityHasError)(e.payer))throw new Error(`payer: ${(0,o.identityHasError)(e.payer)}̀`);e.timestamp||(e.timestamp=(0,o.getCurrentTimestampInSecond)());e.expectedAmount=e.expectedAmount.toString();const n=i.default.currentVersion,s={name:r.RequestLogicTypes.ACTION_NAME.CREATE,parameters:e,version:n},c=a.default.getRoleInUnsignedAction(t,s);if(c!==r.RequestLogicTypes.ROLE.PAYEE&&c!==r.RequestLogicTypes.ROLE.PAYER)throw new Error("Signer must be the payee or the payer");return a.default.createAction(s,t,f)}}},function(e,t,f){"use strict";Object.defineProperty(t,"__esModule",{value:!0});const r=f(4),n=f(57),a=f(70),i=f(58),o=f(7);function s(e,t,f){const n=e.data.parameters;return{actionSigner:f,name:r.RequestLogicTypes.ACTION_NAME.INCREASE_EXPECTED_AMOUNT,parameters:{deltaAmount:e.data.parameters.deltaAmount,extensionsDataLength:n.extensionsData?n.extensionsData.length:0},timestamp:t}}t.default={applyActionToRequest:function(e,t,f){if(!e.data.parameters.requestId)throw new Error("requestId must be given");if(!f.payer)throw new Error("the request must have a payer");if(!e.data.parameters.deltaAmount)throw new Error("deltaAmount must be given");if(!(0,o.isValidAmount)(e.data.parameters.deltaAmount))throw new Error("deltaAmount must be a string representing a positive integer");const i=n.default.getSignerIdentityFromAction(e),c=a.default.getRoleInRequest(i,f);let u=(0,o.deepCopy)(f);if(u=a.default.pushExtensionsData(u,e.data.parameters.extensionsData),u.events.push(s(e,t,i)),c===r.RequestLogicTypes.ROLE.PAYER){if(f.state===r.RequestLogicTypes.STATE.CANCELED)throw new Error("the request must not be canceled");return u.expectedAmount=(0,o.addAmount)(f.expectedAmount,e.data.parameters.deltaAmount),u}throw new Error("signer must be the payer")},format:function(e,t,f){if(!(0,o.isValidAmount)(e.deltaAmount))throw new Error("deltaAmount must be a string representing a positive integer");const a={name:r.RequestLogicTypes.ACTION_NAME.INCREASE_EXPECTED_AMOUNT,parameters:e,version:i.default.currentVersion};return n.default.createAction(a,t,f)}}},function(e,t,f){"use strict";Object.defineProperty(t,"__esModule",{value:!0});const r=f(4),n=f(57),a=f(70),i=f(58),o=f(7);function s(e,t,f){const n=e.data.parameters;return{actionSigner:f,name:r.RequestLogicTypes.ACTION_NAME.REDUCE_EXPECTED_AMOUNT,parameters:{deltaAmount:e.data.parameters.deltaAmount,extensionsDataLength:n.extensionsData?n.extensionsData.length:0},timestamp:t}}t.default={applyActionToRequest:function(e,t,f){if(!e.data.parameters.requestId)throw new Error("requestId must be given");if(!f.payee)throw new Error("the request must have a payee");if(!e.data.parameters.deltaAmount)throw new Error("deltaAmount must be given");if(!(0,o.isValidAmount)(e.data.parameters.deltaAmount))throw new Error("deltaAmount must be a string representing a positive integer");const i=n.default.getSignerIdentityFromAction(e),c=a.default.getRoleInRequest(i,f);let u=(0,o.deepCopy)(f);if(u=a.default.pushExtensionsData(u,e.data.parameters.extensionsData),u.events.push(s(e,t,i)),c===r.RequestLogicTypes.ROLE.PAYEE){if(f.state===r.RequestLogicTypes.STATE.CANCELED)throw new Error("the request must not be canceled");return u.expectedAmount=(0,o.reduceAmount)(f.expectedAmount,e.data.parameters.deltaAmount),u}throw new Error("signer must be the payee")},format:function(e,t,f){if(!(0,o.isValidAmount)(e.deltaAmount))throw new Error("deltaAmount must be a string representing a positive integer");const a={name:r.RequestLogicTypes.ACTION_NAME.REDUCE_EXPECTED_AMOUNT,parameters:e,version:i.default.currentVersion};return n.default.createAction(a,t,f)}}},function(e,t,f){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.TransactionManager=void 0;var r=f(698);Object.defineProperty(t,"TransactionManager",{enumerable:!0,get:function(){return r.default}})},function(e,t,f){"use strict";Object.defineProperty(t,"__esModule",{value:!0});const r=f(71),n=f(43),a=f(4),i=f(7),o=f(28),s=f(699),c=f(703);t.default=class{constructor(e,t){this.dataAccess=e,this.channelParser=new s.default(t)}persistTransaction(e,t,f=[],s=[]){return r.__awaiter(this,void 0,void 0,(function*(){let r,u={};const d=n.default.serialize((0,i.normalizeKeccak256Hash)(JSON.parse(e)));if(t===d)0===s.length?u=yield c.default.createClearTransaction(e):(u=yield c.default.createEncryptedTransactionInNewChannel(e,s),r=u.encryptionMethod);else{const f=yield this.dataAccess.getTransactionsByChannelId(t),{channelKey:n,channelType:i,encryptionMethod:o}=yield this.channelParser.getChannelTypeAndChannelKey(t,f.result.transactions);if(i===a.TransactionTypes.ChannelType.UNKNOWN)throw new Error(`Impossible to retrieve the channel: ${t}`);if(i===a.TransactionTypes.ChannelType.CLEAR&&(u=yield c.default.createClearTransaction(e)),i===a.TransactionTypes.ChannelType.ENCRYPTED){if(0!==s.length)throw new Error("Impossible to add new stakeholder to an existing channel");if(!n)throw new Error(`Impossible to decrypt the channel key of: ${t}`);u=yield c.default.createEncryptedTransaction(e,n),r=o}}const l=yield this.dataAccess.persistTransaction(u,t,f.concat([d])),p=Object.assign(new o.EventEmitter,{meta:{dataAccessMeta:l.meta,encryptionMethod:r},result:{}});return l.on("confirmed",(e=>{const t={meta:{dataAccessMeta:e.meta,encryptionMethod:r},result:{}};p.emit("confirmed",t)})).on("error",(e=>{p.emit("error",e)})),p}))}getTransactionsByChannelId(e,t){return r.__awaiter(this,void 0,void 0,(function*(){const f=yield this.dataAccess.getTransactionsByChannelId(e,t),{transactions:r,ignoredTransactions:n,encryptionMethod:a}=yield this.channelParser.decryptAndCleanChannel(e,f.result.transactions),i={dataAccessMeta:f.meta,encryptionMethod:a,ignoredTransactions:n};return a||delete i.encryptionMethod,{meta:i,result:{transactions:r}}}))}getChannelsByTopic(e,t){return r.__awaiter(this,void 0,void 0,(function*(){const f=yield this.dataAccess.getChannelsByTopic(e,t);return this.parseMultipleChannels(f)}))}getChannelsByMultipleTopics(e,t){return r.__awaiter(this,void 0,void 0,(function*(){const f=yield this.dataAccess.getChannelsByMultipleTopics(e,t);return this.parseMultipleChannels(f)}))}parseMultipleChannels(e){return r.__awaiter(this,void 0,void 0,(function*(){const t=yield Object.keys(e.result.transactions).reduce(((t,f)=>r.__awaiter(this,void 0,void 0,(function*(){const r=yield this.channelParser.decryptAndCleanChannel(f,e.result.transactions[f]),n=yield t;return n.transactions[f]=r.transactions,n.ignoredTransactions[f]=r.ignoredTransactions,n}))),Promise.resolve({transactions:{},ignoredTransactions:{}}));return{meta:{dataAccessMeta:e.meta,ignoredTransactions:t.ignoredTransactions},result:{transactions:t.transactions}}}))}}},function(e,t,f){"use strict";Object.defineProperty(t,"__esModule",{value:!0});const r=f(71),n=f(4),a=f(700);t.default=class{constructor(e){this.transactionParser=new a.default(e)}decryptAndCleanChannel(e,t){return r.__awaiter(this,void 0,void 0,(function*(){let f,a,i=n.TransactionTypes.ChannelType.UNKNOWN;const o=yield t.reduce(((t,o)=>r.__awaiter(this,void 0,void 0,(function*(){const r=yield t;let s;try{s=yield this.transactionParser.parsePersistedTransaction(o.transaction,i,f)}catch(u){return r.concat([{ignored:{reason:u.message,transaction:o},valid:null}])}const c=s.transaction,u=yield c.getError();if(""!==u)return r.concat([{ignored:{reason:u,transaction:o},valid:null}]);if(i===n.TransactionTypes.ChannelType.UNKNOWN){if((yield c.getHash())!==e)return r.concat([{ignored:{reason:"as first transaction, the hash of the transaction do not match the channelId",transaction:o},valid:null}]);i=s.channelKey?n.TransactionTypes.ChannelType.ENCRYPTED:n.TransactionTypes.ChannelType.CLEAR,a=s.encryptionMethod,f=s.channelKey}const d=yield c.getData();return r.concat([{ignored:null,valid:{state:o.state,timestamp:o.timestamp,transaction:{data:d}}}])}))),Promise.resolve([])),s=o.map((e=>e.ignored)),c=o.map((e=>e.valid));return{encryptionMethod:a,ignoredTransactions:s,transactions:c}}))}getChannelTypeAndChannelKey(e,t){return r.__awaiter(this,void 0,void 0,(function*(){return yield t.reduce(((t,f)=>r.__awaiter(this,void 0,void 0,(function*(){const r=yield t;if(r.channelType!==n.TransactionTypes.ChannelType.UNKNOWN)return r;let a;try{a=yield this.transactionParser.parsePersistedTransaction(f.transaction,n.TransactionTypes.ChannelType.UNKNOWN)}catch(e){return r}const i=a.transaction;if(""!==(yield i.getError()))return r;return(yield i.getHash())!==e||(r.channelType=a.channelKey?n.TransactionTypes.ChannelType.ENCRYPTED:n.TransactionTypes.ChannelType.CLEAR,r.channelKey=a.channelKey,r.encryptionMethod=a.encryptionMethod),r}))),Promise.resolve({channelKey:void 0,channelType:n.TransactionTypes.ChannelType.UNKNOWN,encryptionMethod:void 0}))}))}}},function(e,t,f){"use strict";Object.defineProperty(t,"__esModule",{value:!0});const r=f(71),n=f(43),a=f(4),i=f(701),o=f(702);t.default=class{constructor(e){this.decryptionProvider=e}parsePersistedTransaction(e,t,f){return r.__awaiter(this,void 0,void 0,(function*(){if(e.data){if(t===a.TransactionTypes.ChannelType.ENCRYPTED)throw new Error("Clear transactions are not allowed in encrypted channel");if(e.encryptedData||e.encryptionMethod||e.keys)throw new Error('only the property "data" is allowed for clear transaction');return{transaction:new i.default(e.data)}}if(e.encryptedData){if(t===a.TransactionTypes.ChannelType.CLEAR)throw new Error("Encrypted transactions are not allowed in clear channel");if(f){if(e.encryptionMethod||e.keys)throw new Error('the properties "encryptionMethod" and "keys" have been already given for this channel')}else{if(!e.encryptionMethod||!e.keys)throw new Error('the properties "encryptionMethod" and "keys" are needed to compute the channel key');f=yield this.decryptChannelKey(e.keys,e.encryptionMethod)}return{channelKey:f,encryptionMethod:e.encryptionMethod,transaction:new o.default(e.encryptedData,f)}}throw new Error('Transaction must have a property "data" or "encryptedData"')}))}decryptChannelKey(e,t){return r.__awaiter(this,void 0,void 0,(function*(){if(!this.decryptionProvider)throw new Error("No decryption provider given");let f;if(t===`${a.EncryptionTypes.METHOD.ECIES}-${a.EncryptionTypes.METHOD.AES256_CBC}`)f=a.EncryptionTypes.METHOD.AES256_CBC;else{if(t!==`${a.EncryptionTypes.METHOD.ECIES}-${a.EncryptionTypes.METHOD.AES256_GCM}`)throw new Error(`Encryption method not supported: ${t}`);f=a.EncryptionTypes.METHOD.AES256_GCM}let i="";const o=yield Object.keys(e||{}).reduce(((t,f)=>r.__awaiter(this,void 0,void 0,(function*(){let r=yield t;if(e&&""===r){let t;try{t=n.default.deserialize(f)}catch(e){}if(t&&t.type===a.IdentityTypes.TYPE.ETHEREUM_ADDRESS&&this.decryptionProvider&&(yield this.decryptionProvider.isIdentityRegistered(t)))try{const a=n.default.deserialize(e[f]);r=yield this.decryptionProvider.decrypt(a,t)}catch(e){i=e.message}}return r}))),Promise.resolve(""));if(""===o)throw new Error(`Impossible to decrypt the channel key from this transaction (${i})`);return{key:o,method:f}}))}}},function(e,t,f){"use strict";Object.defineProperty(t,"__esModule",{value:!0});const r=f(71),n=f(43),a=f(7);t.default=class{constructor(e){this.data=e}getData(){return r.__awaiter(this,void 0,void 0,(function*(){return this.data}))}getHash(){return r.__awaiter(this,void 0,void 0,(function*(){return n.default.serialize((0,a.normalizeKeccak256Hash)(JSON.parse(this.data)))}))}getError(){return r.__awaiter(this,void 0,void 0,(function*(){try{return JSON.parse(this.data),""}catch(e){return"Impossible to JSON parse the transaction"}}))}}},function(e,t,f){"use strict";Object.defineProperty(t,"__esModule",{value:!0});const r=f(71),n=f(43),a=f(7);t.default=class{constructor(e,t){this.data="",this.dataHashSerialized="",this.persistedData=e,this.channelKey=t}getData(){return r.__awaiter(this,void 0,void 0,(function*(){if(""===this.data)try{const e=n.default.deserialize(this.persistedData);this.data=yield(0,a.decrypt)(e,this.channelKey)}catch(e){throw new Error("Impossible to decrypt the transaction")}return this.data}))}getHash(){return r.__awaiter(this,void 0,void 0,(function*(){if(""===this.dataHashSerialized){const e=yield this.getData();try{const t=(0,a.normalizeKeccak256Hash)(JSON.parse(e));this.dataHashSerialized=n.default.serialize(t)}catch(e){throw new Error("Impossible to JSON parse the decrypted transaction data")}}return this.dataHashSerialized}))}getError(){return r.__awaiter(this,void 0,void 0,(function*(){let e="";try{e=yield this.getData()}catch(e){return e.message}try{JSON.parse(e)}catch(e){return"Impossible to JSON parse the decrypted transaction data"}return""}))}}},function(e,t,f){"use strict";Object.defineProperty(t,"__esModule",{value:!0});const r=f(71),n=f(43),a=f(4),i=f(7);t.default=class{static createClearTransaction(e){return r.__awaiter(this,void 0,void 0,(function*(){try{JSON.parse(e)}catch(e){throw new Error("Data not parsable")}return{data:e}}))}static createEncryptedTransactionInNewChannel(e,t){return r.__awaiter(this,void 0,void 0,(function*(){const f=`${a.EncryptionTypes.METHOD.ECIES}-${a.EncryptionTypes.METHOD.AES256_GCM}`,o=yield(0,i.generate32BufferKey)(),s=yield(0,i.encrypt)(e,{key:o,method:a.EncryptionTypes.METHOD.AES256_GCM});try{JSON.parse(e)}catch(e){throw new Error("Data not parsable")}if(!t.every((e=>e.method===a.EncryptionTypes.METHOD.ECIES)))throw new Error(`encryptionParams method must be all: ${a.EncryptionTypes.METHOD.ECIES}`);const c=t.map((e=>r.__awaiter(this,void 0,void 0,(function*(){const t=yield(0,i.encrypt)(o,e),f=(0,i.getIdentityFromEncryptionParams)(e);return{encryptedKey:t,multiFormattedIdentity:n.default.serialize(f)}})))),u=(yield Promise.all(c)).reduce(((e,t)=>{const f=n.default.serialize(t.encryptedKey);return e[t.multiFormattedIdentity]=f,e}),{});return{encryptedData:n.default.serialize(s),keys:u,encryptionMethod:f}}))}static createEncryptedTransaction(e,t){return r.__awaiter(this,void 0,void 0,(function*(){if(t.method!==a.EncryptionTypes.METHOD.AES256_GCM)throw new Error(`encryption method not supported for the channel key: ${t.method}`);const f=yield(0,i.encrypt)(e,t);try{JSON.parse(e)}catch(e){throw new Error("Data not parsable")}return{encryptedData:n.default.serialize(f)}}))}}},function(e,t,f){"use strict";Object.defineProperty(t,"__esModule",{value:!0});const r=f(705),n=f(4).ExtensionTypes.ID.CONTENT_DATA;t.default=class{constructor(e){this.extension=e.extensions.contentData}createExtensionsDataForCreation(e){if(r.default.isKnownFormat(e)){const{valid:t,errors:f}=r.default.validate(e);if(!t){const e=f.map((e=>JSON.stringify(e))).join("\n");throw new Error(`The content data seem to follow a request format but contains errors: ${e}`)}}return this.extension.createCreationAction({content:e})}getContent(e){return e&&e.extensions&&e.extensions[n]?e.extensions[n].values.content:null}}},function(e,t,f){"use strict";Object.defineProperty(t,"__esModule",{value:!0});const r=f(271),n=f(706),a=f(740),i=f(741),o=f(742);t.default={validate(e){var t;const f=(new n).addMetaSchema(a).addSchema(i);if(!e.meta)return{valid:!1,errors:[{message:"meta not found"}]};if(!e.meta.format)return{valid:!1,errors:[{message:"meta.format not found"}]};if(!e.meta.version)return{valid:!1,errors:[{message:"meta.version not found"}]};const r=null===(t=o.default[e.meta.format])||void 0===t?void 0:t[e.meta.version];if(!r)return{valid:!1,errors:[{message:"format not found"}]};const s=f.compile(r);return s(e)?{valid:!0}:{valid:!1,errors:s.errors}},isKnownFormat:e=>!!e.meta&&"rnf_invoice"===e.meta.format},r.__exportStar(f(746),t)},function(e,t,f){"use strict";var r=f(707),n=f(154),a=f(711),i=f(272),o=f(273),s=f(712),c=f(713),u=f(734),d=f(72);e.exports=y,y.prototype.validate=function(e,t){var f;if("string"==typeof e){if(!(f=this.getSchema(e)))throw new Error('no schema with key or ref "'+e+'"')}else{var r=this._addSchema(e);f=r.validate||this._compile(r)}var n=f(t);!0!==f.$async&&(this.errors=f.errors);return n},y.prototype.compile=function(e,t){var f=this._addSchema(e,void 0,t);return f.validate||this._compile(f)},y.prototype.addSchema=function(e,t,f,r){if(Array.isArray(e)){for(var a=0;a<e.length;a++)this.addSchema(e[a],void 0,f,r);return this}var i=this._getId(e);if(void 0!==i&&"string"!=typeof i)throw new Error("schema id must be string");return A(this,t=n.normalizeId(t||i)),this._schemas[t]=this._addSchema(e,f,r,!0),this},y.prototype.addMetaSchema=function(e,t,f){return this.addSchema(e,t,f,!0),this},y.prototype.validateSchema=function(e,t){var f=e.$schema;if(void 0!==f&&"string"!=typeof f)throw new Error("$schema must be a string");if(!(f=f||this._opts.defaultMeta||function(e){var t=e._opts.meta;return e._opts.defaultMeta="object"==typeof t?e._getId(t)||t:e.getSchema(b)?b:void 0,e._opts.defaultMeta}(this)))return this.logger.warn("meta-schema not available"),this.errors=null,!0;var r=this.validate(f,e);if(!r&&t){var n="schema is invalid: "+this.errorsText();if("log"!=this._opts.validateSchema)throw new Error(n);this.logger.error(n)}return r},y.prototype.getSchema=function(e){var t=g(this,e);switch(typeof t){case"object":return t.validate||this._compile(t);case"string":return this.getSchema(t);case"undefined":return function(e,t){var f=n.schema.call(e,{schema:{}},t);if(f){var a=f.schema,o=f.root,s=f.baseId,c=r.call(e,a,o,void 0,s);return e._fragments[t]=new i({ref:t,fragment:!0,schema:a,root:o,baseId:s,validate:c}),c}}(this,e)}},y.prototype.removeSchema=function(e){if(e instanceof RegExp)return v(this,this._schemas,e),v(this,this._refs,e),this;switch(typeof e){case"undefined":return v(this,this._schemas),v(this,this._refs),this._cache.clear(),this;case"string":var t=g(this,e);return t&&this._cache.del(t.cacheKey),delete this._schemas[e],delete this._refs[e],this;case"object":var f=this._opts.serialize,r=f?f(e):e;this._cache.del(r);var a=this._getId(e);a&&(a=n.normalizeId(a),delete this._schemas[a],delete this._refs[a])}return this},y.prototype.addFormat=function(e,t){"string"==typeof t&&(t=new RegExp(t));return this._formats[e]=t,this},y.prototype.errorsText=function(e,t){if(!(e=e||this.errors))return"No errors";for(var f=void 0===(t=t||{}).separator?", ":t.separator,r=void 0===t.dataVar?"data":t.dataVar,n="",a=0;a<e.length;a++){var i=e[a];i&&(n+=r+i.dataPath+" "+i.message+f)}return n.slice(0,-f.length)},y.prototype._addSchema=function(e,t,f,r){if("object"!=typeof e&&"boolean"!=typeof e)throw new Error("schema should be object or boolean");var a=this._opts.serialize,o=a?a(e):e,s=this._cache.get(o);if(s)return s;r=r||!1!==this._opts.addUsedSchema;var c=n.normalizeId(this._getId(e));c&&r&&A(this,c);var u,d=!1!==this._opts.validateSchema&&!t;d&&!(u=c&&c==n.normalizeId(e.$schema))&&this.validateSchema(e,!0);var l=n.ids.call(this,e),p=new i({id:c,schema:e,localRefs:l,cacheKey:o,meta:f});"#"!=c[0]&&r&&(this._refs[c]=p);this._cache.put(o,p),d&&u&&this.validateSchema(e,!0);return p},y.prototype._compile=function(e,t){if(e.compiling)return e.validate=a,a.schema=e.schema,a.errors=null,a.root=t||a,!0===e.schema.$async&&(a.$async=!0),a;var f,n;e.compiling=!0,e.meta&&(f=this._opts,this._opts=this._metaOpts);try{n=r.call(this,e.schema,t,e.localRefs)}catch(t){throw delete e.validate,t}finally{e.compiling=!1,e.meta&&(this._opts=f)}return e.validate=n,e.refs=n.refs,e.refVal=n.refVal,e.root=n.root,n;function a(){var t=e.validate,f=t.apply(this,arguments);return a.errors=t.errors,f}},y.prototype.compileAsync=f(735);var l=f(736);y.prototype.addKeyword=l.add,y.prototype.getKeyword=l.get,y.prototype.removeKeyword=l.remove,y.prototype.validateKeyword=l.validate;var p=f(156);y.ValidationError=p.Validation,y.MissingRefError=p.MissingRef,y.$dataMetaSchema=u;var b="http://json-schema.org/draft-07/schema",h=["removeAdditional","useDefaults","coerceTypes","strictDefaults"],m=["/properties"];function y(e){if(!(this instanceof y))return new y(e);e=this._opts=d.copy(e)||{},function(e){var t=e._opts.logger;if(!1===t)e.logger={log:T,warn:T,error:T};else{if(void 0===t&&(t=console),!("object"==typeof t&&t.log&&t.warn&&t.error))throw new Error("logger must implement log, warn and error methods");e.logger=t}}(this),this._schemas={},this._refs={},this._fragments={},this._formats=s(e.format),this._cache=e.cache||new a,this._loadingSchemas={},this._compilations=[],this.RULES=c(),this._getId=function(e){switch(e.schemaId){case"auto":return E;case"id":return _;default:return w}}(e),e.loopRequired=e.loopRequired||1/0,"property"==e.errorDataPath&&(e._errorDataPathProperty=!0),void 0===e.serialize&&(e.serialize=o),this._metaOpts=function(e){for(var t=d.copy(e._opts),f=0;f<h.length;f++)delete t[h[f]];return t}(this),e.formats&&function(e){for(var t in e._opts.formats){var f=e._opts.formats[t];e.addFormat(t,f)}}(this),e.keywords&&function(e){for(var t in e._opts.keywords){var f=e._opts.keywords[t];e.addKeyword(t,f)}}(this),function(e){var t;e._opts.$data&&(t=f(739),e.addMetaSchema(t,t.$id,!0));if(!1===e._opts.meta)return;var r=f(279);e._opts.$data&&(r=u(r,m));e.addMetaSchema(r,b,!0),e._refs["http://json-schema.org/schema"]=b}(this),"object"==typeof e.meta&&this.addMetaSchema(e.meta),e.nullable&&this.addKeyword("nullable",{metaSchema:{type:"boolean"}}),function(e){var t=e._opts.schemas;if(!t)return;if(Array.isArray(t))e.addSchema(t);else for(var f in t)e.addSchema(t[f],f)}(this)}function g(e,t){return t=n.normalizeId(t),e._schemas[t]||e._refs[t]||e._fragments[t]}function v(e,t,f){for(var r in t){var n=t[r];n.meta||f&&!f.test(r)||(e._cache.del(n.cacheKey),delete t[r])}}function _(e){return e.$id&&this.logger.warn("schema $id ignored",e.$id),e.id}function w(e){return e.id&&this.logger.warn("schema id ignored",e.id),e.$id}function E(e){if(e.$id&&e.id&&e.$id!=e.id)throw new Error("schema $id is different from id");return e.$id||e.id}function A(e,t){if(e._schemas[t]||e._refs[t])throw new Error('schema with key or id "'+t+'" already exists')}function T(){}},function(e,t,f){"use strict";var r=f(154),n=f(72),a=f(156),i=f(273),o=f(274),s=n.ucs2length,c=f(155),u=a.Validation;function d(e,t,f){var r=p.call(this,e,t,f);return r>=0?{index:r,compiling:!0}:(r=this._compilations.length,this._compilations[r]={schema:e,root:t,baseId:f},{index:r,compiling:!1})}function l(e,t,f){var r=p.call(this,e,t,f);r>=0&&this._compilations.splice(r,1)}function p(e,t,f){for(var r=0;r<this._compilations.length;r++){var n=this._compilations[r];if(n.schema==e&&n.root==t&&n.baseId==f)return r}return-1}function b(e,t){return"var pattern"+e+" = new RegExp("+n.toQuotedString(t[e])+");"}function h(e){return"var default"+e+" = defaults["+e+"];"}function m(e,t){return void 0===t[e]?"":"var refVal"+e+" = refVal["+e+"];"}function y(e){return"var customRule"+e+" = customRules["+e+"];"}function g(e,t){if(!e.length)return"";for(var f="",r=0;r<e.length;r++)f+=t(r,e);return f}e.exports=function e(t,f,p,v){var _=this,w=this._opts,E=[void 0],A={},T=[],x={},S=[],k={},C=[];f=f||{schema:t,refVal:E,refs:A};var O=d.call(this,t,f,v),P=this._compilations[O.index];if(O.compiling)return P.callValidate=function e(){var t=P.validate,f=t.apply(this,arguments);return e.errors=t.errors,f};var R=this._formats,M=this.RULES;try{var N=B(t,f,p,v);P.validate=N;var D=P.callValidate;return D&&(D.schema=N.schema,D.errors=null,D.refs=N.refs,D.refVal=N.refVal,D.root=N.root,D.$async=N.$async,w.sourceCode&&(D.source=N.source)),N}finally{l.call(this,t,f,v)}function B(t,i,d,l){var p=!i||i&&i.schema==t;if(i.schema!=f.schema)return e.call(_,t,i,d,l);var v,x=!0===t.$async,k=o({isTop:!0,schema:t,isRoot:p,baseId:l,root:i,schemaPath:"",errSchemaPath:"#",errorPath:'""',MissingRefError:a.MissingRef,RULES:M,validate:o,util:n,resolve:r,resolveRef:I,usePattern:L,useDefault:U,useCustomRule:q,opts:w,formats:R,logger:_.logger,self:_});k=g(E,m)+g(T,b)+g(S,h)+g(C,y)+k,w.processCode&&(k=w.processCode(k,t));try{v=new Function("self","RULES","formats","root","refVal","defaults","customRules","equal","ucs2length","ValidationError",k)(_,M,R,f,E,S,C,c,s,u),E[0]=v}catch(e){throw _.logger.error("Error compiling schema, function code:",k),e}return v.schema=t,v.errors=null,v.refs=A,v.refVal=E,v.root=p?v:i,x&&(v.$async=!0),!0===w.sourceCode&&(v.source={code:k,patterns:T,defaults:S}),v}function I(t,n,a){n=r.url(t,n);var i,o,s=A[n];if(void 0!==s)return j(i=E[s],o="refVal["+s+"]");if(!a&&f.refs){var c=f.refs[n];if(void 0!==c)return j(i=f.refVal[c],o=F(n,i))}o=F(n);var u=r.call(_,B,f,n);if(void 0===u){var d=p&&p[n];d&&(u=r.inlineRef(d,w.inlineRefs)?d:e.call(_,d,f,p,t))}if(void 0!==u)return function(e,t){var f=A[e];E[f]=t}(n,u),j(u,o);!function(e){delete A[e]}(n)}function F(e,t){var f=E.length;return E[f]=t,A[e]=f,"refVal"+f}function j(e,t){return"object"==typeof e||"boolean"==typeof e?{code:t,schema:e,inline:!0}:{code:t,$async:e&&!!e.$async}}function L(e){var t=x[e];return void 0===t&&(t=x[e]=T.length,T[t]=e),"pattern"+t}function U(e){switch(typeof e){case"boolean":case"number":return""+e;case"string":return n.toQuotedString(e);case"object":if(null===e)return"null";var t=i(e),f=k[t];return void 0===f&&(f=k[t]=S.length,S[f]=e),"default"+f}}function q(e,t,f,r){if(!1!==_._opts.validateSchema){var n=e.definition.dependencies;if(n&&!n.every((function(e){return Object.prototype.hasOwnProperty.call(f,e)})))throw new Error("parent schema must have all required keywords: "+n.join(","));var a=e.definition.validateSchema;if(a)if(!a(t)){var i="keyword schema is invalid: "+_.errorsText(a.errors);if("log"!=_._opts.validateSchema)throw new Error(i);_.logger.error(i)}}var o,s=e.definition.compile,c=e.definition.inline,u=e.definition.macro;if(s)o=s.call(_,t,f,r);else if(u)o=u.call(_,t,f,r),!1!==w.validateSchema&&_.validateSchema(o,!0);else if(c)o=c.call(_,r,e.keyword,t,f);else if(!(o=e.definition.validate))return;if(void 0===o)throw new Error('custom keyword "'+e.keyword+'"failed to compile');var d=C.length;return C[d]=o,{code:"customRule"+d,validate:o}}}},function(e,t,f){!function(e){"use strict";function t(){for(var e=arguments.length,t=Array(e),f=0;f<e;f++)t[f]=arguments[f];if(t.length>1){t[0]=t[0].slice(0,-1);for(var r=t.length-1,n=1;n<r;++n)t[n]=t[n].slice(1,-1);return t[r]=t[r].slice(1),t.join("")}return t[0]}function f(e){return"(?:"+e+")"}function r(e){return void 0===e?"undefined":null===e?"null":Object.prototype.toString.call(e).split(" ").pop().split("]").shift().toLowerCase()}function n(e){return e.toUpperCase()}function a(e){return null!=e?e instanceof Array?e:"number"!=typeof e.length||e.split||e.setInterval||e.call?[e]:Array.prototype.slice.call(e):[]}function i(e,t){var f=e;if(t)for(var r in t)f[r]=t[r];return f}function o(e){var r="[A-Za-z]",n="[0-9]",a=t(n,"[A-Fa-f]"),i=f(f("%[EFef]"+a+"%"+a+a+"%"+a+a)+"|"+f("%[89A-Fa-f]"+a+"%"+a+a)+"|"+f("%"+a+a)),o="[\\!\\$\\&\\'\\(\\)\\*\\+\\,\\;\\=]",s=t("[\\:\\/\\?\\#\\[\\]\\@]",o),c=e?"[\\uE000-\\uF8FF]":"[]",u=t(r,n,"[\\-\\.\\_\\~]",e?"[\\xA0-\\u200D\\u2010-\\u2029\\u202F-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFEF]":"[]"),d=f(r+t(r,n,"[\\+\\-\\.]")+"*"),l=f(f(i+"|"+t(u,o,"[\\:]"))+"*"),p=(f(f("25[0-5]")+"|"+f("2[0-4]"+n)+"|"+f("1"+n+n)+"|"+f("[1-9]"+n)+"|"+n),f(f("25[0-5]")+"|"+f("2[0-4]"+n)+"|"+f("1"+n+n)+"|"+f("0?[1-9]"+n)+"|0?0?"+n)),b=f(p+"\\."+p+"\\."+p+"\\."+p),h=f(a+"{1,4}"),m=f(f(h+"\\:"+h)+"|"+b),y=f(f(h+"\\:")+"{6}"+m),g=f("\\:\\:"+f(h+"\\:")+"{5}"+m),v=f(f(h)+"?\\:\\:"+f(h+"\\:")+"{4}"+m),_=f(f(f(h+"\\:")+"{0,1}"+h)+"?\\:\\:"+f(h+"\\:")+"{3}"+m),w=f(f(f(h+"\\:")+"{0,2}"+h)+"?\\:\\:"+f(h+"\\:")+"{2}"+m),E=f(f(f(h+"\\:")+"{0,3}"+h)+"?\\:\\:"+h+"\\:"+m),A=f(f(f(h+"\\:")+"{0,4}"+h)+"?\\:\\:"+m),T=f(f(f(h+"\\:")+"{0,5}"+h)+"?\\:\\:"+h),x=f(f(f(h+"\\:")+"{0,6}"+h)+"?\\:\\:"),S=f([y,g,v,_,w,E,A,T,x].join("|")),k=f(f(u+"|"+i)+"+"),C=(f(S+"\\%25"+k),f(S+f("\\%25|\\%(?!"+a+"{2})")+k)),O=f("[vV]"+a+"+\\."+t(u,o,"[\\:]")+"+"),P=f("\\["+f(C+"|"+S+"|"+O)+"\\]"),R=f(f(i+"|"+t(u,o))+"*"),M=f(P+"|"+b+"(?!"+R+")|"+R),N=f(n+"*"),D=f(f(l+"@")+"?"+M+f("\\:"+N)+"?"),B=f(i+"|"+t(u,o,"[\\:\\@]")),I=f(B+"*"),F=f(B+"+"),j=f(f(i+"|"+t(u,o,"[\\@]"))+"+"),L=f(f("\\/"+I)+"*"),U=f("\\/"+f(F+L)+"?"),q=f(j+L),H=f(F+L),z="(?!"+B+")",V=(f(L+"|"+U+"|"+q+"|"+H+"|"+z),f(f(B+"|"+t("[\\/\\?]",c))+"*")),K=f(f(B+"|[\\/\\?]")+"*"),G=f(f("\\/\\/"+D+L)+"|"+U+"|"+H+"|"+z),W=f(d+"\\:"+G+f("\\?"+V)+"?"+f("\\#"+K)+"?"),$=f(f("\\/\\/"+D+L)+"|"+U+"|"+q+"|"+z),Y=f($+f("\\?"+V)+"?"+f("\\#"+K)+"?");return f(W+"|"+Y),f(d+"\\:"+G+f("\\?"+V)+"?"),f(f("\\/\\/("+f("("+l+")@")+"?("+M+")"+f("\\:("+N+")")+"?)")+"?("+L+"|"+U+"|"+H+"|"+z+")"),f("\\?("+V+")"),f("\\#("+K+")"),f(f("\\/\\/("+f("("+l+")@")+"?("+M+")"+f("\\:("+N+")")+"?)")+"?("+L+"|"+U+"|"+q+"|"+z+")"),f("\\?("+V+")"),f("\\#("+K+")"),f(f("\\/\\/("+f("("+l+")@")+"?("+M+")"+f("\\:("+N+")")+"?)")+"?("+L+"|"+U+"|"+H+"|"+z+")"),f("\\?("+V+")"),f("\\#("+K+")"),f("("+l+")@"),f("\\:("+N+")"),{NOT_SCHEME:new RegExp(t("[^]",r,n,"[\\+\\-\\.]"),"g"),NOT_USERINFO:new RegExp(t("[^\\%\\:]",u,o),"g"),NOT_HOST:new RegExp(t("[^\\%\\[\\]\\:]",u,o),"g"),NOT_PATH:new RegExp(t("[^\\%\\/\\:\\@]",u,o),"g"),NOT_PATH_NOSCHEME:new RegExp(t("[^\\%\\/\\@]",u,o),"g"),NOT_QUERY:new RegExp(t("[^\\%]",u,o,"[\\:\\@\\/\\?]",c),"g"),NOT_FRAGMENT:new RegExp(t("[^\\%]",u,o,"[\\:\\@\\/\\?]"),"g"),ESCAPE:new RegExp(t("[^]",u,o),"g"),UNRESERVED:new RegExp(u,"g"),OTHER_CHARS:new RegExp(t("[^\\%]",u,s),"g"),PCT_ENCODED:new RegExp(i,"g"),IPV4ADDRESS:new RegExp("^("+b+")$"),IPV6ADDRESS:new RegExp("^\\[?("+S+")"+f(f("\\%25|\\%(?!"+a+"{2})")+"("+k+")")+"?\\]?$")}}var s=o(!1),c=o(!0),u=function(){function e(e,t){var f=[],r=!0,n=!1,a=void 0;try{for(var i,o=e[Symbol.iterator]();!(r=(i=o.next()).done)&&(f.push(i.value),!t||f.length!==t);r=!0);}catch(e){n=!0,a=e}finally{try{!r&&o.return&&o.return()}finally{if(n)throw a}}return f}return function(t,f){if(Array.isArray(t))return t;if(Symbol.iterator in Object(t))return e(t,f);throw new TypeError("Invalid attempt to destructure non-iterable instance")}}(),d=function(e){if(Array.isArray(e)){for(var t=0,f=Array(e.length);t<e.length;t++)f[t]=e[t];return f}return Array.from(e)},l=2147483647,p=36,b=1,h=26,m=38,y=700,g=72,v=128,_="-",w=/^xn--/,E=/[^\0-\x7E]/,A=/[\x2E\u3002\uFF0E\uFF61]/g,T={overflow:"Overflow: input needs wider integers to process","not-basic":"Illegal input >= 0x80 (not a basic code point)","invalid-input":"Invalid input"},x=p-b,S=Math.floor,k=String.fromCharCode;function C(e){throw new RangeError(T[e])}function O(e,t){for(var f=[],r=e.length;r--;)f[r]=t(e[r]);return f}function P(e,t){var f=e.split("@"),r="";return f.length>1&&(r=f[0]+"@",e=f[1]),r+O((e=e.replace(A,".")).split("."),t).join(".")}function R(e){for(var t=[],f=0,r=e.length;f<r;){var n=e.charCodeAt(f++);if(n>=55296&&n<=56319&&f<r){var a=e.charCodeAt(f++);56320==(64512&a)?t.push(((1023&n)<<10)+(1023&a)+65536):(t.push(n),f--)}else t.push(n)}return t}var M=function(e){return e-48<10?e-22:e-65<26?e-65:e-97<26?e-97:p},N=function(e,t){return e+22+75*(e<26)-((0!=t)<<5)},D=function(e,t,f){var r=0;for(e=f?S(e/y):e>>1,e+=S(e/t);e>x*h>>1;r+=p)e=S(e/x);return S(r+(x+1)*e/(e+m))},B=function(e){var t=[],f=e.length,r=0,n=v,a=g,i=e.lastIndexOf(_);i<0&&(i=0);for(var o=0;o<i;++o)e.charCodeAt(o)>=128&&C("not-basic"),t.push(e.charCodeAt(o));for(var s=i>0?i+1:0;s<f;){for(var c=r,u=1,d=p;;d+=p){s>=f&&C("invalid-input");var m=M(e.charCodeAt(s++));(m>=p||m>S((l-r)/u))&&C("overflow"),r+=m*u;var y=d<=a?b:d>=a+h?h:d-a;if(m<y)break;var w=p-y;u>S(l/w)&&C("overflow"),u*=w}var E=t.length+1;a=D(r-c,E,0==c),S(r/E)>l-n&&C("overflow"),n+=S(r/E),r%=E,t.splice(r++,0,n)}return String.fromCodePoint.apply(String,t)},I=function(e){var t=[],f=(e=R(e)).length,r=v,n=0,a=g,i=!0,o=!1,s=void 0;try{for(var c,u=e[Symbol.iterator]();!(i=(c=u.next()).done);i=!0){var d=c.value;d<128&&t.push(k(d))}}catch(e){o=!0,s=e}finally{try{!i&&u.return&&u.return()}finally{if(o)throw s}}var m=t.length,y=m;for(m&&t.push(_);y<f;){var w=l,E=!0,A=!1,T=void 0;try{for(var x,O=e[Symbol.iterator]();!(E=(x=O.next()).done);E=!0){var P=x.value;P>=r&&P<w&&(w=P)}}catch(e){A=!0,T=e}finally{try{!E&&O.return&&O.return()}finally{if(A)throw T}}var M=y+1;w-r>S((l-n)/M)&&C("overflow"),n+=(w-r)*M,r=w;var B=!0,I=!1,F=void 0;try{for(var j,L=e[Symbol.iterator]();!(B=(j=L.next()).done);B=!0){var U=j.value;if(U<r&&++n>l&&C("overflow"),U==r){for(var q=n,H=p;;H+=p){var z=H<=a?b:H>=a+h?h:H-a;if(q<z)break;var V=q-z,K=p-z;t.push(k(N(z+V%K,0))),q=S(V/K)}t.push(k(N(q,0))),a=D(n,M,y==m),n=0,++y}}}catch(e){I=!0,F=e}finally{try{!B&&L.return&&L.return()}finally{if(I)throw F}}++n,++r}return t.join("")},F=function(e){return P(e,(function(e){return w.test(e)?B(e.slice(4).toLowerCase()):e}))},j=function(e){return P(e,(function(e){return E.test(e)?"xn--"+I(e):e}))},L={version:"2.1.0",ucs2:{decode:R,encode:function(e){return String.fromCodePoint.apply(String,d(e))}},decode:B,encode:I,toASCII:j,toUnicode:F},U={};function q(e){var t=e.charCodeAt(0);return t<16?"%0"+t.toString(16).toUpperCase():t<128?"%"+t.toString(16).toUpperCase():t<2048?"%"+(t>>6|192).toString(16).toUpperCase()+"%"+(63&t|128).toString(16).toUpperCase():"%"+(t>>12|224).toString(16).toUpperCase()+"%"+(t>>6&63|128).toString(16).toUpperCase()+"%"+(63&t|128).toString(16).toUpperCase()}function H(e){for(var t="",f=0,r=e.length;f<r;){var n=parseInt(e.substr(f+1,2),16);if(n<128)t+=String.fromCharCode(n),f+=3;else if(n>=194&&n<224){if(r-f>=6){var a=parseInt(e.substr(f+4,2),16);t+=String.fromCharCode((31&n)<<6|63&a)}else t+=e.substr(f,6);f+=6}else if(n>=224){if(r-f>=9){var i=parseInt(e.substr(f+4,2),16),o=parseInt(e.substr(f+7,2),16);t+=String.fromCharCode((15&n)<<12|(63&i)<<6|63&o)}else t+=e.substr(f,9);f+=9}else t+=e.substr(f,3),f+=3}return t}function z(e,t){function f(e){var f=H(e);return f.match(t.UNRESERVED)?f:e}return e.scheme&&(e.scheme=String(e.scheme).replace(t.PCT_ENCODED,f).toLowerCase().replace(t.NOT_SCHEME,"")),void 0!==e.userinfo&&(e.userinfo=String(e.userinfo).replace(t.PCT_ENCODED,f).replace(t.NOT_USERINFO,q).replace(t.PCT_ENCODED,n)),void 0!==e.host&&(e.host=String(e.host).replace(t.PCT_ENCODED,f).toLowerCase().replace(t.NOT_HOST,q).replace(t.PCT_ENCODED,n)),void 0!==e.path&&(e.path=String(e.path).replace(t.PCT_ENCODED,f).replace(e.scheme?t.NOT_PATH:t.NOT_PATH_NOSCHEME,q).replace(t.PCT_ENCODED,n)),void 0!==e.query&&(e.query=String(e.query).replace(t.PCT_ENCODED,f).replace(t.NOT_QUERY,q).replace(t.PCT_ENCODED,n)),void 0!==e.fragment&&(e.fragment=String(e.fragment).replace(t.PCT_ENCODED,f).replace(t.NOT_FRAGMENT,q).replace(t.PCT_ENCODED,n)),e}function V(e){return e.replace(/^0*(.*)/,"$1")||"0"}function K(e,t){var f=e.match(t.IPV4ADDRESS)||[],r=u(f,2)[1];return r?r.split(".").map(V).join("."):e}function G(e,t){var f=e.match(t.IPV6ADDRESS)||[],r=u(f,3),n=r[1],a=r[2];if(n){for(var i=n.toLowerCase().split("::").reverse(),o=u(i,2),s=o[0],c=o[1],d=c?c.split(":").map(V):[],l=s.split(":").map(V),p=t.IPV4ADDRESS.test(l[l.length-1]),b=p?7:8,h=l.length-b,m=Array(b),y=0;y<b;++y)m[y]=d[y]||l[h+y]||"";p&&(m[b-1]=K(m[b-1],t));var g=m.reduce((function(e,t,f){if(!t||"0"===t){var r=e[e.length-1];r&&r.index+r.length===f?r.length++:e.push({index:f,length:1})}return e}),[]).sort((function(e,t){return t.length-e.length}))[0],v=void 0;if(g&&g.length>1){var _=m.slice(0,g.index),w=m.slice(g.index+g.length);v=_.join(":")+"::"+w.join(":")}else v=m.join(":");return a&&(v+="%"+a),v}return e}var W=/^(?:([^:\/?#]+):)?(?:\/\/((?:([^\/?#@]*)@)?(\[[^\/?#\]]+\]|[^\/?#:]*)(?:\:(\d*))?))?([^?#]*)(?:\?([^#]*))?(?:#((?:.|\n|\r)*))?/i,$=void 0==="".match(/(){0}/)[1];function Y(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},f={},r=!1!==t.iri?c:s;"suffix"===t.reference&&(e=(t.scheme?t.scheme+":":"")+"//"+e);var n=e.match(W);if(n){$?(f.scheme=n[1],f.userinfo=n[3],f.host=n[4],f.port=parseInt(n[5],10),f.path=n[6]||"",f.query=n[7],f.fragment=n[8],isNaN(f.port)&&(f.port=n[5])):(f.scheme=n[1]||void 0,f.userinfo=-1!==e.indexOf("@")?n[3]:void 0,f.host=-1!==e.indexOf("//")?n[4]:void 0,f.port=parseInt(n[5],10),f.path=n[6]||"",f.query=-1!==e.indexOf("?")?n[7]:void 0,f.fragment=-1!==e.indexOf("#")?n[8]:void 0,isNaN(f.port)&&(f.port=e.match(/\/\/(?:.|\n)*\:(?:\/|\?|\#|$)/)?n[4]:void 0)),f.host&&(f.host=G(K(f.host,r),r)),void 0!==f.scheme||void 0!==f.userinfo||void 0!==f.host||void 0!==f.port||f.path||void 0!==f.query?void 0===f.scheme?f.reference="relative":void 0===f.fragment?f.reference="absolute":f.reference="uri":f.reference="same-document",t.reference&&"suffix"!==t.reference&&t.reference!==f.reference&&(f.error=f.error||"URI is not a "+t.reference+" reference.");var a=U[(t.scheme||f.scheme||"").toLowerCase()];if(t.unicodeSupport||a&&a.unicodeSupport)z(f,r);else{if(f.host&&(t.domainHost||a&&a.domainHost))try{f.host=L.toASCII(f.host.replace(r.PCT_ENCODED,H).toLowerCase())}catch(e){f.error=f.error||"Host's domain name can not be converted to ASCII via punycode: "+e}z(f,s)}a&&a.parse&&a.parse(f,t)}else f.error=f.error||"URI can not be parsed.";return f}function J(e,t){var f=!1!==t.iri?c:s,r=[];return void 0!==e.userinfo&&(r.push(e.userinfo),r.push("@")),void 0!==e.host&&r.push(G(K(String(e.host),f),f).replace(f.IPV6ADDRESS,(function(e,t,f){return"["+t+(f?"%25"+f:"")+"]"}))),"number"!=typeof e.port&&"string"!=typeof e.port||(r.push(":"),r.push(String(e.port))),r.length?r.join(""):void 0}var X=/^\.\.?\//,Z=/^\/\.(\/|$)/,Q=/^\/\.\.(\/|$)/,ee=/^\/?(?:.|\n)*?(?=\/|$)/;function te(e){for(var t=[];e.length;)if(e.match(X))e=e.replace(X,"");else if(e.match(Z))e=e.replace(Z,"/");else if(e.match(Q))e=e.replace(Q,"/"),t.pop();else if("."===e||".."===e)e="";else{var f=e.match(ee);if(!f)throw new Error("Unexpected dot segment condition");var r=f[0];e=e.slice(r.length),t.push(r)}return t.join("")}function fe(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},f=t.iri?c:s,r=[],n=U[(t.scheme||e.scheme||"").toLowerCase()];if(n&&n.serialize&&n.serialize(e,t),e.host)if(f.IPV6ADDRESS.test(e.host));else if(t.domainHost||n&&n.domainHost)try{e.host=t.iri?L.toUnicode(e.host):L.toASCII(e.host.replace(f.PCT_ENCODED,H).toLowerCase())}catch(f){e.error=e.error||"Host's domain name can not be converted to "+(t.iri?"Unicode":"ASCII")+" via punycode: "+f}z(e,f),"suffix"!==t.reference&&e.scheme&&(r.push(e.scheme),r.push(":"));var a=J(e,t);if(void 0!==a&&("suffix"!==t.reference&&r.push("//"),r.push(a),e.path&&"/"!==e.path.charAt(0)&&r.push("/")),void 0!==e.path){var i=e.path;t.absolutePath||n&&n.absolutePath||(i=te(i)),void 0===a&&(i=i.replace(/^\/\//,"/%2F")),r.push(i)}return void 0!==e.query&&(r.push("?"),r.push(e.query)),void 0!==e.fragment&&(r.push("#"),r.push(e.fragment)),r.join("")}function re(e,t){var f=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{},r={};return arguments[3]||(e=Y(fe(e,f),f),t=Y(fe(t,f),f)),!(f=f||{}).tolerant&&t.scheme?(r.scheme=t.scheme,r.userinfo=t.userinfo,r.host=t.host,r.port=t.port,r.path=te(t.path||""),r.query=t.query):(void 0!==t.userinfo||void 0!==t.host||void 0!==t.port?(r.userinfo=t.userinfo,r.host=t.host,r.port=t.port,r.path=te(t.path||""),r.query=t.query):(t.path?("/"===t.path.charAt(0)?r.path=te(t.path):(void 0===e.userinfo&&void 0===e.host&&void 0===e.port||e.path?e.path?r.path=e.path.slice(0,e.path.lastIndexOf("/")+1)+t.path:r.path=t.path:r.path="/"+t.path,r.path=te(r.path)),r.query=t.query):(r.path=e.path,void 0!==t.query?r.query=t.query:r.query=e.query),r.userinfo=e.userinfo,r.host=e.host,r.port=e.port),r.scheme=e.scheme),r.fragment=t.fragment,r}function ne(e,t,f){var r=i({scheme:"null"},f);return fe(re(Y(e,r),Y(t,r),r,!0),r)}function ae(e,t){return"string"==typeof e?e=fe(Y(e,t),t):"object"===r(e)&&(e=Y(fe(e,t),t)),e}function ie(e,t,f){return"string"==typeof e?e=fe(Y(e,f),f):"object"===r(e)&&(e=fe(e,f)),"string"==typeof t?t=fe(Y(t,f),f):"object"===r(t)&&(t=fe(t,f)),e===t}function oe(e,t){return e&&e.toString().replace(t&&t.iri?c.ESCAPE:s.ESCAPE,q)}function se(e,t){return e&&e.toString().replace(t&&t.iri?c.PCT_ENCODED:s.PCT_ENCODED,H)}var ce={scheme:"http",domainHost:!0,parse:function(e,t){return e.host||(e.error=e.error||"HTTP URIs must have a host."),e},serialize:function(e,t){var f="https"===String(e.scheme).toLowerCase();return e.port!==(f?443:80)&&""!==e.port||(e.port=void 0),e.path||(e.path="/"),e}},ue={scheme:"https",domainHost:ce.domainHost,parse:ce.parse,serialize:ce.serialize};function de(e){return"boolean"==typeof e.secure?e.secure:"wss"===String(e.scheme).toLowerCase()}var le={scheme:"ws",domainHost:!0,parse:function(e,t){var f=e;return f.secure=de(f),f.resourceName=(f.path||"/")+(f.query?"?"+f.query:""),f.path=void 0,f.query=void 0,f},serialize:function(e,t){if(e.port!==(de(e)?443:80)&&""!==e.port||(e.port=void 0),"boolean"==typeof e.secure&&(e.scheme=e.secure?"wss":"ws",e.secure=void 0),e.resourceName){var f=e.resourceName.split("?"),r=u(f,2),n=r[0],a=r[1];e.path=n&&"/"!==n?n:void 0,e.query=a,e.resourceName=void 0}return e.fragment=void 0,e}},pe={scheme:"wss",domainHost:le.domainHost,parse:le.parse,serialize:le.serialize},be={},he="[A-Za-z0-9\\-\\.\\_\\~\\xA0-\\u200D\\u2010-\\u2029\\u202F-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFEF]",me="[0-9A-Fa-f]",ye=f(f("%[EFef]"+me+"%"+me+me+"%"+me+me)+"|"+f("%[89A-Fa-f]"+me+"%"+me+me)+"|"+f("%"+me+me)),ge="[A-Za-z0-9\\!\\$\\%\\'\\*\\+\\-\\^\\_\\`\\{\\|\\}\\~]",ve=t("[\\!\\$\\%\\'\\(\\)\\*\\+\\,\\-\\.0-9\\<\\>A-Z\\x5E-\\x7E]",'[\\"\\\\]'),_e="[\\!\\$\\'\\(\\)\\*\\+\\,\\;\\:\\@]",we=new RegExp(he,"g"),Ee=new RegExp(ye,"g"),Ae=new RegExp(t("[^]",ge,"[\\.]",'[\\"]',ve),"g"),Te=new RegExp(t("[^]",he,_e),"g"),xe=Te;function Se(e){var t=H(e);return t.match(we)?t:e}var ke={scheme:"mailto",parse:function(e,t){var f=e,r=f.to=f.path?f.path.split(","):[];if(f.path=void 0,f.query){for(var n=!1,a={},i=f.query.split("&"),o=0,s=i.length;o<s;++o){var c=i[o].split("=");switch(c[0]){case"to":for(var u=c[1].split(","),d=0,l=u.length;d<l;++d)r.push(u[d]);break;case"subject":f.subject=se(c[1],t);break;case"body":f.body=se(c[1],t);break;default:n=!0,a[se(c[0],t)]=se(c[1],t)}}n&&(f.headers=a)}f.query=void 0;for(var p=0,b=r.length;p<b;++p){var h=r[p].split("@");if(h[0]=se(h[0]),t.unicodeSupport)h[1]=se(h[1],t).toLowerCase();else try{h[1]=L.toASCII(se(h[1],t).toLowerCase())}catch(e){f.error=f.error||"Email address's domain name can not be converted to ASCII via punycode: "+e}r[p]=h.join("@")}return f},serialize:function(e,t){var f=e,r=a(e.to);if(r){for(var i=0,o=r.length;i<o;++i){var s=String(r[i]),c=s.lastIndexOf("@"),u=s.slice(0,c).replace(Ee,Se).replace(Ee,n).replace(Ae,q),d=s.slice(c+1);try{d=t.iri?L.toUnicode(d):L.toASCII(se(d,t).toLowerCase())}catch(e){f.error=f.error||"Email address's domain name can not be converted to "+(t.iri?"Unicode":"ASCII")+" via punycode: "+e}r[i]=u+"@"+d}f.path=r.join(",")}var l=e.headers=e.headers||{};e.subject&&(l.subject=e.subject),e.body&&(l.body=e.body);var p=[];for(var b in l)l[b]!==be[b]&&p.push(b.replace(Ee,Se).replace(Ee,n).replace(Te,q)+"="+l[b].replace(Ee,Se).replace(Ee,n).replace(xe,q));return p.length&&(f.query=p.join("&")),f}},Ce=/^([^\:]+)\:(.*)/,Oe={scheme:"urn",parse:function(e,t){var f=e.path&&e.path.match(Ce),r=e;if(f){var n=t.scheme||r.scheme||"urn",a=f[1].toLowerCase(),i=f[2],o=n+":"+(t.nid||a),s=U[o];r.nid=a,r.nss=i,r.path=void 0,s&&(r=s.parse(r,t))}else r.error=r.error||"URN can not be parsed.";return r},serialize:function(e,t){var f=t.scheme||e.scheme||"urn",r=e.nid,n=f+":"+(t.nid||r),a=U[n];a&&(e=a.serialize(e,t));var i=e,o=e.nss;return i.path=(r||t.nid)+":"+o,i}},Pe=/^[0-9A-Fa-f]{8}(?:\-[0-9A-Fa-f]{4}){3}\-[0-9A-Fa-f]{12}$/,Re={scheme:"urn:uuid",parse:function(e,t){var f=e;return f.uuid=f.nss,f.nss=void 0,t.tolerant||f.uuid&&f.uuid.match(Pe)||(f.error=f.error||"UUID is not valid."),f},serialize:function(e,t){var f=e;return f.nss=(e.uuid||"").toLowerCase(),f}};U[ce.scheme]=ce,U[ue.scheme]=ue,U[le.scheme]=le,U[pe.scheme]=pe,U[ke.scheme]=ke,U[Oe.scheme]=Oe,U[Re.scheme]=Re,e.SCHEMES=U,e.pctEncChar=q,e.pctDecChars=H,e.parse=Y,e.removeDotSegments=te,e.serialize=fe,e.resolveComponents=re,e.resolve=ne,e.normalize=ae,e.equal=ie,e.escapeComponent=oe,e.unescapeComponent=se,Object.defineProperty(e,"__esModule",{value:!0})}(t)},function(e,t,f){"use strict";e.exports=function(e){for(var t,f=0,r=e.length,n=0;n<r;)f++,(t=e.charCodeAt(n++))>=55296&&t<=56319&&n<r&&56320==(64512&(t=e.charCodeAt(n)))&&n++;return f}},function(e,t,f){"use strict";var r=e.exports=function(e,t,f){"function"==typeof t&&(f=t,t={}),n(t,"function"==typeof(f=t.cb||f)?f:f.pre||function(){},f.post||function(){},e,"",e)};function n(e,t,f,a,i,o,s,c,u,d){if(a&&"object"==typeof a&&!Array.isArray(a)){for(var l in t(a,i,o,s,c,u,d),a){var p=a[l];if(Array.isArray(p)){if(l in r.arrayKeywords)for(var b=0;b<p.length;b++)n(e,t,f,p[b],i+"/"+l+"/"+b,o,i,l,a,b)}else if(l in r.propsKeywords){if(p&&"object"==typeof p)for(var h in p)n(e,t,f,p[h],i+"/"+l+"/"+h.replace(/~/g,"~0").replace(/\//g,"~1"),o,i,l,a,h)}else(l in r.keywords||e.allKeys&&!(l in r.skipKeywords))&&n(e,t,f,p,i+"/"+l,o,i,l,a)}f(a,i,o,s,c,u,d)}}r.keywords={additionalItems:!0,items:!0,contains:!0,additionalProperties:!0,propertyNames:!0,not:!0},r.arrayKeywords={items:!0,allOf:!0,anyOf:!0,oneOf:!0},r.propsKeywords={definitions:!0,properties:!0,patternProperties:!0,dependencies:!0},r.skipKeywords={default:!0,enum:!0,const:!0,required:!0,maximum:!0,minimum:!0,exclusiveMaximum:!0,exclusiveMinimum:!0,multipleOf:!0,maxLength:!0,minLength:!0,pattern:!0,format:!0,maxItems:!0,minItems:!0,uniqueItems:!0,maxProperties:!0,minProperties:!0}},function(e,t,f){"use strict";var r=e.exports=function(){this._cache={}};r.prototype.put=function(e,t){this._cache[e]=t},r.prototype.get=function(e){return this._cache[e]},r.prototype.del=function(e){delete this._cache[e]},r.prototype.clear=function(){this._cache={}}},function(e,t,f){"use strict";var r=f(72),n=/^(\d\d\d\d)-(\d\d)-(\d\d)$/,a=[0,31,28,31,30,31,30,31,31,30,31,30,31],i=/^(\d\d):(\d\d):(\d\d)(\.\d+)?(z|[+-]\d\d(?::?\d\d)?)?$/i,o=/^(?=.{1,253}\.?$)[a-z0-9](?:[a-z0-9-]{0,61}[a-z0-9])?(?:\.[a-z0-9](?:[-0-9a-z]{0,61}[0-9a-z])?)*\.?$/i,s=/^(?:[a-z][a-z0-9+\-.]*:)(?:\/?\/(?:(?:[a-z0-9\-._~!$&'()*+,;=:]|%[0-9a-f]{2})*@)?(?:\[(?:(?:(?:(?:[0-9a-f]{1,4}:){6}|::(?:[0-9a-f]{1,4}:){5}|(?:[0-9a-f]{1,4})?::(?:[0-9a-f]{1,4}:){4}|(?:(?:[0-9a-f]{1,4}:){0,1}[0-9a-f]{1,4})?::(?:[0-9a-f]{1,4}:){3}|(?:(?:[0-9a-f]{1,4}:){0,2}[0-9a-f]{1,4})?::(?:[0-9a-f]{1,4}:){2}|(?:(?:[0-9a-f]{1,4}:){0,3}[0-9a-f]{1,4})?::[0-9a-f]{1,4}:|(?:(?:[0-9a-f]{1,4}:){0,4}[0-9a-f]{1,4})?::)(?:[0-9a-f]{1,4}:[0-9a-f]{1,4}|(?:(?:25[0-5]|2[0-4]\d|[01]?\d\d?)\.){3}(?:25[0-5]|2[0-4]\d|[01]?\d\d?))|(?:(?:[0-9a-f]{1,4}:){0,5}[0-9a-f]{1,4})?::[0-9a-f]{1,4}|(?:(?:[0-9a-f]{1,4}:){0,6}[0-9a-f]{1,4})?::)|[Vv][0-9a-f]+\.[a-z0-9\-._~!$&'()*+,;=:]+)\]|(?:(?:25[0-5]|2[0-4]\d|[01]?\d\d?)\.){3}(?:25[0-5]|2[0-4]\d|[01]?\d\d?)|(?:[a-z0-9\-._~!$&'()*+,;=]|%[0-9a-f]{2})*)(?::\d*)?(?:\/(?:[a-z0-9\-._~!$&'()*+,;=:@]|%[0-9a-f]{2})*)*|\/(?:(?:[a-z0-9\-._~!$&'()*+,;=:@]|%[0-9a-f]{2})+(?:\/(?:[a-z0-9\-._~!$&'()*+,;=:@]|%[0-9a-f]{2})*)*)?|(?:[a-z0-9\-._~!$&'()*+,;=:@]|%[0-9a-f]{2})+(?:\/(?:[a-z0-9\-._~!$&'()*+,;=:@]|%[0-9a-f]{2})*)*)(?:\?(?:[a-z0-9\-._~!$&'()*+,;=:@/?]|%[0-9a-f]{2})*)?(?:#(?:[a-z0-9\-._~!$&'()*+,;=:@/?]|%[0-9a-f]{2})*)?$/i,c=/^(?:(?:[^\x00-\x20"'<>%\\^`{|}]|%[0-9a-f]{2})|\{[+#./;?&=,!@|]?(?:[a-z0-9_]|%[0-9a-f]{2})+(?::[1-9][0-9]{0,3}|\*)?(?:,(?:[a-z0-9_]|%[0-9a-f]{2})+(?::[1-9][0-9]{0,3}|\*)?)*\})*$/i,u=/^(?:(?:http[s\u017F]?|ftp):\/\/)(?:(?:[\0-\x08\x0E-\x1F!-\x9F\xA1-\u167F\u1681-\u1FFF\u200B-\u2027\u202A-\u202E\u2030-\u205E\u2060-\u2FFF\u3001-\uD7FF\uE000-\uFEFE\uFF00-\uFFFF]|[\uD800-\uDBFF][\uDC00-\uDFFF]|[\uD800-\uDBFF](?![\uDC00-\uDFFF])|(?:[^\uD800-\uDBFF]|^)[\uDC00-\uDFFF])+(?::(?:[\0-\x08\x0E-\x1F!-\x9F\xA1-\u167F\u1681-\u1FFF\u200B-\u2027\u202A-\u202E\u2030-\u205E\u2060-\u2FFF\u3001-\uD7FF\uE000-\uFEFE\uFF00-\uFFFF]|[\uD800-\uDBFF][\uDC00-\uDFFF]|[\uD800-\uDBFF](?![\uDC00-\uDFFF])|(?:[^\uD800-\uDBFF]|^)[\uDC00-\uDFFF])*)?@)?(?:(?!10(?:\.[0-9]{1,3}){3})(?!127(?:\.[0-9]{1,3}){3})(?!169\.254(?:\.[0-9]{1,3}){2})(?!192\.168(?:\.[0-9]{1,3}){2})(?!172\.(?:1[6-9]|2[0-9]|3[01])(?:\.[0-9]{1,3}){2})(?:[1-9][0-9]?|1[0-9][0-9]|2[01][0-9]|22[0-3])(?:\.(?:1?[0-9]{1,2}|2[0-4][0-9]|25[0-5])){2}(?:\.(?:[1-9][0-9]?|1[0-9][0-9]|2[0-4][0-9]|25[0-4]))|(?:(?:(?:[0-9KSa-z\xA1-\uD7FF\uE000-\uFFFF]|[\uD800-\uDBFF](?![\uDC00-\uDFFF])|(?:[^\uD800-\uDBFF]|^)[\uDC00-\uDFFF])+-?)*(?:[0-9KSa-z\xA1-\uD7FF\uE000-\uFFFF]|[\uD800-\uDBFF](?![\uDC00-\uDFFF])|(?:[^\uD800-\uDBFF]|^)[\uDC00-\uDFFF])+)(?:\.(?:(?:[0-9KSa-z\xA1-\uD7FF\uE000-\uFFFF]|[\uD800-\uDBFF](?![\uDC00-\uDFFF])|(?:[^\uD800-\uDBFF]|^)[\uDC00-\uDFFF])+-?)*(?:[0-9KSa-z\xA1-\uD7FF\uE000-\uFFFF]|[\uD800-\uDBFF](?![\uDC00-\uDFFF])|(?:[^\uD800-\uDBFF]|^)[\uDC00-\uDFFF])+)*(?:\.(?:(?:[KSa-z\xA1-\uD7FF\uE000-\uFFFF]|[\uD800-\uDBFF](?![\uDC00-\uDFFF])|(?:[^\uD800-\uDBFF]|^)[\uDC00-\uDFFF]){2,})))(?::[0-9]{2,5})?(?:\/(?:[\0-\x08\x0E-\x1F!-\x9F\xA1-\u167F\u1681-\u1FFF\u200B-\u2027\u202A-\u202E\u2030-\u205E\u2060-\u2FFF\u3001-\uD7FF\uE000-\uFEFE\uFF00-\uFFFF]|[\uD800-\uDBFF][\uDC00-\uDFFF]|[\uD800-\uDBFF](?![\uDC00-\uDFFF])|(?:[^\uD800-\uDBFF]|^)[\uDC00-\uDFFF])*)?$/i,d=/^(?:urn:uuid:)?[0-9a-f]{8}-(?:[0-9a-f]{4}-){3}[0-9a-f]{12}$/i,l=/^(?:\/(?:[^~/]|~0|~1)*)*$/,p=/^#(?:\/(?:[a-z0-9_\-.!$&'()*+,;:=@]|%[0-9a-f]{2}|~0|~1)*)*$/i,b=/^(?:0|[1-9][0-9]*)(?:#|(?:\/(?:[^~/]|~0|~1)*)*)$/;function h(e){return e="full"==e?"full":"fast",r.copy(h[e])}function m(e){var t=e.match(n);if(!t)return!1;var f=+t[1],r=+t[2],i=+t[3];return r>=1&&r<=12&&i>=1&&i<=(2==r&&function(e){return e%4==0&&(e%100!=0||e%400==0)}(f)?29:a[r])}function y(e,t){var f=e.match(i);if(!f)return!1;var r=f[1],n=f[2],a=f[3],o=f[5];return(r<=23&&n<=59&&a<=59||23==r&&59==n&&60==a)&&(!t||o)}e.exports=h,h.fast={date:/^\d\d\d\d-[0-1]\d-[0-3]\d$/,time:/^(?:[0-2]\d:[0-5]\d:[0-5]\d|23:59:60)(?:\.\d+)?(?:z|[+-]\d\d(?::?\d\d)?)?$/i,"date-time":/^\d\d\d\d-[0-1]\d-[0-3]\d[t\s](?:[0-2]\d:[0-5]\d:[0-5]\d|23:59:60)(?:\.\d+)?(?:z|[+-]\d\d(?::?\d\d)?)$/i,uri:/^(?:[a-z][a-z0-9+-.]*:)(?:\/?\/)?[^\s]*$/i,"uri-reference":/^(?:(?:[a-z][a-z0-9+-.]*:)?\/?\/)?(?:[^\\\s#][^\s#]*)?(?:#[^\\\s]*)?$/i,"uri-template":c,url:u,email:/^[a-z0-9.!#$%&'*+/=?^_`{|}~-]+@[a-z0-9](?:[a-z0-9-]{0,61}[a-z0-9])?(?:\.[a-z0-9](?:[a-z0-9-]{0,61}[a-z0-9])?)*$/i,hostname:o,ipv4:/^(?:(?:25[0-5]|2[0-4]\d|[01]?\d\d?)\.){3}(?:25[0-5]|2[0-4]\d|[01]?\d\d?)$/,ipv6:/^\s*(?:(?:(?:[0-9a-f]{1,4}:){7}(?:[0-9a-f]{1,4}|:))|(?:(?:[0-9a-f]{1,4}:){6}(?::[0-9a-f]{1,4}|(?:(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(?:\.(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3})|:))|(?:(?:[0-9a-f]{1,4}:){5}(?:(?:(?::[0-9a-f]{1,4}){1,2})|:(?:(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(?:\.(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3})|:))|(?:(?:[0-9a-f]{1,4}:){4}(?:(?:(?::[0-9a-f]{1,4}){1,3})|(?:(?::[0-9a-f]{1,4})?:(?:(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(?:\.(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:))|(?:(?:[0-9a-f]{1,4}:){3}(?:(?:(?::[0-9a-f]{1,4}){1,4})|(?:(?::[0-9a-f]{1,4}){0,2}:(?:(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(?:\.(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:))|(?:(?:[0-9a-f]{1,4}:){2}(?:(?:(?::[0-9a-f]{1,4}){1,5})|(?:(?::[0-9a-f]{1,4}){0,3}:(?:(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(?:\.(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:))|(?:(?:[0-9a-f]{1,4}:){1}(?:(?:(?::[0-9a-f]{1,4}){1,6})|(?:(?::[0-9a-f]{1,4}){0,4}:(?:(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(?:\.(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:))|(?::(?:(?:(?::[0-9a-f]{1,4}){1,7})|(?:(?::[0-9a-f]{1,4}){0,5}:(?:(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(?:\.(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:)))(?:%.+)?\s*$/i,regex:w,uuid:d,"json-pointer":l,"json-pointer-uri-fragment":p,"relative-json-pointer":b},h.full={date:m,time:y,"date-time":function(e){var t=e.split(g);return 2==t.length&&m(t[0])&&y(t[1],!0)},uri:function(e){return v.test(e)&&s.test(e)},"uri-reference":/^(?:[a-z][a-z0-9+\-.]*:)?(?:\/?\/(?:(?:[a-z0-9\-._~!$&'()*+,;=:]|%[0-9a-f]{2})*@)?(?:\[(?:(?:(?:(?:[0-9a-f]{1,4}:){6}|::(?:[0-9a-f]{1,4}:){5}|(?:[0-9a-f]{1,4})?::(?:[0-9a-f]{1,4}:){4}|(?:(?:[0-9a-f]{1,4}:){0,1}[0-9a-f]{1,4})?::(?:[0-9a-f]{1,4}:){3}|(?:(?:[0-9a-f]{1,4}:){0,2}[0-9a-f]{1,4})?::(?:[0-9a-f]{1,4}:){2}|(?:(?:[0-9a-f]{1,4}:){0,3}[0-9a-f]{1,4})?::[0-9a-f]{1,4}:|(?:(?:[0-9a-f]{1,4}:){0,4}[0-9a-f]{1,4})?::)(?:[0-9a-f]{1,4}:[0-9a-f]{1,4}|(?:(?:25[0-5]|2[0-4]\d|[01]?\d\d?)\.){3}(?:25[0-5]|2[0-4]\d|[01]?\d\d?))|(?:(?:[0-9a-f]{1,4}:){0,5}[0-9a-f]{1,4})?::[0-9a-f]{1,4}|(?:(?:[0-9a-f]{1,4}:){0,6}[0-9a-f]{1,4})?::)|[Vv][0-9a-f]+\.[a-z0-9\-._~!$&'()*+,;=:]+)\]|(?:(?:25[0-5]|2[0-4]\d|[01]?\d\d?)\.){3}(?:25[0-5]|2[0-4]\d|[01]?\d\d?)|(?:[a-z0-9\-._~!$&'"()*+,;=]|%[0-9a-f]{2})*)(?::\d*)?(?:\/(?:[a-z0-9\-._~!$&'"()*+,;=:@]|%[0-9a-f]{2})*)*|\/(?:(?:[a-z0-9\-._~!$&'"()*+,;=:@]|%[0-9a-f]{2})+(?:\/(?:[a-z0-9\-._~!$&'"()*+,;=:@]|%[0-9a-f]{2})*)*)?|(?:[a-z0-9\-._~!$&'"()*+,;=:@]|%[0-9a-f]{2})+(?:\/(?:[a-z0-9\-._~!$&'"()*+,;=:@]|%[0-9a-f]{2})*)*)?(?:\?(?:[a-z0-9\-._~!$&'"()*+,;=:@/?]|%[0-9a-f]{2})*)?(?:#(?:[a-z0-9\-._~!$&'"()*+,;=:@/?]|%[0-9a-f]{2})*)?$/i,"uri-template":c,url:u,email:/^[a-z0-9!#$%&'*+/=?^_`{|}~-]+(?:\.[a-z0-9!#$%&'*+/=?^_`{|}~-]+)*@(?:[a-z0-9](?:[a-z0-9-]*[a-z0-9])?\.)+[a-z0-9](?:[a-z0-9-]*[a-z0-9])?$/i,hostname:o,ipv4:/^(?:(?:25[0-5]|2[0-4]\d|[01]?\d\d?)\.){3}(?:25[0-5]|2[0-4]\d|[01]?\d\d?)$/,ipv6:/^\s*(?:(?:(?:[0-9a-f]{1,4}:){7}(?:[0-9a-f]{1,4}|:))|(?:(?:[0-9a-f]{1,4}:){6}(?::[0-9a-f]{1,4}|(?:(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(?:\.(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3})|:))|(?:(?:[0-9a-f]{1,4}:){5}(?:(?:(?::[0-9a-f]{1,4}){1,2})|:(?:(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(?:\.(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3})|:))|(?:(?:[0-9a-f]{1,4}:){4}(?:(?:(?::[0-9a-f]{1,4}){1,3})|(?:(?::[0-9a-f]{1,4})?:(?:(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(?:\.(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:))|(?:(?:[0-9a-f]{1,4}:){3}(?:(?:(?::[0-9a-f]{1,4}){1,4})|(?:(?::[0-9a-f]{1,4}){0,2}:(?:(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(?:\.(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:))|(?:(?:[0-9a-f]{1,4}:){2}(?:(?:(?::[0-9a-f]{1,4}){1,5})|(?:(?::[0-9a-f]{1,4}){0,3}:(?:(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(?:\.(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:))|(?:(?:[0-9a-f]{1,4}:){1}(?:(?:(?::[0-9a-f]{1,4}){1,6})|(?:(?::[0-9a-f]{1,4}){0,4}:(?:(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(?:\.(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:))|(?::(?:(?:(?::[0-9a-f]{1,4}){1,7})|(?:(?::[0-9a-f]{1,4}){0,5}:(?:(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(?:\.(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:)))(?:%.+)?\s*$/i,regex:w,uuid:d,"json-pointer":l,"json-pointer-uri-fragment":p,"relative-json-pointer":b};var g=/t|\s/i;var v=/\/|:/;var _=/[^\\]\\Z/;function w(e){if(_.test(e))return!1;try{return new RegExp(e),!0}catch(e){return!1}}},function(e,t,f){"use strict";var r=f(714),n=f(72).toHash;e.exports=function(){var e=[{type:"number",rules:[{maximum:["exclusiveMaximum"]},{minimum:["exclusiveMinimum"]},"multipleOf","format"]},{type:"string",rules:["maxLength","minLength","pattern","format"]},{type:"array",rules:["maxItems","minItems","items","contains","uniqueItems"]},{type:"object",rules:["maxProperties","minProperties","required","dependencies","propertyNames",{properties:["additionalProperties","patternProperties"]}]},{rules:["$ref","const","enum","not","anyOf","oneOf","allOf","if"]}],t=["type","$comment"];return e.all=n(t),e.types=n(["number","integer","string","array","object","boolean","null"]),e.forEach((function(f){f.rules=f.rules.map((function(f){var n;if("object"==typeof f){var a=Object.keys(f)[0];n=f[a],f=a,n.forEach((function(f){t.push(f),e.all[f]=!0}))}return t.push(f),e.all[f]={keyword:f,code:r[f],implements:n}})),e.all.$comment={keyword:"$comment",code:r.$comment},f.type&&(e.types[f.type]=f)})),e.keywords=n(t.concat(["$schema","$id","id","$data","$async","title","description","default","definitions","examples","readOnly","writeOnly","contentMediaType","contentEncoding","additionalItems","then","else"])),e.custom={},e}},function(e,t,f){"use strict";e.exports={$ref:f(715),allOf:f(716),anyOf:f(717),$comment:f(718),const:f(719),contains:f(720),dependencies:f(721),enum:f(722),format:f(723),if:f(724),items:f(725),maximum:f(275),minimum:f(275),maxItems:f(276),minItems:f(276),maxLength:f(277),minLength:f(277),maxProperties:f(278),minProperties:f(278),multipleOf:f(726),not:f(727),oneOf:f(728),pattern:f(729),properties:f(730),propertyNames:f(731),required:f(732),uniqueItems:f(733),validate:f(274)}},function(e,t,f){"use strict";e.exports=function(e,t,f){var r,n,a=" ",i=e.level,o=e.dataLevel,s=e.schema[t],c=e.errSchemaPath+"/"+t,u=!e.opts.allErrors,d="data"+(o||""),l="valid"+i;if("#"==s||"#/"==s)e.isRoot?(r=e.async,n="validate"):(r=!0===e.root.schema.$async,n="root.refVal[0]");else{var p=e.resolveRef(e.baseId,s,e.isRoot);if(void 0===p){var b=e.MissingRefError.message(e.baseId,s);if("fail"==e.opts.missingRefs){e.logger.error(b),(g=g||[]).push(a),a="",!1!==e.createErrors?(a+=" { keyword: '$ref' , dataPath: (dataPath || '') + "+e.errorPath+" , schemaPath: "+e.util.toQuotedString(c)+" , params: { ref: '"+e.util.escapeQuotes(s)+"' } ",!1!==e.opts.messages&&(a+=" , message: 'can\\'t resolve reference "+e.util.escapeQuotes(s)+"' "),e.opts.verbose&&(a+=" , schema: "+e.util.toQuotedString(s)+" , parentSchema: validate.schema"+e.schemaPath+" , data: "+d+" "),a+=" } "):a+=" {} ";var h=a;a=g.pop(),!e.compositeRule&&u?e.async?a+=" throw new ValidationError(["+h+"]); ":a+=" validate.errors = ["+h+"]; return false; ":a+=" var err = "+h+"; if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; ",u&&(a+=" if (false) { ")}else{if("ignore"!=e.opts.missingRefs)throw new e.MissingRefError(e.baseId,s,b);e.logger.warn(b),u&&(a+=" if (true) { ")}}else if(p.inline){var m=e.util.copy(e);m.level++;var y="valid"+m.level;m.schema=p.schema,m.schemaPath="",m.errSchemaPath=s,a+=" "+e.validate(m).replace(/validate\.schema/g,p.code)+" ",u&&(a+=" if ("+y+") { ")}else r=!0===p.$async||e.async&&!1!==p.$async,n=p.code}if(n){var g;(g=g||[]).push(a),a="",e.opts.passContext?a+=" "+n+".call(this, ":a+=" "+n+"( ",a+=" "+d+", (dataPath || '')",'""'!=e.errorPath&&(a+=" + "+e.errorPath);var v=a+=" , "+(o?"data"+(o-1||""):"parentData")+" , "+(o?e.dataPathArr[o]:"parentDataProperty")+", rootData) ";if(a=g.pop(),r){if(!e.async)throw new Error("async schema referenced by sync schema");u&&(a+=" var "+l+"; "),a+=" try { await "+v+"; ",u&&(a+=" "+l+" = true; "),a+=" } catch (e) { if (!(e instanceof ValidationError)) throw e; if (vErrors === null) vErrors = e.errors; else vErrors = vErrors.concat(e.errors); errors = vErrors.length; ",u&&(a+=" "+l+" = false; "),a+=" } ",u&&(a+=" if ("+l+") { ")}else a+=" if (!"+v+") { if (vErrors === null) vErrors = "+n+".errors; else vErrors = vErrors.concat("+n+".errors); errors = vErrors.length; } ",u&&(a+=" else { ")}return a}},function(e,t,f){"use strict";e.exports=function(e,t,f){var r=" ",n=e.schema[t],a=e.schemaPath+e.util.getProperty(t),i=e.errSchemaPath+"/"+t,o=!e.opts.allErrors,s=e.util.copy(e),c="";s.level++;var u="valid"+s.level,d=s.baseId,l=!0,p=n;if(p)for(var b,h=-1,m=p.length-1;h<m;)b=p[h+=1],(e.opts.strictKeywords?"object"==typeof b&&Object.keys(b).length>0:e.util.schemaHasRules(b,e.RULES.all))&&(l=!1,s.schema=b,s.schemaPath=a+"["+h+"]",s.errSchemaPath=i+"/"+h,r+=" "+e.validate(s)+" ",s.baseId=d,o&&(r+=" if ("+u+") { ",c+="}"));return o&&(r+=l?" if (true) { ":" "+c.slice(0,-1)+" "),r}},function(e,t,f){"use strict";e.exports=function(e,t,f){var r=" ",n=e.level,a=e.dataLevel,i=e.schema[t],o=e.schemaPath+e.util.getProperty(t),s=e.errSchemaPath+"/"+t,c=!e.opts.allErrors,u="data"+(a||""),d="valid"+n,l="errs__"+n,p=e.util.copy(e),b="";p.level++;var h="valid"+p.level,m=i.every((function(t){return e.opts.strictKeywords?"object"==typeof t&&Object.keys(t).length>0:e.util.schemaHasRules(t,e.RULES.all)}));if(m){var y=p.baseId;r+=" var "+l+" = errors; var "+d+" = false; ";var g=e.compositeRule;e.compositeRule=p.compositeRule=!0;var v=i;if(v)for(var _,w=-1,E=v.length-1;w<E;)_=v[w+=1],p.schema=_,p.schemaPath=o+"["+w+"]",p.errSchemaPath=s+"/"+w,r+=" "+e.validate(p)+" ",p.baseId=y,r+=" "+d+" = "+d+" || "+h+"; if (!"+d+") { ",b+="}";e.compositeRule=p.compositeRule=g,r+=" "+b+" if (!"+d+") { var err = ",!1!==e.createErrors?(r+=" { keyword: 'anyOf' , dataPath: (dataPath || '') + "+e.errorPath+" , schemaPath: "+e.util.toQuotedString(s)+" , params: {} ",!1!==e.opts.messages&&(r+=" , message: 'should match some schema in anyOf' "),e.opts.verbose&&(r+=" , schema: validate.schema"+o+" , parentSchema: validate.schema"+e.schemaPath+" , data: "+u+" "),r+=" } "):r+=" {} ",r+="; if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; ",!e.compositeRule&&c&&(e.async?r+=" throw new ValidationError(vErrors); ":r+=" validate.errors = vErrors; return false; "),r+=" } else { errors = "+l+"; if (vErrors !== null) { if ("+l+") vErrors.length = "+l+"; else vErrors = null; } ",e.opts.allErrors&&(r+=" } ")}else c&&(r+=" if (true) { ");return r}},function(e,t,f){"use strict";e.exports=function(e,t,f){var r=" ",n=e.schema[t],a=e.errSchemaPath+"/"+t,i=(e.opts.allErrors,e.util.toQuotedString(n));return!0===e.opts.$comment?r+=" console.log("+i+");":"function"==typeof e.opts.$comment&&(r+=" self._opts.$comment("+i+", "+e.util.toQuotedString(a)+", validate.root.schema);"),r}},function(e,t,f){"use strict";e.exports=function(e,t,f){var r=" ",n=e.level,a=e.dataLevel,i=e.schema[t],o=e.schemaPath+e.util.getProperty(t),s=e.errSchemaPath+"/"+t,c=!e.opts.allErrors,u="data"+(a||""),d="valid"+n,l=e.opts.$data&&i&&i.$data;l&&(r+=" var schema"+n+" = "+e.util.getData(i.$data,a,e.dataPathArr)+"; "),l||(r+=" var schema"+n+" = validate.schema"+o+";"),r+="var "+d+" = equal("+u+", schema"+n+"); if (!"+d+") { ";var p=p||[];p.push(r),r="",!1!==e.createErrors?(r+=" { keyword: 'const' , dataPath: (dataPath || '') + "+e.errorPath+" , schemaPath: "+e.util.toQuotedString(s)+" , params: { allowedValue: schema"+n+" } ",!1!==e.opts.messages&&(r+=" , message: 'should be equal to constant' "),e.opts.verbose&&(r+=" , schema: validate.schema"+o+" , parentSchema: validate.schema"+e.schemaPath+" , data: "+u+" "),r+=" } "):r+=" {} ";var b=r;return r=p.pop(),!e.compositeRule&&c?e.async?r+=" throw new ValidationError(["+b+"]); ":r+=" validate.errors = ["+b+"]; return false; ":r+=" var err = "+b+"; if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; ",r+=" }",c&&(r+=" else { "),r}},function(e,t,f){"use strict";e.exports=function(e,t,f){var r=" ",n=e.level,a=e.dataLevel,i=e.schema[t],o=e.schemaPath+e.util.getProperty(t),s=e.errSchemaPath+"/"+t,c=!e.opts.allErrors,u="data"+(a||""),d="valid"+n,l="errs__"+n,p=e.util.copy(e);p.level++;var b="valid"+p.level,h="i"+n,m=p.dataLevel=e.dataLevel+1,y="data"+m,g=e.baseId,v=e.opts.strictKeywords?"object"==typeof i&&Object.keys(i).length>0:e.util.schemaHasRules(i,e.RULES.all);if(r+="var "+l+" = errors;var "+d+";",v){var _=e.compositeRule;e.compositeRule=p.compositeRule=!0,p.schema=i,p.schemaPath=o,p.errSchemaPath=s,r+=" var "+b+" = false; for (var "+h+" = 0; "+h+" < "+u+".length; "+h+"++) { ",p.errorPath=e.util.getPathExpr(e.errorPath,h,e.opts.jsonPointers,!0);var w=u+"["+h+"]";p.dataPathArr[m]=h;var E=e.validate(p);p.baseId=g,e.util.varOccurences(E,y)<2?r+=" "+e.util.varReplace(E,y,w)+" ":r+=" var "+y+" = "+w+"; "+E+" ",r+=" if ("+b+") break; } ",e.compositeRule=p.compositeRule=_,r+=" if (!"+b+") {"}else r+=" if ("+u+".length == 0) {";var A=A||[];A.push(r),r="",!1!==e.createErrors?(r+=" { keyword: 'contains' , dataPath: (dataPath || '') + "+e.errorPath+" , schemaPath: "+e.util.toQuotedString(s)+" , params: {} ",!1!==e.opts.messages&&(r+=" , message: 'should contain a valid item' "),e.opts.verbose&&(r+=" , schema: validate.schema"+o+" , parentSchema: validate.schema"+e.schemaPath+" , data: "+u+" "),r+=" } "):r+=" {} ";var T=r;return r=A.pop(),!e.compositeRule&&c?e.async?r+=" throw new ValidationError(["+T+"]); ":r+=" validate.errors = ["+T+"]; return false; ":r+=" var err = "+T+"; if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; ",r+=" } else { ",v&&(r+=" errors = "+l+"; if (vErrors !== null) { if ("+l+") vErrors.length = "+l+"; else vErrors = null; } "),e.opts.allErrors&&(r+=" } "),r}},function(e,t,f){"use strict";e.exports=function(e,t,f){var r=" ",n=e.level,a=e.dataLevel,i=e.schema[t],o=e.schemaPath+e.util.getProperty(t),s=e.errSchemaPath+"/"+t,c=!e.opts.allErrors,u="data"+(a||""),d="errs__"+n,l=e.util.copy(e),p="";l.level++;var b="valid"+l.level,h={},m={},y=e.opts.ownProperties;for(w in i)if("__proto__"!=w){var g=i[w],v=Array.isArray(g)?m:h;v[w]=g}r+="var "+d+" = errors;";var _=e.errorPath;for(var w in r+="var missing"+n+";",m)if((v=m[w]).length){if(r+=" if ( "+u+e.util.getProperty(w)+" !== undefined ",y&&(r+=" && Object.prototype.hasOwnProperty.call("+u+", '"+e.util.escapeQuotes(w)+"') "),c){r+=" && ( ";var E=v;if(E)for(var A=-1,T=E.length-1;A<T;){P=E[A+=1],A&&(r+=" || "),r+=" ( ( "+(D=u+(N=e.util.getProperty(P)))+" === undefined ",y&&(r+=" || ! Object.prototype.hasOwnProperty.call("+u+", '"+e.util.escapeQuotes(P)+"') "),r+=") && (missing"+n+" = "+e.util.toQuotedString(e.opts.jsonPointers?P:N)+") ) "}r+=")) { ";var x="missing"+n,S="' + "+x+" + '";e.opts._errorDataPathProperty&&(e.errorPath=e.opts.jsonPointers?e.util.getPathExpr(_,x,!0):_+" + "+x);var k=k||[];k.push(r),r="",!1!==e.createErrors?(r+=" { keyword: 'dependencies' , dataPath: (dataPath || '') + "+e.errorPath+" , schemaPath: "+e.util.toQuotedString(s)+" , params: { property: '"+e.util.escapeQuotes(w)+"', missingProperty: '"+S+"', depsCount: "+v.length+", deps: '"+e.util.escapeQuotes(1==v.length?v[0]:v.join(", "))+"' } ",!1!==e.opts.messages&&(r+=" , message: 'should have ",1==v.length?r+="property "+e.util.escapeQuotes(v[0]):r+="properties "+e.util.escapeQuotes(v.join(", ")),r+=" when property "+e.util.escapeQuotes(w)+" is present' "),e.opts.verbose&&(r+=" , schema: validate.schema"+o+" , parentSchema: validate.schema"+e.schemaPath+" , data: "+u+" "),r+=" } "):r+=" {} ";var C=r;r=k.pop(),!e.compositeRule&&c?e.async?r+=" throw new ValidationError(["+C+"]); ":r+=" validate.errors = ["+C+"]; return false; ":r+=" var err = "+C+"; if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; "}else{r+=" ) { ";var O=v;if(O)for(var P,R=-1,M=O.length-1;R<M;){P=O[R+=1];var N=e.util.getProperty(P),D=(S=e.util.escapeQuotes(P),u+N);e.opts._errorDataPathProperty&&(e.errorPath=e.util.getPath(_,P,e.opts.jsonPointers)),r+=" if ( "+D+" === undefined ",y&&(r+=" || ! Object.prototype.hasOwnProperty.call("+u+", '"+e.util.escapeQuotes(P)+"') "),r+=") { var err = ",!1!==e.createErrors?(r+=" { keyword: 'dependencies' , dataPath: (dataPath || '') + "+e.errorPath+" , schemaPath: "+e.util.toQuotedString(s)+" , params: { property: '"+e.util.escapeQuotes(w)+"', missingProperty: '"+S+"', depsCount: "+v.length+", deps: '"+e.util.escapeQuotes(1==v.length?v[0]:v.join(", "))+"' } ",!1!==e.opts.messages&&(r+=" , message: 'should have ",1==v.length?r+="property "+e.util.escapeQuotes(v[0]):r+="properties "+e.util.escapeQuotes(v.join(", ")),r+=" when property "+e.util.escapeQuotes(w)+" is present' "),e.opts.verbose&&(r+=" , schema: validate.schema"+o+" , parentSchema: validate.schema"+e.schemaPath+" , data: "+u+" "),r+=" } "):r+=" {} ",r+="; if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; } "}}r+=" } ",c&&(p+="}",r+=" else { ")}e.errorPath=_;var B=l.baseId;for(var w in h){g=h[w];(e.opts.strictKeywords?"object"==typeof g&&Object.keys(g).length>0:e.util.schemaHasRules(g,e.RULES.all))&&(r+=" "+b+" = true; if ( "+u+e.util.getProperty(w)+" !== undefined ",y&&(r+=" && Object.prototype.hasOwnProperty.call("+u+", '"+e.util.escapeQuotes(w)+"') "),r+=") { ",l.schema=g,l.schemaPath=o+e.util.getProperty(w),l.errSchemaPath=s+"/"+e.util.escapeFragment(w),r+=" "+e.validate(l)+" ",l.baseId=B,r+=" } ",c&&(r+=" if ("+b+") { ",p+="}"))}return c&&(r+=" "+p+" if ("+d+" == errors) {"),r}},function(e,t,f){"use strict";e.exports=function(e,t,f){var r=" ",n=e.level,a=e.dataLevel,i=e.schema[t],o=e.schemaPath+e.util.getProperty(t),s=e.errSchemaPath+"/"+t,c=!e.opts.allErrors,u="data"+(a||""),d="valid"+n,l=e.opts.$data&&i&&i.$data;l&&(r+=" var schema"+n+" = "+e.util.getData(i.$data,a,e.dataPathArr)+"; ");var p="i"+n,b="schema"+n;l||(r+=" var "+b+" = validate.schema"+o+";"),r+="var "+d+";",l&&(r+=" if (schema"+n+" === undefined) "+d+" = true; else if (!Array.isArray(schema"+n+")) "+d+" = false; else {"),r+=d+" = false;for (var "+p+"=0; "+p+"<"+b+".length; "+p+"++) if (equal("+u+", "+b+"["+p+"])) { "+d+" = true; break; }",l&&(r+=" } "),r+=" if (!"+d+") { ";var h=h||[];h.push(r),r="",!1!==e.createErrors?(r+=" { keyword: 'enum' , dataPath: (dataPath || '') + "+e.errorPath+" , schemaPath: "+e.util.toQuotedString(s)+" , params: { allowedValues: schema"+n+" } ",!1!==e.opts.messages&&(r+=" , message: 'should be equal to one of the allowed values' "),e.opts.verbose&&(r+=" , schema: validate.schema"+o+" , parentSchema: validate.schema"+e.schemaPath+" , data: "+u+" "),r+=" } "):r+=" {} ";var m=r;return r=h.pop(),!e.compositeRule&&c?e.async?r+=" throw new ValidationError(["+m+"]); ":r+=" validate.errors = ["+m+"]; return false; ":r+=" var err = "+m+"; if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; ",r+=" }",c&&(r+=" else { "),r}},function(e,t,f){"use strict";e.exports=function(e,t,f){var r=" ",n=e.level,a=e.dataLevel,i=e.schema[t],o=e.schemaPath+e.util.getProperty(t),s=e.errSchemaPath+"/"+t,c=!e.opts.allErrors,u="data"+(a||"");if(!1===e.opts.format)return c&&(r+=" if (true) { "),r;var d,l=e.opts.$data&&i&&i.$data;l?(r+=" var schema"+n+" = "+e.util.getData(i.$data,a,e.dataPathArr)+"; ",d="schema"+n):d=i;var p=e.opts.unknownFormats,b=Array.isArray(p);if(l){r+=" var "+(h="format"+n)+" = formats["+d+"]; var "+(m="isObject"+n)+" = typeof "+h+" == 'object' && !("+h+" instanceof RegExp) && "+h+".validate; var "+(y="formatType"+n)+" = "+m+" && "+h+".type || 'string'; if ("+m+") { ",e.async&&(r+=" var async"+n+" = "+h+".async; "),r+=" "+h+" = "+h+".validate; } if ( ",l&&(r+=" ("+d+" !== undefined && typeof "+d+" != 'string') || "),r+=" (","ignore"!=p&&(r+=" ("+d+" && !"+h+" ",b&&(r+=" && self._opts.unknownFormats.indexOf("+d+") == -1 "),r+=") || "),r+=" ("+h+" && "+y+" == '"+f+"' && !(typeof "+h+" == 'function' ? ",e.async?r+=" (async"+n+" ? await "+h+"("+u+") : "+h+"("+u+")) ":r+=" "+h+"("+u+") ",r+=" : "+h+".test("+u+"))))) {"}else{var h;if(!(h=e.formats[i])){if("ignore"==p)return e.logger.warn('unknown format "'+i+'" ignored in schema at path "'+e.errSchemaPath+'"'),c&&(r+=" if (true) { "),r;if(b&&p.indexOf(i)>=0)return c&&(r+=" if (true) { "),r;throw new Error('unknown format "'+i+'" is used in schema at path "'+e.errSchemaPath+'"')}var m,y=(m="object"==typeof h&&!(h instanceof RegExp)&&h.validate)&&h.type||"string";if(m){var g=!0===h.async;h=h.validate}if(y!=f)return c&&(r+=" if (true) { "),r;if(g){if(!e.async)throw new Error("async format in sync schema");r+=" if (!(await "+(v="formats"+e.util.getProperty(i)+".validate")+"("+u+"))) { "}else{r+=" if (! ";var v="formats"+e.util.getProperty(i);m&&(v+=".validate"),r+="function"==typeof h?" "+v+"("+u+") ":" "+v+".test("+u+") ",r+=") { "}}var _=_||[];_.push(r),r="",!1!==e.createErrors?(r+=" { keyword: 'format' , dataPath: (dataPath || '') + "+e.errorPath+" , schemaPath: "+e.util.toQuotedString(s)+" , params: { format: ",r+=l?""+d:""+e.util.toQuotedString(i),r+=" } ",!1!==e.opts.messages&&(r+=" , message: 'should match format \"",r+=l?"' + "+d+" + '":""+e.util.escapeQuotes(i),r+="\"' "),e.opts.verbose&&(r+=" , schema: ",r+=l?"validate.schema"+o:""+e.util.toQuotedString(i),r+=" , parentSchema: validate.schema"+e.schemaPath+" , data: "+u+" "),r+=" } "):r+=" {} ";var w=r;return r=_.pop(),!e.compositeRule&&c?e.async?r+=" throw new ValidationError(["+w+"]); ":r+=" validate.errors = ["+w+"]; return false; ":r+=" var err = "+w+"; if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; ",r+=" } ",c&&(r+=" else { "),r}},function(e,t,f){"use strict";e.exports=function(e,t,f){var r=" ",n=e.level,a=e.dataLevel,i=e.schema[t],o=e.schemaPath+e.util.getProperty(t),s=e.errSchemaPath+"/"+t,c=!e.opts.allErrors,u="data"+(a||""),d="valid"+n,l="errs__"+n,p=e.util.copy(e);p.level++;var b="valid"+p.level,h=e.schema.then,m=e.schema.else,y=void 0!==h&&(e.opts.strictKeywords?"object"==typeof h&&Object.keys(h).length>0:e.util.schemaHasRules(h,e.RULES.all)),g=void 0!==m&&(e.opts.strictKeywords?"object"==typeof m&&Object.keys(m).length>0:e.util.schemaHasRules(m,e.RULES.all)),v=p.baseId;if(y||g){var _;p.createErrors=!1,p.schema=i,p.schemaPath=o,p.errSchemaPath=s,r+=" var "+l+" = errors; var "+d+" = true; ";var w=e.compositeRule;e.compositeRule=p.compositeRule=!0,r+=" "+e.validate(p)+" ",p.baseId=v,p.createErrors=!0,r+=" errors = "+l+"; if (vErrors !== null) { if ("+l+") vErrors.length = "+l+"; else vErrors = null; } ",e.compositeRule=p.compositeRule=w,y?(r+=" if ("+b+") { ",p.schema=e.schema.then,p.schemaPath=e.schemaPath+".then",p.errSchemaPath=e.errSchemaPath+"/then",r+=" "+e.validate(p)+" ",p.baseId=v,r+=" "+d+" = "+b+"; ",y&&g?r+=" var "+(_="ifClause"+n)+" = 'then'; ":_="'then'",r+=" } ",g&&(r+=" else { ")):r+=" if (!"+b+") { ",g&&(p.schema=e.schema.else,p.schemaPath=e.schemaPath+".else",p.errSchemaPath=e.errSchemaPath+"/else",r+=" "+e.validate(p)+" ",p.baseId=v,r+=" "+d+" = "+b+"; ",y&&g?r+=" var "+(_="ifClause"+n)+" = 'else'; ":_="'else'",r+=" } "),r+=" if (!"+d+") { var err = ",!1!==e.createErrors?(r+=" { keyword: 'if' , dataPath: (dataPath || '') + "+e.errorPath+" , schemaPath: "+e.util.toQuotedString(s)+" , params: { failingKeyword: "+_+" } ",!1!==e.opts.messages&&(r+=" , message: 'should match \"' + "+_+" + '\" schema' "),e.opts.verbose&&(r+=" , schema: validate.schema"+o+" , parentSchema: validate.schema"+e.schemaPath+" , data: "+u+" "),r+=" } "):r+=" {} ",r+="; if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; ",!e.compositeRule&&c&&(e.async?r+=" throw new ValidationError(vErrors); ":r+=" validate.errors = vErrors; return false; "),r+=" } ",c&&(r+=" else { ")}else c&&(r+=" if (true) { ");return r}},function(e,t,f){"use strict";e.exports=function(e,t,f){var r=" ",n=e.level,a=e.dataLevel,i=e.schema[t],o=e.schemaPath+e.util.getProperty(t),s=e.errSchemaPath+"/"+t,c=!e.opts.allErrors,u="data"+(a||""),d="valid"+n,l="errs__"+n,p=e.util.copy(e),b="";p.level++;var h="valid"+p.level,m="i"+n,y=p.dataLevel=e.dataLevel+1,g="data"+y,v=e.baseId;if(r+="var "+l+" = errors;var "+d+";",Array.isArray(i)){var _=e.schema.additionalItems;if(!1===_){r+=" "+d+" = "+u+".length <= "+i.length+"; ";var w=s;s=e.errSchemaPath+"/additionalItems",r+=" if (!"+d+") { ";var E=E||[];E.push(r),r="",!1!==e.createErrors?(r+=" { keyword: 'additionalItems' , dataPath: (dataPath || '') + "+e.errorPath+" , schemaPath: "+e.util.toQuotedString(s)+" , params: { limit: "+i.length+" } ",!1!==e.opts.messages&&(r+=" , message: 'should NOT have more than "+i.length+" items' "),e.opts.verbose&&(r+=" , schema: false , parentSchema: validate.schema"+e.schemaPath+" , data: "+u+" "),r+=" } "):r+=" {} ";var A=r;r=E.pop(),!e.compositeRule&&c?e.async?r+=" throw new ValidationError(["+A+"]); ":r+=" validate.errors = ["+A+"]; return false; ":r+=" var err = "+A+"; if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; ",r+=" } ",s=w,c&&(b+="}",r+=" else { ")}var T=i;if(T)for(var x,S=-1,k=T.length-1;S<k;)if(x=T[S+=1],e.opts.strictKeywords?"object"==typeof x&&Object.keys(x).length>0:e.util.schemaHasRules(x,e.RULES.all)){r+=" "+h+" = true; if ("+u+".length > "+S+") { ";var C=u+"["+S+"]";p.schema=x,p.schemaPath=o+"["+S+"]",p.errSchemaPath=s+"/"+S,p.errorPath=e.util.getPathExpr(e.errorPath,S,e.opts.jsonPointers,!0),p.dataPathArr[y]=S;var O=e.validate(p);p.baseId=v,e.util.varOccurences(O,g)<2?r+=" "+e.util.varReplace(O,g,C)+" ":r+=" var "+g+" = "+C+"; "+O+" ",r+=" } ",c&&(r+=" if ("+h+") { ",b+="}")}if("object"==typeof _&&(e.opts.strictKeywords?"object"==typeof _&&Object.keys(_).length>0:e.util.schemaHasRules(_,e.RULES.all))){p.schema=_,p.schemaPath=e.schemaPath+".additionalItems",p.errSchemaPath=e.errSchemaPath+"/additionalItems",r+=" "+h+" = true; if ("+u+".length > "+i.length+") { for (var "+m+" = "+i.length+"; "+m+" < "+u+".length; "+m+"++) { ",p.errorPath=e.util.getPathExpr(e.errorPath,m,e.opts.jsonPointers,!0);C=u+"["+m+"]";p.dataPathArr[y]=m;O=e.validate(p);p.baseId=v,e.util.varOccurences(O,g)<2?r+=" "+e.util.varReplace(O,g,C)+" ":r+=" var "+g+" = "+C+"; "+O+" ",c&&(r+=" if (!"+h+") break; "),r+=" } } ",c&&(r+=" if ("+h+") { ",b+="}")}}else if(e.opts.strictKeywords?"object"==typeof i&&Object.keys(i).length>0:e.util.schemaHasRules(i,e.RULES.all)){p.schema=i,p.schemaPath=o,p.errSchemaPath=s,r+=" for (var "+m+" = 0; "+m+" < "+u+".length; "+m+"++) { ",p.errorPath=e.util.getPathExpr(e.errorPath,m,e.opts.jsonPointers,!0);C=u+"["+m+"]";p.dataPathArr[y]=m;O=e.validate(p);p.baseId=v,e.util.varOccurences(O,g)<2?r+=" "+e.util.varReplace(O,g,C)+" ":r+=" var "+g+" = "+C+"; "+O+" ",c&&(r+=" if (!"+h+") break; "),r+=" }"}return c&&(r+=" "+b+" if ("+l+" == errors) {"),r}},function(e,t,f){"use strict";e.exports=function(e,t,f){var r,n=" ",a=e.level,i=e.dataLevel,o=e.schema[t],s=e.schemaPath+e.util.getProperty(t),c=e.errSchemaPath+"/"+t,u=!e.opts.allErrors,d="data"+(i||""),l=e.opts.$data&&o&&o.$data;if(l?(n+=" var schema"+a+" = "+e.util.getData(o.$data,i,e.dataPathArr)+"; ",r="schema"+a):r=o,!l&&"number"!=typeof o)throw new Error(t+" must be number");n+="var division"+a+";if (",l&&(n+=" "+r+" !== undefined && ( typeof "+r+" != 'number' || "),n+=" (division"+a+" = "+d+" / "+r+", ",e.opts.multipleOfPrecision?n+=" Math.abs(Math.round(division"+a+") - division"+a+") > 1e-"+e.opts.multipleOfPrecision+" ":n+=" division"+a+" !== parseInt(division"+a+") ",n+=" ) ",l&&(n+=" ) "),n+=" ) { ";var p=p||[];p.push(n),n="",!1!==e.createErrors?(n+=" { keyword: 'multipleOf' , dataPath: (dataPath || '') + "+e.errorPath+" , schemaPath: "+e.util.toQuotedString(c)+" , params: { multipleOf: "+r+" } ",!1!==e.opts.messages&&(n+=" , message: 'should be multiple of ",n+=l?"' + "+r:r+"'"),e.opts.verbose&&(n+=" , schema: ",n+=l?"validate.schema"+s:""+o,n+=" , parentSchema: validate.schema"+e.schemaPath+" , data: "+d+" "),n+=" } "):n+=" {} ";var b=n;return n=p.pop(),!e.compositeRule&&u?e.async?n+=" throw new ValidationError(["+b+"]); ":n+=" validate.errors = ["+b+"]; return false; ":n+=" var err = "+b+"; if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; ",n+="} ",u&&(n+=" else { "),n}},function(e,t,f){"use strict";e.exports=function(e,t,f){var r=" ",n=e.level,a=e.dataLevel,i=e.schema[t],o=e.schemaPath+e.util.getProperty(t),s=e.errSchemaPath+"/"+t,c=!e.opts.allErrors,u="data"+(a||""),d="errs__"+n,l=e.util.copy(e);l.level++;var p="valid"+l.level;if(e.opts.strictKeywords?"object"==typeof i&&Object.keys(i).length>0:e.util.schemaHasRules(i,e.RULES.all)){l.schema=i,l.schemaPath=o,l.errSchemaPath=s,r+=" var "+d+" = errors; ";var b,h=e.compositeRule;e.compositeRule=l.compositeRule=!0,l.createErrors=!1,l.opts.allErrors&&(b=l.opts.allErrors,l.opts.allErrors=!1),r+=" "+e.validate(l)+" ",l.createErrors=!0,b&&(l.opts.allErrors=b),e.compositeRule=l.compositeRule=h,r+=" if ("+p+") { ";var m=m||[];m.push(r),r="",!1!==e.createErrors?(r+=" { keyword: 'not' , dataPath: (dataPath || '') + "+e.errorPath+" , schemaPath: "+e.util.toQuotedString(s)+" , params: {} ",!1!==e.opts.messages&&(r+=" , message: 'should NOT be valid' "),e.opts.verbose&&(r+=" , schema: validate.schema"+o+" , parentSchema: validate.schema"+e.schemaPath+" , data: "+u+" "),r+=" } "):r+=" {} ";var y=r;r=m.pop(),!e.compositeRule&&c?e.async?r+=" throw new ValidationError(["+y+"]); ":r+=" validate.errors = ["+y+"]; return false; ":r+=" var err = "+y+"; if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; ",r+=" } else { errors = "+d+"; if (vErrors !== null) { if ("+d+") vErrors.length = "+d+"; else vErrors = null; } ",e.opts.allErrors&&(r+=" } ")}else r+=" var err = ",!1!==e.createErrors?(r+=" { keyword: 'not' , dataPath: (dataPath || '') + "+e.errorPath+" , schemaPath: "+e.util.toQuotedString(s)+" , params: {} ",!1!==e.opts.messages&&(r+=" , message: 'should NOT be valid' "),e.opts.verbose&&(r+=" , schema: validate.schema"+o+" , parentSchema: validate.schema"+e.schemaPath+" , data: "+u+" "),r+=" } "):r+=" {} ",r+="; if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; ",c&&(r+=" if (false) { ");return r}},function(e,t,f){"use strict";e.exports=function(e,t,f){var r=" ",n=e.level,a=e.dataLevel,i=e.schema[t],o=e.schemaPath+e.util.getProperty(t),s=e.errSchemaPath+"/"+t,c=!e.opts.allErrors,u="data"+(a||""),d="valid"+n,l="errs__"+n,p=e.util.copy(e),b="";p.level++;var h="valid"+p.level,m=p.baseId,y="prevValid"+n,g="passingSchemas"+n;r+="var "+l+" = errors , "+y+" = false , "+d+" = false , "+g+" = null; ";var v=e.compositeRule;e.compositeRule=p.compositeRule=!0;var _=i;if(_)for(var w,E=-1,A=_.length-1;E<A;)w=_[E+=1],(e.opts.strictKeywords?"object"==typeof w&&Object.keys(w).length>0:e.util.schemaHasRules(w,e.RULES.all))?(p.schema=w,p.schemaPath=o+"["+E+"]",p.errSchemaPath=s+"/"+E,r+=" "+e.validate(p)+" ",p.baseId=m):r+=" var "+h+" = true; ",E&&(r+=" if ("+h+" && "+y+") { "+d+" = false; "+g+" = ["+g+", "+E+"]; } else { ",b+="}"),r+=" if ("+h+") { "+d+" = "+y+" = true; "+g+" = "+E+"; }";return e.compositeRule=p.compositeRule=v,r+=b+"if (!"+d+") { var err = ",!1!==e.createErrors?(r+=" { keyword: 'oneOf' , dataPath: (dataPath || '') + "+e.errorPath+" , schemaPath: "+e.util.toQuotedString(s)+" , params: { passingSchemas: "+g+" } ",!1!==e.opts.messages&&(r+=" , message: 'should match exactly one schema in oneOf' "),e.opts.verbose&&(r+=" , schema: validate.schema"+o+" , parentSchema: validate.schema"+e.schemaPath+" , data: "+u+" "),r+=" } "):r+=" {} ",r+="; if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; ",!e.compositeRule&&c&&(e.async?r+=" throw new ValidationError(vErrors); ":r+=" validate.errors = vErrors; return false; "),r+="} else { errors = "+l+"; if (vErrors !== null) { if ("+l+") vErrors.length = "+l+"; else vErrors = null; }",e.opts.allErrors&&(r+=" } "),r}},function(e,t,f){"use strict";e.exports=function(e,t,f){var r,n=" ",a=e.level,i=e.dataLevel,o=e.schema[t],s=e.schemaPath+e.util.getProperty(t),c=e.errSchemaPath+"/"+t,u=!e.opts.allErrors,d="data"+(i||""),l=e.opts.$data&&o&&o.$data;l?(n+=" var schema"+a+" = "+e.util.getData(o.$data,i,e.dataPathArr)+"; ",r="schema"+a):r=o,n+="if ( ",l&&(n+=" ("+r+" !== undefined && typeof "+r+" != 'string') || "),n+=" !"+(l?"(new RegExp("+r+"))":e.usePattern(o))+".test("+d+") ) { ";var p=p||[];p.push(n),n="",!1!==e.createErrors?(n+=" { keyword: 'pattern' , dataPath: (dataPath || '') + "+e.errorPath+" , schemaPath: "+e.util.toQuotedString(c)+" , params: { pattern: ",n+=l?""+r:""+e.util.toQuotedString(o),n+=" } ",!1!==e.opts.messages&&(n+=" , message: 'should match pattern \"",n+=l?"' + "+r+" + '":""+e.util.escapeQuotes(o),n+="\"' "),e.opts.verbose&&(n+=" , schema: ",n+=l?"validate.schema"+s:""+e.util.toQuotedString(o),n+=" , parentSchema: validate.schema"+e.schemaPath+" , data: "+d+" "),n+=" } "):n+=" {} ";var b=n;return n=p.pop(),!e.compositeRule&&u?e.async?n+=" throw new ValidationError(["+b+"]); ":n+=" validate.errors = ["+b+"]; return false; ":n+=" var err = "+b+"; if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; ",n+="} ",u&&(n+=" else { "),n}},function(e,t,f){"use strict";e.exports=function(e,t,f){var r=" ",n=e.level,a=e.dataLevel,i=e.schema[t],o=e.schemaPath+e.util.getProperty(t),s=e.errSchemaPath+"/"+t,c=!e.opts.allErrors,u="data"+(a||""),d="errs__"+n,l=e.util.copy(e),p="";l.level++;var b="valid"+l.level,h="key"+n,m="idx"+n,y=l.dataLevel=e.dataLevel+1,g="data"+y,v="dataProperties"+n,_=Object.keys(i||{}).filter(N),w=e.schema.patternProperties||{},E=Object.keys(w).filter(N),A=e.schema.additionalProperties,T=_.length||E.length,x=!1===A,S="object"==typeof A&&Object.keys(A).length,k=e.opts.removeAdditional,C=x||S||k,O=e.opts.ownProperties,P=e.baseId,R=e.schema.required;if(R&&(!e.opts.$data||!R.$data)&&R.length<e.opts.loopRequired)var M=e.util.toHash(R);function N(e){return"__proto__"!==e}if(r+="var "+d+" = errors;var "+b+" = true;",O&&(r+=" var "+v+" = undefined;"),C){if(r+=O?" "+v+" = "+v+" || Object.keys("+u+"); for (var "+m+"=0; "+m+"<"+v+".length; "+m+"++) { var "+h+" = "+v+"["+m+"]; ":" for (var "+h+" in "+u+") { ",T){if(r+=" var isAdditional"+n+" = !(false ",_.length)if(_.length>8)r+=" || validate.schema"+o+".hasOwnProperty("+h+") ";else{var D=_;if(D)for(var B=-1,I=D.length-1;B<I;)Y=D[B+=1],r+=" || "+h+" == "+e.util.toQuotedString(Y)+" "}if(E.length){var F=E;if(F)for(var j=-1,L=F.length-1;j<L;)ae=F[j+=1],r+=" || "+e.usePattern(ae)+".test("+h+") "}r+=" ); if (isAdditional"+n+") { "}if("all"==k)r+=" delete "+u+"["+h+"]; ";else{var U=e.errorPath,q="' + "+h+" + '";if(e.opts._errorDataPathProperty&&(e.errorPath=e.util.getPathExpr(e.errorPath,h,e.opts.jsonPointers)),x)if(k)r+=" delete "+u+"["+h+"]; ";else{r+=" "+b+" = false; ";var H=s;s=e.errSchemaPath+"/additionalProperties",(fe=fe||[]).push(r),r="",!1!==e.createErrors?(r+=" { keyword: 'additionalProperties' , dataPath: (dataPath || '') + "+e.errorPath+" , schemaPath: "+e.util.toQuotedString(s)+" , params: { additionalProperty: '"+q+"' } ",!1!==e.opts.messages&&(r+=" , message: '",e.opts._errorDataPathProperty?r+="is an invalid additional property":r+="should NOT have additional properties",r+="' "),e.opts.verbose&&(r+=" , schema: false , parentSchema: validate.schema"+e.schemaPath+" , data: "+u+" "),r+=" } "):r+=" {} ";var z=r;r=fe.pop(),!e.compositeRule&&c?e.async?r+=" throw new ValidationError(["+z+"]); ":r+=" validate.errors = ["+z+"]; return false; ":r+=" var err = "+z+"; if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; ",s=H,c&&(r+=" break; ")}else if(S)if("failing"==k){r+=" var "+d+" = errors; ";var V=e.compositeRule;e.compositeRule=l.compositeRule=!0,l.schema=A,l.schemaPath=e.schemaPath+".additionalProperties",l.errSchemaPath=e.errSchemaPath+"/additionalProperties",l.errorPath=e.opts._errorDataPathProperty?e.errorPath:e.util.getPathExpr(e.errorPath,h,e.opts.jsonPointers);var K=u+"["+h+"]";l.dataPathArr[y]=h;var G=e.validate(l);l.baseId=P,e.util.varOccurences(G,g)<2?r+=" "+e.util.varReplace(G,g,K)+" ":r+=" var "+g+" = "+K+"; "+G+" ",r+=" if (!"+b+") { errors = "+d+"; if (validate.errors !== null) { if (errors) validate.errors.length = errors; else validate.errors = null; } delete "+u+"["+h+"]; } ",e.compositeRule=l.compositeRule=V}else{l.schema=A,l.schemaPath=e.schemaPath+".additionalProperties",l.errSchemaPath=e.errSchemaPath+"/additionalProperties",l.errorPath=e.opts._errorDataPathProperty?e.errorPath:e.util.getPathExpr(e.errorPath,h,e.opts.jsonPointers);K=u+"["+h+"]";l.dataPathArr[y]=h;G=e.validate(l);l.baseId=P,e.util.varOccurences(G,g)<2?r+=" "+e.util.varReplace(G,g,K)+" ":r+=" var "+g+" = "+K+"; "+G+" ",c&&(r+=" if (!"+b+") break; ")}e.errorPath=U}T&&(r+=" } "),r+=" } ",c&&(r+=" if ("+b+") { ",p+="}")}var W=e.opts.useDefaults&&!e.compositeRule;if(_.length){var $=_;if($)for(var Y,J=-1,X=$.length-1;J<X;){var Z=i[Y=$[J+=1]];if(e.opts.strictKeywords?"object"==typeof Z&&Object.keys(Z).length>0:e.util.schemaHasRules(Z,e.RULES.all)){var Q=e.util.getProperty(Y),ee=(K=u+Q,W&&void 0!==Z.default);l.schema=Z,l.schemaPath=o+Q,l.errSchemaPath=s+"/"+e.util.escapeFragment(Y),l.errorPath=e.util.getPath(e.errorPath,Y,e.opts.jsonPointers),l.dataPathArr[y]=e.util.toQuotedString(Y);G=e.validate(l);if(l.baseId=P,e.util.varOccurences(G,g)<2){G=e.util.varReplace(G,g,K);var te=K}else{te=g;r+=" var "+g+" = "+K+"; "}if(ee)r+=" "+G+" ";else{if(M&&M[Y]){r+=" if ( "+te+" === undefined ",O&&(r+=" || ! Object.prototype.hasOwnProperty.call("+u+", '"+e.util.escapeQuotes(Y)+"') "),r+=") { "+b+" = false; ";U=e.errorPath,H=s;var fe,re=e.util.escapeQuotes(Y);e.opts._errorDataPathProperty&&(e.errorPath=e.util.getPath(U,Y,e.opts.jsonPointers)),s=e.errSchemaPath+"/required",(fe=fe||[]).push(r),r="",!1!==e.createErrors?(r+=" { keyword: 'required' , dataPath: (dataPath || '') + "+e.errorPath+" , schemaPath: "+e.util.toQuotedString(s)+" , params: { missingProperty: '"+re+"' } ",!1!==e.opts.messages&&(r+=" , message: '",e.opts._errorDataPathProperty?r+="is a required property":r+="should have required property \\'"+re+"\\'",r+="' "),e.opts.verbose&&(r+=" , schema: validate.schema"+o+" , parentSchema: validate.schema"+e.schemaPath+" , data: "+u+" "),r+=" } "):r+=" {} ";z=r;r=fe.pop(),!e.compositeRule&&c?e.async?r+=" throw new ValidationError(["+z+"]); ":r+=" validate.errors = ["+z+"]; return false; ":r+=" var err = "+z+"; if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; ",s=H,e.errorPath=U,r+=" } else { "}else c?(r+=" if ( "+te+" === undefined ",O&&(r+=" || ! Object.prototype.hasOwnProperty.call("+u+", '"+e.util.escapeQuotes(Y)+"') "),r+=") { "+b+" = true; } else { "):(r+=" if ("+te+" !== undefined ",O&&(r+=" && Object.prototype.hasOwnProperty.call("+u+", '"+e.util.escapeQuotes(Y)+"') "),r+=" ) { ");r+=" "+G+" } "}}c&&(r+=" if ("+b+") { ",p+="}")}}if(E.length){var ne=E;if(ne)for(var ae,ie=-1,oe=ne.length-1;ie<oe;){Z=w[ae=ne[ie+=1]];if(e.opts.strictKeywords?"object"==typeof Z&&Object.keys(Z).length>0:e.util.schemaHasRules(Z,e.RULES.all)){l.schema=Z,l.schemaPath=e.schemaPath+".patternProperties"+e.util.getProperty(ae),l.errSchemaPath=e.errSchemaPath+"/patternProperties/"+e.util.escapeFragment(ae),r+=O?" "+v+" = "+v+" || Object.keys("+u+"); for (var "+m+"=0; "+m+"<"+v+".length; "+m+"++) { var "+h+" = "+v+"["+m+"]; ":" for (var "+h+" in "+u+") { ",r+=" if ("+e.usePattern(ae)+".test("+h+")) { ",l.errorPath=e.util.getPathExpr(e.errorPath,h,e.opts.jsonPointers);K=u+"["+h+"]";l.dataPathArr[y]=h;G=e.validate(l);l.baseId=P,e.util.varOccurences(G,g)<2?r+=" "+e.util.varReplace(G,g,K)+" ":r+=" var "+g+" = "+K+"; "+G+" ",c&&(r+=" if (!"+b+") break; "),r+=" } ",c&&(r+=" else "+b+" = true; "),r+=" } ",c&&(r+=" if ("+b+") { ",p+="}")}}}return c&&(r+=" "+p+" if ("+d+" == errors) {"),r}},function(e,t,f){"use strict";e.exports=function(e,t,f){var r=" ",n=e.level,a=e.dataLevel,i=e.schema[t],o=e.schemaPath+e.util.getProperty(t),s=e.errSchemaPath+"/"+t,c=!e.opts.allErrors,u="data"+(a||""),d="errs__"+n,l=e.util.copy(e);l.level++;var p="valid"+l.level;if(r+="var "+d+" = errors;",e.opts.strictKeywords?"object"==typeof i&&Object.keys(i).length>0:e.util.schemaHasRules(i,e.RULES.all)){l.schema=i,l.schemaPath=o,l.errSchemaPath=s;var b="key"+n,h="idx"+n,m="i"+n,y="' + "+b+" + '",g="data"+(l.dataLevel=e.dataLevel+1),v="dataProperties"+n,_=e.opts.ownProperties,w=e.baseId;_&&(r+=" var "+v+" = undefined; "),r+=_?" "+v+" = "+v+" || Object.keys("+u+"); for (var "+h+"=0; "+h+"<"+v+".length; "+h+"++) { var "+b+" = "+v+"["+h+"]; ":" for (var "+b+" in "+u+") { ",r+=" var startErrs"+n+" = errors; ";var E=b,A=e.compositeRule;e.compositeRule=l.compositeRule=!0;var T=e.validate(l);l.baseId=w,e.util.varOccurences(T,g)<2?r+=" "+e.util.varReplace(T,g,E)+" ":r+=" var "+g+" = "+E+"; "+T+" ",e.compositeRule=l.compositeRule=A,r+=" if (!"+p+") { for (var "+m+"=startErrs"+n+"; "+m+"<errors; "+m+"++) { vErrors["+m+"].propertyName = "+b+"; } var err = ",!1!==e.createErrors?(r+=" { keyword: 'propertyNames' , dataPath: (dataPath || '') + "+e.errorPath+" , schemaPath: "+e.util.toQuotedString(s)+" , params: { propertyName: '"+y+"' } ",!1!==e.opts.messages&&(r+=" , message: 'property name \\'"+y+"\\' is invalid' "),e.opts.verbose&&(r+=" , schema: validate.schema"+o+" , parentSchema: validate.schema"+e.schemaPath+" , data: "+u+" "),r+=" } "):r+=" {} ",r+="; if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; ",!e.compositeRule&&c&&(e.async?r+=" throw new ValidationError(vErrors); ":r+=" validate.errors = vErrors; return false; "),c&&(r+=" break; "),r+=" } }"}return c&&(r+=" if ("+d+" == errors) {"),r}},function(e,t,f){"use strict";e.exports=function(e,t,f){var r=" ",n=e.level,a=e.dataLevel,i=e.schema[t],o=e.schemaPath+e.util.getProperty(t),s=e.errSchemaPath+"/"+t,c=!e.opts.allErrors,u="data"+(a||""),d="valid"+n,l=e.opts.$data&&i&&i.$data;l&&(r+=" var schema"+n+" = "+e.util.getData(i.$data,a,e.dataPathArr)+"; ");var p="schema"+n;if(!l)if(i.length<e.opts.loopRequired&&e.schema.properties&&Object.keys(e.schema.properties).length){var b=[],h=i;if(h)for(var m,y=-1,g=h.length-1;y<g;){m=h[y+=1];var v=e.schema.properties[m];v&&(e.opts.strictKeywords?"object"==typeof v&&Object.keys(v).length>0:e.util.schemaHasRules(v,e.RULES.all))||(b[b.length]=m)}}else b=i;if(l||b.length){var _=e.errorPath,w=l||b.length>=e.opts.loopRequired,E=e.opts.ownProperties;if(c)if(r+=" var missing"+n+"; ",w){l||(r+=" var "+p+" = validate.schema"+o+"; ");var A="' + "+(O="schema"+n+"["+(S="i"+n)+"]")+" + '";e.opts._errorDataPathProperty&&(e.errorPath=e.util.getPathExpr(_,O,e.opts.jsonPointers)),r+=" var "+d+" = true; ",l&&(r+=" if (schema"+n+" === undefined) "+d+" = true; else if (!Array.isArray(schema"+n+")) "+d+" = false; else {"),r+=" for (var "+S+" = 0; "+S+" < "+p+".length; "+S+"++) { "+d+" = "+u+"["+p+"["+S+"]] !== undefined ",E&&(r+=" && Object.prototype.hasOwnProperty.call("+u+", "+p+"["+S+"]) "),r+="; if (!"+d+") break; } ",l&&(r+=" } "),r+=" if (!"+d+") { ",(C=C||[]).push(r),r="",!1!==e.createErrors?(r+=" { keyword: 'required' , dataPath: (dataPath || '') + "+e.errorPath+" , schemaPath: "+e.util.toQuotedString(s)+" , params: { missingProperty: '"+A+"' } ",!1!==e.opts.messages&&(r+=" , message: '",e.opts._errorDataPathProperty?r+="is a required property":r+="should have required property \\'"+A+"\\'",r+="' "),e.opts.verbose&&(r+=" , schema: validate.schema"+o+" , parentSchema: validate.schema"+e.schemaPath+" , data: "+u+" "),r+=" } "):r+=" {} ";var T=r;r=C.pop(),!e.compositeRule&&c?e.async?r+=" throw new ValidationError(["+T+"]); ":r+=" validate.errors = ["+T+"]; return false; ":r+=" var err = "+T+"; if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; ",r+=" } else { "}else{r+=" if ( ";var x=b;if(x)for(var S=-1,k=x.length-1;S<k;){R=x[S+=1],S&&(r+=" || "),r+=" ( ( "+(B=u+(D=e.util.getProperty(R)))+" === undefined ",E&&(r+=" || ! Object.prototype.hasOwnProperty.call("+u+", '"+e.util.escapeQuotes(R)+"') "),r+=") && (missing"+n+" = "+e.util.toQuotedString(e.opts.jsonPointers?R:D)+") ) "}r+=") { ";var C;A="' + "+(O="missing"+n)+" + '";e.opts._errorDataPathProperty&&(e.errorPath=e.opts.jsonPointers?e.util.getPathExpr(_,O,!0):_+" + "+O),(C=C||[]).push(r),r="",!1!==e.createErrors?(r+=" { keyword: 'required' , dataPath: (dataPath || '') + "+e.errorPath+" , schemaPath: "+e.util.toQuotedString(s)+" , params: { missingProperty: '"+A+"' } ",!1!==e.opts.messages&&(r+=" , message: '",e.opts._errorDataPathProperty?r+="is a required property":r+="should have required property \\'"+A+"\\'",r+="' "),e.opts.verbose&&(r+=" , schema: validate.schema"+o+" , parentSchema: validate.schema"+e.schemaPath+" , data: "+u+" "),r+=" } "):r+=" {} ";T=r;r=C.pop(),!e.compositeRule&&c?e.async?r+=" throw new ValidationError(["+T+"]); ":r+=" validate.errors = ["+T+"]; return false; ":r+=" var err = "+T+"; if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; ",r+=" } else { "}else if(w){l||(r+=" var "+p+" = validate.schema"+o+"; ");var O;A="' + "+(O="schema"+n+"["+(S="i"+n)+"]")+" + '";e.opts._errorDataPathProperty&&(e.errorPath=e.util.getPathExpr(_,O,e.opts.jsonPointers)),l&&(r+=" if ("+p+" && !Array.isArray("+p+")) { var err = ",!1!==e.createErrors?(r+=" { keyword: 'required' , dataPath: (dataPath || '') + "+e.errorPath+" , schemaPath: "+e.util.toQuotedString(s)+" , params: { missingProperty: '"+A+"' } ",!1!==e.opts.messages&&(r+=" , message: '",e.opts._errorDataPathProperty?r+="is a required property":r+="should have required property \\'"+A+"\\'",r+="' "),e.opts.verbose&&(r+=" , schema: validate.schema"+o+" , parentSchema: validate.schema"+e.schemaPath+" , data: "+u+" "),r+=" } "):r+=" {} ",r+="; if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; } else if ("+p+" !== undefined) { "),r+=" for (var "+S+" = 0; "+S+" < "+p+".length; "+S+"++) { if ("+u+"["+p+"["+S+"]] === undefined ",E&&(r+=" || ! Object.prototype.hasOwnProperty.call("+u+", "+p+"["+S+"]) "),r+=") { var err = ",!1!==e.createErrors?(r+=" { keyword: 'required' , dataPath: (dataPath || '') + "+e.errorPath+" , schemaPath: "+e.util.toQuotedString(s)+" , params: { missingProperty: '"+A+"' } ",!1!==e.opts.messages&&(r+=" , message: '",e.opts._errorDataPathProperty?r+="is a required property":r+="should have required property \\'"+A+"\\'",r+="' "),e.opts.verbose&&(r+=" , schema: validate.schema"+o+" , parentSchema: validate.schema"+e.schemaPath+" , data: "+u+" "),r+=" } "):r+=" {} ",r+="; if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; } } ",l&&(r+=" } ")}else{var P=b;if(P)for(var R,M=-1,N=P.length-1;M<N;){R=P[M+=1];var D=e.util.getProperty(R),B=(A=e.util.escapeQuotes(R),u+D);e.opts._errorDataPathProperty&&(e.errorPath=e.util.getPath(_,R,e.opts.jsonPointers)),r+=" if ( "+B+" === undefined ",E&&(r+=" || ! Object.prototype.hasOwnProperty.call("+u+", '"+e.util.escapeQuotes(R)+"') "),r+=") { var err = ",!1!==e.createErrors?(r+=" { keyword: 'required' , dataPath: (dataPath || '') + "+e.errorPath+" , schemaPath: "+e.util.toQuotedString(s)+" , params: { missingProperty: '"+A+"' } ",!1!==e.opts.messages&&(r+=" , message: '",e.opts._errorDataPathProperty?r+="is a required property":r+="should have required property \\'"+A+"\\'",r+="' "),e.opts.verbose&&(r+=" , schema: validate.schema"+o+" , parentSchema: validate.schema"+e.schemaPath+" , data: "+u+" "),r+=" } "):r+=" {} ",r+="; if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; } "}}e.errorPath=_}else c&&(r+=" if (true) {");return r}},function(e,t,f){"use strict";e.exports=function(e,t,f){var r,n=" ",a=e.level,i=e.dataLevel,o=e.schema[t],s=e.schemaPath+e.util.getProperty(t),c=e.errSchemaPath+"/"+t,u=!e.opts.allErrors,d="data"+(i||""),l="valid"+a,p=e.opts.$data&&o&&o.$data;if(p?(n+=" var schema"+a+" = "+e.util.getData(o.$data,i,e.dataPathArr)+"; ",r="schema"+a):r=o,(o||p)&&!1!==e.opts.uniqueItems){p&&(n+=" var "+l+"; if ("+r+" === false || "+r+" === undefined) "+l+" = true; else if (typeof "+r+" != 'boolean') "+l+" = false; else { "),n+=" var i = "+d+".length , "+l+" = true , j; if (i > 1) { ";var b=e.schema.items&&e.schema.items.type,h=Array.isArray(b);if(!b||"object"==b||"array"==b||h&&(b.indexOf("object")>=0||b.indexOf("array")>=0))n+=" outer: for (;i--;) { for (j = i; j--;) { if (equal("+d+"[i], "+d+"[j])) { "+l+" = false; break outer; } } } ";else{n+=" var itemIndices = {}, item; for (;i--;) { var item = "+d+"[i]; ";var m="checkDataType"+(h?"s":"");n+=" if ("+e.util[m](b,"item",e.opts.strictNumbers,!0)+") continue; ",h&&(n+=" if (typeof item == 'string') item = '\"' + item; "),n+=" if (typeof itemIndices[item] == 'number') { "+l+" = false; j = itemIndices[item]; break; } itemIndices[item] = i; } "}n+=" } ",p&&(n+=" } "),n+=" if (!"+l+") { ";var y=y||[];y.push(n),n="",!1!==e.createErrors?(n+=" { keyword: 'uniqueItems' , dataPath: (dataPath || '') + "+e.errorPath+" , schemaPath: "+e.util.toQuotedString(c)+" , params: { i: i, j: j } ",!1!==e.opts.messages&&(n+=" , message: 'should NOT have duplicate items (items ## ' + j + ' and ' + i + ' are identical)' "),e.opts.verbose&&(n+=" , schema: ",n+=p?"validate.schema"+s:""+o,n+=" , parentSchema: validate.schema"+e.schemaPath+" , data: "+d+" "),n+=" } "):n+=" {} ";var g=n;n=y.pop(),!e.compositeRule&&u?e.async?n+=" throw new ValidationError(["+g+"]); ":n+=" validate.errors = ["+g+"]; return false; ":n+=" var err = "+g+"; if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; ",n+=" } ",u&&(n+=" else { ")}else u&&(n+=" if (true) { ");return n}},function(e,t,f){"use strict";var r=["multipleOf","maximum","exclusiveMaximum","minimum","exclusiveMinimum","maxLength","minLength","pattern","additionalItems","maxItems","minItems","uniqueItems","maxProperties","minProperties","required","additionalProperties","enum","format","const"];e.exports=function(e,t){for(var f=0;f<t.length;f++){e=JSON.parse(JSON.stringify(e));var n,a=t[f].split("/"),i=e;for(n=1;n<a.length;n++)i=i[a[n]];for(n=0;n<r.length;n++){var o=r[n],s=i[o];s&&(i[o]={anyOf:[s,{$ref:"https://raw.githubusercontent.com/ajv-validator/ajv/master/lib/refs/data.json#"}]})}}return e}},function(e,t,f){"use strict";var r=f(156).MissingRef;e.exports=function e(t,f,n){var a=this;if("function"!=typeof this._opts.loadSchema)throw new Error("options.loadSchema should be a function");"function"==typeof f&&(n=f,f=void 0);var i=o(t).then((function(){var e=a._addSchema(t,void 0,f);return e.validate||s(e)}));n&&i.then((function(e){n(null,e)}),n);return i;function o(t){var f=t.$schema;return f&&!a.getSchema(f)?e.call(a,{$ref:f},!0):Promise.resolve()}function s(e){try{return a._compile(e)}catch(t){if(t instanceof r)return function(t){var r=t.missingSchema;if(c(r))throw new Error("Schema "+r+" is loaded but "+t.missingRef+" cannot be resolved");var n=a._loadingSchemas[r];n||(n=a._loadingSchemas[r]=a._opts.loadSchema(r)).then(i,i);return n.then((function(e){if(!c(r))return o(e).then((function(){c(r)||a.addSchema(e,r,void 0,f)}))})).then((function(){return s(e)}));function i(){delete a._loadingSchemas[r]}function c(e){return a._refs[e]||a._schemas[e]}}(t);throw t}}}},function(e,t,f){"use strict";var r=/^[a-z_$][a-z0-9_$-]*$/i,n=f(737),a=f(738);e.exports={add:function(e,t){var f=this.RULES;if(f.keywords[e])throw new Error("Keyword "+e+" is already defined");if(!r.test(e))throw new Error("Keyword "+e+" is not a valid identifier");if(t){this.validateKeyword(t,!0);var a=t.type;if(Array.isArray(a))for(var i=0;i<a.length;i++)s(e,a[i],t);else s(e,a,t);var o=t.metaSchema;o&&(t.$data&&this._opts.$data&&(o={anyOf:[o,{$ref:"https://raw.githubusercontent.com/ajv-validator/ajv/master/lib/refs/data.json#"}]}),t.validateSchema=this.compile(o,!0))}function s(e,t,r){for(var a,i=0;i<f.length;i++){var o=f[i];if(o.type==t){a=o;break}}a||(a={type:t,rules:[]},f.push(a));var s={keyword:e,definition:r,custom:!0,code:n,implements:r.implements};a.rules.push(s),f.custom[e]=s}return f.keywords[e]=f.all[e]=!0,this},get:function(e){var t=this.RULES.custom[e];return t?t.definition:this.RULES.keywords[e]||!1},remove:function(e){var t=this.RULES;delete t.keywords[e],delete t.all[e],delete t.custom[e];for(var f=0;f<t.length;f++)for(var r=t[f].rules,n=0;n<r.length;n++)if(r[n].keyword==e){r.splice(n,1);break}return this},validate:function e(t,f){e.errors=null;var r=this._validateKeyword=this._validateKeyword||this.compile(a,!0);if(r(t))return!0;if(e.errors=r.errors,f)throw new Error("custom keyword definition is invalid: "+this.errorsText(r.errors));return!1}}},function(e,t,f){"use strict";e.exports=function(e,t,f){var r,n,a=" ",i=e.level,o=e.dataLevel,s=e.schema[t],c=e.schemaPath+e.util.getProperty(t),u=e.errSchemaPath+"/"+t,d=!e.opts.allErrors,l="data"+(o||""),p="valid"+i,b="errs__"+i,h=e.opts.$data&&s&&s.$data;h?(a+=" var schema"+i+" = "+e.util.getData(s.$data,o,e.dataPathArr)+"; ",n="schema"+i):n=s;var m,y,g,v,_,w=this,E="definition"+i,A=w.definition,T="";if(h&&A.$data){_="keywordValidate"+i;var x=A.validateSchema;a+=" var "+E+" = RULES.custom['"+t+"'].definition; var "+_+" = "+E+".validate;"}else{if(!(v=e.useCustomRule(w,s,e.schema,e)))return;n="validate.schema"+c,_=v.code,m=A.compile,y=A.inline,g=A.macro}var S=_+".errors",k="i"+i,C="ruleErr"+i,O=A.async;if(O&&!e.async)throw new Error("async keyword in sync schema");if(y||g||(a+=S+" = null;"),a+="var "+b+" = errors;var "+p+";",h&&A.$data&&(T+="}",a+=" if ("+n+" === undefined) { "+p+" = true; } else { ",x&&(T+="}",a+=" "+p+" = "+E+".validateSchema("+n+"); if ("+p+") { ")),y)A.statements?a+=" "+v.validate+" ":a+=" "+p+" = "+v.validate+"; ";else if(g){var P=e.util.copy(e);T="";P.level++;var R="valid"+P.level;P.schema=v.validate,P.schemaPath="";var M=e.compositeRule;e.compositeRule=P.compositeRule=!0;var N=e.validate(P).replace(/validate\.schema/g,_);e.compositeRule=P.compositeRule=M,a+=" "+N}else{(F=F||[]).push(a),a="",a+=" "+_+".call( ",e.opts.passContext?a+="this":a+="self",m||!1===A.schema?a+=" , "+l+" ":a+=" , "+n+" , "+l+" , validate.schema"+e.schemaPath+" ",a+=" , (dataPath || '')",'""'!=e.errorPath&&(a+=" + "+e.errorPath);var D=o?"data"+(o-1||""):"parentData",B=o?e.dataPathArr[o]:"parentDataProperty",I=a+=" , "+D+" , "+B+" , rootData ) ";a=F.pop(),!1===A.errors?(a+=" "+p+" = ",O&&(a+="await "),a+=I+"; "):a+=O?" var "+(S="customErrors"+i)+" = null; try { "+p+" = await "+I+"; } catch (e) { "+p+" = false; if (e instanceof ValidationError) "+S+" = e.errors; else throw e; } ":" "+S+" = null; "+p+" = "+I+"; "}if(A.modifying&&(a+=" if ("+D+") "+l+" = "+D+"["+B+"];"),a+=""+T,A.valid)d&&(a+=" if (true) { ");else{var F;a+=" if ( ",void 0===A.valid?(a+=" !",a+=g?""+R:""+p):a+=" "+!A.valid+" ",a+=") { ",r=w.keyword,(F=F||[]).push(a),a="",(F=F||[]).push(a),a="",!1!==e.createErrors?(a+=" { keyword: '"+(r||"custom")+"' , dataPath: (dataPath || '') + "+e.errorPath+" , schemaPath: "+e.util.toQuotedString(u)+" , params: { keyword: '"+w.keyword+"' } ",!1!==e.opts.messages&&(a+=" , message: 'should pass \""+w.keyword+"\" keyword validation' "),e.opts.verbose&&(a+=" , schema: validate.schema"+c+" , parentSchema: validate.schema"+e.schemaPath+" , data: "+l+" "),a+=" } "):a+=" {} ";var j=a;a=F.pop(),!e.compositeRule&&d?e.async?a+=" throw new ValidationError(["+j+"]); ":a+=" validate.errors = ["+j+"]; return false; ":a+=" var err = "+j+"; if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; ";var L=a;a=F.pop(),y?A.errors?"full"!=A.errors&&(a+=" for (var "+k+"="+b+"; "+k+"<errors; "+k+"++) { var "+C+" = vErrors["+k+"]; if ("+C+".dataPath === undefined) "+C+".dataPath = (dataPath || '') + "+e.errorPath+"; if ("+C+".schemaPath === undefined) { "+C+'.schemaPath = "'+u+'"; } ',e.opts.verbose&&(a+=" "+C+".schema = "+n+"; "+C+".data = "+l+"; "),a+=" } "):!1===A.errors?a+=" "+L+" ":(a+=" if ("+b+" == errors) { "+L+" } else { for (var "+k+"="+b+"; "+k+"<errors; "+k+"++) { var "+C+" = vErrors["+k+"]; if ("+C+".dataPath === undefined) "+C+".dataPath = (dataPath || '') + "+e.errorPath+"; if ("+C+".schemaPath === undefined) { "+C+'.schemaPath = "'+u+'"; } ',e.opts.verbose&&(a+=" "+C+".schema = "+n+"; "+C+".data = "+l+"; "),a+=" } } "):g?(a+=" var err = ",!1!==e.createErrors?(a+=" { keyword: '"+(r||"custom")+"' , dataPath: (dataPath || '') + "+e.errorPath+" , schemaPath: "+e.util.toQuotedString(u)+" , params: { keyword: '"+w.keyword+"' } ",!1!==e.opts.messages&&(a+=" , message: 'should pass \""+w.keyword+"\" keyword validation' "),e.opts.verbose&&(a+=" , schema: validate.schema"+c+" , parentSchema: validate.schema"+e.schemaPath+" , data: "+l+" "),a+=" } "):a+=" {} ",a+="; if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; ",!e.compositeRule&&d&&(e.async?a+=" throw new ValidationError(vErrors); ":a+=" validate.errors = vErrors; return false; ")):!1===A.errors?a+=" "+L+" ":(a+=" if (Array.isArray("+S+")) { if (vErrors === null) vErrors = "+S+"; else vErrors = vErrors.concat("+S+"); errors = vErrors.length; for (var "+k+"="+b+"; "+k+"<errors; "+k+"++) { var "+C+" = vErrors["+k+"]; if ("+C+".dataPath === undefined) "+C+".dataPath = (dataPath || '') + "+e.errorPath+"; "+C+'.schemaPath = "'+u+'"; ',e.opts.verbose&&(a+=" "+C+".schema = "+n+"; "+C+".data = "+l+"; "),a+=" } } else { "+L+" } "),a+=" } ",d&&(a+=" else { ")}return a}},function(e,t,f){"use strict";var r=f(279);e.exports={$id:"https://github.com/ajv-validator/ajv/blob/master/lib/definition_schema.js",definitions:{simpleTypes:r.definitions.simpleTypes},type:"object",dependencies:{schema:["validate"],$data:["validate"],statements:["inline"],valid:{not:{required:["macro"]}}},properties:{type:r.properties.type,schema:{type:"boolean"},statements:{type:"boolean"},dependencies:{type:"array",items:{type:"string"}},metaSchema:{type:"object"},modifying:{type:"boolean"},valid:{type:"boolean"},$data:{type:"boolean"},async:{type:"boolean"},errors:{anyOf:[{type:"boolean"},{const:"full"}]}}}},function(e){e.exports=JSON.parse('{"$schema":"http://json-schema.org/draft-07/schema#","$id":"https://raw.githubusercontent.com/ajv-validator/ajv/master/lib/refs/data.json#","description":"Meta-schema for $data reference (JSON Schema extension proposal)","type":"object","required":["$data"],"properties":{"$data":{"type":"string","anyOf":[{"format":"relative-json-pointer"},{"format":"json-pointer"}]}},"additionalProperties":false}')},function(e){e.exports=JSON.parse('{"$schema":"http://json-schema.org/draft-06/schema#","$id":"http://json-schema.org/draft-06/schema#","title":"Core schema meta-schema","definitions":{"schemaArray":{"type":"array","minItems":1,"items":{"$ref":"#"}},"nonNegativeInteger":{"type":"integer","minimum":0},"nonNegativeIntegerDefault0":{"allOf":[{"$ref":"#/definitions/nonNegativeInteger"},{"default":0}]},"simpleTypes":{"enum":["array","boolean","integer","null","number","object","string"]},"stringArray":{"type":"array","items":{"type":"string"},"uniqueItems":true,"default":[]}},"type":["object","boolean"],"properties":{"$id":{"type":"string","format":"uri-reference"},"$schema":{"type":"string","format":"uri"},"$ref":{"type":"string","format":"uri-reference"},"title":{"type":"string"},"description":{"type":"string"},"default":{},"examples":{"type":"array","items":{}},"multipleOf":{"type":"number","exclusiveMinimum":0},"maximum":{"type":"number"},"exclusiveMaximum":{"type":"number"},"minimum":{"type":"number"},"exclusiveMinimum":{"type":"number"},"maxLength":{"$ref":"#/definitions/nonNegativeInteger"},"minLength":{"$ref":"#/definitions/nonNegativeIntegerDefault0"},"pattern":{"type":"string","format":"regex"},"additionalItems":{"$ref":"#"},"items":{"anyOf":[{"$ref":"#"},{"$ref":"#/definitions/schemaArray"}],"default":{}},"maxItems":{"$ref":"#/definitions/nonNegativeInteger"},"minItems":{"$ref":"#/definitions/nonNegativeIntegerDefault0"},"uniqueItems":{"type":"boolean","default":false},"contains":{"$ref":"#"},"maxProperties":{"$ref":"#/definitions/nonNegativeInteger"},"minProperties":{"$ref":"#/definitions/nonNegativeIntegerDefault0"},"required":{"$ref":"#/definitions/stringArray"},"additionalProperties":{"$ref":"#"},"definitions":{"type":"object","additionalProperties":{"$ref":"#"},"default":{}},"properties":{"type":"object","additionalProperties":{"$ref":"#"},"default":{}},"patternProperties":{"type":"object","additionalProperties":{"$ref":"#"},"default":{}},"dependencies":{"type":"object","additionalProperties":{"anyOf":[{"$ref":"#"},{"$ref":"#/definitions/stringArray"}]}},"propertyNames":{"$ref":"#"},"const":{},"enum":{"type":"array","minItems":1,"uniqueItems":true},"type":{"anyOf":[{"$ref":"#/definitions/simpleTypes"},{"type":"array","items":{"$ref":"#/definitions/simpleTypes"},"minItems":1,"uniqueItems":true}]},"format":{"type":"string"},"allOf":{"$ref":"#/definitions/schemaArray"},"anyOf":{"$ref":"#/definitions/schemaArray"},"oneOf":{"$ref":"#/definitions/schemaArray"},"not":{"$ref":"#"}},"default":{}}')},function(e){e.exports=JSON.parse('{"$id":"http://json-schema.org/address","$schema":"http://json-schema.org/draft-06/schema#","description":"An Address following the convention of http://microformats.org/wiki/hcard","type":"object","properties":{"post-office-box":{"type":"string"},"extended-address":{"type":"string"},"street-address":{"type":"string"},"locality":{"type":"string"},"region":{"type":"string"},"postal-code":{"type":"string"},"country-name":{"type":"string"}},"dependencies":{"post-office-box":["street-address"],"extended-address":["street-address"]}}')},function(e,t,f){"use strict";Object.defineProperty(t,"__esModule",{value:!0});const r={rnf_invoice:{"0.0.1":f(743),"0.0.2":f(744),"0.0.3":f(745)}};t.default=r},function(e){e.exports=JSON.parse('{"$schema":"http://json-schema.org/draft-07/schema#","description":"Request Network Format of an invoice","type":"object","additionalProperties":false,"required":["meta","invoiceNumber","creationDate","invoiceItems"],"properties":{"meta":{"description":"Meta information about the format","type":"object","additionalProperties":false,"required":["format","version"],"properties":{"format":{"const":"rnf_invoice"},"version":{"const":"0.0.1"}}},"creationDate":{"type":"string","format":"date-time"},"invoiceNumber":{"type":"string"},"purchaseOrderId":{"type":"string"},"note":{"type":"string"},"terms":{"type":"string"},"sellerInfo":{"description":"Seller information","type":"object","additionalProperties":false,"properties":{"email":{"type":"string","format":"email"},"firstName":{"type":"string"},"lastName":{"type":"string"},"businessName":{"type":"string"},"phone":{"type":"string"},"address":{"$ref":"http://json-schema.org/address"},"taxRegistration":{"type":"string"},"companyRegistration":{"type":"string"},"miscellaneous":{"type":"object"}}},"buyerInfo":{"description":"Buyer information","type":"object","additionalProperties":false,"properties":{"email":{"type":"string","format":"email"},"firstName":{"type":"string"},"lastName":{"type":"string"},"businessName":{"type":"string"},"phone":{"type":"string"},"address":{"$ref":"http://json-schema.org/address"},"taxRegistration":{"type":"string"},"miscellaneous":{"type":"object"}}},"invoiceItems":{"type":"array","items":{"type":"object","additionalProperties":false,"required":["name","quantity","unitPrice","taxPercent","currency"],"properties":{"name":{"type":"string"},"reference":{"type":"string"},"quantity":{"type":"number","minimum":0},"unitPrice":{"type":"number","minimum":0},"discount":{"type":"number"},"taxPercent":{"type":"number"},"currency":{"type":"string","minLength":2},"deliveryDate":{"type":"string","format":"date-time"},"deliveryPeriod":{"type":"string"}}}},"paymentTerms":{"description":"Payment terms","type":"object","additionalProperties":false,"properties":{"dueDate":{"type":"string","format":"date-time"},"lateFeesPercent":{"type":"number"},"lateFeesFix":{"type":"number"},"miscellaneous":{"type":"object"}}},"miscellaneous":{"type":"object"}}}')},function(e){e.exports=JSON.parse('{"$schema":"http://json-schema.org/draft-07/schema#","description":"Request Network Format of an invoice","type":"object","additionalProperties":false,"required":["meta","invoiceNumber","creationDate","invoiceItems"],"properties":{"meta":{"description":"Meta information about the format","type":"object","additionalProperties":false,"required":["format","version"],"properties":{"format":{"const":"rnf_invoice"},"version":{"const":"0.0.2"}}},"creationDate":{"type":"string","format":"date-time"},"invoiceNumber":{"type":"string"},"purchaseOrderId":{"type":"string"},"note":{"type":"string"},"terms":{"type":"string"},"sellerInfo":{"description":"Seller information","type":"object","additionalProperties":false,"properties":{"email":{"type":"string","format":"email"},"firstName":{"type":"string"},"lastName":{"type":"string"},"businessName":{"type":"string"},"phone":{"type":"string"},"address":{"$ref":"http://json-schema.org/address"},"taxRegistration":{"type":"string"},"companyRegistration":{"type":"string"},"miscellaneous":{"type":"object"}}},"buyerInfo":{"description":"Buyer information","type":"object","additionalProperties":false,"properties":{"email":{"type":"string","format":"email"},"firstName":{"type":"string"},"lastName":{"type":"string"},"businessName":{"type":"string"},"phone":{"type":"string"},"address":{"$ref":"http://json-schema.org/address"},"taxRegistration":{"type":"string"},"companyRegistration":{"type":"string"},"miscellaneous":{"type":"object"}}},"invoiceItems":{"type":"array","items":{"type":"object","additionalProperties":false,"required":["name","quantity","unitPrice","taxPercent","currency"],"properties":{"name":{"type":"string"},"reference":{"type":"string"},"quantity":{"type":"number","minimum":0},"unitPrice":{"type":"string","pattern":"^\\\\d+$"},"discount":{"type":"string","pattern":"^\\\\d+$"},"taxPercent":{"type":"number"},"currency":{"type":"string","minLength":2},"deliveryDate":{"type":"string","format":"date-time"},"deliveryPeriod":{"type":"string"}}}},"paymentTerms":{"description":"Payment terms","type":"object","additionalProperties":false,"properties":{"dueDate":{"type":"string","format":"date-time"},"lateFeesPercent":{"type":"number"},"lateFeesFix":{"type":"string","pattern":"^\\\\d+$"},"miscellaneous":{"type":"object"}}},"miscellaneous":{"type":"object"}}}')},function(e){e.exports=JSON.parse('{"$schema":"http://json-schema.org/draft-07/schema#","description":"Request Network Format of an invoice","type":"object","additionalProperties":false,"required":["meta","invoiceNumber","creationDate","invoiceItems"],"properties":{"meta":{"description":"Meta information about the format","type":"object","additionalProperties":false,"required":["format","version"],"properties":{"format":{"const":"rnf_invoice"},"version":{"const":"0.0.3"}}},"creationDate":{"type":"string","format":"date-time"},"invoiceNumber":{"type":"string"},"purchaseOrderId":{"type":"string"},"note":{"type":"string"},"terms":{"type":"string"},"sellerInfo":{"description":"Seller information","type":"object","additionalProperties":false,"properties":{"email":{"type":"string","format":"email"},"firstName":{"type":"string"},"lastName":{"type":"string"},"businessName":{"type":"string"},"phone":{"type":"string"},"address":{"$ref":"http://json-schema.org/address"},"taxRegistration":{"type":"string"},"companyRegistration":{"type":"string"},"miscellaneous":{"type":"object"}}},"buyerInfo":{"description":"Buyer information","type":"object","additionalProperties":false,"properties":{"email":{"type":"string","format":"email"},"firstName":{"type":"string"},"lastName":{"type":"string"},"businessName":{"type":"string"},"phone":{"type":"string"},"address":{"$ref":"http://json-schema.org/address"},"taxRegistration":{"type":"string"},"companyRegistration":{"type":"string"},"miscellaneous":{"type":"object"}}},"invoiceItems":{"type":"array","items":{"type":"object","additionalProperties":false,"required":["name","quantity","unitPrice","tax","currency"],"properties":{"name":{"type":"string"},"reference":{"type":"string"},"quantity":{"type":"number","minimum":0},"unitPrice":{"type":"string","pattern":"^\\\\d+$"},"discount":{"type":"string","pattern":"^\\\\d+$"},"tax":{"description":"Tax information about the invoice","type":"object","additionalProperties":false,"required":["amount","type"],"properties":{"amount":{"type":"string"},"type":{"type":"string","enum":["percentage","fixed"]}},"if":{"properties":{"type":{"const":"percentage"}}},"then":{"properties":{"amount":{"pattern":"^\\\\d*\\\\.?\\\\d+$"}}},"else":{"properties":{"amount":{"pattern":"^\\\\d+$"}}}},"currency":{"type":"string","minLength":2},"deliveryDate":{"type":"string","format":"date-time"},"deliveryPeriod":{"type":"string"}}}},"paymentTerms":{"description":"Payment terms","type":"object","additionalProperties":false,"properties":{"dueDate":{"type":"string","format":"date-time"},"lateFeesPercent":{"type":"number"},"lateFeesFix":{"type":"string","pattern":"^\\\\d+$"},"miscellaneous":{"type":"object"}}},"miscellaneous":{"type":"object"}}}')},function(e,t,f){"use strict";Object.defineProperty(t,"__esModule",{value:!0});f(271).__exportStar(f(747),t)},function(e,t,f){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.getInvoiceTaxTotal=t.getInvoiceLineTotalWithoutTax=t.getInvoiceTotalWithoutTax=t.getInvoiceLineTotal=t.getInvoiceTotal=void 0;const r=f(3);t.getInvoiceTotal=e=>e.invoiceItems.reduce(((e,f)=>e.add((0,t.getInvoiceLineTotal)(f))),r.BigNumber.from(0));t.getInvoiceLineTotal=e=>{const t=e.taxPercent?{type:"percentage",amount:String(e.taxPercent)}:e.tax||{type:"percentage",amount:"0"},f=t.amount&&"percentage"===t.type?Number(t.amount)+100:100,n=t.amount&&"fixed"===t.type?r.BigNumber.from(t.amount):r.BigNumber.from(0),a=e.discount?r.BigNumber.from(e.discount):r.BigNumber.from(0);return r.BigNumber.from(r.FixedNumber.from(e.unitPrice).mulUnsafe(r.FixedNumber.fromString(e.quantity.toString())).subUnsafe(r.FixedNumber.from(a)).mulUnsafe(r.FixedNumber.fromString(f.toString())).divUnsafe(r.FixedNumber.from(100)).addUnsafe(r.FixedNumber.from(n)).round(0).toString().split(".")[0])};t.getInvoiceTotalWithoutTax=e=>e.invoiceItems.reduce(((e,f)=>e.add((0,t.getInvoiceLineTotalWithoutTax)(f))),r.BigNumber.from(0));t.getInvoiceLineTotalWithoutTax=e=>{const t=e.discount?r.BigNumber.from(e.discount):r.BigNumber.from(0);return r.BigNumber.from(r.FixedNumber.from(e.unitPrice).mulUnsafe(r.FixedNumber.fromString(e.quantity.toString())).subUnsafe(r.FixedNumber.from(t)).round(0).toString().split(".")[0])};t.getInvoiceTaxTotal=e=>{const f=e.invoiceItems.reduce(((e,f)=>e.add((0,t.getInvoiceLineTotalWithoutTax)(f))),r.BigNumber.from(0));return e.invoiceItems.reduce(((e,f)=>e.add((0,t.getInvoiceLineTotal)(f))),r.BigNumber.from(0)).sub(f)}},function(e,t,f){"use strict";Object.defineProperty(t,"__esModule",{value:!0});t.default={requestClientVersionHeader:"X-Request-Network-Client-Version",httpRequestMaxRetry:3,httpRequestRetryDelay:100,getConfirmationMaxRetry:500,getConfirmationRetryDelay:3e3,getConfirmationDeferDelay:3e3}},function(e){e.exports=JSON.parse('{"name":"@requestnetwork/request-client.js","version":"0.40.1-next.1870+04aa2388","publishConfig":{"access":"public"},"description":"Client side library for Request Network.","keywords":["requestnetwork","request-client.js"],"repository":{"type":"git","url":"git+https://github.com/RequestNetwork/requestNetwork.git"},"homepage":"https://github.com/RequestNetwork/requestNetwork/tree/master/packages/request-client.js#readme","bugs":{"url":"https://github.com/RequestNetwork/requestNetwork/issues"},"license":"MIT","engines":{"node":">=16.0.0"},"main":"dist/index.js","types":"dist/index.d.ts","directories":{"lib":"src","test":"test"},"files":["dist"],"scripts":{"build":"run-s build:commonjs build:umd","build:commonjs":"tsc -b tsconfig.build.json","build:umd":"webpack","clean":"shx rm -rf dist tsconfig.tsbuildinfo tsconfig.build.tsbuildinfo","docs":"shx rm -rf ./docs && compodoc -p tsconfig.json --output docs --disablePrivate --gaID UA-105153327-8","lint":"eslint . --fix","lint:check":"eslint .","prepare":"yarn run build","test":"jest","test:watch":"yarn test --watch"},"dependencies":{"@requestnetwork/advanced-logic":"0.35.1-next.1870+04aa2388","@requestnetwork/currency":"0.9.1-next.1870+04aa2388","@requestnetwork/data-access":"0.27.1-next.1870+04aa2388","@requestnetwork/data-format":"0.10.1-next.1870+04aa2388","@requestnetwork/epk-signature":"0.5.36-next.1870+04aa2388","@requestnetwork/multi-format":"0.15.11-next.1870+04aa2388","@requestnetwork/payment-detection":"0.36.1-next.1870+04aa2388","@requestnetwork/request-logic":"0.26.11-next.1870+04aa2388","@requestnetwork/smart-contracts":"0.29.1-next.1870+04aa2388","@requestnetwork/transaction-manager":"0.27.1-next.1870+04aa2388","@requestnetwork/types":"0.36.1-next.1870+04aa2388","@requestnetwork/utils":"0.36.1-next.1870+04aa2388","axios":"0.27.2","ethers":"5.5.1","tslib":"2.5.0"},"devDependencies":{"@compodoc/compodoc":"1.1.11","@types/jest":"26.0.13","amd-loader":"0.0.8","axios-mock-adapter":"1.19.0","duplicate-package-checker-webpack-plugin":"3.0.0","jest":"26.4.2","npm-run-all":"4.1.5","nyc":"15.1.0","shx":"0.3.2","source-map-support":"0.5.19","terser-webpack-plugin":"4.2.3","ts-jest":"26.3.0","ts-loader":"8.4.0","ts-node":"10.9.1","typescript":"4.9.5","webpack":"4.44.2","webpack-bundle-analyzer":"4.2.0","webpack-cli":"3.3.12"},"gitHead":"04aa23887fc9c04ab6dd839cec23a9c37edcb6be"}')},function(e,t,f){"use strict";Object.defineProperty(t,"__esModule",{value:!0});const r=f(281);class n extends r.DataAccess{constructor(e){super(e),this.isInitialized=!0}}t.default=n},function(e,t,f){"use strict";Object.defineProperty(t,"__esModule",{value:!0});const r=f(51),n=f(43),a=f(4),i=f(7),o=f(282),s=f(28),c=f(283),u=f(752),d=f(755),l=f(284),p={meta:{storageMeta:{},transactionsStorageLocation:{}},result:{transactions:{}}};t.default=class{constructor(e,t){this.isInitialized=!1;const f={ignoredLocationIndex:new u.default,logger:new i.SimpleLogger,synchronizationIntervalTime:1e4,transactionIndex:new l.default,autoStartSynchronization:!1},{ignoredLocationIndex:r,logger:n,synchronizationIntervalTime:a,transactionIndex:o,autoStartSynchronization:s}=Object.assign(Object.assign({},f),t);this.storage=e,this.lastSyncStorageTimestamp=0,this.autoStartSynchronization=s,this.synchronizationTimer=new d.default((()=>this.synchronizeNewDataIds()),a,n,5),this.transactionIndex=o,this.ignoredLocationIndex=r,this.logger=n}initialize(){return r.__awaiter(this,void 0,void 0,(function*(){if(this.isInitialized)throw new Error("already initialized");yield this.transactionIndex.initialize(),yield this.storage.initialize();const e=yield this.transactionIndex.getLastTransactionTimestamp(),t=(0,i.getCurrentTimestampInSecond)(),f=yield this.storage.getData(e?{from:e,to:t}:void 0);this.lastSyncStorageTimestamp=f.lastTimestamp,yield this.pushLocationsWithTopics(f.entries),this.isInitialized=!0,this.autoStartSynchronization&&this.startAutoSynchronization()}))}close(){return r.__awaiter(this,void 0,void 0,(function*(){yield this.stopAutoSynchronization()}))}persistTransaction(e,t,f=[]){return r.__awaiter(this,void 0,void 0,(function*(){this.checkInitialized();const a=f.filter((e=>!n.default.hashFormat.isDeserializableString(e)));if(0!==a.length)throw new Error(`The following topics are not well formatted: ${JSON.stringify(a)}`);const i=c.default.pushTransaction(c.default.createEmptyBlock(),e,t,f),o=yield this.storage.append(JSON.stringify(i)),u=Object.assign(new s.EventEmitter,{meta:{storageMeta:o.meta,topics:f,transactionStorageLocation:o.id},result:{}});return o.on("confirmed",(e=>r.__awaiter(this,void 0,void 0,(function*(){yield this.transactionIndex.updateTimestamp(e.id,e.meta.timestamp);const t={meta:{storageMeta:e.meta,topics:f,transactionStorageLocation:e.id},result:{}};u.emit("confirmed",t)})))).on("error",(e=>r.__awaiter(this,void 0,void 0,(function*(){u.emit("error",e)})))),yield this.transactionIndex.addTransaction(o.id,i.header,o.meta.timestamp),u}))}getTransactionsByChannelId(e,t){return r.__awaiter(this,void 0,void 0,(function*(){this.checkInitialized();const f=yield this.transactionIndex.getStorageLocationList(e,t);return(yield this.getBlockAndMetaFromStorageLocation(f)).map((t=>{const f=c.default.getTransactionPositionFromChannelId(t.block,e);return this.getTransactionAndMetaFromPosition(f,t.block,t.location,t.meta)})).reduce(((e,t)=>({meta:{storageMeta:e.meta.storageMeta.concat(t.storageMeta),transactionsStorageLocation:e.meta.transactionsStorageLocation.concat(t.transactionsStorageLocation)},result:{transactions:e.result.transactions.concat(t.transactions)}})),{meta:{storageMeta:[],transactionsStorageLocation:[]},result:{transactions:[]}})}))}getChannelsByTopic(e,t){return r.__awaiter(this,void 0,void 0,(function*(){if(this.checkInitialized(),!n.default.hashFormat.isDeserializableString(e))throw new Error(`The topic is not well formatted: ${e}`);const f=yield this.transactionIndex.getChannelIdsForTopic(e,t);return o.map(f,(e=>this.getTransactionsByChannelId(e).then((t=>({channelId:e,transactionsWithMeta:t}))))).reduce(((e,t)=>{const f=t.channelId;return e.meta.transactionsStorageLocation[f]=t.transactionsWithMeta.meta.transactionsStorageLocation,e.meta.storageMeta[f]=t.transactionsWithMeta.meta.storageMeta,e.result.transactions[f]=t.transactionsWithMeta.result.transactions,e}),(0,i.deepCopy)(p))}))}getChannelsByMultipleTopics(e,t){return r.__awaiter(this,void 0,void 0,(function*(){if(this.checkInitialized(),e.some((e=>!n.default.hashFormat.isDeserializableString(e))))throw new Error("The topics are not well formatted");const f=yield this.transactionIndex.getChannelIdsForMultipleTopics(e,t);return o.map(f,(e=>this.getTransactionsByChannelId(e).then((t=>({channelId:e,transactionsWithMeta:t}))))).reduce(((e,t)=>{const f=t.channelId;return e.meta.transactionsStorageLocation[f]=t.transactionsWithMeta.meta.transactionsStorageLocation,e.meta.storageMeta[f]=t.transactionsWithMeta.meta.storageMeta,e.result.transactions[f]=t.transactionsWithMeta.result.transactions,e}),(0,i.deepCopy)(p))}))}synchronizeNewDataIds(){return r.__awaiter(this,void 0,void 0,(function*(){this.checkInitialized();const e=(0,i.getCurrentTimestampInSecond)();let t=0;this.lastSyncStorageTimestamp>0&&(t=this.lastSyncStorageTimestamp+1);const f=yield this.storage.getData({from:t,to:e}),r=yield this.storage.getIgnoredData();yield this.pushLocationsWithTopics(f.entries.concat(r)),this.lastSyncStorageTimestamp=f.lastTimestamp}))}startAutoSynchronization(){this.checkInitialized(),this.synchronizationTimer.start()}stopAutoSynchronization(){return r.__awaiter(this,void 0,void 0,(function*(){this.synchronizationTimer.isStarted&&(yield this.synchronizationTimer.stop())}))}_getStatus(e=!1){return r.__awaiter(this,void 0,void 0,(function*(){this.checkInitialized();const t=yield this.transactionIndex.getLastTransactionTimestamp(),f=yield this.transactionIndex.getIndexedLocations(),r=yield this.ignoredLocationIndex.getIgnoredLocations(),n=this.synchronizationTimer.getConfig();return{filesIgnored:{count:Object.keys(r).length,list:e?r:void 0},filesRetrieved:{count:f.length,lastTimestamp:t,list:e?f:void 0},lastSynchronizationTimestamp:this.lastSyncStorageTimestamp,storage:yield this.storage._getStatus(e),synchronizationConfig:n}}))}pushLocationsWithTopics(e){return r.__awaiter(this,void 0,void 0,(function*(){if(!e)throw Error("data from storage do not follow the standard");let t=0,f=0;yield o.each(e,(e=>r.__awaiter(this,void 0,void 0,(function*(){if(!e.content||!e.id)throw Error("data from storage do not follow the standard");let r;const n=e.content;try{r=c.default.parseBlock(n),f++,yield this.transactionIndex.addTransaction(e.id,r.header,e.meta.timestamp)}catch(f){t++,yield this.ignoredLocationIndex.pushReasonByLocation(e.id,f.message),this.logger.debug(`Error: can't parse content of the dataId (${e.id}): ${f}`,["synchronization"])}})))),this.logger.info(`Synchronization: ${f} blocks synchronized, ${t} ignored from parsing error`,["synchronization"])}))}getBlockAndMetaFromStorageLocation(e){return r.__awaiter(this,void 0,void 0,(function*(){return Promise.all(e.map((e=>r.__awaiter(this,void 0,void 0,(function*(){const t=yield this.storage.read(e);return{block:c.default.parseBlock(t.content),location:e,meta:t.meta}})))))}))}getTransactionAndMetaFromPosition(e,t,f,r){const n=(0,i.unique)(e).uniqueItems.map((e=>({state:r.state===a.StorageTypes.ContentState.CONFIRMED?a.DataAccessTypes.TransactionState.CONFIRMED:a.DataAccessTypes.TransactionState.PENDING,timestamp:r.timestamp,transaction:t.transactions[e]}))),o=Array(n.length).fill(f),s=n.map((()=>r));return{transactions:n,transactionsStorageLocation:o,storageMeta:s}}checkInitialized(){if(!this.isInitialized)throw new Error("DataAccess must be initialized")}}},function(e,t,f){"use strict";Object.defineProperty(t,"__esModule",{value:!0});const r=f(51),n=f(108);t.default=class{constructor(e){this.reasonsByIgnoredLocation=new n({namespace:"reasonsByIgnoredLocation",store:e}),this.listIgnoredLocation=new n({namespace:"listIgnoredLocation",store:e})}pushReasonByLocation(e,t){return r.__awaiter(this,void 0,void 0,(function*(){(yield this.reasonsByIgnoredLocation.get(e))||(yield this.reasonsByIgnoredLocation.set(e,t),yield this.updateDataId(e))}))}removeReasonByLocation(e){return r.__awaiter(this,void 0,void 0,(function*(){yield this.reasonsByIgnoredLocation.delete(e)}))}getReasonFromLocation(e){return r.__awaiter(this,void 0,void 0,(function*(){const t=yield this.reasonsByIgnoredLocation.get(e);return t||null}))}getIgnoredLocations(){return r.__awaiter(this,void 0,void 0,(function*(){const e=yield this.listIgnoredLocation.get("list");if(!e)return{};const t={};for(const f of Array.from(e))t[f]=yield this.reasonsByIgnoredLocation.get(f);return t}))}updateDataId(e){return r.__awaiter(this,void 0,void 0,(function*(){let t=yield this.listIgnoredLocation.get("list");t||(t=[]),t.push(e),yield this.listIgnoredLocation.set("list",t)}))}}},function(e,t,f){(function(e){t.stringify=function t(f){if(void 0===f)return f;if(f&&e.isBuffer(f))return JSON.stringify(":base64:"+f.toString("base64"));if(f&&f.toJSON&&(f=f.toJSON()),f&&"object"==typeof f){var r="",n=Array.isArray(f);r=n?"[":"{";var a=!0;for(var i in f){var o="function"==typeof f[i]||!n&&void 0===f[i];Object.hasOwnProperty.call(f,i)&&!o&&(a||(r+=","),a=!1,n?null==f[i]?r+="null":r+=t(f[i]):void 0!==f[i]&&(r+=t(i)+":"+t(f[i])))}return r+=n?"]":"}"}return"string"==typeof f?JSON.stringify(/^:/.test(f)?":"+f:f):void 0===f?"null":JSON.stringify(f)},t.parse=function(t){return JSON.parse(t,(function(t,f){return"string"==typeof f?/^:base64:/.test(f)?e.from(f.substring(8),"base64"):/^:/.test(f)?f.substring(1):f:f}))}}).call(this,f(6).Buffer)},function(e,t){function f(e){var t=new Error("Cannot find module '"+e+"'");throw t.code="MODULE_NOT_FOUND",t}f.keys=function(){return[]},f.resolve=f,e.exports=f,f.id=754},function(e,t,f){"use strict";Object.defineProperty(t,"__esModule",{value:!0});const r=f(51);t.default=class{constructor(e,t,f,r=1){this.intervalFunctionSuccessiveFailureCount=0,this.timeoutObject=null,this.lastRecursion=Promise.resolve(),this.intervalFunction=e,this.intervalTime=t,this.logger=f,this.successiveFailureThreshold=r}start(){if(this.timeoutObject)throw Error("IntervalTimer already started");const e=()=>r.__awaiter(this,void 0,void 0,(function*(){try{yield this.intervalFunction(),this.intervalFunctionSuccessiveFailureCount=0}catch(e){this.logger.warn(`${this.intervalFunction.name||"intervalFunction"} error: ${e}`),this.intervalFunctionSuccessiveFailureCount++,this.intervalFunctionSuccessiveFailureCount>=this.successiveFailureThreshold&&this.logger.error(`${this.intervalFunction.name||"intervalFunction"} failed ${this.intervalFunctionSuccessiveFailureCount} times in a row, last error: ${e}`)}t()})),t=()=>{this.timeoutObject=setTimeout((()=>{this.lastRecursion=e()}),this.intervalTime)};t()}stop(){return r.__awaiter(this,void 0,void 0,(function*(){return this.timeoutObject?(clearTimeout(this.timeoutObject),this.timeoutObject=null,this.lastRecursion):Promise.reject("Can't stop IntervalTimer if it has not been started")}))}get isStarted(){return Boolean(this.timeoutObject)}getConfig(){return{intervalTime:this.intervalTime,successiveFailureThreshold:this.successiveFailureThreshold}}}},function(e,t,f){"use strict";Object.defineProperty(t,"__esModule",{value:!0});const r=f(51),n=f(282),a=f(108),i=f(285),o=f(286);t.default=class{constructor(e){this.timestampByLocation=new o.default(e),this.locationByTopic=new i.default(e),this.indexedLocation=new a({namespace:"indexedLocation",store:e})}initialize(){return r.__awaiter(this,void 0,void 0,(function*(){}))}getLastTransactionTimestamp(){return this.timestampByLocation.getLastTransactionTimestamp()}addTransaction(e,t,f){return r.__awaiter(this,void 0,void 0,(function*(){if(!this.locationByTopic)throw new Error("TransactionIndex must be initialized");yield this.locationByTopic.pushStorageLocationIndexedWithBlockTopics(e,t),yield this.timestampByLocation.pushTimestampByLocation(e,f),yield this.updateIndexedLocation(e)}))}removeTransaction(e){return r.__awaiter(this,void 0,void 0,(function*(){if(!this.locationByTopic)throw new Error("TransactionIndex must be initialized");yield this.timestampByLocation.removeIndexedDataId(e)}))}updateTimestamp(e,t){return r.__awaiter(this,void 0,void 0,(function*(){if(!this.timestampByLocation)throw new Error("TransactionIndex must be initialized");yield this.timestampByLocation.updateTimestampByLocation(e,t)}))}getStorageLocationList(e,t){return r.__awaiter(this,void 0,void 0,(function*(){if(!this.locationByTopic)throw new Error("TransactionIndex must be initialized");let f=yield this.locationByTopic.getStorageLocationsFromChannelId(e);return f=yield n.filter(f,(e=>r.__awaiter(this,void 0,void 0,(function*(){const f=null!==(yield this.timestampByLocation.getTimestampFromLocation(e)),r=!t||(yield this.timestampByLocation.isDataInBoundaries(e,t));return f&&r})))),f}))}getChannelIdsForTopic(e,t){return r.__awaiter(this,void 0,void 0,(function*(){if(!this.locationByTopic)throw new Error("TransactionIndex must be initialized");const f=yield this.locationByTopic.getChannelIdsFromTopic(e);if(t){const e=[];for(const r of f){const f=yield this.locationByTopic.getStorageLocationsFromChannelId(r);for(const n of f){if(yield this.timestampByLocation.isDataInBoundaries(n,t)){e.push(r);break}}}return e}return f}))}getChannelIdsForMultipleTopics(e,t){return r.__awaiter(this,void 0,void 0,(function*(){if(!this.locationByTopic)throw new Error("TransactionIndex must be initialized");const f=yield this.locationByTopic.getChannelIdsFromMultipleTopics(e);if(t){const e=[];for(const r of f){const f=yield this.locationByTopic.getStorageLocationsFromChannelId(r);for(const n of f){if(yield this.timestampByLocation.isDataInBoundaries(n,t)){e.push(r);break}}}return e}return f}))}getIndexedLocations(){return r.__awaiter(this,void 0,void 0,(function*(){return(yield this.indexedLocation.get("list"))||[]}))}updateIndexedLocation(e){return r.__awaiter(this,void 0,void 0,(function*(){let t=yield this.indexedLocation.get("list");t||(t=[]),t.includes(e)||(t.push(e),yield this.indexedLocation.set("list",t))}))}}},function(e,t,f){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.CombinedDataAccess=void 0;const r=f(51);t.CombinedDataAccess=class{constructor(e,t){this.reader=e,this.writer=t,this.getTransactionsByChannelId=this.reader.getTransactionsByChannelId.bind(this.reader),this.getChannelsByTopic=this.reader.getChannelsByTopic.bind(this.reader),this.getChannelsByMultipleTopics=this.reader.getChannelsByMultipleTopics.bind(this.reader),this.persistTransaction=this.writer.persistTransaction.bind(this.writer)}initialize(){return r.__awaiter(this,void 0,void 0,(function*(){yield this.reader.initialize(),yield this.writer.initialize()}))}close(){return r.__awaiter(this,void 0,void 0,(function*(){yield this.writer.close(),yield this.reader.close()}))}}},function(e,t,f){"use strict";Object.defineProperty(t,"__esModule",{value:!0});const r=f(69),n=f(43),a=f(4),i=f(28),o=f(7);t.default=class{constructor(){this.data=new Map,this.forceEmitError=!1}initialize(){return r.__awaiter(this,void 0,void 0,(function*(){}))}ipfsAdd(e){return r.__awaiter(this,void 0,void 0,(function*(){if(!e)throw Error("Error: no content provided");const t=n.default.serialize((0,o.normalizeKeccak256Hash)(e)),f=(0,o.getCurrentTimestampInSecond)();return this.data.set(t,{content:e,state:a.StorageTypes.ContentState.PENDING,timestamp:f}),{ipfsHash:t,ipfsSize:e.length}}))}append(e){return r.__awaiter(this,void 0,void 0,(function*(){if(!e)throw Error("Error: no content provided");const t=n.default.serialize((0,o.normalizeKeccak256Hash)(e)),f=(0,o.getCurrentTimestampInSecond)(),r={content:e,state:a.StorageTypes.ContentState.PENDING,timestamp:f};this.data.set(t,r);const s={content:e,id:t,meta:{state:a.StorageTypes.ContentState.PENDING,storageType:a.StorageTypes.StorageSystemType.IN_MEMORY_MOCK,timestamp:f}},c=Object.assign(new i.EventEmitter,s);return setTimeout((()=>{this.forceEmitError?(this.forceEmitError=!1,c.emit("error","forced error asked by _makeNextAppendFailInsteadOfConfirmed()")):(r.state=a.StorageTypes.ContentState.CONFIRMED,this.data.set(t,r),c.emit("confirmed",s))}),100),c}))}read(e){return r.__awaiter(this,void 0,void 0,(function*(){if(!e)throw Error("No id provided");const t=this.data.get(e);if(!t)throw Error("No content found from this id");return{content:t.content,id:e,meta:{state:t.state,storageType:a.StorageTypes.StorageSystemType.IN_MEMORY_MOCK,timestamp:t.timestamp}}}))}readMany(e){return r.__awaiter(this,void 0,void 0,(function*(){return Promise.all(e.map((e=>this.read(e))))}))}getData(){return r.__awaiter(this,void 0,void 0,(function*(){return{entries:Array.from(this.data.entries()).map((([e,{content:t,state:f,timestamp:r}])=>({content:t,id:e,meta:{state:f,storageType:a.StorageTypes.StorageSystemType.IN_MEMORY_MOCK,timestamp:r}}))),lastTimestamp:(0,o.getCurrentTimestampInSecond)()}}))}getIgnoredData(){return r.__awaiter(this,void 0,void 0,(function*(){return[]}))}_getStatus(e){return r.__awaiter(this,void 0,void 0,(function*(){return{dataIds:{count:Object.entries(this.data).length,values:e?Object.entries(this.data):void 0},ignoredDataIds:{count:0,values:e?[]:void 0}}}))}_makeNextAppendFailInsteadOfConfirmed(){this.forceEmitError=!0}}},function(e,t,f){"use strict";Object.defineProperty(t,"__esModule",{value:!0});const r=f(69),n=f(281),a=f(40),i=f(4),o=f(67),s=f(3),c=f(28),u=f(280),d=f(7);class l extends u.default{constructor({httpConfig:e,nodeConnectionConfig:t,web3:f,ethereumProviderUrl:r}={httpConfig:{},nodeConnectionConfig:{}}){super({httpConfig:e,nodeConnectionConfig:t}),this.cache={},this.networkName="",r=r||"http://localhost:8545",this.provider=f?new s.ethers.providers.Web3Provider(f):new s.ethers.providers.JsonRpcProvider({url:r})}initialize(){return r.__awaiter(this,void 0,void 0,(function*(){}))}persistTransaction(e,t,f){return r.__awaiter(this,void 0,void 0,(function*(){if(!this.submitterContract){const e=yield this.provider.getNetwork();this.networkName=1===e.chainId?"mainnet":4===e.chainId?"rinkeby":"private",this.submitterContract=new s.ethers.Contract(a.requestHashSubmitterArtifact.getAddress(this.networkName),a.requestHashSubmitterArtifact.getContractAbi(),this.provider.getSigner())}const r=n.Block.pushTransaction(n.Block.createEmptyBlock(),e,t,f),{data:{ipfsHash:u,ipfsSize:d}}=yield o.default.post("/ipfsAdd",{data:r},this.axiosConfig),l=yield this.submitterContract.getFeesAmount(d),p=yield this.submitterContract.submitHash(u,s.ethers.utils.hexZeroPad(s.ethers.utils.hexlify(d),32),{value:l}),b=yield this.provider.getBlock(p.blockNumber),h={blockConfirmation:p.confirmations,blockNumber:p.blockNumber,blockTimestamp:b.timestamp,fee:l,networkName:this.networkName,smartContractAddress:p.to,transactionHash:p.hash};this.cache[t]||(this.cache[t]={}),this.cache[t][u]={block:r,storageMeta:h};const m=new c.EventEmitter,y={meta:{storageMeta:{ethereum:h,ipfs:{size:d},state:i.StorageTypes.ContentState.PENDING,timestamp:h.blockTimestamp},topics:f||[],transactionStorageLocation:u},result:{}};return p.wait().then((e=>{const t={blockConfirmation:e.confirmations,blockNumber:e.blockNumber,blockTimestamp:b.timestamp,fee:l,networkName:this.networkName,smartContractAddress:e.to,transactionHash:e.hash};m.emit("confirmed",{meta:{storageMeta:t,topics:f||[],transactionStorageLocation:u},result:{}})})),Object.assign(m,y)}))}getTransactionsByChannelId(e,t){return r.__awaiter(this,void 0,void 0,(function*(){const{data:f}=yield(0,d.retry)((()=>r.__awaiter(this,void 0,void 0,(function*(){return o.default.get("/getTransactionsByChannelId",Object.assign(this.axiosConfig,{params:{channelId:e,timestampBoundaries:t}}))}))),{maxRetries:this.httpConfig.httpRequestMaxRetry,retryDelay:this.httpConfig.httpRequestRetryDelay})(),n=this.getCachedTransactionsAndCleanCache(e,f.meta.transactionsStorageLocation,t);return{meta:{storageMeta:f.meta.storageMeta.concat(n.meta.storageMeta),transactionsStorageLocation:f.meta.transactionsStorageLocation.concat(n.meta.transactionsStorageLocation)},result:{transactions:f.result.transactions.concat(n.result.transactions)}}}))}getCachedTransactionsAndCleanCache(e,t,f){for(const f of t)this.cache[e][f]=null;return Object.keys(this.cache[e]||[]).reduce(((t,r)=>{var n;const a=this.cache[e][r];return this.cache[e][r]&&(!f||(void 0===f.from||f.from<=(null==a?void 0:a.storageMeta.blockTimestamp))&&(void 0===f.to||f.to>=(null==a?void 0:a.storageMeta.blockTimestamp)))&&(null===(n=t.meta.storageMeta)||void 0===n||n.push(null==a?void 0:a.storageMeta),t.meta.transactionsStorageLocation.push(r),t.result.transactions.push({state:i.DataAccessTypes.TransactionState.PENDING,timestamp:null==a?void 0:a.storageMeta.blockTimestamp,transaction:null==a?void 0:a.block.transactions[0]})),t}),{meta:{storageMeta:[],transactionsStorageLocation:[]},result:{transactions:[]}})}}t.default=l},function(e,t,f){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.Payment=t.Transaction=t.Storage=t.Identity=t.SignatureProvider=t.Signature=t.DataAccess=t.RequestLogic=t.Encryption=t.Extension=t.DecryptionProvider=t.Log=t.AdvancedLogic=void 0;f(69).__exportStar(f(161),t);var r=f(4);Object.defineProperty(t,"AdvancedLogic",{enumerable:!0,get:function(){return r.AdvancedLogicTypes}}),Object.defineProperty(t,"Log",{enumerable:!0,get:function(){return r.LogTypes}}),Object.defineProperty(t,"DecryptionProvider",{enumerable:!0,get:function(){return r.DecryptionProviderTypes}}),Object.defineProperty(t,"Extension",{enumerable:!0,get:function(){return r.ExtensionTypes}}),Object.defineProperty(t,"Encryption",{enumerable:!0,get:function(){return r.EncryptionTypes}}),Object.defineProperty(t,"RequestLogic",{enumerable:!0,get:function(){return r.RequestLogicTypes}}),Object.defineProperty(t,"DataAccess",{enumerable:!0,get:function(){return r.DataAccessTypes}}),Object.defineProperty(t,"Signature",{enumerable:!0,get:function(){return r.SignatureTypes}}),Object.defineProperty(t,"SignatureProvider",{enumerable:!0,get:function(){return r.SignatureProviderTypes}}),Object.defineProperty(t,"Identity",{enumerable:!0,get:function(){return r.IdentityTypes}}),Object.defineProperty(t,"Storage",{enumerable:!0,get:function(){return r.StorageTypes}}),Object.defineProperty(t,"Transaction",{enumerable:!0,get:function(){return r.TransactionTypes}}),Object.defineProperty(t,"Payment",{enumerable:!0,get:function(){return r.PaymentTypes}})},function(e,t,f){"use strict";f.r(t),f.d(t,"dma",(function(){return a})),f.d(t,"sma",(function(){return i})),f.d(t,"ema",(function(){return o})),f.d(t,"ma",(function(){return s})),f.d(t,"wma",(function(){return c}));const r=e=>"number"==typeof e&&e==e,n=Array.isArray;var a=(e,t,f)=>{const a=e.length;if(t>1)return Array(a);if(1===t)return e.slice();const i=!n(t),o=[];let s,c=0,u=0;for(;c<a;c++)if(s=e[c],r(s)&&(i||r(s))){o[c]=f?0:s,u=s,c++;break}if(!i){for(;c<a;c++)s=e[c],r(s)&&r(t[c])?u=o[c]=t[c]*s+(1-t[c])*u:o[c]=o[c-1];return o}const d=1-t;for(;c<a;c++)s=e[c],r(s)?u=o[c]=t*s+d*u:o[c]=o[c-1];return o},i=(e,t,f=1)=>a(e,f/t,1),o=(e,t)=>a(e,2/(t+1)),s=(e,t)=>{const f=e.length;if(!t)return e.reduce(((e,t)=>e+t))/f;if(t<=1)return e.slice();if(t>f)return Array(f);const n=t-1,a=[];let i,o=0,s=0,c=0;for(;s<f&&c<n;s++)i=e[s],r(i)&&(o+=i,c++);for(;s<f;s++)i=e[s],r(i)&&(o+=i),r(e[s-t])&&(o-=e[s-t]),a[s]=o/t;return a},c=(e,t)=>{const f=e.length;if(t<=1)return e.slice();if(t>f)return Array(f);const n=[],a=t*(t+1)/2,i=t-1;let o=0,s=0,c=0,u=0,d=-1;for(;u<i;u++)c=e[u],r(c)&&(o+=c,s+=(u+1)*c);for(;u<f;u++,d++)c=e[u],r(c)&&(o+=c,s+=t*c),d>=0&&r(e[d])&&(o-=e[d]),n[u]=s/a,s-=o;return n}},function(e,t,f){"use strict";f.d(t,"a",(function(){return a}));var r=f(0),n=f(60);function a(e,t,f,a,i){let o;e=Object(r.arrayify)(e),t=Object(r.arrayify)(t);let s=1;const c=new Uint8Array(a),u=new Uint8Array(t.length+4);let d,l;u.set(t);for(let p=1;p<=s;p++){u[t.length]=p>>24&255,u[t.length+1]=p>>16&255,u[t.length+2]=p>>8&255,u[t.length+3]=255&p;let b=Object(r.arrayify)(Object(n.a)(i,e,u));o||(o=b.length,l=new Uint8Array(o),s=Math.ceil(a/o),d=a-(s-1)*o),l.set(b);for(let t=1;t<f;t++){b=Object(r.arrayify)(Object(n.a)(i,e,b));for(let e=0;e<o;e++)l[e]^=b[e]}const h=(p-1)*o,m=p===s?d:o;c.set(Object(r.arrayify)(l).slice(0,m),h)}return Object(r.hexlify)(c)}},,,function(e,t,f){"use strict";f.d(t,"b",(function(){return b})),f.d(t,"c",(function(){return h})),f.d(t,"a",(function(){return y}));var r=f(0),n=f(2),a=f(110),i=f(13);const o=new n.Logger(a.a),s={},c=i.a.from(0),u=i.a.from(-1);function d(e,t,f,r){const a={fault:t,operation:f};return void 0!==r&&(a.value=r),o.throwError(e,n.Logger.errors.NUMERIC_FAULT,a)}let l="0";for(;l.length<256;)l+=l;function p(e){if("number"!=typeof e)try{e=i.a.from(e).toNumber()}catch(e){}return"number"==typeof e&&e>=0&&e<=256&&!(e%1)?"1"+l.substring(0,e):o.throwArgumentError("invalid decimal size","decimals",e)}function b(e,t){null==t&&(t=0);const f=p(t),r=(e=i.a.from(e)).lt(c);r&&(e=e.mul(u));let n=e.mod(f).toString();for(;n.length<f.length-1;)n="0"+n;n=n.match(/^([0-9]*[1-9]|0)(0*)/)[1];const a=e.div(f).toString();return e=1===f.length?a:a+"."+n,r&&(e="-"+e),e}function h(e,t){null==t&&(t=0);const f=p(t);"string"==typeof e&&e.match(/^-?[0-9.]+$/)||o.throwArgumentError("invalid decimal value","value",e);const r="-"===e.substring(0,1);r&&(e=e.substring(1)),"."===e&&o.throwArgumentError("missing value","value",e);const n=e.split(".");n.length>2&&o.throwArgumentError("too many decimal points","value",e);let a=n[0],s=n[1];for(a||(a="0"),s||(s="0");"0"===s[s.length-1];)s=s.substring(0,s.length-1);for(s.length>f.length-1&&d("fractional component exceeds decimals","underflow","parseFixed"),""===s&&(s="0");s.length<f.length-1;)s+="0";const c=i.a.from(a),l=i.a.from(s);let b=c.mul(f).add(l);return r&&(b=b.mul(u)),b}class m{constructor(e,t,f,r){e!==s&&o.throwError("cannot use FixedFormat constructor; use FixedFormat.from",n.Logger.errors.UNSUPPORTED_OPERATION,{operation:"new FixedFormat"}),this.signed=t,this.width=f,this.decimals=r,this.name=(t?"":"u")+"fixed"+String(f)+"x"+String(r),this._multiplier=p(r),Object.freeze(this)}static from(e){if(e instanceof m)return e;"number"==typeof e&&(e=`fixed128x${e}`);let t=!0,f=128,r=18;if("string"==typeof e)if("fixed"===e);else if("ufixed"===e)t=!1;else{const n=e.match(/^(u?)fixed([0-9]+)x([0-9]+)$/);n||o.throwArgumentError("invalid fixed format","format",e),t="u"!==n[1],f=parseInt(n[2]),r=parseInt(n[3])}else if(e){const n=(t,f,r)=>null==e[t]?r:(typeof e[t]!==f&&o.throwArgumentError("invalid fixed format ("+t+" not "+f+")","format."+t,e[t]),e[t]);t=n("signed","boolean",t),f=n("width","number",f),r=n("decimals","number",r)}return f%8&&o.throwArgumentError("invalid fixed format width (not byte aligned)","format.width",f),r>80&&o.throwArgumentError("invalid fixed format (decimals too large)","format.decimals",r),new m(s,t,f,r)}}class y{constructor(e,t,f,r){o.checkNew(new.target,y),e!==s&&o.throwError("cannot use FixedNumber constructor; use FixedNumber.from",n.Logger.errors.UNSUPPORTED_OPERATION,{operation:"new FixedFormat"}),this.format=r,this._hex=t,this._value=f,this._isFixedNumber=!0,Object.freeze(this)}_checkFormat(e){this.format.name!==e.format.name&&o.throwArgumentError("incompatible format; use fixedNumber.toFormat","other",e)}addUnsafe(e){this._checkFormat(e);const t=h(this._value,this.format.decimals),f=h(e._value,e.format.decimals);return y.fromValue(t.add(f),this.format.decimals,this.format)}subUnsafe(e){this._checkFormat(e);const t=h(this._value,this.format.decimals),f=h(e._value,e.format.decimals);return y.fromValue(t.sub(f),this.format.decimals,this.format)}mulUnsafe(e){this._checkFormat(e);const t=h(this._value,this.format.decimals),f=h(e._value,e.format.decimals);return y.fromValue(t.mul(f).div(this.format._multiplier),this.format.decimals,this.format)}divUnsafe(e){this._checkFormat(e);const t=h(this._value,this.format.decimals),f=h(e._value,e.format.decimals);return y.fromValue(t.mul(this.format._multiplier).div(f),this.format.decimals,this.format)}floor(){const e=this.toString().split(".");1===e.length&&e.push("0");let t=y.from(e[0],this.format);const f=!e[1].match(/^(0*)$/);return this.isNegative()&&f&&(t=t.subUnsafe(g.toFormat(t.format))),t}ceiling(){const e=this.toString().split(".");1===e.length&&e.push("0");let t=y.from(e[0],this.format);const f=!e[1].match(/^(0*)$/);return!this.isNegative()&&f&&(t=t.addUnsafe(g.toFormat(t.format))),t}round(e){null==e&&(e=0);const t=this.toString().split(".");if(1===t.length&&t.push("0"),(e<0||e>80||e%1)&&o.throwArgumentError("invalid decimal count","decimals",e),t[1].length<=e)return this;const f=y.from("1"+l.substring(0,e),this.format),r=v.toFormat(this.format);return this.mulUnsafe(f).addUnsafe(r).floor().divUnsafe(f)}isZero(){return"0.0"===this._value||"0"===this._value}isNegative(){return"-"===this._value[0]}toString(){return this._value}toHexString(e){if(null==e)return this._hex;e%8&&o.throwArgumentError("invalid byte width","width",e);const t=i.a.from(this._hex).fromTwos(this.format.width).toTwos(e).toHexString();return Object(r.hexZeroPad)(t,e/8)}toUnsafeFloat(){return parseFloat(this.toString())}toFormat(e){return y.fromString(this._value,e)}static fromValue(e,t,f){return null!=f||null==t||Object(i.d)(t)||(f=t,t=null),null==t&&(t=0),null==f&&(f="fixed"),y.fromString(b(e,t),m.from(f))}static fromString(e,t){null==t&&(t="fixed");const f=m.from(t),n=h(e,f.decimals);!f.signed&&n.lt(c)&&d("unsigned value cannot be negative","overflow","value",e);let a=null;f.signed?a=n.toTwos(f.width).toHexString():(a=n.toHexString(),a=Object(r.hexZeroPad)(a,f.width/8));const i=b(n,f.decimals);return new y(s,a,i,f)}static fromBytes(e,t){null==t&&(t="fixed");const f=m.from(t);if(Object(r.arrayify)(e).length>f.width/8)throw new Error("overflow");let n=i.a.from(e);f.signed&&(n=n.fromTwos(f.width));const a=n.toTwos((f.signed?0:1)+f.width).toHexString(),o=b(n,f.decimals);return new y(s,a,o,f)}static from(e,t){if("string"==typeof e)return y.fromString(e,t);if(Object(r.isBytes)(e))return y.fromBytes(e,t);try{return y.fromValue(e,0,t)}catch(e){if(e.code!==n.Logger.errors.INVALID_ARGUMENT)throw e}return o.throwArgumentError("invalid FixedNumber value","value",e)}static isFixedNumber(e){return!(!e||!e._isFixedNumber)}}const g=y.from(1),v=y.from("0.5")},function(e,t,f){"use strict";f.d(t,"a",(function(){return s}));var r=f(115);let n=null;function a(e){if(null==n&&(n="AbandonAbilityAbleAboutAboveAbsentAbsorbAbstractAbsurdAbuseAccessAccidentAccountAccuseAchieveAcidAcousticAcquireAcrossActActionActorActressActualAdaptAddAddictAddressAdjustAdmitAdultAdvanceAdviceAerobicAffairAffordAfraidAgainAgeAgentAgreeAheadAimAirAirportAisleAlarmAlbumAlcoholAlertAlienAllAlleyAllowAlmostAloneAlphaAlreadyAlsoAlterAlwaysAmateurAmazingAmongAmountAmusedAnalystAnchorAncientAngerAngleAngryAnimalAnkleAnnounceAnnualAnotherAnswerAntennaAntiqueAnxietyAnyApartApologyAppearAppleApproveAprilArchArcticAreaArenaArgueArmArmedArmorArmyAroundArrangeArrestArriveArrowArtArtefactArtistArtworkAskAspectAssaultAssetAssistAssumeAsthmaAthleteAtomAttackAttendAttitudeAttractAuctionAuditAugustAuntAuthorAutoAutumnAverageAvocadoAvoidAwakeAwareAwayAwesomeAwfulAwkwardAxisBabyBachelorBaconBadgeBagBalanceBalconyBallBambooBananaBannerBarBarelyBargainBarrelBaseBasicBasketBattleBeachBeanBeautyBecauseBecomeBeefBeforeBeginBehaveBehindBelieveBelowBeltBenchBenefitBestBetrayBetterBetweenBeyondBicycleBidBikeBindBiologyBirdBirthBitterBlackBladeBlameBlanketBlastBleakBlessBlindBloodBlossomBlouseBlueBlurBlushBoardBoatBodyBoilBombBoneBonusBookBoostBorderBoringBorrowBossBottomBounceBoxBoyBracketBrainBrandBrassBraveBreadBreezeBrickBridgeBriefBrightBringBriskBroccoliBrokenBronzeBroomBrotherBrownBrushBubbleBuddyBudgetBuffaloBuildBulbBulkBulletBundleBunkerBurdenBurgerBurstBusBusinessBusyButterBuyerBuzzCabbageCabinCableCactusCageCakeCallCalmCameraCampCanCanalCancelCandyCannonCanoeCanvasCanyonCapableCapitalCaptainCarCarbonCardCargoCarpetCarryCartCaseCashCasinoCastleCasualCatCatalogCatchCategoryCattleCaughtCauseCautionCaveCeilingCeleryCementCensusCenturyCerealCertainChairChalkChampionChangeChaosChapterChargeChaseChatCheapCheckCheeseChefCherryChestChickenChiefChildChimneyChoiceChooseChronicChuckleChunkChurnCigarCinnamonCircleCitizenCityCivilClaimClapClarifyClawClayCleanClerkCleverClickClientCliffClimbClinicClipClockClogCloseClothCloudClownClubClumpClusterClutchCoachCoastCoconutCodeCoffeeCoilCoinCollectColorColumnCombineComeComfortComicCommonCompanyConcertConductConfirmCongressConnectConsiderControlConvinceCookCoolCopperCopyCoralCoreCornCorrectCostCottonCouchCountryCoupleCourseCousinCoverCoyoteCrackCradleCraftCramCraneCrashCraterCrawlCrazyCreamCreditCreekCrewCricketCrimeCrispCriticCropCrossCrouchCrowdCrucialCruelCruiseCrumbleCrunchCrushCryCrystalCubeCultureCupCupboardCuriousCurrentCurtainCurveCushionCustomCuteCycleDadDamageDampDanceDangerDaringDashDaughterDawnDayDealDebateDebrisDecadeDecemberDecideDeclineDecorateDecreaseDeerDefenseDefineDefyDegreeDelayDeliverDemandDemiseDenialDentistDenyDepartDependDepositDepthDeputyDeriveDescribeDesertDesignDeskDespairDestroyDetailDetectDevelopDeviceDevoteDiagramDialDiamondDiaryDiceDieselDietDifferDigitalDignityDilemmaDinnerDinosaurDirectDirtDisagreeDiscoverDiseaseDishDismissDisorderDisplayDistanceDivertDivideDivorceDizzyDoctorDocumentDogDollDolphinDomainDonateDonkeyDonorDoorDoseDoubleDoveDraftDragonDramaDrasticDrawDreamDressDriftDrillDrinkDripDriveDropDrumDryDuckDumbDuneDuringDustDutchDutyDwarfDynamicEagerEagleEarlyEarnEarthEasilyEastEasyEchoEcologyEconomyEdgeEditEducateEffortEggEightEitherElbowElderElectricElegantElementElephantElevatorEliteElseEmbarkEmbodyEmbraceEmergeEmotionEmployEmpowerEmptyEnableEnactEndEndlessEndorseEnemyEnergyEnforceEngageEngineEnhanceEnjoyEnlistEnoughEnrichEnrollEnsureEnterEntireEntryEnvelopeEpisodeEqualEquipEraEraseErodeErosionErrorEruptEscapeEssayEssenceEstateEternalEthicsEvidenceEvilEvokeEvolveExactExampleExcessExchangeExciteExcludeExcuseExecuteExerciseExhaustExhibitExileExistExitExoticExpandExpectExpireExplainExposeExpressExtendExtraEyeEyebrowFabricFaceFacultyFadeFaintFaithFallFalseFameFamilyFamousFanFancyFantasyFarmFashionFatFatalFatherFatigueFaultFavoriteFeatureFebruaryFederalFeeFeedFeelFemaleFenceFestivalFetchFeverFewFiberFictionFieldFigureFileFilmFilterFinalFindFineFingerFinishFireFirmFirstFiscalFishFitFitnessFixFlagFlameFlashFlatFlavorFleeFlightFlipFloatFlockFloorFlowerFluidFlushFlyFoamFocusFogFoilFoldFollowFoodFootForceForestForgetForkFortuneForumForwardFossilFosterFoundFoxFragileFrameFrequentFreshFriendFringeFrogFrontFrostFrownFrozenFruitFuelFunFunnyFurnaceFuryFutureGadgetGainGalaxyGalleryGameGapGarageGarbageGardenGarlicGarmentGasGaspGateGatherGaugeGazeGeneralGeniusGenreGentleGenuineGestureGhostGiantGiftGiggleGingerGiraffeGirlGiveGladGlanceGlareGlassGlideGlimpseGlobeGloomGloryGloveGlowGlueGoatGoddessGoldGoodGooseGorillaGospelGossipGovernGownGrabGraceGrainGrantGrapeGrassGravityGreatGreenGridGriefGritGroceryGroupGrowGruntGuardGuessGuideGuiltGuitarGunGymHabitHairHalfHammerHamsterHandHappyHarborHardHarshHarvestHatHaveHawkHazardHeadHealthHeartHeavyHedgehogHeightHelloHelmetHelpHenHeroHiddenHighHillHintHipHireHistoryHobbyHockeyHoldHoleHolidayHollowHomeHoneyHoodHopeHornHorrorHorseHospitalHostHotelHourHoverHubHugeHumanHumbleHumorHundredHungryHuntHurdleHurryHurtHusbandHybridIceIconIdeaIdentifyIdleIgnoreIllIllegalIllnessImageImitateImmenseImmuneImpactImposeImproveImpulseInchIncludeIncomeIncreaseIndexIndicateIndoorIndustryInfantInflictInformInhaleInheritInitialInjectInjuryInmateInnerInnocentInputInquiryInsaneInsectInsideInspireInstallIntactInterestIntoInvestInviteInvolveIronIslandIsolateIssueItemIvoryJacketJaguarJarJazzJealousJeansJellyJewelJobJoinJokeJourneyJoyJudgeJuiceJumpJungleJuniorJunkJustKangarooKeenKeepKetchupKeyKickKidKidneyKindKingdomKissKitKitchenKiteKittenKiwiKneeKnifeKnockKnowLabLabelLaborLadderLadyLakeLampLanguageLaptopLargeLaterLatinLaughLaundryLavaLawLawnLawsuitLayerLazyLeaderLeafLearnLeaveLectureLeftLegLegalLegendLeisureLemonLendLengthLensLeopardLessonLetterLevelLiarLibertyLibraryLicenseLifeLiftLightLikeLimbLimitLinkLionLiquidListLittleLiveLizardLoadLoanLobsterLocalLockLogicLonelyLongLoopLotteryLoudLoungeLoveLoyalLuckyLuggageLumberLunarLunchLuxuryLyricsMachineMadMagicMagnetMaidMailMainMajorMakeMammalManManageMandateMangoMansionManualMapleMarbleMarchMarginMarineMarketMarriageMaskMassMasterMatchMaterialMathMatrixMatterMaximumMazeMeadowMeanMeasureMeatMechanicMedalMediaMelodyMeltMemberMemoryMentionMenuMercyMergeMeritMerryMeshMessageMetalMethodMiddleMidnightMilkMillionMimicMindMinimumMinorMinuteMiracleMirrorMiseryMissMistakeMixMixedMixtureMobileModelModifyMomMomentMonitorMonkeyMonsterMonthMoonMoralMoreMorningMosquitoMotherMotionMotorMountainMouseMoveMovieMuchMuffinMuleMultiplyMuscleMuseumMushroomMusicMustMutualMyselfMysteryMythNaiveNameNapkinNarrowNastyNationNatureNearNeckNeedNegativeNeglectNeitherNephewNerveNestNetNetworkNeutralNeverNewsNextNiceNightNobleNoiseNomineeNoodleNormalNorthNoseNotableNoteNothingNoticeNovelNowNuclearNumberNurseNutOakObeyObjectObligeObscureObserveObtainObviousOccurOceanOctoberOdorOffOfferOfficeOftenOilOkayOldOliveOlympicOmitOnceOneOnionOnlineOnlyOpenOperaOpinionOpposeOptionOrangeOrbitOrchardOrderOrdinaryOrganOrientOriginalOrphanOstrichOtherOutdoorOuterOutputOutsideOvalOvenOverOwnOwnerOxygenOysterOzonePactPaddlePagePairPalacePalmPandaPanelPanicPantherPaperParadeParentParkParrotPartyPassPatchPathPatientPatrolPatternPausePavePaymentPeacePeanutPearPeasantPelicanPenPenaltyPencilPeoplePepperPerfectPermitPersonPetPhonePhotoPhrasePhysicalPianoPicnicPicturePiecePigPigeonPillPilotPinkPioneerPipePistolPitchPizzaPlacePlanetPlasticPlatePlayPleasePledgePluckPlugPlungePoemPoetPointPolarPolePolicePondPonyPoolPopularPortionPositionPossiblePostPotatoPotteryPovertyPowderPowerPracticePraisePredictPreferPreparePresentPrettyPreventPricePridePrimaryPrintPriorityPrisonPrivatePrizeProblemProcessProduceProfitProgramProjectPromoteProofPropertyProsperProtectProudProvidePublicPuddingPullPulpPulsePumpkinPunchPupilPuppyPurchasePurityPurposePursePushPutPuzzlePyramidQualityQuantumQuarterQuestionQuickQuitQuizQuoteRabbitRaccoonRaceRackRadarRadioRailRainRaiseRallyRampRanchRandomRangeRapidRareRateRatherRavenRawRazorReadyRealReasonRebelRebuildRecallReceiveRecipeRecordRecycleReduceReflectReformRefuseRegionRegretRegularRejectRelaxReleaseReliefRelyRemainRememberRemindRemoveRenderRenewRentReopenRepairRepeatReplaceReportRequireRescueResembleResistResourceResponseResultRetireRetreatReturnReunionRevealReviewRewardRhythmRibRibbonRiceRichRideRidgeRifleRightRigidRingRiotRippleRiskRitualRivalRiverRoadRoastRobotRobustRocketRomanceRoofRookieRoomRoseRotateRoughRoundRouteRoyalRubberRudeRugRuleRunRunwayRuralSadSaddleSadnessSafeSailSaladSalmonSalonSaltSaluteSameSampleSandSatisfySatoshiSauceSausageSaveSayScaleScanScareScatterSceneSchemeSchoolScienceScissorsScorpionScoutScrapScreenScriptScrubSeaSearchSeasonSeatSecondSecretSectionSecuritySeedSeekSegmentSelectSellSeminarSeniorSenseSentenceSeriesServiceSessionSettleSetupSevenShadowShaftShallowShareShedShellSheriffShieldShiftShineShipShiverShockShoeShootShopShortShoulderShoveShrimpShrugShuffleShySiblingSickSideSiegeSightSignSilentSilkSillySilverSimilarSimpleSinceSingSirenSisterSituateSixSizeSkateSketchSkiSkillSkinSkirtSkullSlabSlamSleepSlenderSliceSlideSlightSlimSloganSlotSlowSlushSmallSmartSmileSmokeSmoothSnackSnakeSnapSniffSnowSoapSoccerSocialSockSodaSoftSolarSoldierSolidSolutionSolveSomeoneSongSoonSorrySortSoulSoundSoupSourceSouthSpaceSpareSpatialSpawnSpeakSpecialSpeedSpellSpendSphereSpiceSpiderSpikeSpinSpiritSplitSpoilSponsorSpoonSportSpotSpraySpreadSpringSpySquareSqueezeSquirrelStableStadiumStaffStageStairsStampStandStartStateStaySteakSteelStemStepStereoStickStillStingStockStomachStoneStoolStoryStoveStrategyStreetStrikeStrongStruggleStudentStuffStumbleStyleSubjectSubmitSubwaySuccessSuchSuddenSufferSugarSuggestSuitSummerSunSunnySunsetSuperSupplySupremeSureSurfaceSurgeSurpriseSurroundSurveySuspectSustainSwallowSwampSwapSwarmSwearSweetSwiftSwimSwingSwitchSwordSymbolSymptomSyrupSystemTableTackleTagTailTalentTalkTankTapeTargetTaskTasteTattooTaxiTeachTeamTellTenTenantTennisTentTermTestTextThankThatThemeThenTheoryThereTheyThingThisThoughtThreeThriveThrowThumbThunderTicketTideTigerTiltTimberTimeTinyTipTiredTissueTitleToastTobaccoTodayToddlerToeTogetherToiletTokenTomatoTomorrowToneTongueTonightToolToothTopTopicToppleTorchTornadoTortoiseTossTotalTouristTowardTowerTownToyTrackTradeTrafficTragicTrainTransferTrapTrashTravelTrayTreatTreeTrendTrialTribeTrickTriggerTrimTripTrophyTroubleTruckTrueTrulyTrumpetTrustTruthTryTubeTuitionTumbleTunaTunnelTurkeyTurnTurtleTwelveTwentyTwiceTwinTwistTwoTypeTypicalUglyUmbrellaUnableUnawareUncleUncoverUnderUndoUnfairUnfoldUnhappyUniformUniqueUnitUniverseUnknownUnlockUntilUnusualUnveilUpdateUpgradeUpholdUponUpperUpsetUrbanUrgeUsageUseUsedUsefulUselessUsualUtilityVacantVacuumVagueValidValleyValveVanVanishVaporVariousVastVaultVehicleVelvetVendorVentureVenueVerbVerifyVersionVeryVesselVeteranViableVibrantViciousVictoryVideoViewVillageVintageViolinVirtualVirusVisaVisitVisualVitalVividVocalVoiceVoidVolcanoVolumeVoteVoyageWageWagonWaitWalkWallWalnutWantWarfareWarmWarriorWashWaspWasteWaterWaveWayWealthWeaponWearWeaselWeatherWebWeddingWeekendWeirdWelcomeWestWetWhaleWhatWheatWheelWhenWhereWhipWhisperWideWidthWifeWildWillWinWindowWineWingWinkWinnerWinterWireWisdomWiseWishWitnessWolfWomanWonderWoodWoolWordWorkWorldWorryWorthWrapWreckWrestleWristWriteWrongYardYearYellowYouYoungYouthZebraZeroZoneZoo".replace(/([A-Z])/g," $1").toLowerCase().substring(1).split(" "),"0x3c8acc1e7b08d8e76f9fda015ef48dc8c710a73cb7e0f77b2c18a9b5a7adde60"!==r.a.check(e)))throw n=null,new Error("BIP39 Wordlist for en (English) FAILED")}class i extends r.a{constructor(){super("en")}getWord(e){return a(this),n[e]}getWordIndex(e){return a(this),n.indexOf(e)}}const o=new i;r.a.register(o);const s={en:o}}])}));
|
|
321
321
|
//# sourceMappingURL=requestnetwork.min.js.map
|