@requestnetwork/request-client.js 0.40.1-next.1861 → 0.40.1-next.1862
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
|
@@ -281,5 +281,5 @@ ${t.PaymentFragmentFragmentDoc}`;const n=(e,t)=>e();t.getSdk=function(e,r=n){ret
|
|
|
281
281
|
}
|
|
282
282
|
}
|
|
283
283
|
${t.EventFragment}
|
|
284
|
-
${t.PaymentFragment}`},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.EthInputDataPaymentDetector=void 0;const f=r(12),n=r(44),a=r(4),i=r(635),o=r(254),s=r(86),c=r(33),u=r(45),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:r,getSubgraphClient:f}){super(a.ExtensionTypes.PAYMENT_NETWORK_ID.ETH_INPUT_DATA,e.extensions.ethereumInputData,t),this.explorerApiKeys=r||{},this.getSubgraphClient=f}extractEvents(e,t,r,n,a,s){return(0,f.__awaiter)(this,void 0,void 0,(function*(){if(!t)return{paymentEvents:[]};const f=new i.EthInputDataInfoRetriever(t,e,a,r,this.explorerApiKeys[a]),n=yield f.getTransferEvents(),c=l.getDeploymentInformation(a,s.version);let d,p=[];if(c){const f=this.getSubgraphClient(a);if(f){const n=new u.TheGraphInfoRetriever(f,this.currencyManager);d=yield n.getTransferEvents({paymentReference:r,contractAddress:c.address,toAddress:t,eventName:e,paymentChain:a})}else{const f=new o.EthProxyInfoRetriever(r,c.address,c.creationBlockNumber,t,e,a);d={paymentEvents:yield f.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,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.EthInputDataInfoRetriever=void 0;const f=r(12),n=r(636);t.EthInputDataInfoRetriever=class{constructor(e,t,r,f,n){this.toAddress=e,this.eventName=t,this.network=r,this.paymentReference=f,this.explorerApiKey=n}getTransferEvents(){return(0,f.__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,r)=>t.findIndex((t=>t.hash===e.hash))===r)).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,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.MultichainExplorerApiProvider=void 0;const f=r(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 f.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,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.EthFeeProxyPaymentDetector=void 0;const f=r(12),n=r(44),a=r(4),i=r(254),o=r(105),s=r(33),c=r(45),u={"0.1.0":"0.1.0","0.2.0":"0.2.0"};class d extends o.FeeReferenceBasedDetector{constructor({advancedLogic:e,currencyManager:t,getSubgraphClient:r}){super(a.ExtensionTypes.PAYMENT_NETWORK_ID.ETH_FEE_PROXY_CONTRACT,e.extensions.feeProxyContractEth,t),this.getSubgraphClient=r}extractEvents(e,t,r,n,a,o){return(0,f.__awaiter)(this,void 0,void 0,(function*(){if(!t)return{paymentEvents:[]};const f=d.getDeploymentInformation(a,o.version),n=this.getSubgraphClient(a);if(n){return new c.TheGraphInfoRetriever(n,this.currencyManager).getTransferEvents({paymentReference:r,contractAddress:f.address,toAddress:t,eventName:e,paymentChain:a})}{const n=new i.EthProxyInfoRetriever(r,f.address,f.creationBlockNumber,t,e,a);return{paymentEvents:yield n.getTransferEvents()}}}))}}t.EthFeeProxyPaymentDetector=d,d.getDeploymentInformation=(0,s.makeGetDeploymentInformation)(n.ethereumFeeProxyArtifact,u)},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.AnyToERC20PaymentDetector=void 0;const f=r(12),n=r(44),a=r(4),i=r(234),o=r(639),s=r(45),c=r(33),u=r(7),d={"0.1.0":"0.1.0"};class l extends i.ERC20FeeProxyPaymentDetectorBase{constructor({advancedLogic:e,currencyManager:t,getSubgraphClient:r}){super(a.ExtensionTypes.PAYMENT_NETWORK_ID.ANY_TO_ERC20_PROXY,e.extensions.anyToErc20Proxy,t),this.getSubgraphClient=r}createExtensionsDataForCreation(e){return(0,f.__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,r,a,i,c){return(0,f.__awaiter)(this,void 0,void 0,(function*(){if(!t)return{paymentEvents:[]};const{acceptedTokens:f,maxRateTimespan:u=0}=c.values,{address:d,creationBlockNumber:p}=l.getDeploymentInformation(i,c.version),h=n.erc20ConversionProxy.getContractAbi(c.version),b=yield this.getCurrency(a),m=this.getSubgraphClient(i);if(m){const n=new s.TheGraphInfoRetriever(m,this.currencyManager);return yield n.getTransferEvents({paymentReference:r,contractAddress:d,toAddress:t,eventName:e,paymentChain:i,acceptedTokens:f,maxRateTimespan:u})}const y=new o.AnyToErc20InfoRetriever(b,r,d,p,h,t,e,i,f,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,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.AnyToErc20InfoRetriever=void 0;const f=r(256);class n extends f.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,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.AnyToEthFeeProxyPaymentDetector=void 0;const f=r(12),n=r(44),a=r(4),i=r(40),o=r(641),s=r(257),c=r(33),u=r(45),d={"0.1.0":"0.1.0","0.2.0":"0.2.0"};class l extends s.AnyToAnyDetector{constructor({advancedLogic:e,currencyManager:t,getSubgraphClient:r}){super(a.ExtensionTypes.PAYMENT_NETWORK_ID.ANY_TO_ETH_PROXY,e.extensions.anyToEthProxy,t),this.getSubgraphClient=r}extractEvents(e,t,r,a,s,c){var d,p;return(0,f.__awaiter)(this,void 0,void 0,(function*(){if(!t)return{paymentEvents:[]};const f=l.getDeploymentInformation(s,c.version),h=this.currencyManager.fromStorageCurrency(a);if(!h)throw new i.UnsupportedCurrencyError(a.value);const b=this.getSubgraphClient(s);if(b){const n=new u.TheGraphInfoRetriever(b,this.currencyManager);return yield n.getTransferEvents({paymentReference:r,contractAddress:f.address,toAddress:t,eventName:e,paymentChain:s,maxRateTimespan:null===(d=c.values)||void 0===d?void 0:d.maxRateTimespan})}const m=n.ethConversionArtifact.getContractAbi(f.contractVersion),y=new o.AnyToEthInfoRetriever(h,r,f.address,f.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,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.AnyToEthInfoRetriever=void 0;const f=r(256);class n extends f.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,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.NearNativeTokenPaymentDetector=void 0;const f=r(12),n=r(148),a=r(643),i=r(101),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,r,a,i,o){return(0,f.__awaiter)(this,void 0,void 0,(function*(){if(!t)return{paymentEvents:[]};const f=new n.NearInfoRetriever(r,t,s.getContractName(i,o.version),e,i);return{paymentEvents:yield f.getTransferEvents()}}))}}t.NearNativeTokenPaymentDetector=s,s.getContractName=(e,t="0.2.0")=>{var r;const f=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===(r=n[e])||void 0===r?void 0:r[f])return n[e][f];throw new i.NetworkNotSupported(`Unconfigured near-detector chain '${e}' and version '${f}'`)},s.getVersionOrThrow=e=>{if(!o[e])throw Error(`Near payment detection not implemented for version ${e}`);return o[e]}},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.NativeTokenPaymentDetector=void 0;const f=r(4),n=r(86);class a extends n.ReferenceBasedDetector{constructor({network:e,advancedLogic:t,currencyManager:r}){const n=f.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,r)}}t.NativeTokenPaymentDetector=a},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.NearConversionNativeTokenPaymentDetector=void 0;const f=r(12),n=r(40),a=r(259),i=r(645),o=r(101),s={"0.1.0":"0.1.0"};class c extends i.AnyToNativeDetector{constructor(e){super(e)}extractEvents(e,t,r,i,o,s){return(0,f.__awaiter)(this,void 0,void 0,(function*(){if(!t)return{paymentEvents:[]};const f=this.currencyManager.fromStorageCurrency(i);if(!f)throw new n.UnsupportedCurrencyError(i.value);const u=new a.NearConversionInfoRetriever(f,r,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 r;const f=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===(r=n[e])||void 0===r?void 0:r[f])return n[e][f];throw new o.NetworkNotSupported(`Unconfigured near-conversion-detector chain '${e}' and version '${f}'`)},c.getVersionOrThrow=e=>{if(!s[e])throw Error(`Near payment detection not implemented for version ${e}`);return s[e]}},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.AnyToNativeDetector=void 0;const f=r(4),n=r(257);class a extends n.AnyToAnyDetector{constructor({network:e,advancedLogic:t,currencyManager:r}){const n=f.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,r)}}t.AnyToNativeDetector=a},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.EscrowERC20InfoRetriever=void 0;const f=r(12),n=r(4),a=r(44),i=r(3),o=r(33),s=r(7),c={"0.1.0":"0.1.0","0.2.0":"0.1.0"};class u{constructor(e,t,r,f,n,o,c){this.paymentReference=e,this.escrowContractAddress=t,this.escrowCreationBlockNumber=r,this.tokenContractAddress=f,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(0,f.__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(0,f.__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(0,f.__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 r=(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:r,transactionHash:n})=>(0,f.__awaiter)(this,void 0,void 0,(function*(){var f,a;return{amount:(null===(f=t.amount)||void 0===f?void 0:f.toString())||void 0,name:e,parameters:{block:r,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(r||0)).timestamp}}))));return Promise.all(r)}))}getEscrowRequestMapping(){return(0,f.__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,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0});const f=r(40),n=r(261),a=r(280),i=r(736),o=r(744);class s extends n.default{constructor({decryptionProvider:e,httpConfig:t,nodeConnectionConfig:r,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:r});u||(u=new f.CurrencyManager(c||f.CurrencyManager.getDefaultList())),super({dataAccess:l,signatureProvider:n,decryptionProvider:e,currencyManager:u,paymentOptions:d})}}t.default=s},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.AdvancedLogic=void 0;var f=r(649);Object.defineProperty(t,"AdvancedLogic",{enumerable:!0,get:function(){return f.default}})},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0});const f=r(4),n=r(40),a=r(650),i=r(263),o=r(651),s=r(264),c=r(652),u=r(265),d=r(653),l=r(654),p=r(266),h=r(655),b=r(267),m=r(657),y=r(658),g=r(659),v=r(268),_=r(661);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 h.default,feeProxyContractErc20:new u.default,proxyContractErc20:new d.default,erc777Stream:new l.default,feeProxyContractEth:new p.default,anyToEthProxy:new g.default(e),nativeToken:[new b.default,new m.default],anyToNativeToken:[new v.default(e),new _.default(e)]}}applyActionToExtensions(e,t,r,f,n){return this.getExtensionForActionAndState(t,r).applyActionToExtension(e,t,r,f,n)}getExtensionForActionAndState(e,t){const r=e.id,n={[f.ExtensionTypes.ID.CONTENT_DATA]:this.extensions.contentData,[f.ExtensionTypes.PAYMENT_NETWORK_ID.BITCOIN_ADDRESS_BASED]:this.extensions.addressBasedBtc,[f.ExtensionTypes.PAYMENT_NETWORK_ID.TESTNET_BITCOIN_ADDRESS_BASED]:this.extensions.addressBasedTestnetBtc,[f.ExtensionTypes.PAYMENT_NETWORK_ID.ANY_DECLARATIVE]:this.extensions.declarative,[f.ExtensionTypes.PAYMENT_NETWORK_ID.ERC20_ADDRESS_BASED]:this.extensions.addressBasedErc20,[f.ExtensionTypes.PAYMENT_NETWORK_ID.ERC20_PROXY_CONTRACT]:this.extensions.proxyContractErc20,[f.ExtensionTypes.PAYMENT_NETWORK_ID.ERC20_FEE_PROXY_CONTRACT]:this.extensions.feeProxyContractErc20,[f.ExtensionTypes.PAYMENT_NETWORK_ID.ERC777_STREAM]:this.extensions.erc777Stream,[f.ExtensionTypes.PAYMENT_NETWORK_ID.ETH_INPUT_DATA]:this.extensions.ethereumInputData,[f.ExtensionTypes.PAYMENT_NETWORK_ID.NATIVE_TOKEN]:this.getNativeTokenExtensionForActionAndState(e,t),[f.ExtensionTypes.PAYMENT_NETWORK_ID.ANY_TO_ERC20_PROXY]:this.extensions.anyToErc20Proxy,[f.ExtensionTypes.PAYMENT_NETWORK_ID.ETH_FEE_PROXY_CONTRACT]:this.extensions.feeProxyContractEth,[f.ExtensionTypes.PAYMENT_NETWORK_ID.ANY_TO_ETH_PROXY]:this.extensions.anyToEthProxy,[f.ExtensionTypes.PAYMENT_NETWORK_ID.ANY_TO_NATIVE_TOKEN]:this.getAnyToNativeTokenExtensionForActionAndState(e,t)}[r];if(!n){if(r===f.ExtensionTypes.PAYMENT_NETWORK_ID.NATIVE_TOKEN||r===f.ExtensionTypes.PAYMENT_NETWORK_ID.ANY_TO_NATIVE_TOKEN){const f=this.getNetwork(e,t)||t.currency.network;throw Error(`extension with id: ${r} not found for network: ${f}`)}throw Error(`extension not recognized, id: ${r}`)}return n}getNativeTokenExtensionForNetwork(e){return this.extensions.nativeToken.find((t=>t.supportedNetworks.includes(e)))}getNativeTokenExtensionForActionAndState(e,t){var r;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 f=null!==(r=t.currency.network)&&void 0!==r?r:e.parameters.paymentNetworkName;return f?this.getNativeTokenExtensionForNetwork(f):void 0}getAnyToNativeTokenExtensionForNetwork(e){return this.extensions.anyToNativeToken.find((t=>t.supportedNetworks.includes(e)))}getAnyToNativeTokenExtensionForActionAndState(e,t){const r=this.getNetwork(e,t);return r?this.getAnyToNativeTokenExtensionForNetwork(r):void 0}getNetwork(e,t){var r,n;return"create"===e.action?e.parameters.network:null===(n=null===(r=t.extensions[f.ExtensionTypes.PAYMENT_NETWORK_ID.ANY_TO_NATIVE_TOKEN])||void 0===r?void 0:r.values)||void 0===n?void 0:n.network}}},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0});const f=r(4),n=r(262);class a extends n.AbstractExtension{constructor(){super(f.ExtensionTypes.TYPE.CONTENT_DATA,f.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 r=super.applyCreation(e,t);return Object.assign(Object.assign({},r),{events:[],id:this.extensionId,type:this.extensionType,values:Object.assign(Object.assign({},r.values),{content:e.parameters.content})})}}t.default=a},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0});const f=r(263),n=r(4);class a extends f.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,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0});const f=r(4),n=r(87);class a extends n.default{constructor(){super(f.ExtensionTypes.PAYMENT_NETWORK_ID.ERC20_ADDRESS_BASED,"0.1.0",f.RequestLogicTypes.CURRENCY.ERC20)}}t.default=a},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0});const f=r(4),n=r(88);class a extends n.default{constructor(){super(f.ExtensionTypes.PAYMENT_NETWORK_ID.ERC20_PROXY_CONTRACT,"0.1.0",f.RequestLogicTypes.CURRENCY.ERC20)}}t.default=a},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0});const f=r(4),n=r(88),a=r(7);class i extends n.default{constructor(){super(f.ExtensionTypes.PAYMENT_NETWORK_ID.ERC777_STREAM,"0.1.0",f.RequestLogicTypes.CURRENCY.ERC777)}createCreationAction(e){if(!f.TypesUtils.isOriginalRequestCreationParameters(e)&&!f.TypesUtils.isSubsequentRequestCreationParameters(e))throw Error("originalRequestId, previousRequestId and recurrenceNumber must be all empty or all filled");if(f.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:f.ExtensionTypes.PnFeeReferenceBased.ACTION.CREATE,id:this.extensionId,parameters:e,version:this.currentVersion}}applyCreation(e,t){if(!f.TypesUtils.isOriginalRequestCreationParameters(e.parameters)&&!f.TypesUtils.isSubsequentRequestCreationParameters(e.parameters))throw Error("originalRequestId, previousRequestId and recurrenceNumber must be all empty or all filled");if(f.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 r=super.applyCreation(e,t);return Object.assign(Object.assign({},r),{events:[{name:f.ExtensionTypes.PnFeeReferenceBased.ACTION.CREATE,parameters:e.parameters,timestamp:t}],values:Object.assign(Object.assign({},r.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:f.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,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0});const f=r(4),n=r(88);class a extends n.default{constructor(e=f.ExtensionTypes.PAYMENT_NETWORK_ID.ETH_INPUT_DATA,t="0.3.0"){super(e,t,f.RequestLogicTypes.CURRENCY.ETH)}}t.default=a},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0});const f=r(4),n=r(87),a=r(88);class i extends a.default{constructor(e,t,r){super(e,t,f.RequestLogicTypes.CURRENCY.ETH),this.supportedNetworks=r}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,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0});const f=r(267);class n extends f.default{constructor(){super(["aurora-testnet","near-testnet"])}isValidAddress(e){return this.isValidAddressForSymbolAndNetwork(e,"NEAR-testnet","aurora-testnet")}}t.default=n},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0});const f=r(40),n=r(4),a=r(265);class i extends a.default{constructor(e,t=n.ExtensionTypes.PAYMENT_NETWORK_ID.ANY_TO_ERC20_PROXY,r="0.1.0"){super(t,r),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 r of e.acceptedTokens){const e=this.currencyManager.fromAddress(r,t);if(!e)throw new f.UnsupportedCurrencyError({value:r,network:t});if(!this.currencyManager.supportsConversion(e,t))throw Error(`acceptedTokens must contain only supported token addresses (ERC20 only). ${r} 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 r=super.applyCreation(e,t);return Object.assign(Object.assign({},r),{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({},r.values),{network:e.parameters.network,acceptedTokens:e.parameters.acceptedTokens,maxRateTimespan:e.parameters.maxRateTimespan})})}validate(e,t){var r;const a=t.action===n.ExtensionTypes.PnFeeReferenceBased.ACTION.CREATE?t.parameters.network:null===(r=e.extensions[this.extensionId])||void 0===r?void 0:r.values.network;if(!a)return;if(!a)return;if(!f.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 f.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,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0});const f=r(40),n=r(4),a=r(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 r=super.applyCreation(e,t);return Object.assign(Object.assign({},r),{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({},r.values),{network:e.parameters.network,maxRateTimespan:e.parameters.maxRateTimespan})})}validate(e,t){var r;const a=t.action===n.ExtensionTypes.PnFeeReferenceBased.ACTION.CREATE?t.parameters.network:null===(r=e.extensions[this.extensionId])||void 0===r?void 0:r.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 f.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,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.InvalidMaxRateTimespanError=void 0;const f=r(150),n=r(4),a=r(87);class i extends f.FeeReferenceBasedPaymentNetwork{constructor(e,t,r){super(e,t,n.RequestLogicTypes.CURRENCY.ETH),this.supportedNetworks=r}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,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0});const f=r(268);class n extends f.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,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.RequestLogic=void 0;var f=r(663);Object.defineProperty(t,"RequestLogic",{enumerable:!0,get:function(){return f.default}})},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0});const f=r(664),n=r(28),a=r(41),i=r(4),o=r(675),s=r(7);t.default=class{constructor(e,t,r){this.transactionManager=e,this.signatureProvider=t,this.advancedLogic=r}createRequest(e,t,r=[]){return(0,f.__awaiter)(this,void 0,void 0,(function*(){const{action:f,requestId:a,hashedTopics:i}=yield this.createCreationActionRequestIdAndTopics(e,t,r);o.default.applyActionToRequest(null,f,Date.now(),this.advancedLogic);const s=yield this.transactionManager.persistTransaction(JSON.stringify(f),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,r,a=[]){return(0,f.__awaiter)(this,void 0,void 0,(function*(){if(0===r.length)throw new Error("You must give at least one encryption parameter to create an encrypted request");const{action:f,requestId:i,hashedTopics:s}=yield this.createCreationActionRequestIdAndTopics(e,t,a);o.default.applyActionToRequest(null,f,Date.now(),this.advancedLogic);const c=yield this.transactionManager.persistTransaction(JSON.stringify(f),i,s,r),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(0,f.__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);return o.default.applyActionToRequest(null,r,Date.now(),this.advancedLogic),o.default.getRequestIdFromAction(r)}))}acceptRequest(e,t,r=!1){return(0,f.__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.formatAccept(e,t,this.signatureProvider),a=o.default.getRequestIdFromAction(f);r&&(yield this.validateAction(a,f));const i=yield this.transactionManager.persistTransaction(JSON.stringify(f),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,r=!1){return(0,f.__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.formatCancel(e,t,this.signatureProvider),a=o.default.getRequestIdFromAction(f);r&&(yield this.validateAction(a,f));const i=yield this.transactionManager.persistTransaction(JSON.stringify(f),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,r=!1){return(0,f.__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.formatIncreaseExpectedAmount(e,t,this.signatureProvider),a=o.default.getRequestIdFromAction(f);r&&(yield this.validateAction(a,f));const i=yield this.transactionManager.persistTransaction(JSON.stringify(f),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,r=!1){return(0,f.__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.formatReduceExpectedAmount(e,t,this.signatureProvider),a=o.default.getRequestIdFromAction(f);r&&(yield this.validateAction(a,f));const i=yield this.transactionManager.persistTransaction(JSON.stringify(f),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,r=!1){return(0,f.__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.formatAddExtensionsData(e,t,this.signatureProvider),a=o.default.getRequestIdFromAction(f);r&&(yield this.validateAction(a,f));const i=yield this.transactionManager.persistTransaction(JSON.stringify(f),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(0,f.__awaiter)(this,void 0,void 0,(function*(){const{ignoredTransactions:t,confirmedRequestState:r,pendingRequestState:f,transactionManagerMeta:n}=yield this.computeRequestFromRequestId(e);return{meta:{ignoredTransactions:t,transactionManagerMeta:n},result:{request:r,pending:this.computeDiffBetweenPendingAndConfirmedRequestState(r,f)}}}))}getRequestsByTopic(e,t){return(0,f.__awaiter)(this,void 0,void 0,(function*(){const r=a.default.serialize((0,s.normalizeKeccak256Hash)(e)),f=yield this.transactionManager.getChannelsByTopic(r,t);return this.computeMultipleRequestFromChannels(f)}))}getRequestsByMultipleTopics(e,t){return(0,f.__awaiter)(this,void 0,void 0,(function*(){const r=e.map((e=>a.default.serialize((0,s.normalizeKeccak256Hash)(e)))),f=yield this.transactionManager.getChannelsByMultipleTopics(r,t);return this.computeMultipleRequestFromChannels(f)}))}createCreationActionRequestIdAndTopics(e,t,r){return(0,f.__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),n=o.default.getRequestIdFromAction(f);return{action:f,hashedTopics:r.map((e=>a.default.serialize((0,s.normalizeKeccak256Hash)(e)))),requestId:n}}))}computeRequestFromRequestId(e){return(0,f.__awaiter)(this,void 0,void 0,(function*(){const t=yield this.transactionManager.getTransactionsByChannelId(e),r=t.result.transactions.filter(s.notNull).sort(((e,t)=>e.timestamp-t.timestamp));let{ignoredTransactions:f,keptTransactions:n}=this.removeOldPendingTransactions(r);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 f.push({reason:"JSON parsing error",transaction:e})}})).filter(s.notNull),"action");f=f.concat(a.duplicates.map((e=>({reason:"Duplicated transaction",transaction:e}))));const{confirmedRequestState:i,pendingRequestState:o,ignoredTransactionsByApplication:c}=yield this.computeRequestFromTransactions(a.uniqueItems);return f=f.concat(c),{confirmedRequestState:i,ignoredTransactions:f,pendingRequestState:o,transactionManagerMeta:t.meta}}))}computeRequestFromTransactions(e){return(0,f.__awaiter)(this,void 0,void 0,(function*(){const t=[],r=e.filter((e=>e.state===i.TransactionTypes.TransactionState.CONFIRMED)).reduce(((e,r)=>{try{return o.default.applyActionToRequest(e,r.action,r.timestamp,this.advancedLogic)}catch(f){return t.push({reason:f.message,transaction:r}),e}}),null),f=e.filter((e=>e.state===i.TransactionTypes.TransactionState.PENDING)).reduce(((e,r)=>{try{return o.default.applyActionToRequest(e,r.action,r.timestamp,this.advancedLogic)}catch(f){return t.push({reason:f.message,transaction:r}),e}}),r);return{confirmedRequestState:r,ignoredTransactionsByApplication:t,pendingRequestState:f}}))}computeMultipleRequestFromChannels(e){return(0,f.__awaiter)(this,void 0,void 0,(function*(){const t=e.result.transactions,r=e.meta.dataAccessMeta,n=Object.keys(e.result.transactions).map((e=>(0,f.__awaiter)(this,void 0,void 0,(function*(){let{ignoredTransactions:f,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 f.push({reason:"JSON parsing error",transaction:e})}})).filter(s.notNull),"action");f=f.concat(a.duplicates.map((e=>({reason:"Duplicated transaction",transaction:e}))));const{confirmedRequestState:i,pendingRequestState:o,ignoredTransactionsByApplication:c}=yield this.computeRequestFromTransactions(a.uniqueItems);f=f.concat(c);const u=this.computeDiffBetweenPendingAndConfirmedRequestState(i,o);return{ignoredTransactions:f,pending:u,request:i,transactionManagerMeta:r[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(0,f.__awaiter)(this,void 0,void 0,(function*(){const{confirmedRequestState:r,pendingRequestState:f}=yield this.computeRequestFromRequestId(e);try{o.default.applyActionToRequest(r,t,Date.now(),this.advancedLogic)}catch(e){f&&o.default.applyActionToRequest(f,t,Date.now(),this.advancedLogic)}}))}computeDiffBetweenPendingAndConfirmedRequestState(e,t){let r=null;if(e){if(t)for(const f in t)f in t&&(0,s.normalizeKeccak256Hash)(t[f]).value!==(0,s.normalizeKeccak256Hash)(e[f]).value&&(r||(r={}),r[f]="events"===f?t[f].slice(e[f].length):t[f])}else r=t;return r}removeOldPendingTransactions(e){const t=[];let r=!1;const f=e.reverse().filter((e=>!!e&&(r=r||e.state===i.TransactionTypes.TransactionState.CONFIRMED,e.state===i.TransactionTypes.TransactionState.CONFIRMED||e.state===i.TransactionTypes.TransactionState.PENDING&&!r||(t.push({reason:"Confirmed transaction newer than this pending transaction",transaction:e}),!1)))).reverse();return{ignoredTransactions:t,keptTransactions:f}}}},function(e,t,r){"use strict";r.r(t),r.d(t,"__extends",(function(){return n})),r.d(t,"__assign",(function(){return a})),r.d(t,"__rest",(function(){return i})),r.d(t,"__decorate",(function(){return o})),r.d(t,"__param",(function(){return s})),r.d(t,"__metadata",(function(){return c})),r.d(t,"__awaiter",(function(){return u})),r.d(t,"__generator",(function(){return d})),r.d(t,"__createBinding",(function(){return l})),r.d(t,"__exportStar",(function(){return p})),r.d(t,"__values",(function(){return h})),r.d(t,"__read",(function(){return b})),r.d(t,"__spread",(function(){return m})),r.d(t,"__spreadArrays",(function(){return y})),r.d(t,"__spreadArray",(function(){return g})),r.d(t,"__await",(function(){return v})),r.d(t,"__asyncGenerator",(function(){return _})),r.d(t,"__asyncDelegator",(function(){return w})),r.d(t,"__asyncValues",(function(){return E})),r.d(t,"__makeTemplateObject",(function(){return A})),r.d(t,"__importStar",(function(){return x})),r.d(t,"__importDefault",(function(){return S})),r.d(t,"__classPrivateFieldGet",(function(){return C})),r.d(t,"__classPrivateFieldSet",(function(){return O}));var f=function(e,t){return f=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var r in t)Object.prototype.hasOwnProperty.call(t,r)&&(e[r]=t[r])},f(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 r(){this.constructor=e}f(e,t),e.prototype=null===t?Object.create(t):(r.prototype=t.prototype,new r)}var a=function(){return a=Object.assign||function(e){for(var t,r=1,f=arguments.length;r<f;r++)for(var n in t=arguments[r])Object.prototype.hasOwnProperty.call(t,n)&&(e[n]=t[n]);return e},a.apply(this,arguments)};function i(e,t){var r={};for(var f in e)Object.prototype.hasOwnProperty.call(e,f)&&t.indexOf(f)<0&&(r[f]=e[f]);if(null!=e&&"function"==typeof Object.getOwnPropertySymbols){var n=0;for(f=Object.getOwnPropertySymbols(e);n<f.length;n++)t.indexOf(f[n])<0&&Object.prototype.propertyIsEnumerable.call(e,f[n])&&(r[f[n]]=e[f[n]])}return r}function o(e,t,r,f){var n,a=arguments.length,i=a<3?t:null===f?f=Object.getOwnPropertyDescriptor(t,r):f;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)i=Reflect.decorate(e,t,r,f);else for(var o=e.length-1;o>=0;o--)(n=e[o])&&(i=(a<3?n(i):a>3?n(t,r,i):n(t,r))||i);return a>3&&i&&Object.defineProperty(t,r,i),i}function s(e,t){return function(r,f){t(r,f,e)}}function c(e,t){if("object"==typeof Reflect&&"function"==typeof Reflect.metadata)return Reflect.metadata(e,t)}function u(e,t,r,f){return new(r||(r=Promise))((function(n,a){function i(e){try{s(f.next(e))}catch(e){a(e)}}function o(e){try{s(f.throw(e))}catch(e){a(e)}}function s(e){var t;e.done?n(e.value):(t=e.value,t instanceof r?t:new r((function(e){e(t)}))).then(i,o)}s((f=f.apply(e,t||[])).next())}))}function d(e,t){var r,f,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(a){return function(o){return function(a){if(r)throw new TypeError("Generator is already executing.");for(;i;)try{if(r=1,f&&(n=2&a[0]?f.return:a[0]?f.throw||((n=f.return)&&n.call(f),0):f.next)&&!(n=n.call(f,a[1])).done)return n;switch(f=0,n&&(a=[2&a[0],n.value]),a[0]){case 0:case 1:n=a;break;case 4:return i.label++,{value:a[1],done:!1};case 5:i.label++,f=a[1],a=[0];continue;case 7:a=i.ops.pop(),i.trys.pop();continue;default:if(!(n=i.trys,(n=n.length>0&&n[n.length-1])||6!==a[0]&&2!==a[0])){i=0;continue}if(3===a[0]&&(!n||a[1]>n[0]&&a[1]<n[3])){i.label=a[1];break}if(6===a[0]&&i.label<n[1]){i.label=n[1],n=a;break}if(n&&i.label<n[2]){i.label=n[2],i.ops.push(a);break}n[2]&&i.ops.pop(),i.trys.pop();continue}a=t.call(e,i)}catch(e){a=[6,e],f=0}finally{r=n=0}if(5&a[0])throw a[1];return{value:a[0]?a[1]:void 0,done:!0}}([a,o])}}}var l=Object.create?function(e,t,r,f){void 0===f&&(f=r),Object.defineProperty(e,f,{enumerable:!0,get:function(){return t[r]}})}:function(e,t,r,f){void 0===f&&(f=r),e[f]=t[r]};function p(e,t){for(var r in e)"default"===r||Object.prototype.hasOwnProperty.call(t,r)||l(t,e,r)}function h(e){var t="function"==typeof Symbol&&Symbol.iterator,r=t&&e[t],f=0;if(r)return r.call(e);if(e&&"number"==typeof e.length)return{next:function(){return e&&f>=e.length&&(e=void 0),{value:e&&e[f++],done:!e}}};throw new TypeError(t?"Object is not iterable.":"Symbol.iterator is not defined.")}function b(e,t){var r="function"==typeof Symbol&&e[Symbol.iterator];if(!r)return e;var f,n,a=r.call(e),i=[];try{for(;(void 0===t||t-- >0)&&!(f=a.next()).done;)i.push(f.value)}catch(e){n={error:e}}finally{try{f&&!f.done&&(r=a.return)&&r.call(a)}finally{if(n)throw n.error}}return i}function m(){for(var e=[],t=0;t<arguments.length;t++)e=e.concat(b(arguments[t]));return e}function y(){for(var e=0,t=0,r=arguments.length;t<r;t++)e+=arguments[t].length;var f=Array(e),n=0;for(t=0;t<r;t++)for(var a=arguments[t],i=0,o=a.length;i<o;i++,n++)f[n]=a[i];return f}function g(e,t,r){if(r||2===arguments.length)for(var f,n=0,a=t.length;n<a;n++)!f&&n in t||(f||(f=Array.prototype.slice.call(t,0,n)),f[n]=t[n]);return e.concat(f||Array.prototype.slice.call(t))}function v(e){return this instanceof v?(this.v=e,this):new v(e)}function _(e,t,r){if(!Symbol.asyncIterator)throw new TypeError("Symbol.asyncIterator is not defined.");var f,n=r.apply(e,t||[]),a=[];return f={},i("next"),i("throw"),i("return"),f[Symbol.asyncIterator]=function(){return this},f;function i(e){n[e]&&(f[e]=function(t){return new Promise((function(r,f){a.push([e,t,r,f])>1||o(e,t)}))})}function o(e,t){try{(r=n[e](t)).value instanceof v?Promise.resolve(r.value.v).then(s,c):u(a[0][2],r)}catch(e){u(a[0][3],e)}var r}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 w(e){var t,r;return t={},f("next"),f("throw",(function(e){throw e})),f("return"),t[Symbol.iterator]=function(){return this},t;function f(f,n){t[f]=e[f]?function(t){return(r=!r)?{value:v(e[f](t)),done:"return"===f}:n?n(t):t}:n}}function E(e){if(!Symbol.asyncIterator)throw new TypeError("Symbol.asyncIterator is not defined.");var t,r=e[Symbol.asyncIterator];return r?r.call(e):(e=h(e),t={},f("next"),f("throw"),f("return"),t[Symbol.asyncIterator]=function(){return this},t);function f(r){t[r]=e[r]&&function(t){return new Promise((function(f,n){(function(e,t,r,f){Promise.resolve(f).then((function(t){e({value:t,done:r})}),t)})(f,n,(t=e[r](t)).done,t.value)}))}}}function A(e,t){return Object.defineProperty?Object.defineProperty(e,"raw",{value:t}):e.raw=t,e}var T=Object.create?function(e,t){Object.defineProperty(e,"default",{enumerable:!0,value:t})}:function(e,t){e.default=t};function x(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var r in e)"default"!==r&&Object.prototype.hasOwnProperty.call(e,r)&&l(t,e,r);return T(t,e),t}function S(e){return e&&e.__esModule?e:{default:e}}function C(e,t,r,f){if("a"===r&&!f)throw new TypeError("Private accessor was defined without a getter");if("function"==typeof t?e!==t||!f:!t.has(e))throw new TypeError("Cannot read private member from an object whose class did not declare it");return"m"===r?f:"a"===r?f.call(e):f?f.value:t.get(e)}function O(e,t,r,f,n){if("m"===f)throw new TypeError("Private method is not writable");if("a"===f&&!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"===f?n.call(e,r):n?n.value=r:t.set(e,r),r}},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0});const f=r(106),n=r(666),a=r(667),i=r(668),o=new f.default([new n.default,new i.default,new a.default]);t.default=o},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0});const f=r(4),n=r(89);class a extends n.default{constructor(){super(f.MultiFormatTypes.prefix.AES256_CBC_ENCRYPTED,f.EncryptionTypes.METHOD.AES256_CBC)}}t.default=a},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0});const f=r(4),n=r(89);class a extends n.default{constructor(){super(f.MultiFormatTypes.prefix.AES256_GCM_ENCRYPTED,f.EncryptionTypes.METHOD.AES256_GCM)}}t.default=a},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0});const f=r(4),n=r(89);class a extends n.default{constructor(){super(f.MultiFormatTypes.prefix.ECIES_ENCRYPTED,f.EncryptionTypes.METHOD.ECIES)}}t.default=a},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0});const f=r(106),n=r(670),a=new f.default([new n.default]);t.default=a},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0});const f=r(4),n=r(269);class a extends n.default{constructor(){super(f.MultiFormatTypes.prefix.NORMALIZE_KECCAK256_HASH,f.MultiFormatTypes.HashTypes.TYPE.KECCAK256)}isSerializableObject(e){return super.isSerializableObject(e)&&e.value.length===f.MultiFormatTypes.FORMAT_NORMALIZE_KECCAK256_HASH_LENGTH}isDeserializableString(e){return super.isDeserializableString(e)&&e.length===f.MultiFormatTypes.FORMAT_NORMALIZE_KECCAK256_HASH_LENGTH}}t.default=a},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0});const f=r(106),n=r(672),a=new f.default([new n.default]);t.default=a},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0});const f=r(4),n=r(269);class a extends n.default{constructor(){super(f.MultiFormatTypes.prefix.IDENTITY_ETHEREUM_ADDRESS,f.IdentityTypes.TYPE.ETHEREUM_ADDRESS)}isSerializableObject(e){return super.isSerializableObject(e)&&e.value.length===f.MultiFormatTypes.FORMAT_IDENTITY_ETHEREUM_ADDRESS_LENGTH}isDeserializableString(e){return super.isDeserializableString(e)&&e.length===f.MultiFormatTypes.FORMAT_IDENTITY_ETHEREUM_ADDRESS_LENGTH}}t.default=a},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0});const f=r(106),n=r(674),a=new f.default([new n.default]);t.default=a},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0});const f=r(4),n=r(89);class a extends n.default{constructor(){super(f.MultiFormatTypes.prefix.PLAIN_TEXT,f.MultiFormatTypes.PlainTypes.TYPE.PLAIN_TEXT)}}t.default=a},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0});const f=r(4),n=r(57),a=r(70),i=r(677),o=r(678),s=r(679),c=r(680),u=r(681),d=r(682),l=r(7);t.default={applyActionToRequest:function(e,t,r,p){if(!n.default.isActionVersionSupported(t))throw new Error("action version not supported");const h=e?(0,l.deepCopy)(e):null;let b=null;if(t.data.name===f.RequestLogicTypes.ACTION_NAME.CREATE){if(h)throw new Error("no request is expected at the creation");b=c.default.createRequest(t,r)}else{if(!h)throw new Error("request is expected");a.default.checkRequest(h),t.data.name===f.RequestLogicTypes.ACTION_NAME.ACCEPT&&(b=i.default.applyActionToRequest(t,r,h)),t.data.name===f.RequestLogicTypes.ACTION_NAME.CANCEL&&(b=s.default.applyActionToRequest(t,r,h)),t.data.name===f.RequestLogicTypes.ACTION_NAME.INCREASE_EXPECTED_AMOUNT&&(b=u.default.applyActionToRequest(t,r,h)),t.data.name===f.RequestLogicTypes.ACTION_NAME.REDUCE_EXPECTED_AMOUNT&&(b=d.default.applyActionToRequest(t,r,h)),t.data.name===f.RequestLogicTypes.ACTION_NAME.ADD_EXTENSIONS_DATA&&(b=o.default.applyActionToRequest(t,r,h))}if(!b)throw new Error(`Unknown action ${t.data.name}`);t.data.parameters.extensionsData&&p&&(b.extensions=t.data.parameters.extensionsData.reduce(((e,f)=>p.applyActionToExtensions(e,f,b,n.default.getSignerIdentityFromAction(t),r)),b.extensions));return b},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,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default={specificationVersion:{current:"2.0.3",exceptions:[]}}},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0});const f=r(4),n=r(57),a=r(70),i=r(58),o=r(7);function s(e,t,r){const n=e.data.parameters;return{actionSigner:r,name:f.RequestLogicTypes.ACTION_NAME.ACCEPT,parameters:{extensionsDataLength:n.extensionsData?n.extensionsData.length:0},timestamp:t}}t.default={applyActionToRequest:function(e,t,r){if(!e.data.parameters.requestId)throw new Error("requestId must be given");if(!r.payer)throw new Error("the request must have a payer");if(r.state!==f.RequestLogicTypes.STATE.CREATED)throw new Error("the request state must be created");const i=n.default.getSignerIdentityFromAction(e);if(a.default.getRoleInRequest(i,r)!==f.RequestLogicTypes.ROLE.PAYER)throw new Error("Signer must be the payer");r.state=f.RequestLogicTypes.STATE.ACCEPTED;let c=(0,o.deepCopy)(r);return c=a.default.pushExtensionsData(c,e.data.parameters.extensionsData),c.events.push(s(e,t,i)),c},format:function(e,t,r){const a={name:f.RequestLogicTypes.ACTION_NAME.ACCEPT,parameters:e,version:i.default.currentVersion};return n.default.createAction(a,t,r)}}},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0});const f=r(4),n=r(57),a=r(70),i=r(58),o=r(7);function s(e,t,r){const n=e.data.parameters;return{actionSigner:r,name:f.RequestLogicTypes.ACTION_NAME.ADD_EXTENSIONS_DATA,parameters:{extensionsDataLength:n.extensionsData?n.extensionsData.length:0},timestamp:t}}t.default={applyActionToRequest:function(e,t,r){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 f=n.default.getSignerIdentityFromAction(e);let i=(0,o.deepCopy)(r);return i=a.default.pushExtensionsData(i,e.data.parameters.extensionsData),i.events.push(s(e,t,f)),i},format:function(e,t,r){if(!e.extensionsData||0===e.extensionsData.length)throw new Error("extensionsData must be given");const a={name:f.RequestLogicTypes.ACTION_NAME.ADD_EXTENSIONS_DATA,parameters:e,version:i.default.currentVersion};return n.default.createAction(a,t,r)}}},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0});const f=r(4),n=r(57),a=r(70),i=r(58),o=r(7);function s(e,t,r){const n=e.data.parameters;return{actionSigner:r,name:f.RequestLogicTypes.ACTION_NAME.CANCEL,parameters:{extensionsDataLength:n.extensionsData?n.extensionsData.length:0},timestamp:t}}t.default={applyActionToRequest:function(e,t,r){if(!e.data.parameters.requestId)throw new Error("requestId must be given");const i=n.default.getSignerIdentityFromAction(e),c=a.default.getRoleInRequest(i,r);let u=(0,o.deepCopy)(r);if(u=a.default.pushExtensionsData(u,e.data.parameters.extensionsData),u.events.push(s(e,t,i)),c===f.RequestLogicTypes.ROLE.PAYER){if(r.state!==f.RequestLogicTypes.STATE.CREATED)throw new Error("A payer cancel need to be done on a request with the state created");return u.state=f.RequestLogicTypes.STATE.CANCELED,u}if(c===f.RequestLogicTypes.ROLE.PAYEE){if(r.state===f.RequestLogicTypes.STATE.CANCELED)throw new Error("Cannot cancel an already canceled request");return u.state=f.RequestLogicTypes.STATE.CANCELED,u}throw new Error("Signer must be the payer or the payee")},format:function(e,t,r){const a={name:f.RequestLogicTypes.ACTION_NAME.CANCEL,parameters:e,version:i.default.currentVersion};return n.default.createAction(a,t,r)}}},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0});const f=r(4),n=r(151),a=r(57),i=r(58),o=r(7);function s(e,t,r){const n=e.data.parameters;return{actionSigner:r,name:f.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 r=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,r)],n.lt(e.data.version,"2.0.2")&&(i.currency=function(e){switch(e){case"BTC":return{network:"mainnet",type:f.RequestLogicTypes.CURRENCY.BTC,value:"BTC"};case"ETH":return{network:"mainnet",type:f.RequestLogicTypes.CURRENCY.ETH,value:"ETH"};case"EUR":return{type:f.RequestLogicTypes.CURRENCY.ISO4217,value:"EUR"};case"USD":return{type:f.RequestLogicTypes.CURRENCY.ISO4217,value:"USD"};case"DAI":return{type:f.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(r,e);if(c===f.RequestLogicTypes.ROLE.PAYEE)return i.state=f.RequestLogicTypes.STATE.CREATED,i.creator=e.data.parameters.payee,i;if(c===f.RequestLogicTypes.ROLE.PAYER)return i.state=f.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,r){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:f.RequestLogicTypes.ACTION_NAME.CREATE,parameters:e,version:n},c=a.default.getRoleInUnsignedAction(t,s);if(c!==f.RequestLogicTypes.ROLE.PAYEE&&c!==f.RequestLogicTypes.ROLE.PAYER)throw new Error("Signer must be the payee or the payer");return a.default.createAction(s,t,r)}}},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0});const f=r(4),n=r(57),a=r(70),i=r(58),o=r(7);function s(e,t,r){const n=e.data.parameters;return{actionSigner:r,name:f.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,r){if(!e.data.parameters.requestId)throw new Error("requestId must be given");if(!r.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,r);let u=(0,o.deepCopy)(r);if(u=a.default.pushExtensionsData(u,e.data.parameters.extensionsData),u.events.push(s(e,t,i)),c===f.RequestLogicTypes.ROLE.PAYER){if(r.state===f.RequestLogicTypes.STATE.CANCELED)throw new Error("the request must not be canceled");return u.expectedAmount=(0,o.addAmount)(r.expectedAmount,e.data.parameters.deltaAmount),u}throw new Error("signer must be the payer")},format:function(e,t,r){if(!(0,o.isValidAmount)(e.deltaAmount))throw new Error("deltaAmount must be a string representing a positive integer");const a={name:f.RequestLogicTypes.ACTION_NAME.INCREASE_EXPECTED_AMOUNT,parameters:e,version:i.default.currentVersion};return n.default.createAction(a,t,r)}}},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0});const f=r(4),n=r(57),a=r(70),i=r(58),o=r(7);function s(e,t,r){const n=e.data.parameters;return{actionSigner:r,name:f.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,r){if(!e.data.parameters.requestId)throw new Error("requestId must be given");if(!r.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,r);let u=(0,o.deepCopy)(r);if(u=a.default.pushExtensionsData(u,e.data.parameters.extensionsData),u.events.push(s(e,t,i)),c===f.RequestLogicTypes.ROLE.PAYEE){if(r.state===f.RequestLogicTypes.STATE.CANCELED)throw new Error("the request must not be canceled");return u.expectedAmount=(0,o.reduceAmount)(r.expectedAmount,e.data.parameters.deltaAmount),u}throw new Error("signer must be the payee")},format:function(e,t,r){if(!(0,o.isValidAmount)(e.deltaAmount))throw new Error("deltaAmount must be a string representing a positive integer");const a={name:f.RequestLogicTypes.ACTION_NAME.REDUCE_EXPECTED_AMOUNT,parameters:e,version:i.default.currentVersion};return n.default.createAction(a,t,r)}}},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.TransactionManager=void 0;var f=r(684);Object.defineProperty(t,"TransactionManager",{enumerable:!0,get:function(){return f.default}})},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0});const f=r(71),n=r(41),a=r(4),i=r(7),o=r(28),s=r(685),c=r(689);t.default=class{constructor(e,t){this.dataAccess=e,this.channelParser=new s.default(t)}persistTransaction(e,t,r=[],s=[]){return(0,f.__awaiter)(this,void 0,void 0,(function*(){let f,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),f=u.encryptionMethod);else{const r=yield this.dataAccess.getTransactionsByChannelId(t),{channelKey:n,channelType:i,encryptionMethod:o}=yield this.channelParser.getChannelTypeAndChannelKey(t,r.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),f=o}}const l=yield this.dataAccess.persistTransaction(u,t,r.concat([d])),p=Object.assign(new o.EventEmitter,{meta:{dataAccessMeta:l.meta,encryptionMethod:f},result:{}});return l.on("confirmed",(e=>{const t={meta:{dataAccessMeta:e.meta,encryptionMethod:f},result:{}};p.emit("confirmed",t)})).on("error",(e=>{p.emit("error",e)})),p}))}getTransactionsByChannelId(e,t){return(0,f.__awaiter)(this,void 0,void 0,(function*(){const r=yield this.dataAccess.getTransactionsByChannelId(e,t),{transactions:f,ignoredTransactions:n,encryptionMethod:a}=yield this.channelParser.decryptAndCleanChannel(e,r.result.transactions),i={dataAccessMeta:r.meta,encryptionMethod:a,ignoredTransactions:n};return a||delete i.encryptionMethod,{meta:i,result:{transactions:f}}}))}getChannelsByTopic(e,t){return(0,f.__awaiter)(this,void 0,void 0,(function*(){const r=yield this.dataAccess.getChannelsByTopic(e,t);return this.parseMultipleChannels(r)}))}getChannelsByMultipleTopics(e,t){return(0,f.__awaiter)(this,void 0,void 0,(function*(){const r=yield this.dataAccess.getChannelsByMultipleTopics(e,t);return this.parseMultipleChannels(r)}))}parseMultipleChannels(e){return(0,f.__awaiter)(this,void 0,void 0,(function*(){const t=yield Object.keys(e.result.transactions).reduce(((t,r)=>(0,f.__awaiter)(this,void 0,void 0,(function*(){const f=yield this.channelParser.decryptAndCleanChannel(r,e.result.transactions[r]),n=yield t;return n.transactions[r]=f.transactions,n.ignoredTransactions[r]=f.ignoredTransactions,n}))),Promise.resolve({transactions:{},ignoredTransactions:{}}));return{meta:{dataAccessMeta:e.meta,ignoredTransactions:t.ignoredTransactions},result:{transactions:t.transactions}}}))}}},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0});const f=r(71),n=r(4),a=r(686);t.default=class{constructor(e){this.transactionParser=new a.default(e)}decryptAndCleanChannel(e,t){return(0,f.__awaiter)(this,void 0,void 0,(function*(){let r,a,i=n.TransactionTypes.ChannelType.UNKNOWN;const o=yield t.reduce(((t,o)=>(0,f.__awaiter)(this,void 0,void 0,(function*(){const f=yield t;let s;try{s=yield this.transactionParser.parsePersistedTransaction(o.transaction,i,r)}catch(u){return f.concat([{ignored:{reason:u.message,transaction:o},valid:null}])}const c=s.transaction,u=yield c.getError();if(""!==u)return f.concat([{ignored:{reason:u,transaction:o},valid:null}]);if(i===n.TransactionTypes.ChannelType.UNKNOWN){if((yield c.getHash())!==e)return f.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,r=s.channelKey}const d=yield c.getData();return f.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(0,f.__awaiter)(this,void 0,void 0,(function*(){return yield t.reduce(((t,r)=>(0,f.__awaiter)(this,void 0,void 0,(function*(){const f=yield t;if(f.channelType!==n.TransactionTypes.ChannelType.UNKNOWN)return f;let a;try{a=yield this.transactionParser.parsePersistedTransaction(r.transaction,n.TransactionTypes.ChannelType.UNKNOWN)}catch(e){return f}const i=a.transaction;if(""!==(yield i.getError()))return f;return(yield i.getHash())!==e||(f.channelType=a.channelKey?n.TransactionTypes.ChannelType.ENCRYPTED:n.TransactionTypes.ChannelType.CLEAR,f.channelKey=a.channelKey,f.encryptionMethod=a.encryptionMethod),f}))),Promise.resolve({channelKey:void 0,channelType:n.TransactionTypes.ChannelType.UNKNOWN,encryptionMethod:void 0}))}))}}},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0});const f=r(71),n=r(41),a=r(4),i=r(687),o=r(688);t.default=class{constructor(e){this.decryptionProvider=e}parsePersistedTransaction(e,t,r){return(0,f.__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(r){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');r=yield this.decryptChannelKey(e.keys,e.encryptionMethod)}return{channelKey:r,encryptionMethod:e.encryptionMethod,transaction:new o.default(e.encryptedData,r)}}throw new Error('Transaction must have a property "data" or "encryptedData"')}))}decryptChannelKey(e,t){return(0,f.__awaiter)(this,void 0,void 0,(function*(){if(!this.decryptionProvider)throw new Error("No decryption provider given");let r;if(t===`${a.EncryptionTypes.METHOD.ECIES}-${a.EncryptionTypes.METHOD.AES256_CBC}`)r=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}`);r=a.EncryptionTypes.METHOD.AES256_GCM}let i="";const o=yield Object.keys(e||{}).reduce(((t,r)=>(0,f.__awaiter)(this,void 0,void 0,(function*(){let f=yield t;if(e&&""===f){let t;try{t=n.default.deserialize(r)}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[r]);f=yield this.decryptionProvider.decrypt(a,t)}catch(e){i=e.message}}return f}))),Promise.resolve(""));if(""===o)throw new Error(`Impossible to decrypt the channel key from this transaction (${i})`);return{key:o,method:r}}))}}},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0});const f=r(71),n=r(41),a=r(7);t.default=class{constructor(e){this.data=e}getData(){return(0,f.__awaiter)(this,void 0,void 0,(function*(){return this.data}))}getHash(){return(0,f.__awaiter)(this,void 0,void 0,(function*(){return n.default.serialize((0,a.normalizeKeccak256Hash)(JSON.parse(this.data)))}))}getError(){return(0,f.__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,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0});const f=r(71),n=r(41),a=r(7);t.default=class{constructor(e,t){this.data="",this.dataHashSerialized="",this.persistedData=e,this.channelKey=t}getData(){return(0,f.__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(0,f.__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(0,f.__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,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0});const f=r(71),n=r(41),a=r(4),i=r(7);t.default=class{static createClearTransaction(e){return(0,f.__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(0,f.__awaiter)(this,void 0,void 0,(function*(){const r=`${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=>(0,f.__awaiter)(this,void 0,void 0,(function*(){const t=yield(0,i.encrypt)(o,e),r=(0,i.getIdentityFromEncryptionParams)(e);return{encryptedKey:t,multiFormattedIdentity:n.default.serialize(r)}})))),u=(yield Promise.all(c)).reduce(((e,t)=>{const r=n.default.serialize(t.encryptedKey);return e[t.multiFormattedIdentity]=r,e}),{});return{encryptedData:n.default.serialize(s),keys:u,encryptionMethod:r}}))}static createEncryptedTransaction(e,t){return(0,f.__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 r=yield(0,i.encrypt)(e,t);try{JSON.parse(e)}catch(e){throw new Error("Data not parsable")}return{encryptedData:n.default.serialize(r)}}))}}},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0});const f=r(691),n=r(4).ExtensionTypes.ID.CONTENT_DATA;t.default=class{constructor(e){this.extension=e.extensions.contentData}createExtensionsDataForCreation(e){if(f.default.isKnownFormat(e)){const{valid:t,errors:r}=f.default.validate(e);if(!t){const e=r.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,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0});const f=r(271),n=r(692),a=r(726),i=r(727),o=r(728);t.default={validate(e){var t;const r=(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 f=null===(t=o.default[e.meta.format])||void 0===t?void 0:t[e.meta.version];if(!f)return{valid:!1,errors:[{message:"format not found"}]};const s=r.compile(f);return s(e)?{valid:!0}:{valid:!1,errors:s.errors}},isKnownFormat:e=>!!e.meta&&"rnf_invoice"===e.meta.format},(0,f.__exportStar)(r(732),t)},function(e,t,r){"use strict";var f=r(693),n=r(152),a=r(697),i=r(272),o=r(273),s=r(698),c=r(699),u=r(720),d=r(72);e.exports=y,y.prototype.validate=function(e,t){var r;if("string"==typeof e){if(!(r=this.getSchema(e)))throw new Error('no schema with key or ref "'+e+'"')}else{var f=this._addSchema(e);r=f.validate||this._compile(f)}var n=r(t);!0!==r.$async&&(this.errors=r.errors);return n},y.prototype.compile=function(e,t){var r=this._addSchema(e,void 0,t);return r.validate||this._compile(r)},y.prototype.addSchema=function(e,t,r,f){if(Array.isArray(e)){for(var a=0;a<e.length;a++)this.addSchema(e[a],void 0,r,f);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,r,f,!0),this},y.prototype.addMetaSchema=function(e,t,r){return this.addSchema(e,t,r,!0),this},y.prototype.validateSchema=function(e,t){var r=e.$schema;if(void 0!==r&&"string"!=typeof r)throw new Error("$schema must be a string");if(!(r=r||this._opts.defaultMeta||function(e){var t=e._opts.meta;return e._opts.defaultMeta="object"==typeof t?e._getId(t)||t:e.getSchema(h)?h:void 0,e._opts.defaultMeta}(this)))return this.logger.warn("meta-schema not available"),this.errors=null,!0;var f=this.validate(r,e);if(!f&&t){var n="schema is invalid: "+this.errorsText();if("log"!=this._opts.validateSchema)throw new Error(n);this.logger.error(n)}return f},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 r=n.schema.call(e,{schema:{}},t);if(r){var a=r.schema,o=r.root,s=r.baseId,c=f.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 r=this._opts.serialize,f=r?r(e):e;this._cache.del(f);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 r=void 0===(t=t||{}).separator?", ":t.separator,f=void 0===t.dataVar?"data":t.dataVar,n="",a=0;a<e.length;a++){var i=e[a];i&&(n+=f+i.dataPath+" "+i.message+r)}return n.slice(0,-r.length)},y.prototype._addSchema=function(e,t,r,f){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;f=f||!1!==this._opts.addUsedSchema;var c=n.normalizeId(this._getId(e));c&&f&&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:r});"#"!=c[0]&&f&&(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 r,n;e.compiling=!0,e.meta&&(r=this._opts,this._opts=this._metaOpts);try{n=f.call(this,e.schema,t,e.localRefs)}catch(t){throw delete e.validate,t}finally{e.compiling=!1,e.meta&&(this._opts=r)}return e.validate=n,e.refs=n.refs,e.refVal=n.refVal,e.root=n.root,n;function a(){var t=e.validate,r=t.apply(this,arguments);return a.errors=t.errors,r}},y.prototype.compileAsync=r(721);var l=r(722);y.prototype.addKeyword=l.add,y.prototype.getKeyword=l.get,y.prototype.removeKeyword=l.remove,y.prototype.validateKeyword=l.validate;var p=r(154);y.ValidationError=p.Validation,y.MissingRefError=p.MissingRef,y.$dataMetaSchema=u;var h="http://json-schema.org/draft-07/schema",b=["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),r=0;r<b.length;r++)delete t[b[r]];return t}(this),e.formats&&function(e){for(var t in e._opts.formats){var r=e._opts.formats[t];e.addFormat(t,r)}}(this),e.keywords&&function(e){for(var t in e._opts.keywords){var r=e._opts.keywords[t];e.addKeyword(t,r)}}(this),function(e){var t;e._opts.$data&&(t=r(725),e.addMetaSchema(t,t.$id,!0));if(!1===e._opts.meta)return;var f=r(279);e._opts.$data&&(f=u(f,m));e.addMetaSchema(f,h,!0),e._refs["http://json-schema.org/schema"]=h}(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 r in t)e.addSchema(t[r],r)}(this)}function g(e,t){return t=n.normalizeId(t),e._schemas[t]||e._refs[t]||e._fragments[t]}function v(e,t,r){for(var f in t){var n=t[f];n.meta||r&&!r.test(f)||(e._cache.del(n.cacheKey),delete t[f])}}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,r){"use strict";var f=r(152),n=r(72),a=r(154),i=r(273),o=r(274),s=n.ucs2length,c=r(153),u=a.Validation;function d(e,t,r){var f=p.call(this,e,t,r);return f>=0?{index:f,compiling:!0}:(f=this._compilations.length,this._compilations[f]={schema:e,root:t,baseId:r},{index:f,compiling:!1})}function l(e,t,r){var f=p.call(this,e,t,r);f>=0&&this._compilations.splice(f,1)}function p(e,t,r){for(var f=0;f<this._compilations.length;f++){var n=this._compilations[f];if(n.schema==e&&n.root==t&&n.baseId==r)return f}return-1}function h(e,t){return"var pattern"+e+" = new RegExp("+n.toQuotedString(t[e])+");"}function b(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 r="",f=0;f<e.length;f++)r+=t(f,e);return r}e.exports=function e(t,r,p,v){var _=this,w=this._opts,E=[void 0],A={},T=[],x={},S=[],C={},O=[];r=r||{schema:t,refVal:E,refs:A};var P=d.call(this,t,r,v),k=this._compilations[P.index];if(P.compiling)return k.callValidate=function e(){var t=k.validate,r=t.apply(this,arguments);return e.errors=t.errors,r};var R=this._formats,M=this.RULES;try{var D=B(t,r,p,v);k.validate=D;var N=k.callValidate;return N&&(N.schema=D.schema,N.errors=null,N.refs=D.refs,N.refVal=D.refVal,N.root=D.root,N.$async=D.$async,w.sourceCode&&(N.source=D.source)),D}finally{l.call(this,t,r,v)}function B(t,i,d,l){var p=!i||i&&i.schema==t;if(i.schema!=r.schema)return e.call(_,t,i,d,l);var v,x=!0===t.$async,C=o({isTop:!0,schema:t,isRoot:p,baseId:l,root:i,schemaPath:"",errSchemaPath:"#",errorPath:'""',MissingRefError:a.MissingRef,RULES:M,validate:o,util:n,resolve:f,resolveRef:I,usePattern:L,useDefault:U,useCustomRule:q,opts:w,formats:R,logger:_.logger,self:_});C=g(E,m)+g(T,h)+g(S,b)+g(O,y)+C,w.processCode&&(C=w.processCode(C,t));try{v=new Function("self","RULES","formats","root","refVal","defaults","customRules","equal","ucs2length","ValidationError",C)(_,M,R,r,E,S,O,c,s,u),E[0]=v}catch(e){throw _.logger.error("Error compiling schema, function code:",C),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:C,patterns:T,defaults:S}),v}function I(t,n,a){n=f.url(t,n);var i,o,s=A[n];if(void 0!==s)return j(i=E[s],o="refVal["+s+"]");if(!a&&r.refs){var c=r.refs[n];if(void 0!==c)return j(i=r.refVal[c],o=F(n,i))}o=F(n);var u=f.call(_,B,r,n);if(void 0===u){var d=p&&p[n];d&&(u=f.inlineRef(d,w.inlineRefs)?d:e.call(_,d,r,p,t))}if(void 0!==u)return function(e,t){var r=A[e];E[r]=t}(n,u),j(u,o);!function(e){delete A[e]}(n)}function F(e,t){var r=E.length;return E[r]=t,A[e]=r,"refVal"+r}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),r=C[t];return void 0===r&&(r=C[t]=S.length,S[r]=e),"default"+r}}function q(e,t,r,f){if(!1!==_._opts.validateSchema){var n=e.definition.dependencies;if(n&&!n.every((function(e){return Object.prototype.hasOwnProperty.call(r,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,r,f);else if(u)o=u.call(_,t,r,f),!1!==w.validateSchema&&_.validateSchema(o,!0);else if(c)o=c.call(_,f,e.keyword,t,r);else if(!(o=e.definition.validate))return;if(void 0===o)throw new Error('custom keyword "'+e.keyword+'"failed to compile');var d=O.length;return O[d]=o,{code:"customRule"+d,validate:o}}}},function(e,t,r){!function(e){"use strict";function t(){for(var e=arguments.length,t=Array(e),r=0;r<e;r++)t[r]=arguments[r];if(t.length>1){t[0]=t[0].slice(0,-1);for(var f=t.length-1,n=1;n<f;++n)t[n]=t[n].slice(1,-1);return t[f]=t[f].slice(1),t.join("")}return t[0]}function r(e){return"(?:"+e+")"}function f(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 r=e;if(t)for(var f in t)r[f]=t[f];return r}function o(e){var f="[A-Za-z]",n="[0-9]",a=t(n,"[A-Fa-f]"),i=r(r("%[EFef]"+a+"%"+a+a+"%"+a+a)+"|"+r("%[89A-Fa-f]"+a+"%"+a+a)+"|"+r("%"+a+a)),o="[\\!\\$\\&\\'\\(\\)\\*\\+\\,\\;\\=]",s=t("[\\:\\/\\?\\#\\[\\]\\@]",o),c=e?"[\\uE000-\\uF8FF]":"[]",u=t(f,n,"[\\-\\.\\_\\~]",e?"[\\xA0-\\u200D\\u2010-\\u2029\\u202F-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFEF]":"[]"),d=r(f+t(f,n,"[\\+\\-\\.]")+"*"),l=r(r(i+"|"+t(u,o,"[\\:]"))+"*"),p=(r(r("25[0-5]")+"|"+r("2[0-4]"+n)+"|"+r("1"+n+n)+"|"+r("[1-9]"+n)+"|"+n),r(r("25[0-5]")+"|"+r("2[0-4]"+n)+"|"+r("1"+n+n)+"|"+r("0?[1-9]"+n)+"|0?0?"+n)),h=r(p+"\\."+p+"\\."+p+"\\."+p),b=r(a+"{1,4}"),m=r(r(b+"\\:"+b)+"|"+h),y=r(r(b+"\\:")+"{6}"+m),g=r("\\:\\:"+r(b+"\\:")+"{5}"+m),v=r(r(b)+"?\\:\\:"+r(b+"\\:")+"{4}"+m),_=r(r(r(b+"\\:")+"{0,1}"+b)+"?\\:\\:"+r(b+"\\:")+"{3}"+m),w=r(r(r(b+"\\:")+"{0,2}"+b)+"?\\:\\:"+r(b+"\\:")+"{2}"+m),E=r(r(r(b+"\\:")+"{0,3}"+b)+"?\\:\\:"+b+"\\:"+m),A=r(r(r(b+"\\:")+"{0,4}"+b)+"?\\:\\:"+m),T=r(r(r(b+"\\:")+"{0,5}"+b)+"?\\:\\:"+b),x=r(r(r(b+"\\:")+"{0,6}"+b)+"?\\:\\:"),S=r([y,g,v,_,w,E,A,T,x].join("|")),C=r(r(u+"|"+i)+"+"),O=(r(S+"\\%25"+C),r(S+r("\\%25|\\%(?!"+a+"{2})")+C)),P=r("[vV]"+a+"+\\."+t(u,o,"[\\:]")+"+"),k=r("\\["+r(O+"|"+S+"|"+P)+"\\]"),R=r(r(i+"|"+t(u,o))+"*"),M=r(k+"|"+h+"(?!"+R+")|"+R),D=r(n+"*"),N=r(r(l+"@")+"?"+M+r("\\:"+D)+"?"),B=r(i+"|"+t(u,o,"[\\:\\@]")),I=r(B+"*"),F=r(B+"+"),j=r(r(i+"|"+t(u,o,"[\\@]"))+"+"),L=r(r("\\/"+I)+"*"),U=r("\\/"+r(F+L)+"?"),q=r(j+L),H=r(F+L),z="(?!"+B+")",V=(r(L+"|"+U+"|"+q+"|"+H+"|"+z),r(r(B+"|"+t("[\\/\\?]",c))+"*")),K=r(r(B+"|[\\/\\?]")+"*"),W=r(r("\\/\\/"+N+L)+"|"+U+"|"+H+"|"+z),G=r(d+"\\:"+W+r("\\?"+V)+"?"+r("\\#"+K)+"?"),$=r(r("\\/\\/"+N+L)+"|"+U+"|"+q+"|"+z),Y=r($+r("\\?"+V)+"?"+r("\\#"+K)+"?");return r(G+"|"+Y),r(d+"\\:"+W+r("\\?"+V)+"?"),r(r("\\/\\/("+r("("+l+")@")+"?("+M+")"+r("\\:("+D+")")+"?)")+"?("+L+"|"+U+"|"+H+"|"+z+")"),r("\\?("+V+")"),r("\\#("+K+")"),r(r("\\/\\/("+r("("+l+")@")+"?("+M+")"+r("\\:("+D+")")+"?)")+"?("+L+"|"+U+"|"+q+"|"+z+")"),r("\\?("+V+")"),r("\\#("+K+")"),r(r("\\/\\/("+r("("+l+")@")+"?("+M+")"+r("\\:("+D+")")+"?)")+"?("+L+"|"+U+"|"+H+"|"+z+")"),r("\\?("+V+")"),r("\\#("+K+")"),r("("+l+")@"),r("\\:("+D+")"),{NOT_SCHEME:new RegExp(t("[^]",f,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("^("+h+")$"),IPV6ADDRESS:new RegExp("^\\[?("+S+")"+r(r("\\%25|\\%(?!"+a+"{2})")+"("+C+")")+"?\\]?$")}}var s=o(!1),c=o(!0),u=function(){function e(e,t){var r=[],f=!0,n=!1,a=void 0;try{for(var i,o=e[Symbol.iterator]();!(f=(i=o.next()).done)&&(r.push(i.value),!t||r.length!==t);f=!0);}catch(e){n=!0,a=e}finally{try{!f&&o.return&&o.return()}finally{if(n)throw a}}return r}return function(t,r){if(Array.isArray(t))return t;if(Symbol.iterator in Object(t))return e(t,r);throw new TypeError("Invalid attempt to destructure non-iterable instance")}}(),d=function(e){if(Array.isArray(e)){for(var t=0,r=Array(e.length);t<e.length;t++)r[t]=e[t];return r}return Array.from(e)},l=2147483647,p=36,h=1,b=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-h,S=Math.floor,C=String.fromCharCode;function O(e){throw new RangeError(T[e])}function P(e,t){for(var r=[],f=e.length;f--;)r[f]=t(e[f]);return r}function k(e,t){var r=e.split("@"),f="";return r.length>1&&(f=r[0]+"@",e=r[1]),f+P((e=e.replace(A,".")).split("."),t).join(".")}function R(e){for(var t=[],r=0,f=e.length;r<f;){var n=e.charCodeAt(r++);if(n>=55296&&n<=56319&&r<f){var a=e.charCodeAt(r++);56320==(64512&a)?t.push(((1023&n)<<10)+(1023&a)+65536):(t.push(n),r--)}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},D=function(e,t){return e+22+75*(e<26)-((0!=t)<<5)},N=function(e,t,r){var f=0;for(e=r?S(e/y):e>>1,e+=S(e/t);e>x*b>>1;f+=p)e=S(e/x);return S(f+(x+1)*e/(e+m))},B=function(e){var t=[],r=e.length,f=0,n=v,a=g,i=e.lastIndexOf(_);i<0&&(i=0);for(var o=0;o<i;++o)e.charCodeAt(o)>=128&&O("not-basic"),t.push(e.charCodeAt(o));for(var s=i>0?i+1:0;s<r;){for(var c=f,u=1,d=p;;d+=p){s>=r&&O("invalid-input");var m=M(e.charCodeAt(s++));(m>=p||m>S((l-f)/u))&&O("overflow"),f+=m*u;var y=d<=a?h:d>=a+b?b:d-a;if(m<y)break;var w=p-y;u>S(l/w)&&O("overflow"),u*=w}var E=t.length+1;a=N(f-c,E,0==c),S(f/E)>l-n&&O("overflow"),n+=S(f/E),f%=E,t.splice(f++,0,n)}return String.fromCodePoint.apply(String,t)},I=function(e){var t=[],r=(e=R(e)).length,f=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(C(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<r;){var w=l,E=!0,A=!1,T=void 0;try{for(var x,P=e[Symbol.iterator]();!(E=(x=P.next()).done);E=!0){var k=x.value;k>=f&&k<w&&(w=k)}}catch(e){A=!0,T=e}finally{try{!E&&P.return&&P.return()}finally{if(A)throw T}}var M=y+1;w-f>S((l-n)/M)&&O("overflow"),n+=(w-f)*M,f=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<f&&++n>l&&O("overflow"),U==f){for(var q=n,H=p;;H+=p){var z=H<=a?h:H>=a+b?b:H-a;if(q<z)break;var V=q-z,K=p-z;t.push(C(D(z+V%K,0))),q=S(V/K)}t.push(C(D(q,0))),a=N(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,++f}return t.join("")},F=function(e){return k(e,(function(e){return w.test(e)?B(e.slice(4).toLowerCase()):e}))},j=function(e){return k(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="",r=0,f=e.length;r<f;){var n=parseInt(e.substr(r+1,2),16);if(n<128)t+=String.fromCharCode(n),r+=3;else if(n>=194&&n<224){if(f-r>=6){var a=parseInt(e.substr(r+4,2),16);t+=String.fromCharCode((31&n)<<6|63&a)}else t+=e.substr(r,6);r+=6}else if(n>=224){if(f-r>=9){var i=parseInt(e.substr(r+4,2),16),o=parseInt(e.substr(r+7,2),16);t+=String.fromCharCode((15&n)<<12|(63&i)<<6|63&o)}else t+=e.substr(r,9);r+=9}else t+=e.substr(r,3),r+=3}return t}function z(e,t){function r(e){var r=H(e);return r.match(t.UNRESERVED)?r:e}return e.scheme&&(e.scheme=String(e.scheme).replace(t.PCT_ENCODED,r).toLowerCase().replace(t.NOT_SCHEME,"")),void 0!==e.userinfo&&(e.userinfo=String(e.userinfo).replace(t.PCT_ENCODED,r).replace(t.NOT_USERINFO,q).replace(t.PCT_ENCODED,n)),void 0!==e.host&&(e.host=String(e.host).replace(t.PCT_ENCODED,r).toLowerCase().replace(t.NOT_HOST,q).replace(t.PCT_ENCODED,n)),void 0!==e.path&&(e.path=String(e.path).replace(t.PCT_ENCODED,r).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,r).replace(t.NOT_QUERY,q).replace(t.PCT_ENCODED,n)),void 0!==e.fragment&&(e.fragment=String(e.fragment).replace(t.PCT_ENCODED,r).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 r=e.match(t.IPV4ADDRESS)||[],f=u(r,2)[1];return f?f.split(".").map(V).join("."):e}function W(e,t){var r=e.match(t.IPV6ADDRESS)||[],f=u(r,3),n=f[1],a=f[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]),h=p?7:8,b=l.length-h,m=Array(h),y=0;y<h;++y)m[y]=d[y]||l[b+y]||"";p&&(m[h-1]=K(m[h-1],t));var g=m.reduce((function(e,t,r){if(!t||"0"===t){var f=e[e.length-1];f&&f.index+f.length===r?f.length++:e.push({index:r,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 G=/^(?:([^:\/?#]+):)?(?:\/\/((?:([^\/?#@]*)@)?(\[[^\/?#\]]+\]|[^\/?#:]*)(?:\:(\d*))?))?([^?#]*)(?:\?([^#]*))?(?:#((?:.|\n|\r)*))?/i,$=void 0==="".match(/(){0}/)[1];function Y(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},r={},f=!1!==t.iri?c:s;"suffix"===t.reference&&(e=(t.scheme?t.scheme+":":"")+"//"+e);var n=e.match(G);if(n){$?(r.scheme=n[1],r.userinfo=n[3],r.host=n[4],r.port=parseInt(n[5],10),r.path=n[6]||"",r.query=n[7],r.fragment=n[8],isNaN(r.port)&&(r.port=n[5])):(r.scheme=n[1]||void 0,r.userinfo=-1!==e.indexOf("@")?n[3]:void 0,r.host=-1!==e.indexOf("//")?n[4]:void 0,r.port=parseInt(n[5],10),r.path=n[6]||"",r.query=-1!==e.indexOf("?")?n[7]:void 0,r.fragment=-1!==e.indexOf("#")?n[8]:void 0,isNaN(r.port)&&(r.port=e.match(/\/\/(?:.|\n)*\:(?:\/|\?|\#|$)/)?n[4]:void 0)),r.host&&(r.host=W(K(r.host,f),f)),void 0!==r.scheme||void 0!==r.userinfo||void 0!==r.host||void 0!==r.port||r.path||void 0!==r.query?void 0===r.scheme?r.reference="relative":void 0===r.fragment?r.reference="absolute":r.reference="uri":r.reference="same-document",t.reference&&"suffix"!==t.reference&&t.reference!==r.reference&&(r.error=r.error||"URI is not a "+t.reference+" reference.");var a=U[(t.scheme||r.scheme||"").toLowerCase()];if(t.unicodeSupport||a&&a.unicodeSupport)z(r,f);else{if(r.host&&(t.domainHost||a&&a.domainHost))try{r.host=L.toASCII(r.host.replace(f.PCT_ENCODED,H).toLowerCase())}catch(e){r.error=r.error||"Host's domain name can not be converted to ASCII via punycode: "+e}z(r,s)}a&&a.parse&&a.parse(r,t)}else r.error=r.error||"URI can not be parsed.";return r}function J(e,t){var r=!1!==t.iri?c:s,f=[];return void 0!==e.userinfo&&(f.push(e.userinfo),f.push("@")),void 0!==e.host&&f.push(W(K(String(e.host),r),r).replace(r.IPV6ADDRESS,(function(e,t,r){return"["+t+(r?"%25"+r:"")+"]"}))),"number"!=typeof e.port&&"string"!=typeof e.port||(f.push(":"),f.push(String(e.port))),f.length?f.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 r=e.match(ee);if(!r)throw new Error("Unexpected dot segment condition");var f=r[0];e=e.slice(f.length),t.push(f)}return t.join("")}function re(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},r=t.iri?c:s,f=[],n=U[(t.scheme||e.scheme||"").toLowerCase()];if(n&&n.serialize&&n.serialize(e,t),e.host)if(r.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(r.PCT_ENCODED,H).toLowerCase())}catch(r){e.error=e.error||"Host's domain name can not be converted to "+(t.iri?"Unicode":"ASCII")+" via punycode: "+r}z(e,r),"suffix"!==t.reference&&e.scheme&&(f.push(e.scheme),f.push(":"));var a=J(e,t);if(void 0!==a&&("suffix"!==t.reference&&f.push("//"),f.push(a),e.path&&"/"!==e.path.charAt(0)&&f.push("/")),void 0!==e.path){var i=e.path;t.absolutePath||n&&n.absolutePath||(i=te(i)),void 0===a&&(i=i.replace(/^\/\//,"/%2F")),f.push(i)}return void 0!==e.query&&(f.push("?"),f.push(e.query)),void 0!==e.fragment&&(f.push("#"),f.push(e.fragment)),f.join("")}function fe(e,t){var r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{},f={};return arguments[3]||(e=Y(re(e,r),r),t=Y(re(t,r),r)),!(r=r||{}).tolerant&&t.scheme?(f.scheme=t.scheme,f.userinfo=t.userinfo,f.host=t.host,f.port=t.port,f.path=te(t.path||""),f.query=t.query):(void 0!==t.userinfo||void 0!==t.host||void 0!==t.port?(f.userinfo=t.userinfo,f.host=t.host,f.port=t.port,f.path=te(t.path||""),f.query=t.query):(t.path?("/"===t.path.charAt(0)?f.path=te(t.path):(void 0===e.userinfo&&void 0===e.host&&void 0===e.port||e.path?e.path?f.path=e.path.slice(0,e.path.lastIndexOf("/")+1)+t.path:f.path=t.path:f.path="/"+t.path,f.path=te(f.path)),f.query=t.query):(f.path=e.path,void 0!==t.query?f.query=t.query:f.query=e.query),f.userinfo=e.userinfo,f.host=e.host,f.port=e.port),f.scheme=e.scheme),f.fragment=t.fragment,f}function ne(e,t,r){var f=i({scheme:"null"},r);return re(fe(Y(e,f),Y(t,f),f,!0),f)}function ae(e,t){return"string"==typeof e?e=re(Y(e,t),t):"object"===f(e)&&(e=Y(re(e,t),t)),e}function ie(e,t,r){return"string"==typeof e?e=re(Y(e,r),r):"object"===f(e)&&(e=re(e,r)),"string"==typeof t?t=re(Y(t,r),r):"object"===f(t)&&(t=re(t,r)),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 r="https"===String(e.scheme).toLowerCase();return e.port!==(r?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 r=e;return r.secure=de(r),r.resourceName=(r.path||"/")+(r.query?"?"+r.query:""),r.path=void 0,r.query=void 0,r},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 r=e.resourceName.split("?"),f=u(r,2),n=f[0],a=f[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},he={},be="[A-Za-z0-9\\-\\.\\_\\~\\xA0-\\u200D\\u2010-\\u2029\\u202F-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFEF]",me="[0-9A-Fa-f]",ye=r(r("%[EFef]"+me+"%"+me+me+"%"+me+me)+"|"+r("%[89A-Fa-f]"+me+"%"+me+me)+"|"+r("%"+me+me)),ge="[A-Za-z0-9\\!\\$\\%\\'\\*\\+\\-\\^\\_\\`\\{\\|\\}\\~]",ve=t("[\\!\\$\\%\\'\\(\\)\\*\\+\\,\\-\\.0-9\\<\\>A-Z\\x5E-\\x7E]",'[\\"\\\\]'),_e="[\\!\\$\\'\\(\\)\\*\\+\\,\\;\\:\\@]",we=new RegExp(be,"g"),Ee=new RegExp(ye,"g"),Ae=new RegExp(t("[^]",ge,"[\\.]",'[\\"]',ve),"g"),Te=new RegExp(t("[^]",be,_e),"g"),xe=Te;function Se(e){var t=H(e);return t.match(we)?t:e}var Ce={scheme:"mailto",parse:function(e,t){var r=e,f=r.to=r.path?r.path.split(","):[];if(r.path=void 0,r.query){for(var n=!1,a={},i=r.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)f.push(u[d]);break;case"subject":r.subject=se(c[1],t);break;case"body":r.body=se(c[1],t);break;default:n=!0,a[se(c[0],t)]=se(c[1],t)}}n&&(r.headers=a)}r.query=void 0;for(var p=0,h=f.length;p<h;++p){var b=f[p].split("@");if(b[0]=se(b[0]),t.unicodeSupport)b[1]=se(b[1],t).toLowerCase();else try{b[1]=L.toASCII(se(b[1],t).toLowerCase())}catch(e){r.error=r.error||"Email address's domain name can not be converted to ASCII via punycode: "+e}f[p]=b.join("@")}return r},serialize:function(e,t){var r=e,f=a(e.to);if(f){for(var i=0,o=f.length;i<o;++i){var s=String(f[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){r.error=r.error||"Email address's domain name can not be converted to "+(t.iri?"Unicode":"ASCII")+" via punycode: "+e}f[i]=u+"@"+d}r.path=f.join(",")}var l=e.headers=e.headers||{};e.subject&&(l.subject=e.subject),e.body&&(l.body=e.body);var p=[];for(var h in l)l[h]!==he[h]&&p.push(h.replace(Ee,Se).replace(Ee,n).replace(Te,q)+"="+l[h].replace(Ee,Se).replace(Ee,n).replace(xe,q));return p.length&&(r.query=p.join("&")),r}},Oe=/^([^\:]+)\:(.*)/,Pe={scheme:"urn",parse:function(e,t){var r=e.path&&e.path.match(Oe),f=e;if(r){var n=t.scheme||f.scheme||"urn",a=r[1].toLowerCase(),i=r[2],o=n+":"+(t.nid||a),s=U[o];f.nid=a,f.nss=i,f.path=void 0,s&&(f=s.parse(f,t))}else f.error=f.error||"URN can not be parsed.";return f},serialize:function(e,t){var r=t.scheme||e.scheme||"urn",f=e.nid,n=r+":"+(t.nid||f),a=U[n];a&&(e=a.serialize(e,t));var i=e,o=e.nss;return i.path=(f||t.nid)+":"+o,i}},ke=/^[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 r=e;return r.uuid=r.nss,r.nss=void 0,t.tolerant||r.uuid&&r.uuid.match(ke)||(r.error=r.error||"UUID is not valid."),r},serialize:function(e,t){var r=e;return r.nss=(e.uuid||"").toLowerCase(),r}};U[ce.scheme]=ce,U[ue.scheme]=ue,U[le.scheme]=le,U[pe.scheme]=pe,U[Ce.scheme]=Ce,U[Pe.scheme]=Pe,U[Re.scheme]=Re,e.SCHEMES=U,e.pctEncChar=q,e.pctDecChars=H,e.parse=Y,e.removeDotSegments=te,e.serialize=re,e.resolveComponents=fe,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,r){"use strict";e.exports=function(e){for(var t,r=0,f=e.length,n=0;n<f;)r++,(t=e.charCodeAt(n++))>=55296&&t<=56319&&n<f&&56320==(64512&(t=e.charCodeAt(n)))&&n++;return r}},function(e,t,r){"use strict";var f=e.exports=function(e,t,r){"function"==typeof t&&(r=t,t={}),n(t,"function"==typeof(r=t.cb||r)?r:r.pre||function(){},r.post||function(){},e,"",e)};function n(e,t,r,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 f.arrayKeywords)for(var h=0;h<p.length;h++)n(e,t,r,p[h],i+"/"+l+"/"+h,o,i,l,a,h)}else if(l in f.propsKeywords){if(p&&"object"==typeof p)for(var b in p)n(e,t,r,p[b],i+"/"+l+"/"+b.replace(/~/g,"~0").replace(/\//g,"~1"),o,i,l,a,b)}else(l in f.keywords||e.allKeys&&!(l in f.skipKeywords))&&n(e,t,r,p,i+"/"+l,o,i,l,a)}r(a,i,o,s,c,u,d)}}f.keywords={additionalItems:!0,items:!0,contains:!0,additionalProperties:!0,propertyNames:!0,not:!0},f.arrayKeywords={items:!0,allOf:!0,anyOf:!0,oneOf:!0},f.propsKeywords={definitions:!0,properties:!0,patternProperties:!0,dependencies:!0},f.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,r){"use strict";var f=e.exports=function(){this._cache={}};f.prototype.put=function(e,t){this._cache[e]=t},f.prototype.get=function(e){return this._cache[e]},f.prototype.del=function(e){delete this._cache[e]},f.prototype.clear=function(){this._cache={}}},function(e,t,r){"use strict";var f=r(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,h=/^(?:0|[1-9][0-9]*)(?:#|(?:\/(?:[^~/]|~0|~1)*)*)$/;function b(e){return e="full"==e?"full":"fast",f.copy(b[e])}function m(e){var t=e.match(n);if(!t)return!1;var r=+t[1],f=+t[2],i=+t[3];return f>=1&&f<=12&&i>=1&&i<=(2==f&&function(e){return e%4==0&&(e%100!=0||e%400==0)}(r)?29:a[f])}function y(e,t){var r=e.match(i);if(!r)return!1;var f=r[1],n=r[2],a=r[3],o=r[5];return(f<=23&&n<=59&&a<=59||23==f&&59==n&&60==a)&&(!t||o)}e.exports=b,b.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":h},b.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":h};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,r){"use strict";var f=r(700),n=r(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(r){r.rules=r.rules.map((function(r){var n;if("object"==typeof r){var a=Object.keys(r)[0];n=r[a],r=a,n.forEach((function(r){t.push(r),e.all[r]=!0}))}return t.push(r),e.all[r]={keyword:r,code:f[r],implements:n}})),e.all.$comment={keyword:"$comment",code:f.$comment},r.type&&(e.types[r.type]=r)})),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,r){"use strict";e.exports={$ref:r(701),allOf:r(702),anyOf:r(703),$comment:r(704),const:r(705),contains:r(706),dependencies:r(707),enum:r(708),format:r(709),if:r(710),items:r(711),maximum:r(275),minimum:r(275),maxItems:r(276),minItems:r(276),maxLength:r(277),minLength:r(277),maxProperties:r(278),minProperties:r(278),multipleOf:r(712),not:r(713),oneOf:r(714),pattern:r(715),properties:r(716),propertyNames:r(717),required:r(718),uniqueItems:r(719),validate:r(274)}},function(e,t,r){"use strict";e.exports=function(e,t,r){var f,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?(f=e.async,n="validate"):(f=!0===e.root.schema.$async,n="root.refVal[0]");else{var p=e.resolveRef(e.baseId,s,e.isRoot);if(void 0===p){var h=e.MissingRefError.message(e.baseId,s);if("fail"==e.opts.missingRefs){e.logger.error(h),(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 b=a;a=g.pop(),!e.compositeRule&&u?e.async?a+=" throw new ValidationError(["+b+"]); ":a+=" validate.errors = ["+b+"]; return false; ":a+=" var err = "+b+"; 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,h);e.logger.warn(h),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 f=!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(),f){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,r){"use strict";e.exports=function(e,t,r){var f=" ",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 h,b=-1,m=p.length-1;b<m;)h=p[b+=1],(e.opts.strictKeywords?"object"==typeof h&&Object.keys(h).length>0:e.util.schemaHasRules(h,e.RULES.all))&&(l=!1,s.schema=h,s.schemaPath=a+"["+b+"]",s.errSchemaPath=i+"/"+b,f+=" "+e.validate(s)+" ",s.baseId=d,o&&(f+=" if ("+u+") { ",c+="}"));return o&&(f+=l?" if (true) { ":" "+c.slice(0,-1)+" "),f}},function(e,t,r){"use strict";e.exports=function(e,t,r){var f=" ",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),h="";p.level++;var b="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;f+=" 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,f+=" "+e.validate(p)+" ",p.baseId=y,f+=" "+d+" = "+d+" || "+b+"; if (!"+d+") { ",h+="}";e.compositeRule=p.compositeRule=g,f+=" "+h+" if (!"+d+") { var err = ",!1!==e.createErrors?(f+=" { keyword: 'anyOf' , dataPath: (dataPath || '') + "+e.errorPath+" , schemaPath: "+e.util.toQuotedString(s)+" , params: {} ",!1!==e.opts.messages&&(f+=" , message: 'should match some schema in anyOf' "),e.opts.verbose&&(f+=" , schema: validate.schema"+o+" , parentSchema: validate.schema"+e.schemaPath+" , data: "+u+" "),f+=" } "):f+=" {} ",f+="; if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; ",!e.compositeRule&&c&&(e.async?f+=" throw new ValidationError(vErrors); ":f+=" validate.errors = vErrors; return false; "),f+=" } else { errors = "+l+"; if (vErrors !== null) { if ("+l+") vErrors.length = "+l+"; else vErrors = null; } ",e.opts.allErrors&&(f+=" } ")}else c&&(f+=" if (true) { ");return f}},function(e,t,r){"use strict";e.exports=function(e,t,r){var f=" ",n=e.schema[t],a=e.errSchemaPath+"/"+t,i=(e.opts.allErrors,e.util.toQuotedString(n));return!0===e.opts.$comment?f+=" console.log("+i+");":"function"==typeof e.opts.$comment&&(f+=" self._opts.$comment("+i+", "+e.util.toQuotedString(a)+", validate.root.schema);"),f}},function(e,t,r){"use strict";e.exports=function(e,t,r){var f=" ",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&&(f+=" var schema"+n+" = "+e.util.getData(i.$data,a,e.dataPathArr)+"; "),l||(f+=" var schema"+n+" = validate.schema"+o+";"),f+="var "+d+" = equal("+u+", schema"+n+"); if (!"+d+") { ";var p=p||[];p.push(f),f="",!1!==e.createErrors?(f+=" { keyword: 'const' , dataPath: (dataPath || '') + "+e.errorPath+" , schemaPath: "+e.util.toQuotedString(s)+" , params: { allowedValue: schema"+n+" } ",!1!==e.opts.messages&&(f+=" , message: 'should be equal to constant' "),e.opts.verbose&&(f+=" , schema: validate.schema"+o+" , parentSchema: validate.schema"+e.schemaPath+" , data: "+u+" "),f+=" } "):f+=" {} ";var h=f;return f=p.pop(),!e.compositeRule&&c?e.async?f+=" throw new ValidationError(["+h+"]); ":f+=" validate.errors = ["+h+"]; return false; ":f+=" var err = "+h+"; if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; ",f+=" }",c&&(f+=" else { "),f}},function(e,t,r){"use strict";e.exports=function(e,t,r){var f=" ",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 h="valid"+p.level,b="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(f+="var "+l+" = errors;var "+d+";",v){var _=e.compositeRule;e.compositeRule=p.compositeRule=!0,p.schema=i,p.schemaPath=o,p.errSchemaPath=s,f+=" var "+h+" = false; for (var "+b+" = 0; "+b+" < "+u+".length; "+b+"++) { ",p.errorPath=e.util.getPathExpr(e.errorPath,b,e.opts.jsonPointers,!0);var w=u+"["+b+"]";p.dataPathArr[m]=b;var E=e.validate(p);p.baseId=g,e.util.varOccurences(E,y)<2?f+=" "+e.util.varReplace(E,y,w)+" ":f+=" var "+y+" = "+w+"; "+E+" ",f+=" if ("+h+") break; } ",e.compositeRule=p.compositeRule=_,f+=" if (!"+h+") {"}else f+=" if ("+u+".length == 0) {";var A=A||[];A.push(f),f="",!1!==e.createErrors?(f+=" { keyword: 'contains' , dataPath: (dataPath || '') + "+e.errorPath+" , schemaPath: "+e.util.toQuotedString(s)+" , params: {} ",!1!==e.opts.messages&&(f+=" , message: 'should contain a valid item' "),e.opts.verbose&&(f+=" , schema: validate.schema"+o+" , parentSchema: validate.schema"+e.schemaPath+" , data: "+u+" "),f+=" } "):f+=" {} ";var T=f;return f=A.pop(),!e.compositeRule&&c?e.async?f+=" throw new ValidationError(["+T+"]); ":f+=" validate.errors = ["+T+"]; return false; ":f+=" var err = "+T+"; if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; ",f+=" } else { ",v&&(f+=" errors = "+l+"; if (vErrors !== null) { if ("+l+") vErrors.length = "+l+"; else vErrors = null; } "),e.opts.allErrors&&(f+=" } "),f}},function(e,t,r){"use strict";e.exports=function(e,t,r){var f=" ",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 h="valid"+l.level,b={},m={},y=e.opts.ownProperties;for(w in i)if("__proto__"!=w){var g=i[w],v=Array.isArray(g)?m:b;v[w]=g}f+="var "+d+" = errors;";var _=e.errorPath;for(var w in f+="var missing"+n+";",m)if((v=m[w]).length){if(f+=" if ( "+u+e.util.getProperty(w)+" !== undefined ",y&&(f+=" && Object.prototype.hasOwnProperty.call("+u+", '"+e.util.escapeQuotes(w)+"') "),c){f+=" && ( ";var E=v;if(E)for(var A=-1,T=E.length-1;A<T;){k=E[A+=1],A&&(f+=" || "),f+=" ( ( "+(N=u+(D=e.util.getProperty(k)))+" === undefined ",y&&(f+=" || ! Object.prototype.hasOwnProperty.call("+u+", '"+e.util.escapeQuotes(k)+"') "),f+=") && (missing"+n+" = "+e.util.toQuotedString(e.opts.jsonPointers?k:D)+") ) "}f+=")) { ";var x="missing"+n,S="' + "+x+" + '";e.opts._errorDataPathProperty&&(e.errorPath=e.opts.jsonPointers?e.util.getPathExpr(_,x,!0):_+" + "+x);var C=C||[];C.push(f),f="",!1!==e.createErrors?(f+=" { 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&&(f+=" , message: 'should have ",1==v.length?f+="property "+e.util.escapeQuotes(v[0]):f+="properties "+e.util.escapeQuotes(v.join(", ")),f+=" when property "+e.util.escapeQuotes(w)+" is present' "),e.opts.verbose&&(f+=" , schema: validate.schema"+o+" , parentSchema: validate.schema"+e.schemaPath+" , data: "+u+" "),f+=" } "):f+=" {} ";var O=f;f=C.pop(),!e.compositeRule&&c?e.async?f+=" throw new ValidationError(["+O+"]); ":f+=" validate.errors = ["+O+"]; return false; ":f+=" var err = "+O+"; if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; "}else{f+=" ) { ";var P=v;if(P)for(var k,R=-1,M=P.length-1;R<M;){k=P[R+=1];var D=e.util.getProperty(k),N=(S=e.util.escapeQuotes(k),u+D);e.opts._errorDataPathProperty&&(e.errorPath=e.util.getPath(_,k,e.opts.jsonPointers)),f+=" if ( "+N+" === undefined ",y&&(f+=" || ! Object.prototype.hasOwnProperty.call("+u+", '"+e.util.escapeQuotes(k)+"') "),f+=") { var err = ",!1!==e.createErrors?(f+=" { 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&&(f+=" , message: 'should have ",1==v.length?f+="property "+e.util.escapeQuotes(v[0]):f+="properties "+e.util.escapeQuotes(v.join(", ")),f+=" when property "+e.util.escapeQuotes(w)+" is present' "),e.opts.verbose&&(f+=" , schema: validate.schema"+o+" , parentSchema: validate.schema"+e.schemaPath+" , data: "+u+" "),f+=" } "):f+=" {} ",f+="; if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; } "}}f+=" } ",c&&(p+="}",f+=" else { ")}e.errorPath=_;var B=l.baseId;for(var w in b){g=b[w];(e.opts.strictKeywords?"object"==typeof g&&Object.keys(g).length>0:e.util.schemaHasRules(g,e.RULES.all))&&(f+=" "+h+" = true; if ( "+u+e.util.getProperty(w)+" !== undefined ",y&&(f+=" && Object.prototype.hasOwnProperty.call("+u+", '"+e.util.escapeQuotes(w)+"') "),f+=") { ",l.schema=g,l.schemaPath=o+e.util.getProperty(w),l.errSchemaPath=s+"/"+e.util.escapeFragment(w),f+=" "+e.validate(l)+" ",l.baseId=B,f+=" } ",c&&(f+=" if ("+h+") { ",p+="}"))}return c&&(f+=" "+p+" if ("+d+" == errors) {"),f}},function(e,t,r){"use strict";e.exports=function(e,t,r){var f=" ",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&&(f+=" var schema"+n+" = "+e.util.getData(i.$data,a,e.dataPathArr)+"; ");var p="i"+n,h="schema"+n;l||(f+=" var "+h+" = validate.schema"+o+";"),f+="var "+d+";",l&&(f+=" if (schema"+n+" === undefined) "+d+" = true; else if (!Array.isArray(schema"+n+")) "+d+" = false; else {"),f+=d+" = false;for (var "+p+"=0; "+p+"<"+h+".length; "+p+"++) if (equal("+u+", "+h+"["+p+"])) { "+d+" = true; break; }",l&&(f+=" } "),f+=" if (!"+d+") { ";var b=b||[];b.push(f),f="",!1!==e.createErrors?(f+=" { keyword: 'enum' , dataPath: (dataPath || '') + "+e.errorPath+" , schemaPath: "+e.util.toQuotedString(s)+" , params: { allowedValues: schema"+n+" } ",!1!==e.opts.messages&&(f+=" , message: 'should be equal to one of the allowed values' "),e.opts.verbose&&(f+=" , schema: validate.schema"+o+" , parentSchema: validate.schema"+e.schemaPath+" , data: "+u+" "),f+=" } "):f+=" {} ";var m=f;return f=b.pop(),!e.compositeRule&&c?e.async?f+=" throw new ValidationError(["+m+"]); ":f+=" validate.errors = ["+m+"]; return false; ":f+=" var err = "+m+"; if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; ",f+=" }",c&&(f+=" else { "),f}},function(e,t,r){"use strict";e.exports=function(e,t,r){var f=" ",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&&(f+=" if (true) { "),f;var d,l=e.opts.$data&&i&&i.$data;l?(f+=" var schema"+n+" = "+e.util.getData(i.$data,a,e.dataPathArr)+"; ",d="schema"+n):d=i;var p=e.opts.unknownFormats,h=Array.isArray(p);if(l){f+=" var "+(b="format"+n)+" = formats["+d+"]; var "+(m="isObject"+n)+" = typeof "+b+" == 'object' && !("+b+" instanceof RegExp) && "+b+".validate; var "+(y="formatType"+n)+" = "+m+" && "+b+".type || 'string'; if ("+m+") { ",e.async&&(f+=" var async"+n+" = "+b+".async; "),f+=" "+b+" = "+b+".validate; } if ( ",l&&(f+=" ("+d+" !== undefined && typeof "+d+" != 'string') || "),f+=" (","ignore"!=p&&(f+=" ("+d+" && !"+b+" ",h&&(f+=" && self._opts.unknownFormats.indexOf("+d+") == -1 "),f+=") || "),f+=" ("+b+" && "+y+" == '"+r+"' && !(typeof "+b+" == 'function' ? ",e.async?f+=" (async"+n+" ? await "+b+"("+u+") : "+b+"("+u+")) ":f+=" "+b+"("+u+") ",f+=" : "+b+".test("+u+"))))) {"}else{var b;if(!(b=e.formats[i])){if("ignore"==p)return e.logger.warn('unknown format "'+i+'" ignored in schema at path "'+e.errSchemaPath+'"'),c&&(f+=" if (true) { "),f;if(h&&p.indexOf(i)>=0)return c&&(f+=" if (true) { "),f;throw new Error('unknown format "'+i+'" is used in schema at path "'+e.errSchemaPath+'"')}var m,y=(m="object"==typeof b&&!(b instanceof RegExp)&&b.validate)&&b.type||"string";if(m){var g=!0===b.async;b=b.validate}if(y!=r)return c&&(f+=" if (true) { "),f;if(g){if(!e.async)throw new Error("async format in sync schema");f+=" if (!(await "+(v="formats"+e.util.getProperty(i)+".validate")+"("+u+"))) { "}else{f+=" if (! ";var v="formats"+e.util.getProperty(i);m&&(v+=".validate"),f+="function"==typeof b?" "+v+"("+u+") ":" "+v+".test("+u+") ",f+=") { "}}var _=_||[];_.push(f),f="",!1!==e.createErrors?(f+=" { keyword: 'format' , dataPath: (dataPath || '') + "+e.errorPath+" , schemaPath: "+e.util.toQuotedString(s)+" , params: { format: ",f+=l?""+d:""+e.util.toQuotedString(i),f+=" } ",!1!==e.opts.messages&&(f+=" , message: 'should match format \"",f+=l?"' + "+d+" + '":""+e.util.escapeQuotes(i),f+="\"' "),e.opts.verbose&&(f+=" , schema: ",f+=l?"validate.schema"+o:""+e.util.toQuotedString(i),f+=" , parentSchema: validate.schema"+e.schemaPath+" , data: "+u+" "),f+=" } "):f+=" {} ";var w=f;return f=_.pop(),!e.compositeRule&&c?e.async?f+=" throw new ValidationError(["+w+"]); ":f+=" validate.errors = ["+w+"]; return false; ":f+=" var err = "+w+"; if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; ",f+=" } ",c&&(f+=" else { "),f}},function(e,t,r){"use strict";e.exports=function(e,t,r){var f=" ",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 h="valid"+p.level,b=e.schema.then,m=e.schema.else,y=void 0!==b&&(e.opts.strictKeywords?"object"==typeof b&&Object.keys(b).length>0:e.util.schemaHasRules(b,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,f+=" var "+l+" = errors; var "+d+" = true; ";var w=e.compositeRule;e.compositeRule=p.compositeRule=!0,f+=" "+e.validate(p)+" ",p.baseId=v,p.createErrors=!0,f+=" errors = "+l+"; if (vErrors !== null) { if ("+l+") vErrors.length = "+l+"; else vErrors = null; } ",e.compositeRule=p.compositeRule=w,y?(f+=" if ("+h+") { ",p.schema=e.schema.then,p.schemaPath=e.schemaPath+".then",p.errSchemaPath=e.errSchemaPath+"/then",f+=" "+e.validate(p)+" ",p.baseId=v,f+=" "+d+" = "+h+"; ",y&&g?f+=" var "+(_="ifClause"+n)+" = 'then'; ":_="'then'",f+=" } ",g&&(f+=" else { ")):f+=" if (!"+h+") { ",g&&(p.schema=e.schema.else,p.schemaPath=e.schemaPath+".else",p.errSchemaPath=e.errSchemaPath+"/else",f+=" "+e.validate(p)+" ",p.baseId=v,f+=" "+d+" = "+h+"; ",y&&g?f+=" var "+(_="ifClause"+n)+" = 'else'; ":_="'else'",f+=" } "),f+=" if (!"+d+") { var err = ",!1!==e.createErrors?(f+=" { keyword: 'if' , dataPath: (dataPath || '') + "+e.errorPath+" , schemaPath: "+e.util.toQuotedString(s)+" , params: { failingKeyword: "+_+" } ",!1!==e.opts.messages&&(f+=" , message: 'should match \"' + "+_+" + '\" schema' "),e.opts.verbose&&(f+=" , schema: validate.schema"+o+" , parentSchema: validate.schema"+e.schemaPath+" , data: "+u+" "),f+=" } "):f+=" {} ",f+="; if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; ",!e.compositeRule&&c&&(e.async?f+=" throw new ValidationError(vErrors); ":f+=" validate.errors = vErrors; return false; "),f+=" } ",c&&(f+=" else { ")}else c&&(f+=" if (true) { ");return f}},function(e,t,r){"use strict";e.exports=function(e,t,r){var f=" ",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),h="";p.level++;var b="valid"+p.level,m="i"+n,y=p.dataLevel=e.dataLevel+1,g="data"+y,v=e.baseId;if(f+="var "+l+" = errors;var "+d+";",Array.isArray(i)){var _=e.schema.additionalItems;if(!1===_){f+=" "+d+" = "+u+".length <= "+i.length+"; ";var w=s;s=e.errSchemaPath+"/additionalItems",f+=" if (!"+d+") { ";var E=E||[];E.push(f),f="",!1!==e.createErrors?(f+=" { keyword: 'additionalItems' , dataPath: (dataPath || '') + "+e.errorPath+" , schemaPath: "+e.util.toQuotedString(s)+" , params: { limit: "+i.length+" } ",!1!==e.opts.messages&&(f+=" , message: 'should NOT have more than "+i.length+" items' "),e.opts.verbose&&(f+=" , schema: false , parentSchema: validate.schema"+e.schemaPath+" , data: "+u+" "),f+=" } "):f+=" {} ";var A=f;f=E.pop(),!e.compositeRule&&c?e.async?f+=" throw new ValidationError(["+A+"]); ":f+=" validate.errors = ["+A+"]; return false; ":f+=" var err = "+A+"; if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; ",f+=" } ",s=w,c&&(h+="}",f+=" else { ")}var T=i;if(T)for(var x,S=-1,C=T.length-1;S<C;)if(x=T[S+=1],e.opts.strictKeywords?"object"==typeof x&&Object.keys(x).length>0:e.util.schemaHasRules(x,e.RULES.all)){f+=" "+b+" = true; if ("+u+".length > "+S+") { ";var O=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 P=e.validate(p);p.baseId=v,e.util.varOccurences(P,g)<2?f+=" "+e.util.varReplace(P,g,O)+" ":f+=" var "+g+" = "+O+"; "+P+" ",f+=" } ",c&&(f+=" if ("+b+") { ",h+="}")}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",f+=" "+b+" = 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);O=u+"["+m+"]";p.dataPathArr[y]=m;P=e.validate(p);p.baseId=v,e.util.varOccurences(P,g)<2?f+=" "+e.util.varReplace(P,g,O)+" ":f+=" var "+g+" = "+O+"; "+P+" ",c&&(f+=" if (!"+b+") break; "),f+=" } } ",c&&(f+=" if ("+b+") { ",h+="}")}}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,f+=" for (var "+m+" = 0; "+m+" < "+u+".length; "+m+"++) { ",p.errorPath=e.util.getPathExpr(e.errorPath,m,e.opts.jsonPointers,!0);O=u+"["+m+"]";p.dataPathArr[y]=m;P=e.validate(p);p.baseId=v,e.util.varOccurences(P,g)<2?f+=" "+e.util.varReplace(P,g,O)+" ":f+=" var "+g+" = "+O+"; "+P+" ",c&&(f+=" if (!"+b+") break; "),f+=" }"}return c&&(f+=" "+h+" if ("+l+" == errors) {"),f}},function(e,t,r){"use strict";e.exports=function(e,t,r){var f,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)+"; ",f="schema"+a):f=o,!l&&"number"!=typeof o)throw new Error(t+" must be number");n+="var division"+a+";if (",l&&(n+=" "+f+" !== undefined && ( typeof "+f+" != 'number' || "),n+=" (division"+a+" = "+d+" / "+f+", ",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: "+f+" } ",!1!==e.opts.messages&&(n+=" , message: 'should be multiple of ",n+=l?"' + "+f:f+"'"),e.opts.verbose&&(n+=" , schema: ",n+=l?"validate.schema"+s:""+o,n+=" , parentSchema: validate.schema"+e.schemaPath+" , data: "+d+" "),n+=" } "):n+=" {} ";var h=n;return n=p.pop(),!e.compositeRule&&u?e.async?n+=" throw new ValidationError(["+h+"]); ":n+=" validate.errors = ["+h+"]; return false; ":n+=" var err = "+h+"; if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; ",n+="} ",u&&(n+=" else { "),n}},function(e,t,r){"use strict";e.exports=function(e,t,r){var f=" ",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,f+=" var "+d+" = errors; ";var h,b=e.compositeRule;e.compositeRule=l.compositeRule=!0,l.createErrors=!1,l.opts.allErrors&&(h=l.opts.allErrors,l.opts.allErrors=!1),f+=" "+e.validate(l)+" ",l.createErrors=!0,h&&(l.opts.allErrors=h),e.compositeRule=l.compositeRule=b,f+=" if ("+p+") { ";var m=m||[];m.push(f),f="",!1!==e.createErrors?(f+=" { keyword: 'not' , dataPath: (dataPath || '') + "+e.errorPath+" , schemaPath: "+e.util.toQuotedString(s)+" , params: {} ",!1!==e.opts.messages&&(f+=" , message: 'should NOT be valid' "),e.opts.verbose&&(f+=" , schema: validate.schema"+o+" , parentSchema: validate.schema"+e.schemaPath+" , data: "+u+" "),f+=" } "):f+=" {} ";var y=f;f=m.pop(),!e.compositeRule&&c?e.async?f+=" throw new ValidationError(["+y+"]); ":f+=" validate.errors = ["+y+"]; return false; ":f+=" var err = "+y+"; if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; ",f+=" } else { errors = "+d+"; if (vErrors !== null) { if ("+d+") vErrors.length = "+d+"; else vErrors = null; } ",e.opts.allErrors&&(f+=" } ")}else f+=" var err = ",!1!==e.createErrors?(f+=" { keyword: 'not' , dataPath: (dataPath || '') + "+e.errorPath+" , schemaPath: "+e.util.toQuotedString(s)+" , params: {} ",!1!==e.opts.messages&&(f+=" , message: 'should NOT be valid' "),e.opts.verbose&&(f+=" , schema: validate.schema"+o+" , parentSchema: validate.schema"+e.schemaPath+" , data: "+u+" "),f+=" } "):f+=" {} ",f+="; if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; ",c&&(f+=" if (false) { ");return f}},function(e,t,r){"use strict";e.exports=function(e,t,r){var f=" ",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),h="";p.level++;var b="valid"+p.level,m=p.baseId,y="prevValid"+n,g="passingSchemas"+n;f+="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,f+=" "+e.validate(p)+" ",p.baseId=m):f+=" var "+b+" = true; ",E&&(f+=" if ("+b+" && "+y+") { "+d+" = false; "+g+" = ["+g+", "+E+"]; } else { ",h+="}"),f+=" if ("+b+") { "+d+" = "+y+" = true; "+g+" = "+E+"; }";return e.compositeRule=p.compositeRule=v,f+=h+"if (!"+d+") { var err = ",!1!==e.createErrors?(f+=" { keyword: 'oneOf' , dataPath: (dataPath || '') + "+e.errorPath+" , schemaPath: "+e.util.toQuotedString(s)+" , params: { passingSchemas: "+g+" } ",!1!==e.opts.messages&&(f+=" , message: 'should match exactly one schema in oneOf' "),e.opts.verbose&&(f+=" , schema: validate.schema"+o+" , parentSchema: validate.schema"+e.schemaPath+" , data: "+u+" "),f+=" } "):f+=" {} ",f+="; if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; ",!e.compositeRule&&c&&(e.async?f+=" throw new ValidationError(vErrors); ":f+=" validate.errors = vErrors; return false; "),f+="} else { errors = "+l+"; if (vErrors !== null) { if ("+l+") vErrors.length = "+l+"; else vErrors = null; }",e.opts.allErrors&&(f+=" } "),f}},function(e,t,r){"use strict";e.exports=function(e,t,r){var f,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)+"; ",f="schema"+a):f=o,n+="if ( ",l&&(n+=" ("+f+" !== undefined && typeof "+f+" != 'string') || "),n+=" !"+(l?"(new RegExp("+f+"))":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?""+f:""+e.util.toQuotedString(o),n+=" } ",!1!==e.opts.messages&&(n+=" , message: 'should match pattern \"",n+=l?"' + "+f+" + '":""+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 h=n;return n=p.pop(),!e.compositeRule&&u?e.async?n+=" throw new ValidationError(["+h+"]); ":n+=" validate.errors = ["+h+"]; return false; ":n+=" var err = "+h+"; if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; ",n+="} ",u&&(n+=" else { "),n}},function(e,t,r){"use strict";e.exports=function(e,t,r){var f=" ",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 h="valid"+l.level,b="key"+n,m="idx"+n,y=l.dataLevel=e.dataLevel+1,g="data"+y,v="dataProperties"+n,_=Object.keys(i||{}).filter(D),w=e.schema.patternProperties||{},E=Object.keys(w).filter(D),A=e.schema.additionalProperties,T=_.length||E.length,x=!1===A,S="object"==typeof A&&Object.keys(A).length,C=e.opts.removeAdditional,O=x||S||C,P=e.opts.ownProperties,k=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 D(e){return"__proto__"!==e}if(f+="var "+d+" = errors;var "+h+" = true;",P&&(f+=" var "+v+" = undefined;"),O){if(f+=P?" "+v+" = "+v+" || Object.keys("+u+"); for (var "+m+"=0; "+m+"<"+v+".length; "+m+"++) { var "+b+" = "+v+"["+m+"]; ":" for (var "+b+" in "+u+") { ",T){if(f+=" var isAdditional"+n+" = !(false ",_.length)if(_.length>8)f+=" || validate.schema"+o+".hasOwnProperty("+b+") ";else{var N=_;if(N)for(var B=-1,I=N.length-1;B<I;)Y=N[B+=1],f+=" || "+b+" == "+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],f+=" || "+e.usePattern(ae)+".test("+b+") "}f+=" ); if (isAdditional"+n+") { "}if("all"==C)f+=" delete "+u+"["+b+"]; ";else{var U=e.errorPath,q="' + "+b+" + '";if(e.opts._errorDataPathProperty&&(e.errorPath=e.util.getPathExpr(e.errorPath,b,e.opts.jsonPointers)),x)if(C)f+=" delete "+u+"["+b+"]; ";else{f+=" "+h+" = false; ";var H=s;s=e.errSchemaPath+"/additionalProperties",(re=re||[]).push(f),f="",!1!==e.createErrors?(f+=" { keyword: 'additionalProperties' , dataPath: (dataPath || '') + "+e.errorPath+" , schemaPath: "+e.util.toQuotedString(s)+" , params: { additionalProperty: '"+q+"' } ",!1!==e.opts.messages&&(f+=" , message: '",e.opts._errorDataPathProperty?f+="is an invalid additional property":f+="should NOT have additional properties",f+="' "),e.opts.verbose&&(f+=" , schema: false , parentSchema: validate.schema"+e.schemaPath+" , data: "+u+" "),f+=" } "):f+=" {} ";var z=f;f=re.pop(),!e.compositeRule&&c?e.async?f+=" throw new ValidationError(["+z+"]); ":f+=" validate.errors = ["+z+"]; return false; ":f+=" var err = "+z+"; if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; ",s=H,c&&(f+=" break; ")}else if(S)if("failing"==C){f+=" 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,b,e.opts.jsonPointers);var K=u+"["+b+"]";l.dataPathArr[y]=b;var W=e.validate(l);l.baseId=k,e.util.varOccurences(W,g)<2?f+=" "+e.util.varReplace(W,g,K)+" ":f+=" var "+g+" = "+K+"; "+W+" ",f+=" if (!"+h+") { errors = "+d+"; if (validate.errors !== null) { if (errors) validate.errors.length = errors; else validate.errors = null; } delete "+u+"["+b+"]; } ",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,b,e.opts.jsonPointers);K=u+"["+b+"]";l.dataPathArr[y]=b;W=e.validate(l);l.baseId=k,e.util.varOccurences(W,g)<2?f+=" "+e.util.varReplace(W,g,K)+" ":f+=" var "+g+" = "+K+"; "+W+" ",c&&(f+=" if (!"+h+") break; ")}e.errorPath=U}T&&(f+=" } "),f+=" } ",c&&(f+=" if ("+h+") { ",p+="}")}var G=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,G&&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);W=e.validate(l);if(l.baseId=k,e.util.varOccurences(W,g)<2){W=e.util.varReplace(W,g,K);var te=K}else{te=g;f+=" var "+g+" = "+K+"; "}if(ee)f+=" "+W+" ";else{if(M&&M[Y]){f+=" if ( "+te+" === undefined ",P&&(f+=" || ! Object.prototype.hasOwnProperty.call("+u+", '"+e.util.escapeQuotes(Y)+"') "),f+=") { "+h+" = false; ";U=e.errorPath,H=s;var re,fe=e.util.escapeQuotes(Y);e.opts._errorDataPathProperty&&(e.errorPath=e.util.getPath(U,Y,e.opts.jsonPointers)),s=e.errSchemaPath+"/required",(re=re||[]).push(f),f="",!1!==e.createErrors?(f+=" { keyword: 'required' , dataPath: (dataPath || '') + "+e.errorPath+" , schemaPath: "+e.util.toQuotedString(s)+" , params: { missingProperty: '"+fe+"' } ",!1!==e.opts.messages&&(f+=" , message: '",e.opts._errorDataPathProperty?f+="is a required property":f+="should have required property \\'"+fe+"\\'",f+="' "),e.opts.verbose&&(f+=" , schema: validate.schema"+o+" , parentSchema: validate.schema"+e.schemaPath+" , data: "+u+" "),f+=" } "):f+=" {} ";z=f;f=re.pop(),!e.compositeRule&&c?e.async?f+=" throw new ValidationError(["+z+"]); ":f+=" validate.errors = ["+z+"]; return false; ":f+=" var err = "+z+"; if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; ",s=H,e.errorPath=U,f+=" } else { "}else c?(f+=" if ( "+te+" === undefined ",P&&(f+=" || ! Object.prototype.hasOwnProperty.call("+u+", '"+e.util.escapeQuotes(Y)+"') "),f+=") { "+h+" = true; } else { "):(f+=" if ("+te+" !== undefined ",P&&(f+=" && Object.prototype.hasOwnProperty.call("+u+", '"+e.util.escapeQuotes(Y)+"') "),f+=" ) { ");f+=" "+W+" } "}}c&&(f+=" if ("+h+") { ",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),f+=P?" "+v+" = "+v+" || Object.keys("+u+"); for (var "+m+"=0; "+m+"<"+v+".length; "+m+"++) { var "+b+" = "+v+"["+m+"]; ":" for (var "+b+" in "+u+") { ",f+=" if ("+e.usePattern(ae)+".test("+b+")) { ",l.errorPath=e.util.getPathExpr(e.errorPath,b,e.opts.jsonPointers);K=u+"["+b+"]";l.dataPathArr[y]=b;W=e.validate(l);l.baseId=k,e.util.varOccurences(W,g)<2?f+=" "+e.util.varReplace(W,g,K)+" ":f+=" var "+g+" = "+K+"; "+W+" ",c&&(f+=" if (!"+h+") break; "),f+=" } ",c&&(f+=" else "+h+" = true; "),f+=" } ",c&&(f+=" if ("+h+") { ",p+="}")}}}return c&&(f+=" "+p+" if ("+d+" == errors) {"),f}},function(e,t,r){"use strict";e.exports=function(e,t,r){var f=" ",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(f+="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 h="key"+n,b="idx"+n,m="i"+n,y="' + "+h+" + '",g="data"+(l.dataLevel=e.dataLevel+1),v="dataProperties"+n,_=e.opts.ownProperties,w=e.baseId;_&&(f+=" var "+v+" = undefined; "),f+=_?" "+v+" = "+v+" || Object.keys("+u+"); for (var "+b+"=0; "+b+"<"+v+".length; "+b+"++) { var "+h+" = "+v+"["+b+"]; ":" for (var "+h+" in "+u+") { ",f+=" var startErrs"+n+" = errors; ";var E=h,A=e.compositeRule;e.compositeRule=l.compositeRule=!0;var T=e.validate(l);l.baseId=w,e.util.varOccurences(T,g)<2?f+=" "+e.util.varReplace(T,g,E)+" ":f+=" var "+g+" = "+E+"; "+T+" ",e.compositeRule=l.compositeRule=A,f+=" if (!"+p+") { for (var "+m+"=startErrs"+n+"; "+m+"<errors; "+m+"++) { vErrors["+m+"].propertyName = "+h+"; } var err = ",!1!==e.createErrors?(f+=" { keyword: 'propertyNames' , dataPath: (dataPath || '') + "+e.errorPath+" , schemaPath: "+e.util.toQuotedString(s)+" , params: { propertyName: '"+y+"' } ",!1!==e.opts.messages&&(f+=" , message: 'property name \\'"+y+"\\' is invalid' "),e.opts.verbose&&(f+=" , schema: validate.schema"+o+" , parentSchema: validate.schema"+e.schemaPath+" , data: "+u+" "),f+=" } "):f+=" {} ",f+="; if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; ",!e.compositeRule&&c&&(e.async?f+=" throw new ValidationError(vErrors); ":f+=" validate.errors = vErrors; return false; "),c&&(f+=" break; "),f+=" } }"}return c&&(f+=" if ("+d+" == errors) {"),f}},function(e,t,r){"use strict";e.exports=function(e,t,r){var f=" ",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&&(f+=" 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 h=[],b=i;if(b)for(var m,y=-1,g=b.length-1;y<g;){m=b[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))||(h[h.length]=m)}}else h=i;if(l||h.length){var _=e.errorPath,w=l||h.length>=e.opts.loopRequired,E=e.opts.ownProperties;if(c)if(f+=" var missing"+n+"; ",w){l||(f+=" var "+p+" = validate.schema"+o+"; ");var A="' + "+(P="schema"+n+"["+(S="i"+n)+"]")+" + '";e.opts._errorDataPathProperty&&(e.errorPath=e.util.getPathExpr(_,P,e.opts.jsonPointers)),f+=" var "+d+" = true; ",l&&(f+=" if (schema"+n+" === undefined) "+d+" = true; else if (!Array.isArray(schema"+n+")) "+d+" = false; else {"),f+=" for (var "+S+" = 0; "+S+" < "+p+".length; "+S+"++) { "+d+" = "+u+"["+p+"["+S+"]] !== undefined ",E&&(f+=" && Object.prototype.hasOwnProperty.call("+u+", "+p+"["+S+"]) "),f+="; if (!"+d+") break; } ",l&&(f+=" } "),f+=" if (!"+d+") { ",(O=O||[]).push(f),f="",!1!==e.createErrors?(f+=" { keyword: 'required' , dataPath: (dataPath || '') + "+e.errorPath+" , schemaPath: "+e.util.toQuotedString(s)+" , params: { missingProperty: '"+A+"' } ",!1!==e.opts.messages&&(f+=" , message: '",e.opts._errorDataPathProperty?f+="is a required property":f+="should have required property \\'"+A+"\\'",f+="' "),e.opts.verbose&&(f+=" , schema: validate.schema"+o+" , parentSchema: validate.schema"+e.schemaPath+" , data: "+u+" "),f+=" } "):f+=" {} ";var T=f;f=O.pop(),!e.compositeRule&&c?e.async?f+=" throw new ValidationError(["+T+"]); ":f+=" validate.errors = ["+T+"]; return false; ":f+=" var err = "+T+"; if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; ",f+=" } else { "}else{f+=" if ( ";var x=h;if(x)for(var S=-1,C=x.length-1;S<C;){R=x[S+=1],S&&(f+=" || "),f+=" ( ( "+(B=u+(N=e.util.getProperty(R)))+" === undefined ",E&&(f+=" || ! Object.prototype.hasOwnProperty.call("+u+", '"+e.util.escapeQuotes(R)+"') "),f+=") && (missing"+n+" = "+e.util.toQuotedString(e.opts.jsonPointers?R:N)+") ) "}f+=") { ";var O;A="' + "+(P="missing"+n)+" + '";e.opts._errorDataPathProperty&&(e.errorPath=e.opts.jsonPointers?e.util.getPathExpr(_,P,!0):_+" + "+P),(O=O||[]).push(f),f="",!1!==e.createErrors?(f+=" { keyword: 'required' , dataPath: (dataPath || '') + "+e.errorPath+" , schemaPath: "+e.util.toQuotedString(s)+" , params: { missingProperty: '"+A+"' } ",!1!==e.opts.messages&&(f+=" , message: '",e.opts._errorDataPathProperty?f+="is a required property":f+="should have required property \\'"+A+"\\'",f+="' "),e.opts.verbose&&(f+=" , schema: validate.schema"+o+" , parentSchema: validate.schema"+e.schemaPath+" , data: "+u+" "),f+=" } "):f+=" {} ";T=f;f=O.pop(),!e.compositeRule&&c?e.async?f+=" throw new ValidationError(["+T+"]); ":f+=" validate.errors = ["+T+"]; return false; ":f+=" var err = "+T+"; if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; ",f+=" } else { "}else if(w){l||(f+=" var "+p+" = validate.schema"+o+"; ");var P;A="' + "+(P="schema"+n+"["+(S="i"+n)+"]")+" + '";e.opts._errorDataPathProperty&&(e.errorPath=e.util.getPathExpr(_,P,e.opts.jsonPointers)),l&&(f+=" if ("+p+" && !Array.isArray("+p+")) { var err = ",!1!==e.createErrors?(f+=" { keyword: 'required' , dataPath: (dataPath || '') + "+e.errorPath+" , schemaPath: "+e.util.toQuotedString(s)+" , params: { missingProperty: '"+A+"' } ",!1!==e.opts.messages&&(f+=" , message: '",e.opts._errorDataPathProperty?f+="is a required property":f+="should have required property \\'"+A+"\\'",f+="' "),e.opts.verbose&&(f+=" , schema: validate.schema"+o+" , parentSchema: validate.schema"+e.schemaPath+" , data: "+u+" "),f+=" } "):f+=" {} ",f+="; if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; } else if ("+p+" !== undefined) { "),f+=" for (var "+S+" = 0; "+S+" < "+p+".length; "+S+"++) { if ("+u+"["+p+"["+S+"]] === undefined ",E&&(f+=" || ! Object.prototype.hasOwnProperty.call("+u+", "+p+"["+S+"]) "),f+=") { var err = ",!1!==e.createErrors?(f+=" { keyword: 'required' , dataPath: (dataPath || '') + "+e.errorPath+" , schemaPath: "+e.util.toQuotedString(s)+" , params: { missingProperty: '"+A+"' } ",!1!==e.opts.messages&&(f+=" , message: '",e.opts._errorDataPathProperty?f+="is a required property":f+="should have required property \\'"+A+"\\'",f+="' "),e.opts.verbose&&(f+=" , schema: validate.schema"+o+" , parentSchema: validate.schema"+e.schemaPath+" , data: "+u+" "),f+=" } "):f+=" {} ",f+="; if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; } } ",l&&(f+=" } ")}else{var k=h;if(k)for(var R,M=-1,D=k.length-1;M<D;){R=k[M+=1];var N=e.util.getProperty(R),B=(A=e.util.escapeQuotes(R),u+N);e.opts._errorDataPathProperty&&(e.errorPath=e.util.getPath(_,R,e.opts.jsonPointers)),f+=" if ( "+B+" === undefined ",E&&(f+=" || ! Object.prototype.hasOwnProperty.call("+u+", '"+e.util.escapeQuotes(R)+"') "),f+=") { var err = ",!1!==e.createErrors?(f+=" { keyword: 'required' , dataPath: (dataPath || '') + "+e.errorPath+" , schemaPath: "+e.util.toQuotedString(s)+" , params: { missingProperty: '"+A+"' } ",!1!==e.opts.messages&&(f+=" , message: '",e.opts._errorDataPathProperty?f+="is a required property":f+="should have required property \\'"+A+"\\'",f+="' "),e.opts.verbose&&(f+=" , schema: validate.schema"+o+" , parentSchema: validate.schema"+e.schemaPath+" , data: "+u+" "),f+=" } "):f+=" {} ",f+="; if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; } "}}e.errorPath=_}else c&&(f+=" if (true) {");return f}},function(e,t,r){"use strict";e.exports=function(e,t,r){var f,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)+"; ",f="schema"+a):f=o,(o||p)&&!1!==e.opts.uniqueItems){p&&(n+=" var "+l+"; if ("+f+" === false || "+f+" === undefined) "+l+" = true; else if (typeof "+f+" != 'boolean') "+l+" = false; else { "),n+=" var i = "+d+".length , "+l+" = true , j; if (i > 1) { ";var h=e.schema.items&&e.schema.items.type,b=Array.isArray(h);if(!h||"object"==h||"array"==h||b&&(h.indexOf("object")>=0||h.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"+(b?"s":"");n+=" if ("+e.util[m](h,"item",e.opts.strictNumbers,!0)+") continue; ",b&&(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,r){"use strict";var f=["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 r=0;r<t.length;r++){e=JSON.parse(JSON.stringify(e));var n,a=t[r].split("/"),i=e;for(n=1;n<a.length;n++)i=i[a[n]];for(n=0;n<f.length;n++){var o=f[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,r){"use strict";var f=r(154).MissingRef;e.exports=function e(t,r,n){var a=this;if("function"!=typeof this._opts.loadSchema)throw new Error("options.loadSchema should be a function");"function"==typeof r&&(n=r,r=void 0);var i=o(t).then((function(){var e=a._addSchema(t,void 0,r);return e.validate||s(e)}));n&&i.then((function(e){n(null,e)}),n);return i;function o(t){var r=t.$schema;return r&&!a.getSchema(r)?e.call(a,{$ref:r},!0):Promise.resolve()}function s(e){try{return a._compile(e)}catch(t){if(t instanceof f)return function(t){var f=t.missingSchema;if(c(f))throw new Error("Schema "+f+" is loaded but "+t.missingRef+" cannot be resolved");var n=a._loadingSchemas[f];n||(n=a._loadingSchemas[f]=a._opts.loadSchema(f)).then(i,i);return n.then((function(e){if(!c(f))return o(e).then((function(){c(f)||a.addSchema(e,f,void 0,r)}))})).then((function(){return s(e)}));function i(){delete a._loadingSchemas[f]}function c(e){return a._refs[e]||a._schemas[e]}}(t);throw t}}}},function(e,t,r){"use strict";var f=/^[a-z_$][a-z0-9_$-]*$/i,n=r(723),a=r(724);e.exports={add:function(e,t){var r=this.RULES;if(r.keywords[e])throw new Error("Keyword "+e+" is already defined");if(!f.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,f){for(var a,i=0;i<r.length;i++){var o=r[i];if(o.type==t){a=o;break}}a||(a={type:t,rules:[]},r.push(a));var s={keyword:e,definition:f,custom:!0,code:n,implements:f.implements};a.rules.push(s),r.custom[e]=s}return r.keywords[e]=r.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 r=0;r<t.length;r++)for(var f=t[r].rules,n=0;n<f.length;n++)if(f[n].keyword==e){f.splice(n,1);break}return this},validate:function e(t,r){e.errors=null;var f=this._validateKeyword=this._validateKeyword||this.compile(a,!0);if(f(t))return!0;if(e.errors=f.errors,r)throw new Error("custom keyword definition is invalid: "+this.errorsText(f.errors));return!1}}},function(e,t,r){"use strict";e.exports=function(e,t,r){var f,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,h="errs__"+i,b=e.opts.$data&&s&&s.$data;b?(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(b&&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",C="i"+i,O="ruleErr"+i,P=A.async;if(P&&!e.async)throw new Error("async keyword in sync schema");if(y||g||(a+=S+" = null;"),a+="var "+h+" = errors;var "+p+";",b&&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 k=e.util.copy(e);T="";k.level++;var R="valid"+k.level;k.schema=v.validate,k.schemaPath="";var M=e.compositeRule;e.compositeRule=k.compositeRule=!0;var D=e.validate(k).replace(/validate\.schema/g,_);e.compositeRule=k.compositeRule=M,a+=" "+D}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 N=o?"data"+(o-1||""):"parentData",B=o?e.dataPathArr[o]:"parentDataProperty",I=a+=" , "+N+" , "+B+" , rootData ) ";a=F.pop(),!1===A.errors?(a+=" "+p+" = ",P&&(a+="await "),a+=I+"; "):a+=P?" 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 ("+N+") "+l+" = "+N+"["+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+=") { ",f=w.keyword,(F=F||[]).push(a),a="",(F=F||[]).push(a),a="",!1!==e.createErrors?(a+=" { keyword: '"+(f||"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 "+C+"="+h+"; "+C+"<errors; "+C+"++) { var "+O+" = vErrors["+C+"]; if ("+O+".dataPath === undefined) "+O+".dataPath = (dataPath || '') + "+e.errorPath+"; if ("+O+".schemaPath === undefined) { "+O+'.schemaPath = "'+u+'"; } ',e.opts.verbose&&(a+=" "+O+".schema = "+n+"; "+O+".data = "+l+"; "),a+=" } "):!1===A.errors?a+=" "+L+" ":(a+=" if ("+h+" == errors) { "+L+" } else { for (var "+C+"="+h+"; "+C+"<errors; "+C+"++) { var "+O+" = vErrors["+C+"]; if ("+O+".dataPath === undefined) "+O+".dataPath = (dataPath || '') + "+e.errorPath+"; if ("+O+".schemaPath === undefined) { "+O+'.schemaPath = "'+u+'"; } ',e.opts.verbose&&(a+=" "+O+".schema = "+n+"; "+O+".data = "+l+"; "),a+=" } } "):g?(a+=" var err = ",!1!==e.createErrors?(a+=" { keyword: '"+(f||"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 "+C+"="+h+"; "+C+"<errors; "+C+"++) { var "+O+" = vErrors["+C+"]; if ("+O+".dataPath === undefined) "+O+".dataPath = (dataPath || '') + "+e.errorPath+"; "+O+'.schemaPath = "'+u+'"; ',e.opts.verbose&&(a+=" "+O+".schema = "+n+"; "+O+".data = "+l+"; "),a+=" } } else { "+L+" } "),a+=" } ",d&&(a+=" else { ")}return a}},function(e,t,r){"use strict";var f=r(279);e.exports={$id:"https://github.com/ajv-validator/ajv/blob/master/lib/definition_schema.js",definitions:{simpleTypes:f.definitions.simpleTypes},type:"object",dependencies:{schema:["validate"],$data:["validate"],statements:["inline"],valid:{not:{required:["macro"]}}},properties:{type:f.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,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0});const f={rnf_invoice:{"0.0.1":r(729),"0.0.2":r(730),"0.0.3":r(731)}};t.default=f},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,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0});(0,r(271).__exportStar)(r(733),t)},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.getInvoiceTaxTotal=t.getInvoiceLineTotalWithoutTax=t.getInvoiceTotalWithoutTax=t.getInvoiceLineTotal=t.getInvoiceTotal=void 0;const f=r(3);t.getInvoiceTotal=e=>e.invoiceItems.reduce(((e,r)=>e.add((0,t.getInvoiceLineTotal)(r))),f.BigNumber.from(0));t.getInvoiceLineTotal=e=>{const t=e.taxPercent?{type:"percentage",amount:String(e.taxPercent)}:e.tax||{type:"percentage",amount:"0"},r=t.amount&&"percentage"===t.type?Number(t.amount)+100:100,n=t.amount&&"fixed"===t.type?f.BigNumber.from(t.amount):f.BigNumber.from(0),a=e.discount?f.BigNumber.from(e.discount):f.BigNumber.from(0);return f.BigNumber.from(f.FixedNumber.from(e.unitPrice).mulUnsafe(f.FixedNumber.fromString(e.quantity.toString())).subUnsafe(f.FixedNumber.from(a)).mulUnsafe(f.FixedNumber.fromString(r.toString())).divUnsafe(f.FixedNumber.from(100)).addUnsafe(f.FixedNumber.from(n)).round(0).toString().split(".")[0])};t.getInvoiceTotalWithoutTax=e=>e.invoiceItems.reduce(((e,r)=>e.add((0,t.getInvoiceLineTotalWithoutTax)(r))),f.BigNumber.from(0));t.getInvoiceLineTotalWithoutTax=e=>{const t=e.discount?f.BigNumber.from(e.discount):f.BigNumber.from(0);return f.BigNumber.from(f.FixedNumber.from(e.unitPrice).mulUnsafe(f.FixedNumber.fromString(e.quantity.toString())).subUnsafe(f.FixedNumber.from(t)).round(0).toString().split(".")[0])};t.getInvoiceTaxTotal=e=>{const r=e.invoiceItems.reduce(((e,r)=>e.add((0,t.getInvoiceLineTotalWithoutTax)(r))),f.BigNumber.from(0));return e.invoiceItems.reduce(((e,r)=>e.add((0,t.getInvoiceLineTotal)(r))),f.BigNumber.from(0)).sub(r)}},function(e,t,r){"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.1861+c30364ce","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.1861+c30364ce","@requestnetwork/currency":"0.9.1-next.1861+c30364ce","@requestnetwork/data-access":"0.27.1-next.1861+c30364ce","@requestnetwork/data-format":"0.10.1-next.1861+c30364ce","@requestnetwork/epk-signature":"0.5.36-next.1861+c30364ce","@requestnetwork/multi-format":"0.15.11-next.1861+c30364ce","@requestnetwork/payment-detection":"0.36.1-next.1861+c30364ce","@requestnetwork/request-logic":"0.26.11-next.1861+c30364ce","@requestnetwork/smart-contracts":"0.29.1-next.1861+c30364ce","@requestnetwork/transaction-manager":"0.27.1-next.1861+c30364ce","@requestnetwork/types":"0.36.1-next.1861+c30364ce","@requestnetwork/utils":"0.36.1-next.1861+c30364ce","axios":"0.27.2","ethers":"5.5.1","tslib":"2.3.1"},"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.3.0","ts-node":"9.0.0","typescript":"4.4.4","webpack":"4.44.2","webpack-bundle-analyzer":"4.2.0","webpack-cli":"3.3.12"},"gitHead":"c30364ce67181045d3e10f1efc8079211762d3b6"}')},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0});const f=r(281);class n extends f.DataAccess{constructor(e){super(e),this.isInitialized=!0}}t.default=n},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0});const f=r(51),n=r(41),a=r(4),i=r(7),o=r(282),s=r(28),c=r(283),u=r(738),d=r(741),l=r(284),p={meta:{storageMeta:{},transactionsStorageLocation:{}},result:{transactions:{}}};t.default=class{constructor(e,t){this.isInitialized=!1;const r={ignoredLocationIndex:new u.default,logger:new i.SimpleLogger,synchronizationIntervalTime:1e4,transactionIndex:new l.default,autoStartSynchronization:!1},{ignoredLocationIndex:f,logger:n,synchronizationIntervalTime:a,transactionIndex:o,autoStartSynchronization:s}=Object.assign(Object.assign({},r),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=f,this.logger=n}initialize(){return(0,f.__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)(),r=yield this.storage.getData(e?{from:e,to:t}:void 0);this.lastSyncStorageTimestamp=r.lastTimestamp,yield this.pushLocationsWithTopics(r.entries),this.isInitialized=!0,this.autoStartSynchronization&&this.startAutoSynchronization()}))}close(){return(0,f.__awaiter)(this,void 0,void 0,(function*(){yield this.stopAutoSynchronization()}))}persistTransaction(e,t,r=[]){return(0,f.__awaiter)(this,void 0,void 0,(function*(){this.checkInitialized();const a=r.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,r),o=yield this.storage.append(JSON.stringify(i)),u=Object.assign(new s.EventEmitter,{meta:{storageMeta:o.meta,topics:r,transactionStorageLocation:o.id},result:{}});return o.on("confirmed",(e=>(0,f.__awaiter)(this,void 0,void 0,(function*(){yield this.transactionIndex.updateTimestamp(e.id,e.meta.timestamp);const t={meta:{storageMeta:e.meta,topics:r,transactionStorageLocation:e.id},result:{}};u.emit("confirmed",t)})))).on("error",(e=>(0,f.__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(0,f.__awaiter)(this,void 0,void 0,(function*(){this.checkInitialized();const r=yield this.transactionIndex.getStorageLocationList(e,t);return(yield this.getBlockAndMetaFromStorageLocation(r)).map((t=>{const r=c.default.getTransactionPositionFromChannelId(t.block,e);return this.getTransactionAndMetaFromPosition(r,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(0,f.__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 r=yield this.transactionIndex.getChannelIdsForTopic(e,t);return o.map(r,(e=>this.getTransactionsByChannelId(e).then((t=>({channelId:e,transactionsWithMeta:t}))))).reduce(((e,t)=>{const r=t.channelId;return e.meta.transactionsStorageLocation[r]=t.transactionsWithMeta.meta.transactionsStorageLocation,e.meta.storageMeta[r]=t.transactionsWithMeta.meta.storageMeta,e.result.transactions[r]=t.transactionsWithMeta.result.transactions,e}),(0,i.deepCopy)(p))}))}getChannelsByMultipleTopics(e,t){return(0,f.__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 r=yield this.transactionIndex.getChannelIdsForMultipleTopics(e,t);return o.map(r,(e=>this.getTransactionsByChannelId(e).then((t=>({channelId:e,transactionsWithMeta:t}))))).reduce(((e,t)=>{const r=t.channelId;return e.meta.transactionsStorageLocation[r]=t.transactionsWithMeta.meta.transactionsStorageLocation,e.meta.storageMeta[r]=t.transactionsWithMeta.meta.storageMeta,e.result.transactions[r]=t.transactionsWithMeta.result.transactions,e}),(0,i.deepCopy)(p))}))}synchronizeNewDataIds(){return(0,f.__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 r=yield this.storage.getData({from:t,to:e}),f=yield this.storage.getIgnoredData();yield this.pushLocationsWithTopics(r.entries.concat(f)),this.lastSyncStorageTimestamp=r.lastTimestamp}))}startAutoSynchronization(){this.checkInitialized(),this.synchronizationTimer.start()}stopAutoSynchronization(){return(0,f.__awaiter)(this,void 0,void 0,(function*(){this.synchronizationTimer.isStarted&&(yield this.synchronizationTimer.stop())}))}_getStatus(e=!1){return(0,f.__awaiter)(this,void 0,void 0,(function*(){this.checkInitialized();const t=yield this.transactionIndex.getLastTransactionTimestamp(),r=yield this.transactionIndex.getIndexedLocations(),f=yield this.ignoredLocationIndex.getIgnoredLocations(),n=this.synchronizationTimer.getConfig();return{filesIgnored:{count:Object.keys(f).length,list:e?f:void 0},filesRetrieved:{count:r.length,lastTimestamp:t,list:e?r:void 0},lastSynchronizationTimestamp:this.lastSyncStorageTimestamp,storage:yield this.storage._getStatus(e),synchronizationConfig:n}}))}pushLocationsWithTopics(e){return(0,f.__awaiter)(this,void 0,void 0,(function*(){if(!e)throw Error("data from storage do not follow the standard");let t=0,r=0;yield o.each(e,(e=>(0,f.__awaiter)(this,void 0,void 0,(function*(){if(!e.content||!e.id)throw Error("data from storage do not follow the standard");let f;const n=e.content;try{f=c.default.parseBlock(n),r++,yield this.transactionIndex.addTransaction(e.id,f.header,e.meta.timestamp)}catch(r){t++,yield this.ignoredLocationIndex.pushReasonByLocation(e.id,r.message),this.logger.debug(`Error: can't parse content of the dataId (${e.id}): ${r}`,["synchronization"])}})))),this.logger.info(`Synchronization: ${r} blocks synchronized, ${t} ignored from parsing error`,["synchronization"])}))}getBlockAndMetaFromStorageLocation(e){return(0,f.__awaiter)(this,void 0,void 0,(function*(){return Promise.all(e.map((e=>(0,f.__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,r,f){const n=(0,i.unique)(e).uniqueItems.map((e=>({state:f.state===a.StorageTypes.ContentState.CONFIRMED?a.DataAccessTypes.TransactionState.CONFIRMED:a.DataAccessTypes.TransactionState.PENDING,timestamp:f.timestamp,transaction:t.transactions[e]}))),o=Array(n.length).fill(r),s=n.map((()=>f));return{transactions:n,transactionsStorageLocation:o,storageMeta:s}}checkInitialized(){if(!this.isInitialized)throw new Error("DataAccess must be initialized")}}},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0});const f=r(51),n=r(107);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(0,f.__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(0,f.__awaiter)(this,void 0,void 0,(function*(){yield this.reasonsByIgnoredLocation.delete(e)}))}getReasonFromLocation(e){return(0,f.__awaiter)(this,void 0,void 0,(function*(){const t=yield this.reasonsByIgnoredLocation.get(e);return t||null}))}getIgnoredLocations(){return(0,f.__awaiter)(this,void 0,void 0,(function*(){const e=yield this.listIgnoredLocation.get("list");if(!e)return{};const t={};for(const r of Array.from(e))t[r]=yield this.reasonsByIgnoredLocation.get(r);return t}))}updateDataId(e){return(0,f.__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,r){(function(e){t.stringify=function t(r){if(void 0===r)return r;if(r&&e.isBuffer(r))return JSON.stringify(":base64:"+r.toString("base64"));if(r&&r.toJSON&&(r=r.toJSON()),r&&"object"==typeof r){var f="",n=Array.isArray(r);f=n?"[":"{";var a=!0;for(var i in r){var o="function"==typeof r[i]||!n&&void 0===r[i];Object.hasOwnProperty.call(r,i)&&!o&&(a||(f+=","),a=!1,n?null==r[i]?f+="null":f+=t(r[i]):void 0!==r[i]&&(f+=t(i)+":"+t(r[i])))}return f+=n?"]":"}"}return"string"==typeof r?JSON.stringify(/^:/.test(r)?":"+r:r):void 0===r?"null":JSON.stringify(r)},t.parse=function(t){return JSON.parse(t,(function(t,r){return"string"==typeof r?/^:base64:/.test(r)?e.from(r.substring(8),"base64"):/^:/.test(r)?r.substring(1):r:r}))}}).call(this,r(6).Buffer)},function(e,t){function r(e){var t=new Error("Cannot find module '"+e+"'");throw t.code="MODULE_NOT_FOUND",t}r.keys=function(){return[]},r.resolve=r,e.exports=r,r.id=740},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0});const f=r(51);t.default=class{constructor(e,t,r,f=1){this.intervalFunctionSuccessiveFailureCount=0,this.timeoutObject=null,this.lastRecursion=Promise.resolve(),this.intervalFunction=e,this.intervalTime=t,this.logger=r,this.successiveFailureThreshold=f}start(){if(this.timeoutObject)throw Error("IntervalTimer already started");const e=()=>(0,f.__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(0,f.__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,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0});const f=r(51),n=r(282),a=r(107),i=r(285),o=r(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(0,f.__awaiter)(this,void 0,void 0,(function*(){}))}getLastTransactionTimestamp(){return this.timestampByLocation.getLastTransactionTimestamp()}addTransaction(e,t,r){return(0,f.__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,r),yield this.updateIndexedLocation(e)}))}removeTransaction(e){return(0,f.__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(0,f.__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(0,f.__awaiter)(this,void 0,void 0,(function*(){if(!this.locationByTopic)throw new Error("TransactionIndex must be initialized");let r=yield this.locationByTopic.getStorageLocationsFromChannelId(e);return r=yield n.filter(r,(e=>(0,f.__awaiter)(this,void 0,void 0,(function*(){const r=null!==(yield this.timestampByLocation.getTimestampFromLocation(e)),f=!t||(yield this.timestampByLocation.isDataInBoundaries(e,t));return r&&f})))),r}))}getChannelIdsForTopic(e,t){return(0,f.__awaiter)(this,void 0,void 0,(function*(){if(!this.locationByTopic)throw new Error("TransactionIndex must be initialized");const r=yield this.locationByTopic.getChannelIdsFromTopic(e);if(t){const e=[];for(const f of r){const r=yield this.locationByTopic.getStorageLocationsFromChannelId(f);for(const n of r){if(yield this.timestampByLocation.isDataInBoundaries(n,t)){e.push(f);break}}}return e}return r}))}getChannelIdsForMultipleTopics(e,t){return(0,f.__awaiter)(this,void 0,void 0,(function*(){if(!this.locationByTopic)throw new Error("TransactionIndex must be initialized");const r=yield this.locationByTopic.getChannelIdsFromMultipleTopics(e);if(t){const e=[];for(const f of r){const r=yield this.locationByTopic.getStorageLocationsFromChannelId(f);for(const n of r){if(yield this.timestampByLocation.isDataInBoundaries(n,t)){e.push(f);break}}}return e}return r}))}getIndexedLocations(){return(0,f.__awaiter)(this,void 0,void 0,(function*(){return(yield this.indexedLocation.get("list"))||[]}))}updateIndexedLocation(e){return(0,f.__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,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.CombinedDataAccess=void 0;const f=r(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(0,f.__awaiter)(this,void 0,void 0,(function*(){yield this.reader.initialize(),yield this.writer.initialize()}))}close(){return(0,f.__awaiter)(this,void 0,void 0,(function*(){yield this.writer.close(),yield this.reader.close()}))}}},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0});const f=r(69),n=r(41),a=r(4),i=r(28),o=r(7);t.default=class{constructor(){this.data=new Map,this.forceEmitError=!1}initialize(){return(0,f.__awaiter)(this,void 0,void 0,(function*(){}))}ipfsAdd(e){return(0,f.__awaiter)(this,void 0,void 0,(function*(){if(!e)throw Error("Error: no content provided");const t=n.default.serialize((0,o.normalizeKeccak256Hash)(e)),r=(0,o.getCurrentTimestampInSecond)();return this.data.set(t,{content:e,state:a.StorageTypes.ContentState.PENDING,timestamp:r}),{ipfsHash:t,ipfsSize:e.length}}))}append(e){return(0,f.__awaiter)(this,void 0,void 0,(function*(){if(!e)throw Error("Error: no content provided");const t=n.default.serialize((0,o.normalizeKeccak256Hash)(e)),r=(0,o.getCurrentTimestampInSecond)(),f={content:e,state:a.StorageTypes.ContentState.PENDING,timestamp:r};this.data.set(t,f);const s={content:e,id:t,meta:{state:a.StorageTypes.ContentState.PENDING,storageType:a.StorageTypes.StorageSystemType.IN_MEMORY_MOCK,timestamp:r}},c=Object.assign(new i.EventEmitter,s);return setTimeout((()=>{this.forceEmitError?(this.forceEmitError=!1,c.emit("error","forced error asked by _makeNextAppendFailInsteadOfConfirmed()")):(f.state=a.StorageTypes.ContentState.CONFIRMED,this.data.set(t,f),c.emit("confirmed",s))}),100),c}))}read(e){return(0,f.__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(0,f.__awaiter)(this,void 0,void 0,(function*(){return Promise.all(e.map((e=>this.read(e))))}))}getData(){return(0,f.__awaiter)(this,void 0,void 0,(function*(){return{entries:Array.from(this.data.entries()).map((([e,{content:t,state:r,timestamp:f}])=>({content:t,id:e,meta:{state:r,storageType:a.StorageTypes.StorageSystemType.IN_MEMORY_MOCK,timestamp:f}}))),lastTimestamp:(0,o.getCurrentTimestampInSecond)()}}))}getIgnoredData(){return(0,f.__awaiter)(this,void 0,void 0,(function*(){return[]}))}_getStatus(e){return(0,f.__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,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0});const f=r(69),n=r(281),a=r(44),i=r(4),o=r(67),s=r(3),c=r(28),u=r(280),d=r(7);class l extends u.default{constructor({httpConfig:e,nodeConnectionConfig:t,web3:r,ethereumProviderUrl:f}={httpConfig:{},nodeConnectionConfig:{}}){super({httpConfig:e,nodeConnectionConfig:t}),this.cache={},this.networkName="",f=f||"http://localhost:8545",this.provider=r?new s.ethers.providers.Web3Provider(r):new s.ethers.providers.JsonRpcProvider({url:f})}initialize(){return(0,f.__awaiter)(this,void 0,void 0,(function*(){}))}persistTransaction(e,t,r){return(0,f.__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 f=n.Block.pushTransaction(n.Block.createEmptyBlock(),e,t,r),{data:{ipfsHash:u,ipfsSize:d}}=yield o.default.post("/ipfsAdd",{data:f},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}),h=yield this.provider.getBlock(p.blockNumber),b={blockConfirmation:p.confirmations,blockNumber:p.blockNumber,blockTimestamp:h.timestamp,fee:l,networkName:this.networkName,smartContractAddress:p.to,transactionHash:p.hash};this.cache[t]||(this.cache[t]={}),this.cache[t][u]={block:f,storageMeta:b};const m=new c.EventEmitter,y={meta:{storageMeta:{ethereum:b,ipfs:{size:d},state:i.StorageTypes.ContentState.PENDING,timestamp:b.blockTimestamp},topics:r||[],transactionStorageLocation:u},result:{}};return p.wait().then((e=>{const t={blockConfirmation:e.confirmations,blockNumber:e.blockNumber,blockTimestamp:h.timestamp,fee:l,networkName:this.networkName,smartContractAddress:e.to,transactionHash:e.hash};m.emit("confirmed",{meta:{storageMeta:t,topics:r||[],transactionStorageLocation:u},result:{}})})),Object.assign(m,y)}))}getTransactionsByChannelId(e,t){return(0,f.__awaiter)(this,void 0,void 0,(function*(){const{data:r}=yield(0,d.retry)((()=>(0,f.__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,r.meta.transactionsStorageLocation,t);return{meta:{storageMeta:r.meta.storageMeta.concat(n.meta.storageMeta),transactionsStorageLocation:r.meta.transactionsStorageLocation.concat(n.meta.transactionsStorageLocation)},result:{transactions:r.result.transactions.concat(n.result.transactions)}}}))}getCachedTransactionsAndCleanCache(e,t,r){for(const r of t)this.cache[e][r]=null;return Object.keys(this.cache[e]||[]).reduce(((t,f)=>{var n;const a=this.cache[e][f];return this.cache[e][f]&&(!r||(void 0===r.from||r.from<=(null==a?void 0:a.storageMeta.blockTimestamp))&&(void 0===r.to||r.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(f),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,r){"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;(0,r(69).__exportStar)(r(159),t);var f=r(4);Object.defineProperty(t,"AdvancedLogic",{enumerable:!0,get:function(){return f.AdvancedLogicTypes}}),Object.defineProperty(t,"Log",{enumerable:!0,get:function(){return f.LogTypes}}),Object.defineProperty(t,"DecryptionProvider",{enumerable:!0,get:function(){return f.DecryptionProviderTypes}}),Object.defineProperty(t,"Extension",{enumerable:!0,get:function(){return f.ExtensionTypes}}),Object.defineProperty(t,"Encryption",{enumerable:!0,get:function(){return f.EncryptionTypes}}),Object.defineProperty(t,"RequestLogic",{enumerable:!0,get:function(){return f.RequestLogicTypes}}),Object.defineProperty(t,"DataAccess",{enumerable:!0,get:function(){return f.DataAccessTypes}}),Object.defineProperty(t,"Signature",{enumerable:!0,get:function(){return f.SignatureTypes}}),Object.defineProperty(t,"SignatureProvider",{enumerable:!0,get:function(){return f.SignatureProviderTypes}}),Object.defineProperty(t,"Identity",{enumerable:!0,get:function(){return f.IdentityTypes}}),Object.defineProperty(t,"Storage",{enumerable:!0,get:function(){return f.StorageTypes}}),Object.defineProperty(t,"Transaction",{enumerable:!0,get:function(){return f.TransactionTypes}}),Object.defineProperty(t,"Payment",{enumerable:!0,get:function(){return f.PaymentTypes}})},function(e,t,r){"use strict";r.r(t),r.d(t,"dma",(function(){return a})),r.d(t,"sma",(function(){return i})),r.d(t,"ema",(function(){return o})),r.d(t,"ma",(function(){return s})),r.d(t,"wma",(function(){return c}));const f=e=>"number"==typeof e&&e==e,n=Array.isArray;var a=(e,t,r)=>{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],f(s)&&(i||f(s))){o[c]=r?0:s,u=s,c++;break}if(!i){for(;c<a;c++)s=e[c],f(s)&&f(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],f(s)?u=o[c]=t*s+d*u:o[c]=o[c-1];return o},i=(e,t,r=1)=>a(e,r/t,1),o=(e,t)=>a(e,2/(t+1)),s=(e,t)=>{const r=e.length;if(!t)return e.reduce(((e,t)=>e+t))/r;if(t<=1)return e.slice();if(t>r)return Array(r);const n=t-1,a=[];let i,o=0,s=0,c=0;for(;s<r&&c<n;s++)i=e[s],f(i)&&(o+=i,c++);for(;s<r;s++)i=e[s],f(i)&&(o+=i),f(e[s-t])&&(o-=e[s-t]),a[s]=o/t;return a},c=(e,t)=>{const r=e.length;if(t<=1)return e.slice();if(t>r)return Array(r);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],f(c)&&(o+=c,s+=(u+1)*c);for(;u<r;u++,d++)c=e[u],f(c)&&(o+=c,s+=t*c),d>=0&&f(e[d])&&(o-=e[d]),n[u]=s/a,s-=o;return n}},function(e,t,r){"use strict";r.d(t,"a",(function(){return a}));var f=r(0),n=r(60);function a(e,t,r,a,i){let o;e=Object(f.arrayify)(e),t=Object(f.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 h=Object(f.arrayify)(Object(n.a)(i,e,u));o||(o=h.length,l=new Uint8Array(o),s=Math.ceil(a/o),d=a-(s-1)*o),l.set(h);for(let t=1;t<r;t++){h=Object(f.arrayify)(Object(n.a)(i,e,h));for(let e=0;e<o;e++)l[e]^=h[e]}const b=(p-1)*o,m=p===s?d:o;c.set(Object(f.arrayify)(l).slice(0,m),b)}return Object(f.hexlify)(c)}},,,function(e,t,r){"use strict";r.d(t,"b",(function(){return h})),r.d(t,"c",(function(){return b})),r.d(t,"a",(function(){return y}));var f=r(0),n=r(2),a=r(109),i=r(13);const o=new n.Logger(a.a),s={},c=i.a.from(0),u=i.a.from(-1);function d(e,t,r,f){const a={fault:t,operation:r};return void 0!==f&&(a.value=f),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 h(e,t){null==t&&(t=0);const r=p(t),f=(e=i.a.from(e)).lt(c);f&&(e=e.mul(u));let n=e.mod(r).toString();for(;n.length<r.length-1;)n="0"+n;n=n.match(/^([0-9]*[1-9]|0)(0*)/)[1];const a=e.div(r).toString();return e=1===r.length?a:a+"."+n,f&&(e="-"+e),e}function b(e,t){null==t&&(t=0);const r=p(t);"string"==typeof e&&e.match(/^-?[0-9.]+$/)||o.throwArgumentError("invalid decimal value","value",e);const f="-"===e.substring(0,1);f&&(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>r.length-1&&d("fractional component exceeds decimals","underflow","parseFixed"),""===s&&(s="0");s.length<r.length-1;)s+="0";const c=i.a.from(a),l=i.a.from(s);let h=c.mul(r).add(l);return f&&(h=h.mul(u)),h}class m{constructor(e,t,r,f){e!==s&&o.throwError("cannot use FixedFormat constructor; use FixedFormat.from",n.Logger.errors.UNSUPPORTED_OPERATION,{operation:"new FixedFormat"}),this.signed=t,this.width=r,this.decimals=f,this.name=(t?"":"u")+"fixed"+String(r)+"x"+String(f),this._multiplier=p(f),Object.freeze(this)}static from(e){if(e instanceof m)return e;"number"==typeof e&&(e=`fixed128x${e}`);let t=!0,r=128,f=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],r=parseInt(n[2]),f=parseInt(n[3])}else if(e){const n=(t,r,f)=>null==e[t]?f:(typeof e[t]!==r&&o.throwArgumentError("invalid fixed format ("+t+" not "+r+")","format."+t,e[t]),e[t]);t=n("signed","boolean",t),r=n("width","number",r),f=n("decimals","number",f)}return r%8&&o.throwArgumentError("invalid fixed format width (not byte aligned)","format.width",r),f>80&&o.throwArgumentError("invalid fixed format (decimals too large)","format.decimals",f),new m(s,t,r,f)}}class y{constructor(e,t,r,f){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=f,this._hex=t,this._value=r,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=b(this._value,this.format.decimals),r=b(e._value,e.format.decimals);return y.fromValue(t.add(r),this.format.decimals,this.format)}subUnsafe(e){this._checkFormat(e);const t=b(this._value,this.format.decimals),r=b(e._value,e.format.decimals);return y.fromValue(t.sub(r),this.format.decimals,this.format)}mulUnsafe(e){this._checkFormat(e);const t=b(this._value,this.format.decimals),r=b(e._value,e.format.decimals);return y.fromValue(t.mul(r).div(this.format._multiplier),this.format.decimals,this.format)}divUnsafe(e){this._checkFormat(e);const t=b(this._value,this.format.decimals),r=b(e._value,e.format.decimals);return y.fromValue(t.mul(this.format._multiplier).div(r),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 r=!e[1].match(/^(0*)$/);return this.isNegative()&&r&&(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 r=!e[1].match(/^(0*)$/);return!this.isNegative()&&r&&(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 r=y.from("1"+l.substring(0,e),this.format),f=v.toFormat(this.format);return this.mulUnsafe(r).addUnsafe(f).floor().divUnsafe(r)}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(f.hexZeroPad)(t,e/8)}toUnsafeFloat(){return parseFloat(this.toString())}toFormat(e){return y.fromString(this._value,e)}static fromValue(e,t,r){return null!=r||null==t||Object(i.d)(t)||(r=t,t=null),null==t&&(t=0),null==r&&(r="fixed"),y.fromString(h(e,t),m.from(r))}static fromString(e,t){null==t&&(t="fixed");const r=m.from(t),n=b(e,r.decimals);!r.signed&&n.lt(c)&&d("unsigned value cannot be negative","overflow","value",e);let a=null;r.signed?a=n.toTwos(r.width).toHexString():(a=n.toHexString(),a=Object(f.hexZeroPad)(a,r.width/8));const i=h(n,r.decimals);return new y(s,a,i,r)}static fromBytes(e,t){null==t&&(t="fixed");const r=m.from(t);if(Object(f.arrayify)(e).length>r.width/8)throw new Error("overflow");let n=i.a.from(e);r.signed&&(n=n.fromTwos(r.width));const a=n.toTwos((r.signed?0:1)+r.width).toHexString(),o=h(n,r.decimals);return new y(s,a,o,r)}static from(e,t){if("string"==typeof e)return y.fromString(e,t);if(Object(f.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,r){"use strict";r.d(t,"a",(function(){return s}));var f=r(114);let n=null;function a(e){if(null==n&&(n="AbandonAbilityAbleAboutAboveAbsentAbsorbAbstractAbsurdAbuseAccessAccidentAccountAccuseAchieveAcidAcousticAcquireAcrossActActionActorActressActualAdaptAddAddictAddressAdjustAdmitAdultAdvanceAdviceAerobicAffairAffordAfraidAgainAgeAgentAgreeAheadAimAirAirportAisleAlarmAlbumAlcoholAlertAlienAllAlleyAllowAlmostAloneAlphaAlreadyAlsoAlterAlwaysAmateurAmazingAmongAmountAmusedAnalystAnchorAncientAngerAngleAngryAnimalAnkleAnnounceAnnualAnotherAnswerAntennaAntiqueAnxietyAnyApartApologyAppearAppleApproveAprilArchArcticAreaArenaArgueArmArmedArmorArmyAroundArrangeArrestArriveArrowArtArtefactArtistArtworkAskAspectAssaultAssetAssistAssumeAsthmaAthleteAtomAttackAttendAttitudeAttractAuctionAuditAugustAuntAuthorAutoAutumnAverageAvocadoAvoidAwakeAwareAwayAwesomeAwfulAwkwardAxisBabyBachelorBaconBadgeBagBalanceBalconyBallBambooBananaBannerBarBarelyBargainBarrelBaseBasicBasketBattleBeachBeanBeautyBecauseBecomeBeefBeforeBeginBehaveBehindBelieveBelowBeltBenchBenefitBestBetrayBetterBetweenBeyondBicycleBidBikeBindBiologyBirdBirthBitterBlackBladeBlameBlanketBlastBleakBlessBlindBloodBlossomBlouseBlueBlurBlushBoardBoatBodyBoilBombBoneBonusBookBoostBorderBoringBorrowBossBottomBounceBoxBoyBracketBrainBrandBrassBraveBreadBreezeBrickBridgeBriefBrightBringBriskBroccoliBrokenBronzeBroomBrotherBrownBrushBubbleBuddyBudgetBuffaloBuildBulbBulkBulletBundleBunkerBurdenBurgerBurstBusBusinessBusyButterBuyerBuzzCabbageCabinCableCactusCageCakeCallCalmCameraCampCanCanalCancelCandyCannonCanoeCanvasCanyonCapableCapitalCaptainCarCarbonCardCargoCarpetCarryCartCaseCashCasinoCastleCasualCatCatalogCatchCategoryCattleCaughtCauseCautionCaveCeilingCeleryCementCensusCenturyCerealCertainChairChalkChampionChangeChaosChapterChargeChaseChatCheapCheckCheeseChefCherryChestChickenChiefChildChimneyChoiceChooseChronicChuckleChunkChurnCigarCinnamonCircleCitizenCityCivilClaimClapClarifyClawClayCleanClerkCleverClickClientCliffClimbClinicClipClockClogCloseClothCloudClownClubClumpClusterClutchCoachCoastCoconutCodeCoffeeCoilCoinCollectColorColumnCombineComeComfortComicCommonCompanyConcertConductConfirmCongressConnectConsiderControlConvinceCookCoolCopperCopyCoralCoreCornCorrectCostCottonCouchCountryCoupleCourseCousinCoverCoyoteCrackCradleCraftCramCraneCrashCraterCrawlCrazyCreamCreditCreekCrewCricketCrimeCrispCriticCropCrossCrouchCrowdCrucialCruelCruiseCrumbleCrunchCrushCryCrystalCubeCultureCupCupboardCuriousCurrentCurtainCurveCushionCustomCuteCycleDadDamageDampDanceDangerDaringDashDaughterDawnDayDealDebateDebrisDecadeDecemberDecideDeclineDecorateDecreaseDeerDefenseDefineDefyDegreeDelayDeliverDemandDemiseDenialDentistDenyDepartDependDepositDepthDeputyDeriveDescribeDesertDesignDeskDespairDestroyDetailDetectDevelopDeviceDevoteDiagramDialDiamondDiaryDiceDieselDietDifferDigitalDignityDilemmaDinnerDinosaurDirectDirtDisagreeDiscoverDiseaseDishDismissDisorderDisplayDistanceDivertDivideDivorceDizzyDoctorDocumentDogDollDolphinDomainDonateDonkeyDonorDoorDoseDoubleDoveDraftDragonDramaDrasticDrawDreamDressDriftDrillDrinkDripDriveDropDrumDryDuckDumbDuneDuringDustDutchDutyDwarfDynamicEagerEagleEarlyEarnEarthEasilyEastEasyEchoEcologyEconomyEdgeEditEducateEffortEggEightEitherElbowElderElectricElegantElementElephantElevatorEliteElseEmbarkEmbodyEmbraceEmergeEmotionEmployEmpowerEmptyEnableEnactEndEndlessEndorseEnemyEnergyEnforceEngageEngineEnhanceEnjoyEnlistEnoughEnrichEnrollEnsureEnterEntireEntryEnvelopeEpisodeEqualEquipEraEraseErodeErosionErrorEruptEscapeEssayEssenceEstateEternalEthicsEvidenceEvilEvokeEvolveExactExampleExcessExchangeExciteExcludeExcuseExecuteExerciseExhaustExhibitExileExistExitExoticExpandExpectExpireExplainExposeExpressExtendExtraEyeEyebrowFabricFaceFacultyFadeFaintFaithFallFalseFameFamilyFamousFanFancyFantasyFarmFashionFatFatalFatherFatigueFaultFavoriteFeatureFebruaryFederalFeeFeedFeelFemaleFenceFestivalFetchFeverFewFiberFictionFieldFigureFileFilmFilterFinalFindFineFingerFinishFireFirmFirstFiscalFishFitFitnessFixFlagFlameFlashFlatFlavorFleeFlightFlipFloatFlockFloorFlowerFluidFlushFlyFoamFocusFogFoilFoldFollowFoodFootForceForestForgetForkFortuneForumForwardFossilFosterFoundFoxFragileFrameFrequentFreshFriendFringeFrogFrontFrostFrownFrozenFruitFuelFunFunnyFurnaceFuryFutureGadgetGainGalaxyGalleryGameGapGarageGarbageGardenGarlicGarmentGasGaspGateGatherGaugeGazeGeneralGeniusGenreGentleGenuineGestureGhostGiantGiftGiggleGingerGiraffeGirlGiveGladGlanceGlareGlassGlideGlimpseGlobeGloomGloryGloveGlowGlueGoatGoddessGoldGoodGooseGorillaGospelGossipGovernGownGrabGraceGrainGrantGrapeGrassGravityGreatGreenGridGriefGritGroceryGroupGrowGruntGuardGuessGuideGuiltGuitarGunGymHabitHairHalfHammerHamsterHandHappyHarborHardHarshHarvestHatHaveHawkHazardHeadHealthHeartHeavyHedgehogHeightHelloHelmetHelpHenHeroHiddenHighHillHintHipHireHistoryHobbyHockeyHoldHoleHolidayHollowHomeHoneyHoodHopeHornHorrorHorseHospitalHostHotelHourHoverHubHugeHumanHumbleHumorHundredHungryHuntHurdleHurryHurtHusbandHybridIceIconIdeaIdentifyIdleIgnoreIllIllegalIllnessImageImitateImmenseImmuneImpactImposeImproveImpulseInchIncludeIncomeIncreaseIndexIndicateIndoorIndustryInfantInflictInformInhaleInheritInitialInjectInjuryInmateInnerInnocentInputInquiryInsaneInsectInsideInspireInstallIntactInterestIntoInvestInviteInvolveIronIslandIsolateIssueItemIvoryJacketJaguarJarJazzJealousJeansJellyJewelJobJoinJokeJourneyJoyJudgeJuiceJumpJungleJuniorJunkJustKangarooKeenKeepKetchupKeyKickKidKidneyKindKingdomKissKitKitchenKiteKittenKiwiKneeKnifeKnockKnowLabLabelLaborLadderLadyLakeLampLanguageLaptopLargeLaterLatinLaughLaundryLavaLawLawnLawsuitLayerLazyLeaderLeafLearnLeaveLectureLeftLegLegalLegendLeisureLemonLendLengthLensLeopardLessonLetterLevelLiarLibertyLibraryLicenseLifeLiftLightLikeLimbLimitLinkLionLiquidListLittleLiveLizardLoadLoanLobsterLocalLockLogicLonelyLongLoopLotteryLoudLoungeLoveLoyalLuckyLuggageLumberLunarLunchLuxuryLyricsMachineMadMagicMagnetMaidMailMainMajorMakeMammalManManageMandateMangoMansionManualMapleMarbleMarchMarginMarineMarketMarriageMaskMassMasterMatchMaterialMathMatrixMatterMaximumMazeMeadowMeanMeasureMeatMechanicMedalMediaMelodyMeltMemberMemoryMentionMenuMercyMergeMeritMerryMeshMessageMetalMethodMiddleMidnightMilkMillionMimicMindMinimumMinorMinuteMiracleMirrorMiseryMissMistakeMixMixedMixtureMobileModelModifyMomMomentMonitorMonkeyMonsterMonthMoonMoralMoreMorningMosquitoMotherMotionMotorMountainMouseMoveMovieMuchMuffinMuleMultiplyMuscleMuseumMushroomMusicMustMutualMyselfMysteryMythNaiveNameNapkinNarrowNastyNationNatureNearNeckNeedNegativeNeglectNeitherNephewNerveNestNetNetworkNeutralNeverNewsNextNiceNightNobleNoiseNomineeNoodleNormalNorthNoseNotableNoteNothingNoticeNovelNowNuclearNumberNurseNutOakObeyObjectObligeObscureObserveObtainObviousOccurOceanOctoberOdorOffOfferOfficeOftenOilOkayOldOliveOlympicOmitOnceOneOnionOnlineOnlyOpenOperaOpinionOpposeOptionOrangeOrbitOrchardOrderOrdinaryOrganOrientOriginalOrphanOstrichOtherOutdoorOuterOutputOutsideOvalOvenOverOwnOwnerOxygenOysterOzonePactPaddlePagePairPalacePalmPandaPanelPanicPantherPaperParadeParentParkParrotPartyPassPatchPathPatientPatrolPatternPausePavePaymentPeacePeanutPearPeasantPelicanPenPenaltyPencilPeoplePepperPerfectPermitPersonPetPhonePhotoPhrasePhysicalPianoPicnicPicturePiecePigPigeonPillPilotPinkPioneerPipePistolPitchPizzaPlacePlanetPlasticPlatePlayPleasePledgePluckPlugPlungePoemPoetPointPolarPolePolicePondPonyPoolPopularPortionPositionPossiblePostPotatoPotteryPovertyPowderPowerPracticePraisePredictPreferPreparePresentPrettyPreventPricePridePrimaryPrintPriorityPrisonPrivatePrizeProblemProcessProduceProfitProgramProjectPromoteProofPropertyProsperProtectProudProvidePublicPuddingPullPulpPulsePumpkinPunchPupilPuppyPurchasePurityPurposePursePushPutPuzzlePyramidQualityQuantumQuarterQuestionQuickQuitQuizQuoteRabbitRaccoonRaceRackRadarRadioRailRainRaiseRallyRampRanchRandomRangeRapidRareRateRatherRavenRawRazorReadyRealReasonRebelRebuildRecallReceiveRecipeRecordRecycleReduceReflectReformRefuseRegionRegretRegularRejectRelaxReleaseReliefRelyRemainRememberRemindRemoveRenderRenewRentReopenRepairRepeatReplaceReportRequireRescueResembleResistResourceResponseResultRetireRetreatReturnReunionRevealReviewRewardRhythmRibRibbonRiceRichRideRidgeRifleRightRigidRingRiotRippleRiskRitualRivalRiverRoadRoastRobotRobustRocketRomanceRoofRookieRoomRoseRotateRoughRoundRouteRoyalRubberRudeRugRuleRunRunwayRuralSadSaddleSadnessSafeSailSaladSalmonSalonSaltSaluteSameSampleSandSatisfySatoshiSauceSausageSaveSayScaleScanScareScatterSceneSchemeSchoolScienceScissorsScorpionScoutScrapScreenScriptScrubSeaSearchSeasonSeatSecondSecretSectionSecuritySeedSeekSegmentSelectSellSeminarSeniorSenseSentenceSeriesServiceSessionSettleSetupSevenShadowShaftShallowShareShedShellSheriffShieldShiftShineShipShiverShockShoeShootShopShortShoulderShoveShrimpShrugShuffleShySiblingSickSideSiegeSightSignSilentSilkSillySilverSimilarSimpleSinceSingSirenSisterSituateSixSizeSkateSketchSkiSkillSkinSkirtSkullSlabSlamSleepSlenderSliceSlideSlightSlimSloganSlotSlowSlushSmallSmartSmileSmokeSmoothSnackSnakeSnapSniffSnowSoapSoccerSocialSockSodaSoftSolarSoldierSolidSolutionSolveSomeoneSongSoonSorrySortSoulSoundSoupSourceSouthSpaceSpareSpatialSpawnSpeakSpecialSpeedSpellSpendSphereSpiceSpiderSpikeSpinSpiritSplitSpoilSponsorSpoonSportSpotSpraySpreadSpringSpySquareSqueezeSquirrelStableStadiumStaffStageStairsStampStandStartStateStaySteakSteelStemStepStereoStickStillStingStockStomachStoneStoolStoryStoveStrategyStreetStrikeStrongStruggleStudentStuffStumbleStyleSubjectSubmitSubwaySuccessSuchSuddenSufferSugarSuggestSuitSummerSunSunnySunsetSuperSupplySupremeSureSurfaceSurgeSurpriseSurroundSurveySuspectSustainSwallowSwampSwapSwarmSwearSweetSwiftSwimSwingSwitchSwordSymbolSymptomSyrupSystemTableTackleTagTailTalentTalkTankTapeTargetTaskTasteTattooTaxiTeachTeamTellTenTenantTennisTentTermTestTextThankThatThemeThenTheoryThereTheyThingThisThoughtThreeThriveThrowThumbThunderTicketTideTigerTiltTimberTimeTinyTipTiredTissueTitleToastTobaccoTodayToddlerToeTogetherToiletTokenTomatoTomorrowToneTongueTonightToolToothTopTopicToppleTorchTornadoTortoiseTossTotalTouristTowardTowerTownToyTrackTradeTrafficTragicTrainTransferTrapTrashTravelTrayTreatTreeTrendTrialTribeTrickTriggerTrimTripTrophyTroubleTruckTrueTrulyTrumpetTrustTruthTryTubeTuitionTumbleTunaTunnelTurkeyTurnTurtleTwelveTwentyTwiceTwinTwistTwoTypeTypicalUglyUmbrellaUnableUnawareUncleUncoverUnderUndoUnfairUnfoldUnhappyUniformUniqueUnitUniverseUnknownUnlockUntilUnusualUnveilUpdateUpgradeUpholdUponUpperUpsetUrbanUrgeUsageUseUsedUsefulUselessUsualUtilityVacantVacuumVagueValidValleyValveVanVanishVaporVariousVastVaultVehicleVelvetVendorVentureVenueVerbVerifyVersionVeryVesselVeteranViableVibrantViciousVictoryVideoViewVillageVintageViolinVirtualVirusVisaVisitVisualVitalVividVocalVoiceVoidVolcanoVolumeVoteVoyageWageWagonWaitWalkWallWalnutWantWarfareWarmWarriorWashWaspWasteWaterWaveWayWealthWeaponWearWeaselWeatherWebWeddingWeekendWeirdWelcomeWestWetWhaleWhatWheatWheelWhenWhereWhipWhisperWideWidthWifeWildWillWinWindowWineWingWinkWinnerWinterWireWisdomWiseWishWitnessWolfWomanWonderWoodWoolWordWorkWorldWorryWorthWrapWreckWrestleWristWriteWrongYardYearYellowYouYoungYouthZebraZeroZoneZoo".replace(/([A-Z])/g," $1").toLowerCase().substring(1).split(" "),"0x3c8acc1e7b08d8e76f9fda015ef48dc8c710a73cb7e0f77b2c18a9b5a7adde60"!==f.a.check(e)))throw n=null,new Error("BIP39 Wordlist for en (English) FAILED")}class i extends f.a{constructor(){super("en")}getWord(e){return a(this),n[e]}getWordIndex(e){return a(this),n.indexOf(e)}}const o=new i;f.a.register(o);const s={en:o}}])}));
|
|
284
|
+
${t.PaymentFragment}`},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.EthInputDataPaymentDetector=void 0;const f=r(12),n=r(44),a=r(4),i=r(635),o=r(254),s=r(86),c=r(33),u=r(45),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:r,getSubgraphClient:f}){super(a.ExtensionTypes.PAYMENT_NETWORK_ID.ETH_INPUT_DATA,e.extensions.ethereumInputData,t),this.explorerApiKeys=r||{},this.getSubgraphClient=f}extractEvents(e,t,r,n,a,s){return(0,f.__awaiter)(this,void 0,void 0,(function*(){if(!t)return{paymentEvents:[]};const f=new i.EthInputDataInfoRetriever(t,e,a,r,this.explorerApiKeys[a]),n=yield f.getTransferEvents(),c=l.getDeploymentInformation(a,s.version);let d,p=[];if(c){const f=this.getSubgraphClient(a);if(f){const n=new u.TheGraphInfoRetriever(f,this.currencyManager);d=yield n.getTransferEvents({paymentReference:r,contractAddress:c.address,toAddress:t,eventName:e,paymentChain:a})}else{const f=new o.EthProxyInfoRetriever(r,c.address,c.creationBlockNumber,t,e,a);d={paymentEvents:yield f.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,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.EthInputDataInfoRetriever=void 0;const f=r(12),n=r(636);t.EthInputDataInfoRetriever=class{constructor(e,t,r,f,n){this.toAddress=e,this.eventName=t,this.network=r,this.paymentReference=f,this.explorerApiKey=n}getTransferEvents(){return(0,f.__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,r)=>t.findIndex((t=>t.hash===e.hash))===r)).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,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.MultichainExplorerApiProvider=void 0;const f=r(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 f.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,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.EthFeeProxyPaymentDetector=void 0;const f=r(12),n=r(44),a=r(4),i=r(254),o=r(105),s=r(33),c=r(45),u={"0.1.0":"0.1.0","0.2.0":"0.2.0"};class d extends o.FeeReferenceBasedDetector{constructor({advancedLogic:e,currencyManager:t,getSubgraphClient:r}){super(a.ExtensionTypes.PAYMENT_NETWORK_ID.ETH_FEE_PROXY_CONTRACT,e.extensions.feeProxyContractEth,t),this.getSubgraphClient=r}extractEvents(e,t,r,n,a,o){return(0,f.__awaiter)(this,void 0,void 0,(function*(){if(!t)return{paymentEvents:[]};const f=d.getDeploymentInformation(a,o.version),n=this.getSubgraphClient(a);if(n){return new c.TheGraphInfoRetriever(n,this.currencyManager).getTransferEvents({paymentReference:r,contractAddress:f.address,toAddress:t,eventName:e,paymentChain:a})}{const n=new i.EthProxyInfoRetriever(r,f.address,f.creationBlockNumber,t,e,a);return{paymentEvents:yield n.getTransferEvents()}}}))}}t.EthFeeProxyPaymentDetector=d,d.getDeploymentInformation=(0,s.makeGetDeploymentInformation)(n.ethereumFeeProxyArtifact,u)},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.AnyToERC20PaymentDetector=void 0;const f=r(12),n=r(44),a=r(4),i=r(234),o=r(639),s=r(45),c=r(33),u=r(7),d={"0.1.0":"0.1.0"};class l extends i.ERC20FeeProxyPaymentDetectorBase{constructor({advancedLogic:e,currencyManager:t,getSubgraphClient:r}){super(a.ExtensionTypes.PAYMENT_NETWORK_ID.ANY_TO_ERC20_PROXY,e.extensions.anyToErc20Proxy,t),this.getSubgraphClient=r}createExtensionsDataForCreation(e){return(0,f.__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,r,a,i,c){return(0,f.__awaiter)(this,void 0,void 0,(function*(){if(!t)return{paymentEvents:[]};const{acceptedTokens:f,maxRateTimespan:u=0}=c.values,{address:d,creationBlockNumber:p}=l.getDeploymentInformation(i,c.version),h=n.erc20ConversionProxy.getContractAbi(c.version),b=yield this.getCurrency(a),m=this.getSubgraphClient(i);if(m){const n=new s.TheGraphInfoRetriever(m,this.currencyManager);return yield n.getTransferEvents({paymentReference:r,contractAddress:d,toAddress:t,eventName:e,paymentChain:i,acceptedTokens:f,maxRateTimespan:u})}const y=new o.AnyToErc20InfoRetriever(b,r,d,p,h,t,e,i,f,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,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.AnyToErc20InfoRetriever=void 0;const f=r(256);class n extends f.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,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.AnyToEthFeeProxyPaymentDetector=void 0;const f=r(12),n=r(44),a=r(4),i=r(40),o=r(641),s=r(257),c=r(33),u=r(45),d={"0.1.0":"0.1.0","0.2.0":"0.2.0"};class l extends s.AnyToAnyDetector{constructor({advancedLogic:e,currencyManager:t,getSubgraphClient:r}){super(a.ExtensionTypes.PAYMENT_NETWORK_ID.ANY_TO_ETH_PROXY,e.extensions.anyToEthProxy,t),this.getSubgraphClient=r}extractEvents(e,t,r,a,s,c){var d,p;return(0,f.__awaiter)(this,void 0,void 0,(function*(){if(!t)return{paymentEvents:[]};const f=l.getDeploymentInformation(s,c.version),h=this.currencyManager.fromStorageCurrency(a);if(!h)throw new i.UnsupportedCurrencyError(a.value);const b=this.getSubgraphClient(s);if(b){const n=new u.TheGraphInfoRetriever(b,this.currencyManager);return yield n.getTransferEvents({paymentReference:r,contractAddress:f.address,toAddress:t,eventName:e,paymentChain:s,maxRateTimespan:null===(d=c.values)||void 0===d?void 0:d.maxRateTimespan})}const m=n.ethConversionArtifact.getContractAbi(f.contractVersion),y=new o.AnyToEthInfoRetriever(h,r,f.address,f.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,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.AnyToEthInfoRetriever=void 0;const f=r(256);class n extends f.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,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.NearNativeTokenPaymentDetector=void 0;const f=r(12),n=r(148),a=r(643),i=r(101),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,r,a,i,o){return(0,f.__awaiter)(this,void 0,void 0,(function*(){if(!t)return{paymentEvents:[]};const f=new n.NearInfoRetriever(r,t,s.getContractName(i,o.version),e,i);return{paymentEvents:yield f.getTransferEvents()}}))}}t.NearNativeTokenPaymentDetector=s,s.getContractName=(e,t="0.2.0")=>{var r;const f=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===(r=n[e])||void 0===r?void 0:r[f])return n[e][f];throw new i.NetworkNotSupported(`Unconfigured near-detector chain '${e}' and version '${f}'`)},s.getVersionOrThrow=e=>{if(!o[e])throw Error(`Near payment detection not implemented for version ${e}`);return o[e]}},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.NativeTokenPaymentDetector=void 0;const f=r(4),n=r(86);class a extends n.ReferenceBasedDetector{constructor({network:e,advancedLogic:t,currencyManager:r}){const n=f.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,r)}}t.NativeTokenPaymentDetector=a},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.NearConversionNativeTokenPaymentDetector=void 0;const f=r(12),n=r(40),a=r(259),i=r(645),o=r(101),s={"0.1.0":"0.1.0"};class c extends i.AnyToNativeDetector{constructor(e){super(e)}extractEvents(e,t,r,i,o,s){return(0,f.__awaiter)(this,void 0,void 0,(function*(){if(!t)return{paymentEvents:[]};const f=this.currencyManager.fromStorageCurrency(i);if(!f)throw new n.UnsupportedCurrencyError(i.value);const u=new a.NearConversionInfoRetriever(f,r,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 r;const f=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===(r=n[e])||void 0===r?void 0:r[f])return n[e][f];throw new o.NetworkNotSupported(`Unconfigured near-conversion-detector chain '${e}' and version '${f}'`)},c.getVersionOrThrow=e=>{if(!s[e])throw Error(`Near payment detection not implemented for version ${e}`);return s[e]}},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.AnyToNativeDetector=void 0;const f=r(4),n=r(257);class a extends n.AnyToAnyDetector{constructor({network:e,advancedLogic:t,currencyManager:r}){const n=f.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,r)}}t.AnyToNativeDetector=a},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.EscrowERC20InfoRetriever=void 0;const f=r(12),n=r(4),a=r(44),i=r(3),o=r(33),s=r(7),c={"0.1.0":"0.1.0","0.2.0":"0.1.0"};class u{constructor(e,t,r,f,n,o,c){this.paymentReference=e,this.escrowContractAddress=t,this.escrowCreationBlockNumber=r,this.tokenContractAddress=f,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(0,f.__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(0,f.__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(0,f.__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 r=(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:r,transactionHash:n})=>(0,f.__awaiter)(this,void 0,void 0,(function*(){var f,a;return{amount:(null===(f=t.amount)||void 0===f?void 0:f.toString())||void 0,name:e,parameters:{block:r,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(r||0)).timestamp}}))));return Promise.all(r)}))}getEscrowRequestMapping(){return(0,f.__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,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0});const f=r(40),n=r(261),a=r(280),i=r(736),o=r(744);class s extends n.default{constructor({decryptionProvider:e,httpConfig:t,nodeConnectionConfig:r,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:r});u||(u=new f.CurrencyManager(c||f.CurrencyManager.getDefaultList())),super({dataAccess:l,signatureProvider:n,decryptionProvider:e,currencyManager:u,paymentOptions:d})}}t.default=s},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.AdvancedLogic=void 0;var f=r(649);Object.defineProperty(t,"AdvancedLogic",{enumerable:!0,get:function(){return f.default}})},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0});const f=r(4),n=r(40),a=r(650),i=r(263),o=r(651),s=r(264),c=r(652),u=r(265),d=r(653),l=r(654),p=r(266),h=r(655),b=r(267),m=r(657),y=r(658),g=r(659),v=r(268),_=r(661);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 h.default,feeProxyContractErc20:new u.default,proxyContractErc20:new d.default,erc777Stream:new l.default,feeProxyContractEth:new p.default,anyToEthProxy:new g.default(e),nativeToken:[new b.default,new m.default],anyToNativeToken:[new v.default(e),new _.default(e)]}}applyActionToExtensions(e,t,r,f,n){return this.getExtensionForActionAndState(t,r).applyActionToExtension(e,t,r,f,n)}getExtensionForActionAndState(e,t){const r=e.id,n={[f.ExtensionTypes.ID.CONTENT_DATA]:this.extensions.contentData,[f.ExtensionTypes.PAYMENT_NETWORK_ID.BITCOIN_ADDRESS_BASED]:this.extensions.addressBasedBtc,[f.ExtensionTypes.PAYMENT_NETWORK_ID.TESTNET_BITCOIN_ADDRESS_BASED]:this.extensions.addressBasedTestnetBtc,[f.ExtensionTypes.PAYMENT_NETWORK_ID.ANY_DECLARATIVE]:this.extensions.declarative,[f.ExtensionTypes.PAYMENT_NETWORK_ID.ERC20_ADDRESS_BASED]:this.extensions.addressBasedErc20,[f.ExtensionTypes.PAYMENT_NETWORK_ID.ERC20_PROXY_CONTRACT]:this.extensions.proxyContractErc20,[f.ExtensionTypes.PAYMENT_NETWORK_ID.ERC20_FEE_PROXY_CONTRACT]:this.extensions.feeProxyContractErc20,[f.ExtensionTypes.PAYMENT_NETWORK_ID.ERC777_STREAM]:this.extensions.erc777Stream,[f.ExtensionTypes.PAYMENT_NETWORK_ID.ETH_INPUT_DATA]:this.extensions.ethereumInputData,[f.ExtensionTypes.PAYMENT_NETWORK_ID.NATIVE_TOKEN]:this.getNativeTokenExtensionForActionAndState(e,t),[f.ExtensionTypes.PAYMENT_NETWORK_ID.ANY_TO_ERC20_PROXY]:this.extensions.anyToErc20Proxy,[f.ExtensionTypes.PAYMENT_NETWORK_ID.ETH_FEE_PROXY_CONTRACT]:this.extensions.feeProxyContractEth,[f.ExtensionTypes.PAYMENT_NETWORK_ID.ANY_TO_ETH_PROXY]:this.extensions.anyToEthProxy,[f.ExtensionTypes.PAYMENT_NETWORK_ID.ANY_TO_NATIVE_TOKEN]:this.getAnyToNativeTokenExtensionForActionAndState(e,t)}[r];if(!n){if(r===f.ExtensionTypes.PAYMENT_NETWORK_ID.NATIVE_TOKEN||r===f.ExtensionTypes.PAYMENT_NETWORK_ID.ANY_TO_NATIVE_TOKEN){const f=this.getNetwork(e,t)||t.currency.network;throw Error(`extension with id: ${r} not found for network: ${f}`)}throw Error(`extension not recognized, id: ${r}`)}return n}getNativeTokenExtensionForNetwork(e){return this.extensions.nativeToken.find((t=>t.supportedNetworks.includes(e)))}getNativeTokenExtensionForActionAndState(e,t){var r;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 f=null!==(r=t.currency.network)&&void 0!==r?r:e.parameters.paymentNetworkName;return f?this.getNativeTokenExtensionForNetwork(f):void 0}getAnyToNativeTokenExtensionForNetwork(e){return this.extensions.anyToNativeToken.find((t=>t.supportedNetworks.includes(e)))}getAnyToNativeTokenExtensionForActionAndState(e,t){const r=this.getNetwork(e,t);return r?this.getAnyToNativeTokenExtensionForNetwork(r):void 0}getNetwork(e,t){var r,n;return"create"===e.action?e.parameters.network:null===(n=null===(r=t.extensions[f.ExtensionTypes.PAYMENT_NETWORK_ID.ANY_TO_NATIVE_TOKEN])||void 0===r?void 0:r.values)||void 0===n?void 0:n.network}}},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0});const f=r(4),n=r(262);class a extends n.AbstractExtension{constructor(){super(f.ExtensionTypes.TYPE.CONTENT_DATA,f.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 r=super.applyCreation(e,t);return Object.assign(Object.assign({},r),{events:[],id:this.extensionId,type:this.extensionType,values:Object.assign(Object.assign({},r.values),{content:e.parameters.content})})}}t.default=a},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0});const f=r(263),n=r(4);class a extends f.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,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0});const f=r(4),n=r(87);class a extends n.default{constructor(){super(f.ExtensionTypes.PAYMENT_NETWORK_ID.ERC20_ADDRESS_BASED,"0.1.0",f.RequestLogicTypes.CURRENCY.ERC20)}}t.default=a},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0});const f=r(4),n=r(88);class a extends n.default{constructor(){super(f.ExtensionTypes.PAYMENT_NETWORK_ID.ERC20_PROXY_CONTRACT,"0.1.0",f.RequestLogicTypes.CURRENCY.ERC20)}}t.default=a},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0});const f=r(4),n=r(88),a=r(7);class i extends n.default{constructor(){super(f.ExtensionTypes.PAYMENT_NETWORK_ID.ERC777_STREAM,"0.1.0",f.RequestLogicTypes.CURRENCY.ERC777)}createCreationAction(e){if(!f.TypesUtils.isOriginalRequestCreationParameters(e)&&!f.TypesUtils.isSubsequentRequestCreationParameters(e))throw Error("originalRequestId, previousRequestId and recurrenceNumber must be all empty or all filled");if(f.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:f.ExtensionTypes.PnFeeReferenceBased.ACTION.CREATE,id:this.extensionId,parameters:e,version:this.currentVersion}}applyCreation(e,t){if(!f.TypesUtils.isOriginalRequestCreationParameters(e.parameters)&&!f.TypesUtils.isSubsequentRequestCreationParameters(e.parameters))throw Error("originalRequestId, previousRequestId and recurrenceNumber must be all empty or all filled");if(f.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 r=super.applyCreation(e,t);return Object.assign(Object.assign({},r),{events:[{name:f.ExtensionTypes.PnFeeReferenceBased.ACTION.CREATE,parameters:e.parameters,timestamp:t}],values:Object.assign(Object.assign({},r.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:f.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,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0});const f=r(4),n=r(88);class a extends n.default{constructor(e=f.ExtensionTypes.PAYMENT_NETWORK_ID.ETH_INPUT_DATA,t="0.3.0"){super(e,t,f.RequestLogicTypes.CURRENCY.ETH)}}t.default=a},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0});const f=r(4),n=r(87),a=r(88);class i extends a.default{constructor(e,t,r){super(e,t,f.RequestLogicTypes.CURRENCY.ETH),this.supportedNetworks=r}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,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0});const f=r(267);class n extends f.default{constructor(){super(["aurora-testnet","near-testnet"])}isValidAddress(e){return this.isValidAddressForSymbolAndNetwork(e,"NEAR-testnet","aurora-testnet")}}t.default=n},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0});const f=r(40),n=r(4),a=r(265);class i extends a.default{constructor(e,t=n.ExtensionTypes.PAYMENT_NETWORK_ID.ANY_TO_ERC20_PROXY,r="0.1.0"){super(t,r),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 r of e.acceptedTokens){const e=this.currencyManager.fromAddress(r,t);if(!e)throw new f.UnsupportedCurrencyError({value:r,network:t});if(!this.currencyManager.supportsConversion(e,t))throw Error(`acceptedTokens must contain only supported token addresses (ERC20 only). ${r} 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 r=super.applyCreation(e,t);return Object.assign(Object.assign({},r),{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({},r.values),{network:e.parameters.network,acceptedTokens:e.parameters.acceptedTokens,maxRateTimespan:e.parameters.maxRateTimespan})})}validate(e,t){var r;const a=t.action===n.ExtensionTypes.PnFeeReferenceBased.ACTION.CREATE?t.parameters.network:null===(r=e.extensions[this.extensionId])||void 0===r?void 0:r.values.network;if(!a)return;if(!a)return;if(!f.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 f.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,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0});const f=r(40),n=r(4),a=r(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 r=super.applyCreation(e,t);return Object.assign(Object.assign({},r),{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({},r.values),{network:e.parameters.network,maxRateTimespan:e.parameters.maxRateTimespan})})}validate(e,t){var r;const a=t.action===n.ExtensionTypes.PnFeeReferenceBased.ACTION.CREATE?t.parameters.network:null===(r=e.extensions[this.extensionId])||void 0===r?void 0:r.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 f.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,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.InvalidMaxRateTimespanError=void 0;const f=r(150),n=r(4),a=r(87);class i extends f.FeeReferenceBasedPaymentNetwork{constructor(e,t,r){super(e,t,n.RequestLogicTypes.CURRENCY.ETH),this.supportedNetworks=r}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,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0});const f=r(268);class n extends f.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,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.RequestLogic=void 0;var f=r(663);Object.defineProperty(t,"RequestLogic",{enumerable:!0,get:function(){return f.default}})},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0});const f=r(664),n=r(28),a=r(41),i=r(4),o=r(675),s=r(7);t.default=class{constructor(e,t,r){this.transactionManager=e,this.signatureProvider=t,this.advancedLogic=r}createRequest(e,t,r=[]){return(0,f.__awaiter)(this,void 0,void 0,(function*(){const{action:f,requestId:a,hashedTopics:i}=yield this.createCreationActionRequestIdAndTopics(e,t,r);o.default.applyActionToRequest(null,f,Date.now(),this.advancedLogic);const s=yield this.transactionManager.persistTransaction(JSON.stringify(f),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,r,a=[]){return(0,f.__awaiter)(this,void 0,void 0,(function*(){if(0===r.length)throw new Error("You must give at least one encryption parameter to create an encrypted request");const{action:f,requestId:i,hashedTopics:s}=yield this.createCreationActionRequestIdAndTopics(e,t,a);o.default.applyActionToRequest(null,f,Date.now(),this.advancedLogic);const c=yield this.transactionManager.persistTransaction(JSON.stringify(f),i,s,r),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(0,f.__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);return o.default.applyActionToRequest(null,r,Date.now(),this.advancedLogic),o.default.getRequestIdFromAction(r)}))}acceptRequest(e,t,r=!1){return(0,f.__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.formatAccept(e,t,this.signatureProvider),a=o.default.getRequestIdFromAction(f);r&&(yield this.validateAction(a,f));const i=yield this.transactionManager.persistTransaction(JSON.stringify(f),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,r=!1){return(0,f.__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.formatCancel(e,t,this.signatureProvider),a=o.default.getRequestIdFromAction(f);r&&(yield this.validateAction(a,f));const i=yield this.transactionManager.persistTransaction(JSON.stringify(f),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,r=!1){return(0,f.__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.formatIncreaseExpectedAmount(e,t,this.signatureProvider),a=o.default.getRequestIdFromAction(f);r&&(yield this.validateAction(a,f));const i=yield this.transactionManager.persistTransaction(JSON.stringify(f),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,r=!1){return(0,f.__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.formatReduceExpectedAmount(e,t,this.signatureProvider),a=o.default.getRequestIdFromAction(f);r&&(yield this.validateAction(a,f));const i=yield this.transactionManager.persistTransaction(JSON.stringify(f),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,r=!1){return(0,f.__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.formatAddExtensionsData(e,t,this.signatureProvider),a=o.default.getRequestIdFromAction(f);r&&(yield this.validateAction(a,f));const i=yield this.transactionManager.persistTransaction(JSON.stringify(f),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(0,f.__awaiter)(this,void 0,void 0,(function*(){const{ignoredTransactions:t,confirmedRequestState:r,pendingRequestState:f,transactionManagerMeta:n}=yield this.computeRequestFromRequestId(e);return{meta:{ignoredTransactions:t,transactionManagerMeta:n},result:{request:r,pending:this.computeDiffBetweenPendingAndConfirmedRequestState(r,f)}}}))}getRequestsByTopic(e,t){return(0,f.__awaiter)(this,void 0,void 0,(function*(){const r=a.default.serialize((0,s.normalizeKeccak256Hash)(e)),f=yield this.transactionManager.getChannelsByTopic(r,t);return this.computeMultipleRequestFromChannels(f)}))}getRequestsByMultipleTopics(e,t){return(0,f.__awaiter)(this,void 0,void 0,(function*(){const r=e.map((e=>a.default.serialize((0,s.normalizeKeccak256Hash)(e)))),f=yield this.transactionManager.getChannelsByMultipleTopics(r,t);return this.computeMultipleRequestFromChannels(f)}))}createCreationActionRequestIdAndTopics(e,t,r){return(0,f.__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),n=o.default.getRequestIdFromAction(f);return{action:f,hashedTopics:r.map((e=>a.default.serialize((0,s.normalizeKeccak256Hash)(e)))),requestId:n}}))}computeRequestFromRequestId(e){return(0,f.__awaiter)(this,void 0,void 0,(function*(){const t=yield this.transactionManager.getTransactionsByChannelId(e),r=t.result.transactions.filter(s.notNull).sort(((e,t)=>e.timestamp-t.timestamp));let{ignoredTransactions:f,keptTransactions:n}=this.removeOldPendingTransactions(r);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 f.push({reason:"JSON parsing error",transaction:e})}})).filter(s.notNull),"action");f=f.concat(a.duplicates.map((e=>({reason:"Duplicated transaction",transaction:e}))));const{confirmedRequestState:i,pendingRequestState:o,ignoredTransactionsByApplication:c}=yield this.computeRequestFromTransactions(a.uniqueItems);return f=f.concat(c),{confirmedRequestState:i,ignoredTransactions:f,pendingRequestState:o,transactionManagerMeta:t.meta}}))}computeRequestFromTransactions(e){return(0,f.__awaiter)(this,void 0,void 0,(function*(){const t=[],r=e.filter((e=>e.state===i.TransactionTypes.TransactionState.CONFIRMED)).reduce(((e,r)=>{try{return o.default.applyActionToRequest(e,r.action,r.timestamp,this.advancedLogic)}catch(f){return t.push({reason:f.message,transaction:r}),e}}),null),f=e.filter((e=>e.state===i.TransactionTypes.TransactionState.PENDING)).reduce(((e,r)=>{try{return o.default.applyActionToRequest(e,r.action,r.timestamp,this.advancedLogic)}catch(f){return t.push({reason:f.message,transaction:r}),e}}),r);return{confirmedRequestState:r,ignoredTransactionsByApplication:t,pendingRequestState:f}}))}computeMultipleRequestFromChannels(e){return(0,f.__awaiter)(this,void 0,void 0,(function*(){const t=e.result.transactions,r=e.meta.dataAccessMeta,n=Object.keys(e.result.transactions).map((e=>(0,f.__awaiter)(this,void 0,void 0,(function*(){let{ignoredTransactions:f,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 f.push({reason:"JSON parsing error",transaction:e})}})).filter(s.notNull),"action");f=f.concat(a.duplicates.map((e=>({reason:"Duplicated transaction",transaction:e}))));const{confirmedRequestState:i,pendingRequestState:o,ignoredTransactionsByApplication:c}=yield this.computeRequestFromTransactions(a.uniqueItems);f=f.concat(c);const u=this.computeDiffBetweenPendingAndConfirmedRequestState(i,o);return{ignoredTransactions:f,pending:u,request:i,transactionManagerMeta:r[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(0,f.__awaiter)(this,void 0,void 0,(function*(){const{confirmedRequestState:r,pendingRequestState:f}=yield this.computeRequestFromRequestId(e);try{o.default.applyActionToRequest(r,t,Date.now(),this.advancedLogic)}catch(e){f&&o.default.applyActionToRequest(f,t,Date.now(),this.advancedLogic)}}))}computeDiffBetweenPendingAndConfirmedRequestState(e,t){let r=null;if(e){if(t)for(const f in t)f in t&&(0,s.normalizeKeccak256Hash)(t[f]).value!==(0,s.normalizeKeccak256Hash)(e[f]).value&&(r||(r={}),r[f]="events"===f?t[f].slice(e[f].length):t[f])}else r=t;return r}removeOldPendingTransactions(e){const t=[];let r=!1;const f=e.reverse().filter((e=>!!e&&(r=r||e.state===i.TransactionTypes.TransactionState.CONFIRMED,e.state===i.TransactionTypes.TransactionState.CONFIRMED||e.state===i.TransactionTypes.TransactionState.PENDING&&!r||(t.push({reason:"Confirmed transaction newer than this pending transaction",transaction:e}),!1)))).reverse();return{ignoredTransactions:t,keptTransactions:f}}}},function(e,t,r){"use strict";r.r(t),r.d(t,"__extends",(function(){return n})),r.d(t,"__assign",(function(){return a})),r.d(t,"__rest",(function(){return i})),r.d(t,"__decorate",(function(){return o})),r.d(t,"__param",(function(){return s})),r.d(t,"__metadata",(function(){return c})),r.d(t,"__awaiter",(function(){return u})),r.d(t,"__generator",(function(){return d})),r.d(t,"__createBinding",(function(){return l})),r.d(t,"__exportStar",(function(){return p})),r.d(t,"__values",(function(){return h})),r.d(t,"__read",(function(){return b})),r.d(t,"__spread",(function(){return m})),r.d(t,"__spreadArrays",(function(){return y})),r.d(t,"__spreadArray",(function(){return g})),r.d(t,"__await",(function(){return v})),r.d(t,"__asyncGenerator",(function(){return _})),r.d(t,"__asyncDelegator",(function(){return w})),r.d(t,"__asyncValues",(function(){return E})),r.d(t,"__makeTemplateObject",(function(){return A})),r.d(t,"__importStar",(function(){return x})),r.d(t,"__importDefault",(function(){return S})),r.d(t,"__classPrivateFieldGet",(function(){return C})),r.d(t,"__classPrivateFieldSet",(function(){return O}));var f=function(e,t){return f=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var r in t)Object.prototype.hasOwnProperty.call(t,r)&&(e[r]=t[r])},f(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 r(){this.constructor=e}f(e,t),e.prototype=null===t?Object.create(t):(r.prototype=t.prototype,new r)}var a=function(){return a=Object.assign||function(e){for(var t,r=1,f=arguments.length;r<f;r++)for(var n in t=arguments[r])Object.prototype.hasOwnProperty.call(t,n)&&(e[n]=t[n]);return e},a.apply(this,arguments)};function i(e,t){var r={};for(var f in e)Object.prototype.hasOwnProperty.call(e,f)&&t.indexOf(f)<0&&(r[f]=e[f]);if(null!=e&&"function"==typeof Object.getOwnPropertySymbols){var n=0;for(f=Object.getOwnPropertySymbols(e);n<f.length;n++)t.indexOf(f[n])<0&&Object.prototype.propertyIsEnumerable.call(e,f[n])&&(r[f[n]]=e[f[n]])}return r}function o(e,t,r,f){var n,a=arguments.length,i=a<3?t:null===f?f=Object.getOwnPropertyDescriptor(t,r):f;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)i=Reflect.decorate(e,t,r,f);else for(var o=e.length-1;o>=0;o--)(n=e[o])&&(i=(a<3?n(i):a>3?n(t,r,i):n(t,r))||i);return a>3&&i&&Object.defineProperty(t,r,i),i}function s(e,t){return function(r,f){t(r,f,e)}}function c(e,t){if("object"==typeof Reflect&&"function"==typeof Reflect.metadata)return Reflect.metadata(e,t)}function u(e,t,r,f){return new(r||(r=Promise))((function(n,a){function i(e){try{s(f.next(e))}catch(e){a(e)}}function o(e){try{s(f.throw(e))}catch(e){a(e)}}function s(e){var t;e.done?n(e.value):(t=e.value,t instanceof r?t:new r((function(e){e(t)}))).then(i,o)}s((f=f.apply(e,t||[])).next())}))}function d(e,t){var r,f,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(a){return function(o){return function(a){if(r)throw new TypeError("Generator is already executing.");for(;i;)try{if(r=1,f&&(n=2&a[0]?f.return:a[0]?f.throw||((n=f.return)&&n.call(f),0):f.next)&&!(n=n.call(f,a[1])).done)return n;switch(f=0,n&&(a=[2&a[0],n.value]),a[0]){case 0:case 1:n=a;break;case 4:return i.label++,{value:a[1],done:!1};case 5:i.label++,f=a[1],a=[0];continue;case 7:a=i.ops.pop(),i.trys.pop();continue;default:if(!(n=i.trys,(n=n.length>0&&n[n.length-1])||6!==a[0]&&2!==a[0])){i=0;continue}if(3===a[0]&&(!n||a[1]>n[0]&&a[1]<n[3])){i.label=a[1];break}if(6===a[0]&&i.label<n[1]){i.label=n[1],n=a;break}if(n&&i.label<n[2]){i.label=n[2],i.ops.push(a);break}n[2]&&i.ops.pop(),i.trys.pop();continue}a=t.call(e,i)}catch(e){a=[6,e],f=0}finally{r=n=0}if(5&a[0])throw a[1];return{value:a[0]?a[1]:void 0,done:!0}}([a,o])}}}var l=Object.create?function(e,t,r,f){void 0===f&&(f=r),Object.defineProperty(e,f,{enumerable:!0,get:function(){return t[r]}})}:function(e,t,r,f){void 0===f&&(f=r),e[f]=t[r]};function p(e,t){for(var r in e)"default"===r||Object.prototype.hasOwnProperty.call(t,r)||l(t,e,r)}function h(e){var t="function"==typeof Symbol&&Symbol.iterator,r=t&&e[t],f=0;if(r)return r.call(e);if(e&&"number"==typeof e.length)return{next:function(){return e&&f>=e.length&&(e=void 0),{value:e&&e[f++],done:!e}}};throw new TypeError(t?"Object is not iterable.":"Symbol.iterator is not defined.")}function b(e,t){var r="function"==typeof Symbol&&e[Symbol.iterator];if(!r)return e;var f,n,a=r.call(e),i=[];try{for(;(void 0===t||t-- >0)&&!(f=a.next()).done;)i.push(f.value)}catch(e){n={error:e}}finally{try{f&&!f.done&&(r=a.return)&&r.call(a)}finally{if(n)throw n.error}}return i}function m(){for(var e=[],t=0;t<arguments.length;t++)e=e.concat(b(arguments[t]));return e}function y(){for(var e=0,t=0,r=arguments.length;t<r;t++)e+=arguments[t].length;var f=Array(e),n=0;for(t=0;t<r;t++)for(var a=arguments[t],i=0,o=a.length;i<o;i++,n++)f[n]=a[i];return f}function g(e,t,r){if(r||2===arguments.length)for(var f,n=0,a=t.length;n<a;n++)!f&&n in t||(f||(f=Array.prototype.slice.call(t,0,n)),f[n]=t[n]);return e.concat(f||Array.prototype.slice.call(t))}function v(e){return this instanceof v?(this.v=e,this):new v(e)}function _(e,t,r){if(!Symbol.asyncIterator)throw new TypeError("Symbol.asyncIterator is not defined.");var f,n=r.apply(e,t||[]),a=[];return f={},i("next"),i("throw"),i("return"),f[Symbol.asyncIterator]=function(){return this},f;function i(e){n[e]&&(f[e]=function(t){return new Promise((function(r,f){a.push([e,t,r,f])>1||o(e,t)}))})}function o(e,t){try{(r=n[e](t)).value instanceof v?Promise.resolve(r.value.v).then(s,c):u(a[0][2],r)}catch(e){u(a[0][3],e)}var r}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 w(e){var t,r;return t={},f("next"),f("throw",(function(e){throw e})),f("return"),t[Symbol.iterator]=function(){return this},t;function f(f,n){t[f]=e[f]?function(t){return(r=!r)?{value:v(e[f](t)),done:"return"===f}:n?n(t):t}:n}}function E(e){if(!Symbol.asyncIterator)throw new TypeError("Symbol.asyncIterator is not defined.");var t,r=e[Symbol.asyncIterator];return r?r.call(e):(e=h(e),t={},f("next"),f("throw"),f("return"),t[Symbol.asyncIterator]=function(){return this},t);function f(r){t[r]=e[r]&&function(t){return new Promise((function(f,n){(function(e,t,r,f){Promise.resolve(f).then((function(t){e({value:t,done:r})}),t)})(f,n,(t=e[r](t)).done,t.value)}))}}}function A(e,t){return Object.defineProperty?Object.defineProperty(e,"raw",{value:t}):e.raw=t,e}var T=Object.create?function(e,t){Object.defineProperty(e,"default",{enumerable:!0,value:t})}:function(e,t){e.default=t};function x(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var r in e)"default"!==r&&Object.prototype.hasOwnProperty.call(e,r)&&l(t,e,r);return T(t,e),t}function S(e){return e&&e.__esModule?e:{default:e}}function C(e,t,r,f){if("a"===r&&!f)throw new TypeError("Private accessor was defined without a getter");if("function"==typeof t?e!==t||!f:!t.has(e))throw new TypeError("Cannot read private member from an object whose class did not declare it");return"m"===r?f:"a"===r?f.call(e):f?f.value:t.get(e)}function O(e,t,r,f,n){if("m"===f)throw new TypeError("Private method is not writable");if("a"===f&&!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"===f?n.call(e,r):n?n.value=r:t.set(e,r),r}},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0});const f=r(106),n=r(666),a=r(667),i=r(668),o=new f.default([new n.default,new i.default,new a.default]);t.default=o},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0});const f=r(4),n=r(89);class a extends n.default{constructor(){super(f.MultiFormatTypes.prefix.AES256_CBC_ENCRYPTED,f.EncryptionTypes.METHOD.AES256_CBC)}}t.default=a},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0});const f=r(4),n=r(89);class a extends n.default{constructor(){super(f.MultiFormatTypes.prefix.AES256_GCM_ENCRYPTED,f.EncryptionTypes.METHOD.AES256_GCM)}}t.default=a},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0});const f=r(4),n=r(89);class a extends n.default{constructor(){super(f.MultiFormatTypes.prefix.ECIES_ENCRYPTED,f.EncryptionTypes.METHOD.ECIES)}}t.default=a},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0});const f=r(106),n=r(670),a=new f.default([new n.default]);t.default=a},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0});const f=r(4),n=r(269);class a extends n.default{constructor(){super(f.MultiFormatTypes.prefix.NORMALIZE_KECCAK256_HASH,f.MultiFormatTypes.HashTypes.TYPE.KECCAK256)}isSerializableObject(e){return super.isSerializableObject(e)&&e.value.length===f.MultiFormatTypes.FORMAT_NORMALIZE_KECCAK256_HASH_LENGTH}isDeserializableString(e){return super.isDeserializableString(e)&&e.length===f.MultiFormatTypes.FORMAT_NORMALIZE_KECCAK256_HASH_LENGTH}}t.default=a},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0});const f=r(106),n=r(672),a=new f.default([new n.default]);t.default=a},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0});const f=r(4),n=r(269);class a extends n.default{constructor(){super(f.MultiFormatTypes.prefix.IDENTITY_ETHEREUM_ADDRESS,f.IdentityTypes.TYPE.ETHEREUM_ADDRESS)}isSerializableObject(e){return super.isSerializableObject(e)&&e.value.length===f.MultiFormatTypes.FORMAT_IDENTITY_ETHEREUM_ADDRESS_LENGTH}isDeserializableString(e){return super.isDeserializableString(e)&&e.length===f.MultiFormatTypes.FORMAT_IDENTITY_ETHEREUM_ADDRESS_LENGTH}}t.default=a},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0});const f=r(106),n=r(674),a=new f.default([new n.default]);t.default=a},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0});const f=r(4),n=r(89);class a extends n.default{constructor(){super(f.MultiFormatTypes.prefix.PLAIN_TEXT,f.MultiFormatTypes.PlainTypes.TYPE.PLAIN_TEXT)}}t.default=a},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0});const f=r(4),n=r(57),a=r(70),i=r(677),o=r(678),s=r(679),c=r(680),u=r(681),d=r(682),l=r(7);t.default={applyActionToRequest:function(e,t,r,p){if(!n.default.isActionVersionSupported(t))throw new Error("action version not supported");const h=e?(0,l.deepCopy)(e):null;let b=null;if(t.data.name===f.RequestLogicTypes.ACTION_NAME.CREATE){if(h)throw new Error("no request is expected at the creation");b=c.default.createRequest(t,r)}else{if(!h)throw new Error("request is expected");a.default.checkRequest(h),t.data.name===f.RequestLogicTypes.ACTION_NAME.ACCEPT&&(b=i.default.applyActionToRequest(t,r,h)),t.data.name===f.RequestLogicTypes.ACTION_NAME.CANCEL&&(b=s.default.applyActionToRequest(t,r,h)),t.data.name===f.RequestLogicTypes.ACTION_NAME.INCREASE_EXPECTED_AMOUNT&&(b=u.default.applyActionToRequest(t,r,h)),t.data.name===f.RequestLogicTypes.ACTION_NAME.REDUCE_EXPECTED_AMOUNT&&(b=d.default.applyActionToRequest(t,r,h)),t.data.name===f.RequestLogicTypes.ACTION_NAME.ADD_EXTENSIONS_DATA&&(b=o.default.applyActionToRequest(t,r,h))}if(!b)throw new Error(`Unknown action ${t.data.name}`);t.data.parameters.extensionsData&&p&&(b.extensions=t.data.parameters.extensionsData.reduce(((e,f)=>p.applyActionToExtensions(e,f,b,n.default.getSignerIdentityFromAction(t),r)),b.extensions));return b},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,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default={specificationVersion:{current:"2.0.3",exceptions:[]}}},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0});const f=r(4),n=r(57),a=r(70),i=r(58),o=r(7);function s(e,t,r){const n=e.data.parameters;return{actionSigner:r,name:f.RequestLogicTypes.ACTION_NAME.ACCEPT,parameters:{extensionsDataLength:n.extensionsData?n.extensionsData.length:0},timestamp:t}}t.default={applyActionToRequest:function(e,t,r){if(!e.data.parameters.requestId)throw new Error("requestId must be given");if(!r.payer)throw new Error("the request must have a payer");if(r.state!==f.RequestLogicTypes.STATE.CREATED)throw new Error("the request state must be created");const i=n.default.getSignerIdentityFromAction(e);if(a.default.getRoleInRequest(i,r)!==f.RequestLogicTypes.ROLE.PAYER)throw new Error("Signer must be the payer");r.state=f.RequestLogicTypes.STATE.ACCEPTED;let c=(0,o.deepCopy)(r);return c=a.default.pushExtensionsData(c,e.data.parameters.extensionsData),c.events.push(s(e,t,i)),c},format:function(e,t,r){const a={name:f.RequestLogicTypes.ACTION_NAME.ACCEPT,parameters:e,version:i.default.currentVersion};return n.default.createAction(a,t,r)}}},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0});const f=r(4),n=r(57),a=r(70),i=r(58),o=r(7);function s(e,t,r){const n=e.data.parameters;return{actionSigner:r,name:f.RequestLogicTypes.ACTION_NAME.ADD_EXTENSIONS_DATA,parameters:{extensionsDataLength:n.extensionsData?n.extensionsData.length:0},timestamp:t}}t.default={applyActionToRequest:function(e,t,r){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 f=n.default.getSignerIdentityFromAction(e);let i=(0,o.deepCopy)(r);return i=a.default.pushExtensionsData(i,e.data.parameters.extensionsData),i.events.push(s(e,t,f)),i},format:function(e,t,r){if(!e.extensionsData||0===e.extensionsData.length)throw new Error("extensionsData must be given");const a={name:f.RequestLogicTypes.ACTION_NAME.ADD_EXTENSIONS_DATA,parameters:e,version:i.default.currentVersion};return n.default.createAction(a,t,r)}}},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0});const f=r(4),n=r(57),a=r(70),i=r(58),o=r(7);function s(e,t,r){const n=e.data.parameters;return{actionSigner:r,name:f.RequestLogicTypes.ACTION_NAME.CANCEL,parameters:{extensionsDataLength:n.extensionsData?n.extensionsData.length:0},timestamp:t}}t.default={applyActionToRequest:function(e,t,r){if(!e.data.parameters.requestId)throw new Error("requestId must be given");const i=n.default.getSignerIdentityFromAction(e),c=a.default.getRoleInRequest(i,r);let u=(0,o.deepCopy)(r);if(u=a.default.pushExtensionsData(u,e.data.parameters.extensionsData),u.events.push(s(e,t,i)),c===f.RequestLogicTypes.ROLE.PAYER){if(r.state!==f.RequestLogicTypes.STATE.CREATED)throw new Error("A payer cancel need to be done on a request with the state created");return u.state=f.RequestLogicTypes.STATE.CANCELED,u}if(c===f.RequestLogicTypes.ROLE.PAYEE){if(r.state===f.RequestLogicTypes.STATE.CANCELED)throw new Error("Cannot cancel an already canceled request");return u.state=f.RequestLogicTypes.STATE.CANCELED,u}throw new Error("Signer must be the payer or the payee")},format:function(e,t,r){const a={name:f.RequestLogicTypes.ACTION_NAME.CANCEL,parameters:e,version:i.default.currentVersion};return n.default.createAction(a,t,r)}}},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0});const f=r(4),n=r(151),a=r(57),i=r(58),o=r(7);function s(e,t,r){const n=e.data.parameters;return{actionSigner:r,name:f.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 r=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,r)],n.lt(e.data.version,"2.0.2")&&(i.currency=function(e){switch(e){case"BTC":return{network:"mainnet",type:f.RequestLogicTypes.CURRENCY.BTC,value:"BTC"};case"ETH":return{network:"mainnet",type:f.RequestLogicTypes.CURRENCY.ETH,value:"ETH"};case"EUR":return{type:f.RequestLogicTypes.CURRENCY.ISO4217,value:"EUR"};case"USD":return{type:f.RequestLogicTypes.CURRENCY.ISO4217,value:"USD"};case"DAI":return{type:f.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(r,e);if(c===f.RequestLogicTypes.ROLE.PAYEE)return i.state=f.RequestLogicTypes.STATE.CREATED,i.creator=e.data.parameters.payee,i;if(c===f.RequestLogicTypes.ROLE.PAYER)return i.state=f.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,r){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:f.RequestLogicTypes.ACTION_NAME.CREATE,parameters:e,version:n},c=a.default.getRoleInUnsignedAction(t,s);if(c!==f.RequestLogicTypes.ROLE.PAYEE&&c!==f.RequestLogicTypes.ROLE.PAYER)throw new Error("Signer must be the payee or the payer");return a.default.createAction(s,t,r)}}},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0});const f=r(4),n=r(57),a=r(70),i=r(58),o=r(7);function s(e,t,r){const n=e.data.parameters;return{actionSigner:r,name:f.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,r){if(!e.data.parameters.requestId)throw new Error("requestId must be given");if(!r.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,r);let u=(0,o.deepCopy)(r);if(u=a.default.pushExtensionsData(u,e.data.parameters.extensionsData),u.events.push(s(e,t,i)),c===f.RequestLogicTypes.ROLE.PAYER){if(r.state===f.RequestLogicTypes.STATE.CANCELED)throw new Error("the request must not be canceled");return u.expectedAmount=(0,o.addAmount)(r.expectedAmount,e.data.parameters.deltaAmount),u}throw new Error("signer must be the payer")},format:function(e,t,r){if(!(0,o.isValidAmount)(e.deltaAmount))throw new Error("deltaAmount must be a string representing a positive integer");const a={name:f.RequestLogicTypes.ACTION_NAME.INCREASE_EXPECTED_AMOUNT,parameters:e,version:i.default.currentVersion};return n.default.createAction(a,t,r)}}},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0});const f=r(4),n=r(57),a=r(70),i=r(58),o=r(7);function s(e,t,r){const n=e.data.parameters;return{actionSigner:r,name:f.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,r){if(!e.data.parameters.requestId)throw new Error("requestId must be given");if(!r.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,r);let u=(0,o.deepCopy)(r);if(u=a.default.pushExtensionsData(u,e.data.parameters.extensionsData),u.events.push(s(e,t,i)),c===f.RequestLogicTypes.ROLE.PAYEE){if(r.state===f.RequestLogicTypes.STATE.CANCELED)throw new Error("the request must not be canceled");return u.expectedAmount=(0,o.reduceAmount)(r.expectedAmount,e.data.parameters.deltaAmount),u}throw new Error("signer must be the payee")},format:function(e,t,r){if(!(0,o.isValidAmount)(e.deltaAmount))throw new Error("deltaAmount must be a string representing a positive integer");const a={name:f.RequestLogicTypes.ACTION_NAME.REDUCE_EXPECTED_AMOUNT,parameters:e,version:i.default.currentVersion};return n.default.createAction(a,t,r)}}},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.TransactionManager=void 0;var f=r(684);Object.defineProperty(t,"TransactionManager",{enumerable:!0,get:function(){return f.default}})},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0});const f=r(71),n=r(41),a=r(4),i=r(7),o=r(28),s=r(685),c=r(689);t.default=class{constructor(e,t){this.dataAccess=e,this.channelParser=new s.default(t)}persistTransaction(e,t,r=[],s=[]){return(0,f.__awaiter)(this,void 0,void 0,(function*(){let f,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),f=u.encryptionMethod);else{const r=yield this.dataAccess.getTransactionsByChannelId(t),{channelKey:n,channelType:i,encryptionMethod:o}=yield this.channelParser.getChannelTypeAndChannelKey(t,r.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),f=o}}const l=yield this.dataAccess.persistTransaction(u,t,r.concat([d])),p=Object.assign(new o.EventEmitter,{meta:{dataAccessMeta:l.meta,encryptionMethod:f},result:{}});return l.on("confirmed",(e=>{const t={meta:{dataAccessMeta:e.meta,encryptionMethod:f},result:{}};p.emit("confirmed",t)})).on("error",(e=>{p.emit("error",e)})),p}))}getTransactionsByChannelId(e,t){return(0,f.__awaiter)(this,void 0,void 0,(function*(){const r=yield this.dataAccess.getTransactionsByChannelId(e,t),{transactions:f,ignoredTransactions:n,encryptionMethod:a}=yield this.channelParser.decryptAndCleanChannel(e,r.result.transactions),i={dataAccessMeta:r.meta,encryptionMethod:a,ignoredTransactions:n};return a||delete i.encryptionMethod,{meta:i,result:{transactions:f}}}))}getChannelsByTopic(e,t){return(0,f.__awaiter)(this,void 0,void 0,(function*(){const r=yield this.dataAccess.getChannelsByTopic(e,t);return this.parseMultipleChannels(r)}))}getChannelsByMultipleTopics(e,t){return(0,f.__awaiter)(this,void 0,void 0,(function*(){const r=yield this.dataAccess.getChannelsByMultipleTopics(e,t);return this.parseMultipleChannels(r)}))}parseMultipleChannels(e){return(0,f.__awaiter)(this,void 0,void 0,(function*(){const t=yield Object.keys(e.result.transactions).reduce(((t,r)=>(0,f.__awaiter)(this,void 0,void 0,(function*(){const f=yield this.channelParser.decryptAndCleanChannel(r,e.result.transactions[r]),n=yield t;return n.transactions[r]=f.transactions,n.ignoredTransactions[r]=f.ignoredTransactions,n}))),Promise.resolve({transactions:{},ignoredTransactions:{}}));return{meta:{dataAccessMeta:e.meta,ignoredTransactions:t.ignoredTransactions},result:{transactions:t.transactions}}}))}}},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0});const f=r(71),n=r(4),a=r(686);t.default=class{constructor(e){this.transactionParser=new a.default(e)}decryptAndCleanChannel(e,t){return(0,f.__awaiter)(this,void 0,void 0,(function*(){let r,a,i=n.TransactionTypes.ChannelType.UNKNOWN;const o=yield t.reduce(((t,o)=>(0,f.__awaiter)(this,void 0,void 0,(function*(){const f=yield t;let s;try{s=yield this.transactionParser.parsePersistedTransaction(o.transaction,i,r)}catch(u){return f.concat([{ignored:{reason:u.message,transaction:o},valid:null}])}const c=s.transaction,u=yield c.getError();if(""!==u)return f.concat([{ignored:{reason:u,transaction:o},valid:null}]);if(i===n.TransactionTypes.ChannelType.UNKNOWN){if((yield c.getHash())!==e)return f.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,r=s.channelKey}const d=yield c.getData();return f.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(0,f.__awaiter)(this,void 0,void 0,(function*(){return yield t.reduce(((t,r)=>(0,f.__awaiter)(this,void 0,void 0,(function*(){const f=yield t;if(f.channelType!==n.TransactionTypes.ChannelType.UNKNOWN)return f;let a;try{a=yield this.transactionParser.parsePersistedTransaction(r.transaction,n.TransactionTypes.ChannelType.UNKNOWN)}catch(e){return f}const i=a.transaction;if(""!==(yield i.getError()))return f;return(yield i.getHash())!==e||(f.channelType=a.channelKey?n.TransactionTypes.ChannelType.ENCRYPTED:n.TransactionTypes.ChannelType.CLEAR,f.channelKey=a.channelKey,f.encryptionMethod=a.encryptionMethod),f}))),Promise.resolve({channelKey:void 0,channelType:n.TransactionTypes.ChannelType.UNKNOWN,encryptionMethod:void 0}))}))}}},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0});const f=r(71),n=r(41),a=r(4),i=r(687),o=r(688);t.default=class{constructor(e){this.decryptionProvider=e}parsePersistedTransaction(e,t,r){return(0,f.__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(r){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');r=yield this.decryptChannelKey(e.keys,e.encryptionMethod)}return{channelKey:r,encryptionMethod:e.encryptionMethod,transaction:new o.default(e.encryptedData,r)}}throw new Error('Transaction must have a property "data" or "encryptedData"')}))}decryptChannelKey(e,t){return(0,f.__awaiter)(this,void 0,void 0,(function*(){if(!this.decryptionProvider)throw new Error("No decryption provider given");let r;if(t===`${a.EncryptionTypes.METHOD.ECIES}-${a.EncryptionTypes.METHOD.AES256_CBC}`)r=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}`);r=a.EncryptionTypes.METHOD.AES256_GCM}let i="";const o=yield Object.keys(e||{}).reduce(((t,r)=>(0,f.__awaiter)(this,void 0,void 0,(function*(){let f=yield t;if(e&&""===f){let t;try{t=n.default.deserialize(r)}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[r]);f=yield this.decryptionProvider.decrypt(a,t)}catch(e){i=e.message}}return f}))),Promise.resolve(""));if(""===o)throw new Error(`Impossible to decrypt the channel key from this transaction (${i})`);return{key:o,method:r}}))}}},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0});const f=r(71),n=r(41),a=r(7);t.default=class{constructor(e){this.data=e}getData(){return(0,f.__awaiter)(this,void 0,void 0,(function*(){return this.data}))}getHash(){return(0,f.__awaiter)(this,void 0,void 0,(function*(){return n.default.serialize((0,a.normalizeKeccak256Hash)(JSON.parse(this.data)))}))}getError(){return(0,f.__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,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0});const f=r(71),n=r(41),a=r(7);t.default=class{constructor(e,t){this.data="",this.dataHashSerialized="",this.persistedData=e,this.channelKey=t}getData(){return(0,f.__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(0,f.__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(0,f.__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,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0});const f=r(71),n=r(41),a=r(4),i=r(7);t.default=class{static createClearTransaction(e){return(0,f.__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(0,f.__awaiter)(this,void 0,void 0,(function*(){const r=`${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=>(0,f.__awaiter)(this,void 0,void 0,(function*(){const t=yield(0,i.encrypt)(o,e),r=(0,i.getIdentityFromEncryptionParams)(e);return{encryptedKey:t,multiFormattedIdentity:n.default.serialize(r)}})))),u=(yield Promise.all(c)).reduce(((e,t)=>{const r=n.default.serialize(t.encryptedKey);return e[t.multiFormattedIdentity]=r,e}),{});return{encryptedData:n.default.serialize(s),keys:u,encryptionMethod:r}}))}static createEncryptedTransaction(e,t){return(0,f.__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 r=yield(0,i.encrypt)(e,t);try{JSON.parse(e)}catch(e){throw new Error("Data not parsable")}return{encryptedData:n.default.serialize(r)}}))}}},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0});const f=r(691),n=r(4).ExtensionTypes.ID.CONTENT_DATA;t.default=class{constructor(e){this.extension=e.extensions.contentData}createExtensionsDataForCreation(e){if(f.default.isKnownFormat(e)){const{valid:t,errors:r}=f.default.validate(e);if(!t){const e=r.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,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0});const f=r(271),n=r(692),a=r(726),i=r(727),o=r(728);t.default={validate(e){var t;const r=(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 f=null===(t=o.default[e.meta.format])||void 0===t?void 0:t[e.meta.version];if(!f)return{valid:!1,errors:[{message:"format not found"}]};const s=r.compile(f);return s(e)?{valid:!0}:{valid:!1,errors:s.errors}},isKnownFormat:e=>!!e.meta&&"rnf_invoice"===e.meta.format},(0,f.__exportStar)(r(732),t)},function(e,t,r){"use strict";var f=r(693),n=r(152),a=r(697),i=r(272),o=r(273),s=r(698),c=r(699),u=r(720),d=r(72);e.exports=y,y.prototype.validate=function(e,t){var r;if("string"==typeof e){if(!(r=this.getSchema(e)))throw new Error('no schema with key or ref "'+e+'"')}else{var f=this._addSchema(e);r=f.validate||this._compile(f)}var n=r(t);!0!==r.$async&&(this.errors=r.errors);return n},y.prototype.compile=function(e,t){var r=this._addSchema(e,void 0,t);return r.validate||this._compile(r)},y.prototype.addSchema=function(e,t,r,f){if(Array.isArray(e)){for(var a=0;a<e.length;a++)this.addSchema(e[a],void 0,r,f);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,r,f,!0),this},y.prototype.addMetaSchema=function(e,t,r){return this.addSchema(e,t,r,!0),this},y.prototype.validateSchema=function(e,t){var r=e.$schema;if(void 0!==r&&"string"!=typeof r)throw new Error("$schema must be a string");if(!(r=r||this._opts.defaultMeta||function(e){var t=e._opts.meta;return e._opts.defaultMeta="object"==typeof t?e._getId(t)||t:e.getSchema(h)?h:void 0,e._opts.defaultMeta}(this)))return this.logger.warn("meta-schema not available"),this.errors=null,!0;var f=this.validate(r,e);if(!f&&t){var n="schema is invalid: "+this.errorsText();if("log"!=this._opts.validateSchema)throw new Error(n);this.logger.error(n)}return f},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 r=n.schema.call(e,{schema:{}},t);if(r){var a=r.schema,o=r.root,s=r.baseId,c=f.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 r=this._opts.serialize,f=r?r(e):e;this._cache.del(f);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 r=void 0===(t=t||{}).separator?", ":t.separator,f=void 0===t.dataVar?"data":t.dataVar,n="",a=0;a<e.length;a++){var i=e[a];i&&(n+=f+i.dataPath+" "+i.message+r)}return n.slice(0,-r.length)},y.prototype._addSchema=function(e,t,r,f){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;f=f||!1!==this._opts.addUsedSchema;var c=n.normalizeId(this._getId(e));c&&f&&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:r});"#"!=c[0]&&f&&(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 r,n;e.compiling=!0,e.meta&&(r=this._opts,this._opts=this._metaOpts);try{n=f.call(this,e.schema,t,e.localRefs)}catch(t){throw delete e.validate,t}finally{e.compiling=!1,e.meta&&(this._opts=r)}return e.validate=n,e.refs=n.refs,e.refVal=n.refVal,e.root=n.root,n;function a(){var t=e.validate,r=t.apply(this,arguments);return a.errors=t.errors,r}},y.prototype.compileAsync=r(721);var l=r(722);y.prototype.addKeyword=l.add,y.prototype.getKeyword=l.get,y.prototype.removeKeyword=l.remove,y.prototype.validateKeyword=l.validate;var p=r(154);y.ValidationError=p.Validation,y.MissingRefError=p.MissingRef,y.$dataMetaSchema=u;var h="http://json-schema.org/draft-07/schema",b=["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),r=0;r<b.length;r++)delete t[b[r]];return t}(this),e.formats&&function(e){for(var t in e._opts.formats){var r=e._opts.formats[t];e.addFormat(t,r)}}(this),e.keywords&&function(e){for(var t in e._opts.keywords){var r=e._opts.keywords[t];e.addKeyword(t,r)}}(this),function(e){var t;e._opts.$data&&(t=r(725),e.addMetaSchema(t,t.$id,!0));if(!1===e._opts.meta)return;var f=r(279);e._opts.$data&&(f=u(f,m));e.addMetaSchema(f,h,!0),e._refs["http://json-schema.org/schema"]=h}(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 r in t)e.addSchema(t[r],r)}(this)}function g(e,t){return t=n.normalizeId(t),e._schemas[t]||e._refs[t]||e._fragments[t]}function v(e,t,r){for(var f in t){var n=t[f];n.meta||r&&!r.test(f)||(e._cache.del(n.cacheKey),delete t[f])}}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,r){"use strict";var f=r(152),n=r(72),a=r(154),i=r(273),o=r(274),s=n.ucs2length,c=r(153),u=a.Validation;function d(e,t,r){var f=p.call(this,e,t,r);return f>=0?{index:f,compiling:!0}:(f=this._compilations.length,this._compilations[f]={schema:e,root:t,baseId:r},{index:f,compiling:!1})}function l(e,t,r){var f=p.call(this,e,t,r);f>=0&&this._compilations.splice(f,1)}function p(e,t,r){for(var f=0;f<this._compilations.length;f++){var n=this._compilations[f];if(n.schema==e&&n.root==t&&n.baseId==r)return f}return-1}function h(e,t){return"var pattern"+e+" = new RegExp("+n.toQuotedString(t[e])+");"}function b(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 r="",f=0;f<e.length;f++)r+=t(f,e);return r}e.exports=function e(t,r,p,v){var _=this,w=this._opts,E=[void 0],A={},T=[],x={},S=[],C={},O=[];r=r||{schema:t,refVal:E,refs:A};var P=d.call(this,t,r,v),k=this._compilations[P.index];if(P.compiling)return k.callValidate=function e(){var t=k.validate,r=t.apply(this,arguments);return e.errors=t.errors,r};var R=this._formats,M=this.RULES;try{var D=B(t,r,p,v);k.validate=D;var N=k.callValidate;return N&&(N.schema=D.schema,N.errors=null,N.refs=D.refs,N.refVal=D.refVal,N.root=D.root,N.$async=D.$async,w.sourceCode&&(N.source=D.source)),D}finally{l.call(this,t,r,v)}function B(t,i,d,l){var p=!i||i&&i.schema==t;if(i.schema!=r.schema)return e.call(_,t,i,d,l);var v,x=!0===t.$async,C=o({isTop:!0,schema:t,isRoot:p,baseId:l,root:i,schemaPath:"",errSchemaPath:"#",errorPath:'""',MissingRefError:a.MissingRef,RULES:M,validate:o,util:n,resolve:f,resolveRef:I,usePattern:L,useDefault:U,useCustomRule:q,opts:w,formats:R,logger:_.logger,self:_});C=g(E,m)+g(T,h)+g(S,b)+g(O,y)+C,w.processCode&&(C=w.processCode(C,t));try{v=new Function("self","RULES","formats","root","refVal","defaults","customRules","equal","ucs2length","ValidationError",C)(_,M,R,r,E,S,O,c,s,u),E[0]=v}catch(e){throw _.logger.error("Error compiling schema, function code:",C),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:C,patterns:T,defaults:S}),v}function I(t,n,a){n=f.url(t,n);var i,o,s=A[n];if(void 0!==s)return j(i=E[s],o="refVal["+s+"]");if(!a&&r.refs){var c=r.refs[n];if(void 0!==c)return j(i=r.refVal[c],o=F(n,i))}o=F(n);var u=f.call(_,B,r,n);if(void 0===u){var d=p&&p[n];d&&(u=f.inlineRef(d,w.inlineRefs)?d:e.call(_,d,r,p,t))}if(void 0!==u)return function(e,t){var r=A[e];E[r]=t}(n,u),j(u,o);!function(e){delete A[e]}(n)}function F(e,t){var r=E.length;return E[r]=t,A[e]=r,"refVal"+r}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),r=C[t];return void 0===r&&(r=C[t]=S.length,S[r]=e),"default"+r}}function q(e,t,r,f){if(!1!==_._opts.validateSchema){var n=e.definition.dependencies;if(n&&!n.every((function(e){return Object.prototype.hasOwnProperty.call(r,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,r,f);else if(u)o=u.call(_,t,r,f),!1!==w.validateSchema&&_.validateSchema(o,!0);else if(c)o=c.call(_,f,e.keyword,t,r);else if(!(o=e.definition.validate))return;if(void 0===o)throw new Error('custom keyword "'+e.keyword+'"failed to compile');var d=O.length;return O[d]=o,{code:"customRule"+d,validate:o}}}},function(e,t,r){!function(e){"use strict";function t(){for(var e=arguments.length,t=Array(e),r=0;r<e;r++)t[r]=arguments[r];if(t.length>1){t[0]=t[0].slice(0,-1);for(var f=t.length-1,n=1;n<f;++n)t[n]=t[n].slice(1,-1);return t[f]=t[f].slice(1),t.join("")}return t[0]}function r(e){return"(?:"+e+")"}function f(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 r=e;if(t)for(var f in t)r[f]=t[f];return r}function o(e){var f="[A-Za-z]",n="[0-9]",a=t(n,"[A-Fa-f]"),i=r(r("%[EFef]"+a+"%"+a+a+"%"+a+a)+"|"+r("%[89A-Fa-f]"+a+"%"+a+a)+"|"+r("%"+a+a)),o="[\\!\\$\\&\\'\\(\\)\\*\\+\\,\\;\\=]",s=t("[\\:\\/\\?\\#\\[\\]\\@]",o),c=e?"[\\uE000-\\uF8FF]":"[]",u=t(f,n,"[\\-\\.\\_\\~]",e?"[\\xA0-\\u200D\\u2010-\\u2029\\u202F-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFEF]":"[]"),d=r(f+t(f,n,"[\\+\\-\\.]")+"*"),l=r(r(i+"|"+t(u,o,"[\\:]"))+"*"),p=(r(r("25[0-5]")+"|"+r("2[0-4]"+n)+"|"+r("1"+n+n)+"|"+r("[1-9]"+n)+"|"+n),r(r("25[0-5]")+"|"+r("2[0-4]"+n)+"|"+r("1"+n+n)+"|"+r("0?[1-9]"+n)+"|0?0?"+n)),h=r(p+"\\."+p+"\\."+p+"\\."+p),b=r(a+"{1,4}"),m=r(r(b+"\\:"+b)+"|"+h),y=r(r(b+"\\:")+"{6}"+m),g=r("\\:\\:"+r(b+"\\:")+"{5}"+m),v=r(r(b)+"?\\:\\:"+r(b+"\\:")+"{4}"+m),_=r(r(r(b+"\\:")+"{0,1}"+b)+"?\\:\\:"+r(b+"\\:")+"{3}"+m),w=r(r(r(b+"\\:")+"{0,2}"+b)+"?\\:\\:"+r(b+"\\:")+"{2}"+m),E=r(r(r(b+"\\:")+"{0,3}"+b)+"?\\:\\:"+b+"\\:"+m),A=r(r(r(b+"\\:")+"{0,4}"+b)+"?\\:\\:"+m),T=r(r(r(b+"\\:")+"{0,5}"+b)+"?\\:\\:"+b),x=r(r(r(b+"\\:")+"{0,6}"+b)+"?\\:\\:"),S=r([y,g,v,_,w,E,A,T,x].join("|")),C=r(r(u+"|"+i)+"+"),O=(r(S+"\\%25"+C),r(S+r("\\%25|\\%(?!"+a+"{2})")+C)),P=r("[vV]"+a+"+\\."+t(u,o,"[\\:]")+"+"),k=r("\\["+r(O+"|"+S+"|"+P)+"\\]"),R=r(r(i+"|"+t(u,o))+"*"),M=r(k+"|"+h+"(?!"+R+")|"+R),D=r(n+"*"),N=r(r(l+"@")+"?"+M+r("\\:"+D)+"?"),B=r(i+"|"+t(u,o,"[\\:\\@]")),I=r(B+"*"),F=r(B+"+"),j=r(r(i+"|"+t(u,o,"[\\@]"))+"+"),L=r(r("\\/"+I)+"*"),U=r("\\/"+r(F+L)+"?"),q=r(j+L),H=r(F+L),z="(?!"+B+")",V=(r(L+"|"+U+"|"+q+"|"+H+"|"+z),r(r(B+"|"+t("[\\/\\?]",c))+"*")),K=r(r(B+"|[\\/\\?]")+"*"),W=r(r("\\/\\/"+N+L)+"|"+U+"|"+H+"|"+z),G=r(d+"\\:"+W+r("\\?"+V)+"?"+r("\\#"+K)+"?"),$=r(r("\\/\\/"+N+L)+"|"+U+"|"+q+"|"+z),Y=r($+r("\\?"+V)+"?"+r("\\#"+K)+"?");return r(G+"|"+Y),r(d+"\\:"+W+r("\\?"+V)+"?"),r(r("\\/\\/("+r("("+l+")@")+"?("+M+")"+r("\\:("+D+")")+"?)")+"?("+L+"|"+U+"|"+H+"|"+z+")"),r("\\?("+V+")"),r("\\#("+K+")"),r(r("\\/\\/("+r("("+l+")@")+"?("+M+")"+r("\\:("+D+")")+"?)")+"?("+L+"|"+U+"|"+q+"|"+z+")"),r("\\?("+V+")"),r("\\#("+K+")"),r(r("\\/\\/("+r("("+l+")@")+"?("+M+")"+r("\\:("+D+")")+"?)")+"?("+L+"|"+U+"|"+H+"|"+z+")"),r("\\?("+V+")"),r("\\#("+K+")"),r("("+l+")@"),r("\\:("+D+")"),{NOT_SCHEME:new RegExp(t("[^]",f,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("^("+h+")$"),IPV6ADDRESS:new RegExp("^\\[?("+S+")"+r(r("\\%25|\\%(?!"+a+"{2})")+"("+C+")")+"?\\]?$")}}var s=o(!1),c=o(!0),u=function(){function e(e,t){var r=[],f=!0,n=!1,a=void 0;try{for(var i,o=e[Symbol.iterator]();!(f=(i=o.next()).done)&&(r.push(i.value),!t||r.length!==t);f=!0);}catch(e){n=!0,a=e}finally{try{!f&&o.return&&o.return()}finally{if(n)throw a}}return r}return function(t,r){if(Array.isArray(t))return t;if(Symbol.iterator in Object(t))return e(t,r);throw new TypeError("Invalid attempt to destructure non-iterable instance")}}(),d=function(e){if(Array.isArray(e)){for(var t=0,r=Array(e.length);t<e.length;t++)r[t]=e[t];return r}return Array.from(e)},l=2147483647,p=36,h=1,b=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-h,S=Math.floor,C=String.fromCharCode;function O(e){throw new RangeError(T[e])}function P(e,t){for(var r=[],f=e.length;f--;)r[f]=t(e[f]);return r}function k(e,t){var r=e.split("@"),f="";return r.length>1&&(f=r[0]+"@",e=r[1]),f+P((e=e.replace(A,".")).split("."),t).join(".")}function R(e){for(var t=[],r=0,f=e.length;r<f;){var n=e.charCodeAt(r++);if(n>=55296&&n<=56319&&r<f){var a=e.charCodeAt(r++);56320==(64512&a)?t.push(((1023&n)<<10)+(1023&a)+65536):(t.push(n),r--)}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},D=function(e,t){return e+22+75*(e<26)-((0!=t)<<5)},N=function(e,t,r){var f=0;for(e=r?S(e/y):e>>1,e+=S(e/t);e>x*b>>1;f+=p)e=S(e/x);return S(f+(x+1)*e/(e+m))},B=function(e){var t=[],r=e.length,f=0,n=v,a=g,i=e.lastIndexOf(_);i<0&&(i=0);for(var o=0;o<i;++o)e.charCodeAt(o)>=128&&O("not-basic"),t.push(e.charCodeAt(o));for(var s=i>0?i+1:0;s<r;){for(var c=f,u=1,d=p;;d+=p){s>=r&&O("invalid-input");var m=M(e.charCodeAt(s++));(m>=p||m>S((l-f)/u))&&O("overflow"),f+=m*u;var y=d<=a?h:d>=a+b?b:d-a;if(m<y)break;var w=p-y;u>S(l/w)&&O("overflow"),u*=w}var E=t.length+1;a=N(f-c,E,0==c),S(f/E)>l-n&&O("overflow"),n+=S(f/E),f%=E,t.splice(f++,0,n)}return String.fromCodePoint.apply(String,t)},I=function(e){var t=[],r=(e=R(e)).length,f=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(C(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<r;){var w=l,E=!0,A=!1,T=void 0;try{for(var x,P=e[Symbol.iterator]();!(E=(x=P.next()).done);E=!0){var k=x.value;k>=f&&k<w&&(w=k)}}catch(e){A=!0,T=e}finally{try{!E&&P.return&&P.return()}finally{if(A)throw T}}var M=y+1;w-f>S((l-n)/M)&&O("overflow"),n+=(w-f)*M,f=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<f&&++n>l&&O("overflow"),U==f){for(var q=n,H=p;;H+=p){var z=H<=a?h:H>=a+b?b:H-a;if(q<z)break;var V=q-z,K=p-z;t.push(C(D(z+V%K,0))),q=S(V/K)}t.push(C(D(q,0))),a=N(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,++f}return t.join("")},F=function(e){return k(e,(function(e){return w.test(e)?B(e.slice(4).toLowerCase()):e}))},j=function(e){return k(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="",r=0,f=e.length;r<f;){var n=parseInt(e.substr(r+1,2),16);if(n<128)t+=String.fromCharCode(n),r+=3;else if(n>=194&&n<224){if(f-r>=6){var a=parseInt(e.substr(r+4,2),16);t+=String.fromCharCode((31&n)<<6|63&a)}else t+=e.substr(r,6);r+=6}else if(n>=224){if(f-r>=9){var i=parseInt(e.substr(r+4,2),16),o=parseInt(e.substr(r+7,2),16);t+=String.fromCharCode((15&n)<<12|(63&i)<<6|63&o)}else t+=e.substr(r,9);r+=9}else t+=e.substr(r,3),r+=3}return t}function z(e,t){function r(e){var r=H(e);return r.match(t.UNRESERVED)?r:e}return e.scheme&&(e.scheme=String(e.scheme).replace(t.PCT_ENCODED,r).toLowerCase().replace(t.NOT_SCHEME,"")),void 0!==e.userinfo&&(e.userinfo=String(e.userinfo).replace(t.PCT_ENCODED,r).replace(t.NOT_USERINFO,q).replace(t.PCT_ENCODED,n)),void 0!==e.host&&(e.host=String(e.host).replace(t.PCT_ENCODED,r).toLowerCase().replace(t.NOT_HOST,q).replace(t.PCT_ENCODED,n)),void 0!==e.path&&(e.path=String(e.path).replace(t.PCT_ENCODED,r).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,r).replace(t.NOT_QUERY,q).replace(t.PCT_ENCODED,n)),void 0!==e.fragment&&(e.fragment=String(e.fragment).replace(t.PCT_ENCODED,r).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 r=e.match(t.IPV4ADDRESS)||[],f=u(r,2)[1];return f?f.split(".").map(V).join("."):e}function W(e,t){var r=e.match(t.IPV6ADDRESS)||[],f=u(r,3),n=f[1],a=f[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]),h=p?7:8,b=l.length-h,m=Array(h),y=0;y<h;++y)m[y]=d[y]||l[b+y]||"";p&&(m[h-1]=K(m[h-1],t));var g=m.reduce((function(e,t,r){if(!t||"0"===t){var f=e[e.length-1];f&&f.index+f.length===r?f.length++:e.push({index:r,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 G=/^(?:([^:\/?#]+):)?(?:\/\/((?:([^\/?#@]*)@)?(\[[^\/?#\]]+\]|[^\/?#:]*)(?:\:(\d*))?))?([^?#]*)(?:\?([^#]*))?(?:#((?:.|\n|\r)*))?/i,$=void 0==="".match(/(){0}/)[1];function Y(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},r={},f=!1!==t.iri?c:s;"suffix"===t.reference&&(e=(t.scheme?t.scheme+":":"")+"//"+e);var n=e.match(G);if(n){$?(r.scheme=n[1],r.userinfo=n[3],r.host=n[4],r.port=parseInt(n[5],10),r.path=n[6]||"",r.query=n[7],r.fragment=n[8],isNaN(r.port)&&(r.port=n[5])):(r.scheme=n[1]||void 0,r.userinfo=-1!==e.indexOf("@")?n[3]:void 0,r.host=-1!==e.indexOf("//")?n[4]:void 0,r.port=parseInt(n[5],10),r.path=n[6]||"",r.query=-1!==e.indexOf("?")?n[7]:void 0,r.fragment=-1!==e.indexOf("#")?n[8]:void 0,isNaN(r.port)&&(r.port=e.match(/\/\/(?:.|\n)*\:(?:\/|\?|\#|$)/)?n[4]:void 0)),r.host&&(r.host=W(K(r.host,f),f)),void 0!==r.scheme||void 0!==r.userinfo||void 0!==r.host||void 0!==r.port||r.path||void 0!==r.query?void 0===r.scheme?r.reference="relative":void 0===r.fragment?r.reference="absolute":r.reference="uri":r.reference="same-document",t.reference&&"suffix"!==t.reference&&t.reference!==r.reference&&(r.error=r.error||"URI is not a "+t.reference+" reference.");var a=U[(t.scheme||r.scheme||"").toLowerCase()];if(t.unicodeSupport||a&&a.unicodeSupport)z(r,f);else{if(r.host&&(t.domainHost||a&&a.domainHost))try{r.host=L.toASCII(r.host.replace(f.PCT_ENCODED,H).toLowerCase())}catch(e){r.error=r.error||"Host's domain name can not be converted to ASCII via punycode: "+e}z(r,s)}a&&a.parse&&a.parse(r,t)}else r.error=r.error||"URI can not be parsed.";return r}function J(e,t){var r=!1!==t.iri?c:s,f=[];return void 0!==e.userinfo&&(f.push(e.userinfo),f.push("@")),void 0!==e.host&&f.push(W(K(String(e.host),r),r).replace(r.IPV6ADDRESS,(function(e,t,r){return"["+t+(r?"%25"+r:"")+"]"}))),"number"!=typeof e.port&&"string"!=typeof e.port||(f.push(":"),f.push(String(e.port))),f.length?f.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 r=e.match(ee);if(!r)throw new Error("Unexpected dot segment condition");var f=r[0];e=e.slice(f.length),t.push(f)}return t.join("")}function re(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},r=t.iri?c:s,f=[],n=U[(t.scheme||e.scheme||"").toLowerCase()];if(n&&n.serialize&&n.serialize(e,t),e.host)if(r.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(r.PCT_ENCODED,H).toLowerCase())}catch(r){e.error=e.error||"Host's domain name can not be converted to "+(t.iri?"Unicode":"ASCII")+" via punycode: "+r}z(e,r),"suffix"!==t.reference&&e.scheme&&(f.push(e.scheme),f.push(":"));var a=J(e,t);if(void 0!==a&&("suffix"!==t.reference&&f.push("//"),f.push(a),e.path&&"/"!==e.path.charAt(0)&&f.push("/")),void 0!==e.path){var i=e.path;t.absolutePath||n&&n.absolutePath||(i=te(i)),void 0===a&&(i=i.replace(/^\/\//,"/%2F")),f.push(i)}return void 0!==e.query&&(f.push("?"),f.push(e.query)),void 0!==e.fragment&&(f.push("#"),f.push(e.fragment)),f.join("")}function fe(e,t){var r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{},f={};return arguments[3]||(e=Y(re(e,r),r),t=Y(re(t,r),r)),!(r=r||{}).tolerant&&t.scheme?(f.scheme=t.scheme,f.userinfo=t.userinfo,f.host=t.host,f.port=t.port,f.path=te(t.path||""),f.query=t.query):(void 0!==t.userinfo||void 0!==t.host||void 0!==t.port?(f.userinfo=t.userinfo,f.host=t.host,f.port=t.port,f.path=te(t.path||""),f.query=t.query):(t.path?("/"===t.path.charAt(0)?f.path=te(t.path):(void 0===e.userinfo&&void 0===e.host&&void 0===e.port||e.path?e.path?f.path=e.path.slice(0,e.path.lastIndexOf("/")+1)+t.path:f.path=t.path:f.path="/"+t.path,f.path=te(f.path)),f.query=t.query):(f.path=e.path,void 0!==t.query?f.query=t.query:f.query=e.query),f.userinfo=e.userinfo,f.host=e.host,f.port=e.port),f.scheme=e.scheme),f.fragment=t.fragment,f}function ne(e,t,r){var f=i({scheme:"null"},r);return re(fe(Y(e,f),Y(t,f),f,!0),f)}function ae(e,t){return"string"==typeof e?e=re(Y(e,t),t):"object"===f(e)&&(e=Y(re(e,t),t)),e}function ie(e,t,r){return"string"==typeof e?e=re(Y(e,r),r):"object"===f(e)&&(e=re(e,r)),"string"==typeof t?t=re(Y(t,r),r):"object"===f(t)&&(t=re(t,r)),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 r="https"===String(e.scheme).toLowerCase();return e.port!==(r?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 r=e;return r.secure=de(r),r.resourceName=(r.path||"/")+(r.query?"?"+r.query:""),r.path=void 0,r.query=void 0,r},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 r=e.resourceName.split("?"),f=u(r,2),n=f[0],a=f[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},he={},be="[A-Za-z0-9\\-\\.\\_\\~\\xA0-\\u200D\\u2010-\\u2029\\u202F-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFEF]",me="[0-9A-Fa-f]",ye=r(r("%[EFef]"+me+"%"+me+me+"%"+me+me)+"|"+r("%[89A-Fa-f]"+me+"%"+me+me)+"|"+r("%"+me+me)),ge="[A-Za-z0-9\\!\\$\\%\\'\\*\\+\\-\\^\\_\\`\\{\\|\\}\\~]",ve=t("[\\!\\$\\%\\'\\(\\)\\*\\+\\,\\-\\.0-9\\<\\>A-Z\\x5E-\\x7E]",'[\\"\\\\]'),_e="[\\!\\$\\'\\(\\)\\*\\+\\,\\;\\:\\@]",we=new RegExp(be,"g"),Ee=new RegExp(ye,"g"),Ae=new RegExp(t("[^]",ge,"[\\.]",'[\\"]',ve),"g"),Te=new RegExp(t("[^]",be,_e),"g"),xe=Te;function Se(e){var t=H(e);return t.match(we)?t:e}var Ce={scheme:"mailto",parse:function(e,t){var r=e,f=r.to=r.path?r.path.split(","):[];if(r.path=void 0,r.query){for(var n=!1,a={},i=r.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)f.push(u[d]);break;case"subject":r.subject=se(c[1],t);break;case"body":r.body=se(c[1],t);break;default:n=!0,a[se(c[0],t)]=se(c[1],t)}}n&&(r.headers=a)}r.query=void 0;for(var p=0,h=f.length;p<h;++p){var b=f[p].split("@");if(b[0]=se(b[0]),t.unicodeSupport)b[1]=se(b[1],t).toLowerCase();else try{b[1]=L.toASCII(se(b[1],t).toLowerCase())}catch(e){r.error=r.error||"Email address's domain name can not be converted to ASCII via punycode: "+e}f[p]=b.join("@")}return r},serialize:function(e,t){var r=e,f=a(e.to);if(f){for(var i=0,o=f.length;i<o;++i){var s=String(f[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){r.error=r.error||"Email address's domain name can not be converted to "+(t.iri?"Unicode":"ASCII")+" via punycode: "+e}f[i]=u+"@"+d}r.path=f.join(",")}var l=e.headers=e.headers||{};e.subject&&(l.subject=e.subject),e.body&&(l.body=e.body);var p=[];for(var h in l)l[h]!==he[h]&&p.push(h.replace(Ee,Se).replace(Ee,n).replace(Te,q)+"="+l[h].replace(Ee,Se).replace(Ee,n).replace(xe,q));return p.length&&(r.query=p.join("&")),r}},Oe=/^([^\:]+)\:(.*)/,Pe={scheme:"urn",parse:function(e,t){var r=e.path&&e.path.match(Oe),f=e;if(r){var n=t.scheme||f.scheme||"urn",a=r[1].toLowerCase(),i=r[2],o=n+":"+(t.nid||a),s=U[o];f.nid=a,f.nss=i,f.path=void 0,s&&(f=s.parse(f,t))}else f.error=f.error||"URN can not be parsed.";return f},serialize:function(e,t){var r=t.scheme||e.scheme||"urn",f=e.nid,n=r+":"+(t.nid||f),a=U[n];a&&(e=a.serialize(e,t));var i=e,o=e.nss;return i.path=(f||t.nid)+":"+o,i}},ke=/^[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 r=e;return r.uuid=r.nss,r.nss=void 0,t.tolerant||r.uuid&&r.uuid.match(ke)||(r.error=r.error||"UUID is not valid."),r},serialize:function(e,t){var r=e;return r.nss=(e.uuid||"").toLowerCase(),r}};U[ce.scheme]=ce,U[ue.scheme]=ue,U[le.scheme]=le,U[pe.scheme]=pe,U[Ce.scheme]=Ce,U[Pe.scheme]=Pe,U[Re.scheme]=Re,e.SCHEMES=U,e.pctEncChar=q,e.pctDecChars=H,e.parse=Y,e.removeDotSegments=te,e.serialize=re,e.resolveComponents=fe,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,r){"use strict";e.exports=function(e){for(var t,r=0,f=e.length,n=0;n<f;)r++,(t=e.charCodeAt(n++))>=55296&&t<=56319&&n<f&&56320==(64512&(t=e.charCodeAt(n)))&&n++;return r}},function(e,t,r){"use strict";var f=e.exports=function(e,t,r){"function"==typeof t&&(r=t,t={}),n(t,"function"==typeof(r=t.cb||r)?r:r.pre||function(){},r.post||function(){},e,"",e)};function n(e,t,r,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 f.arrayKeywords)for(var h=0;h<p.length;h++)n(e,t,r,p[h],i+"/"+l+"/"+h,o,i,l,a,h)}else if(l in f.propsKeywords){if(p&&"object"==typeof p)for(var b in p)n(e,t,r,p[b],i+"/"+l+"/"+b.replace(/~/g,"~0").replace(/\//g,"~1"),o,i,l,a,b)}else(l in f.keywords||e.allKeys&&!(l in f.skipKeywords))&&n(e,t,r,p,i+"/"+l,o,i,l,a)}r(a,i,o,s,c,u,d)}}f.keywords={additionalItems:!0,items:!0,contains:!0,additionalProperties:!0,propertyNames:!0,not:!0},f.arrayKeywords={items:!0,allOf:!0,anyOf:!0,oneOf:!0},f.propsKeywords={definitions:!0,properties:!0,patternProperties:!0,dependencies:!0},f.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,r){"use strict";var f=e.exports=function(){this._cache={}};f.prototype.put=function(e,t){this._cache[e]=t},f.prototype.get=function(e){return this._cache[e]},f.prototype.del=function(e){delete this._cache[e]},f.prototype.clear=function(){this._cache={}}},function(e,t,r){"use strict";var f=r(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,h=/^(?:0|[1-9][0-9]*)(?:#|(?:\/(?:[^~/]|~0|~1)*)*)$/;function b(e){return e="full"==e?"full":"fast",f.copy(b[e])}function m(e){var t=e.match(n);if(!t)return!1;var r=+t[1],f=+t[2],i=+t[3];return f>=1&&f<=12&&i>=1&&i<=(2==f&&function(e){return e%4==0&&(e%100!=0||e%400==0)}(r)?29:a[f])}function y(e,t){var r=e.match(i);if(!r)return!1;var f=r[1],n=r[2],a=r[3],o=r[5];return(f<=23&&n<=59&&a<=59||23==f&&59==n&&60==a)&&(!t||o)}e.exports=b,b.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":h},b.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":h};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,r){"use strict";var f=r(700),n=r(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(r){r.rules=r.rules.map((function(r){var n;if("object"==typeof r){var a=Object.keys(r)[0];n=r[a],r=a,n.forEach((function(r){t.push(r),e.all[r]=!0}))}return t.push(r),e.all[r]={keyword:r,code:f[r],implements:n}})),e.all.$comment={keyword:"$comment",code:f.$comment},r.type&&(e.types[r.type]=r)})),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,r){"use strict";e.exports={$ref:r(701),allOf:r(702),anyOf:r(703),$comment:r(704),const:r(705),contains:r(706),dependencies:r(707),enum:r(708),format:r(709),if:r(710),items:r(711),maximum:r(275),minimum:r(275),maxItems:r(276),minItems:r(276),maxLength:r(277),minLength:r(277),maxProperties:r(278),minProperties:r(278),multipleOf:r(712),not:r(713),oneOf:r(714),pattern:r(715),properties:r(716),propertyNames:r(717),required:r(718),uniqueItems:r(719),validate:r(274)}},function(e,t,r){"use strict";e.exports=function(e,t,r){var f,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?(f=e.async,n="validate"):(f=!0===e.root.schema.$async,n="root.refVal[0]");else{var p=e.resolveRef(e.baseId,s,e.isRoot);if(void 0===p){var h=e.MissingRefError.message(e.baseId,s);if("fail"==e.opts.missingRefs){e.logger.error(h),(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 b=a;a=g.pop(),!e.compositeRule&&u?e.async?a+=" throw new ValidationError(["+b+"]); ":a+=" validate.errors = ["+b+"]; return false; ":a+=" var err = "+b+"; 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,h);e.logger.warn(h),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 f=!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(),f){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,r){"use strict";e.exports=function(e,t,r){var f=" ",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 h,b=-1,m=p.length-1;b<m;)h=p[b+=1],(e.opts.strictKeywords?"object"==typeof h&&Object.keys(h).length>0:e.util.schemaHasRules(h,e.RULES.all))&&(l=!1,s.schema=h,s.schemaPath=a+"["+b+"]",s.errSchemaPath=i+"/"+b,f+=" "+e.validate(s)+" ",s.baseId=d,o&&(f+=" if ("+u+") { ",c+="}"));return o&&(f+=l?" if (true) { ":" "+c.slice(0,-1)+" "),f}},function(e,t,r){"use strict";e.exports=function(e,t,r){var f=" ",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),h="";p.level++;var b="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;f+=" 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,f+=" "+e.validate(p)+" ",p.baseId=y,f+=" "+d+" = "+d+" || "+b+"; if (!"+d+") { ",h+="}";e.compositeRule=p.compositeRule=g,f+=" "+h+" if (!"+d+") { var err = ",!1!==e.createErrors?(f+=" { keyword: 'anyOf' , dataPath: (dataPath || '') + "+e.errorPath+" , schemaPath: "+e.util.toQuotedString(s)+" , params: {} ",!1!==e.opts.messages&&(f+=" , message: 'should match some schema in anyOf' "),e.opts.verbose&&(f+=" , schema: validate.schema"+o+" , parentSchema: validate.schema"+e.schemaPath+" , data: "+u+" "),f+=" } "):f+=" {} ",f+="; if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; ",!e.compositeRule&&c&&(e.async?f+=" throw new ValidationError(vErrors); ":f+=" validate.errors = vErrors; return false; "),f+=" } else { errors = "+l+"; if (vErrors !== null) { if ("+l+") vErrors.length = "+l+"; else vErrors = null; } ",e.opts.allErrors&&(f+=" } ")}else c&&(f+=" if (true) { ");return f}},function(e,t,r){"use strict";e.exports=function(e,t,r){var f=" ",n=e.schema[t],a=e.errSchemaPath+"/"+t,i=(e.opts.allErrors,e.util.toQuotedString(n));return!0===e.opts.$comment?f+=" console.log("+i+");":"function"==typeof e.opts.$comment&&(f+=" self._opts.$comment("+i+", "+e.util.toQuotedString(a)+", validate.root.schema);"),f}},function(e,t,r){"use strict";e.exports=function(e,t,r){var f=" ",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&&(f+=" var schema"+n+" = "+e.util.getData(i.$data,a,e.dataPathArr)+"; "),l||(f+=" var schema"+n+" = validate.schema"+o+";"),f+="var "+d+" = equal("+u+", schema"+n+"); if (!"+d+") { ";var p=p||[];p.push(f),f="",!1!==e.createErrors?(f+=" { keyword: 'const' , dataPath: (dataPath || '') + "+e.errorPath+" , schemaPath: "+e.util.toQuotedString(s)+" , params: { allowedValue: schema"+n+" } ",!1!==e.opts.messages&&(f+=" , message: 'should be equal to constant' "),e.opts.verbose&&(f+=" , schema: validate.schema"+o+" , parentSchema: validate.schema"+e.schemaPath+" , data: "+u+" "),f+=" } "):f+=" {} ";var h=f;return f=p.pop(),!e.compositeRule&&c?e.async?f+=" throw new ValidationError(["+h+"]); ":f+=" validate.errors = ["+h+"]; return false; ":f+=" var err = "+h+"; if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; ",f+=" }",c&&(f+=" else { "),f}},function(e,t,r){"use strict";e.exports=function(e,t,r){var f=" ",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 h="valid"+p.level,b="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(f+="var "+l+" = errors;var "+d+";",v){var _=e.compositeRule;e.compositeRule=p.compositeRule=!0,p.schema=i,p.schemaPath=o,p.errSchemaPath=s,f+=" var "+h+" = false; for (var "+b+" = 0; "+b+" < "+u+".length; "+b+"++) { ",p.errorPath=e.util.getPathExpr(e.errorPath,b,e.opts.jsonPointers,!0);var w=u+"["+b+"]";p.dataPathArr[m]=b;var E=e.validate(p);p.baseId=g,e.util.varOccurences(E,y)<2?f+=" "+e.util.varReplace(E,y,w)+" ":f+=" var "+y+" = "+w+"; "+E+" ",f+=" if ("+h+") break; } ",e.compositeRule=p.compositeRule=_,f+=" if (!"+h+") {"}else f+=" if ("+u+".length == 0) {";var A=A||[];A.push(f),f="",!1!==e.createErrors?(f+=" { keyword: 'contains' , dataPath: (dataPath || '') + "+e.errorPath+" , schemaPath: "+e.util.toQuotedString(s)+" , params: {} ",!1!==e.opts.messages&&(f+=" , message: 'should contain a valid item' "),e.opts.verbose&&(f+=" , schema: validate.schema"+o+" , parentSchema: validate.schema"+e.schemaPath+" , data: "+u+" "),f+=" } "):f+=" {} ";var T=f;return f=A.pop(),!e.compositeRule&&c?e.async?f+=" throw new ValidationError(["+T+"]); ":f+=" validate.errors = ["+T+"]; return false; ":f+=" var err = "+T+"; if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; ",f+=" } else { ",v&&(f+=" errors = "+l+"; if (vErrors !== null) { if ("+l+") vErrors.length = "+l+"; else vErrors = null; } "),e.opts.allErrors&&(f+=" } "),f}},function(e,t,r){"use strict";e.exports=function(e,t,r){var f=" ",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 h="valid"+l.level,b={},m={},y=e.opts.ownProperties;for(w in i)if("__proto__"!=w){var g=i[w],v=Array.isArray(g)?m:b;v[w]=g}f+="var "+d+" = errors;";var _=e.errorPath;for(var w in f+="var missing"+n+";",m)if((v=m[w]).length){if(f+=" if ( "+u+e.util.getProperty(w)+" !== undefined ",y&&(f+=" && Object.prototype.hasOwnProperty.call("+u+", '"+e.util.escapeQuotes(w)+"') "),c){f+=" && ( ";var E=v;if(E)for(var A=-1,T=E.length-1;A<T;){k=E[A+=1],A&&(f+=" || "),f+=" ( ( "+(N=u+(D=e.util.getProperty(k)))+" === undefined ",y&&(f+=" || ! Object.prototype.hasOwnProperty.call("+u+", '"+e.util.escapeQuotes(k)+"') "),f+=") && (missing"+n+" = "+e.util.toQuotedString(e.opts.jsonPointers?k:D)+") ) "}f+=")) { ";var x="missing"+n,S="' + "+x+" + '";e.opts._errorDataPathProperty&&(e.errorPath=e.opts.jsonPointers?e.util.getPathExpr(_,x,!0):_+" + "+x);var C=C||[];C.push(f),f="",!1!==e.createErrors?(f+=" { 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&&(f+=" , message: 'should have ",1==v.length?f+="property "+e.util.escapeQuotes(v[0]):f+="properties "+e.util.escapeQuotes(v.join(", ")),f+=" when property "+e.util.escapeQuotes(w)+" is present' "),e.opts.verbose&&(f+=" , schema: validate.schema"+o+" , parentSchema: validate.schema"+e.schemaPath+" , data: "+u+" "),f+=" } "):f+=" {} ";var O=f;f=C.pop(),!e.compositeRule&&c?e.async?f+=" throw new ValidationError(["+O+"]); ":f+=" validate.errors = ["+O+"]; return false; ":f+=" var err = "+O+"; if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; "}else{f+=" ) { ";var P=v;if(P)for(var k,R=-1,M=P.length-1;R<M;){k=P[R+=1];var D=e.util.getProperty(k),N=(S=e.util.escapeQuotes(k),u+D);e.opts._errorDataPathProperty&&(e.errorPath=e.util.getPath(_,k,e.opts.jsonPointers)),f+=" if ( "+N+" === undefined ",y&&(f+=" || ! Object.prototype.hasOwnProperty.call("+u+", '"+e.util.escapeQuotes(k)+"') "),f+=") { var err = ",!1!==e.createErrors?(f+=" { 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&&(f+=" , message: 'should have ",1==v.length?f+="property "+e.util.escapeQuotes(v[0]):f+="properties "+e.util.escapeQuotes(v.join(", ")),f+=" when property "+e.util.escapeQuotes(w)+" is present' "),e.opts.verbose&&(f+=" , schema: validate.schema"+o+" , parentSchema: validate.schema"+e.schemaPath+" , data: "+u+" "),f+=" } "):f+=" {} ",f+="; if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; } "}}f+=" } ",c&&(p+="}",f+=" else { ")}e.errorPath=_;var B=l.baseId;for(var w in b){g=b[w];(e.opts.strictKeywords?"object"==typeof g&&Object.keys(g).length>0:e.util.schemaHasRules(g,e.RULES.all))&&(f+=" "+h+" = true; if ( "+u+e.util.getProperty(w)+" !== undefined ",y&&(f+=" && Object.prototype.hasOwnProperty.call("+u+", '"+e.util.escapeQuotes(w)+"') "),f+=") { ",l.schema=g,l.schemaPath=o+e.util.getProperty(w),l.errSchemaPath=s+"/"+e.util.escapeFragment(w),f+=" "+e.validate(l)+" ",l.baseId=B,f+=" } ",c&&(f+=" if ("+h+") { ",p+="}"))}return c&&(f+=" "+p+" if ("+d+" == errors) {"),f}},function(e,t,r){"use strict";e.exports=function(e,t,r){var f=" ",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&&(f+=" var schema"+n+" = "+e.util.getData(i.$data,a,e.dataPathArr)+"; ");var p="i"+n,h="schema"+n;l||(f+=" var "+h+" = validate.schema"+o+";"),f+="var "+d+";",l&&(f+=" if (schema"+n+" === undefined) "+d+" = true; else if (!Array.isArray(schema"+n+")) "+d+" = false; else {"),f+=d+" = false;for (var "+p+"=0; "+p+"<"+h+".length; "+p+"++) if (equal("+u+", "+h+"["+p+"])) { "+d+" = true; break; }",l&&(f+=" } "),f+=" if (!"+d+") { ";var b=b||[];b.push(f),f="",!1!==e.createErrors?(f+=" { keyword: 'enum' , dataPath: (dataPath || '') + "+e.errorPath+" , schemaPath: "+e.util.toQuotedString(s)+" , params: { allowedValues: schema"+n+" } ",!1!==e.opts.messages&&(f+=" , message: 'should be equal to one of the allowed values' "),e.opts.verbose&&(f+=" , schema: validate.schema"+o+" , parentSchema: validate.schema"+e.schemaPath+" , data: "+u+" "),f+=" } "):f+=" {} ";var m=f;return f=b.pop(),!e.compositeRule&&c?e.async?f+=" throw new ValidationError(["+m+"]); ":f+=" validate.errors = ["+m+"]; return false; ":f+=" var err = "+m+"; if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; ",f+=" }",c&&(f+=" else { "),f}},function(e,t,r){"use strict";e.exports=function(e,t,r){var f=" ",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&&(f+=" if (true) { "),f;var d,l=e.opts.$data&&i&&i.$data;l?(f+=" var schema"+n+" = "+e.util.getData(i.$data,a,e.dataPathArr)+"; ",d="schema"+n):d=i;var p=e.opts.unknownFormats,h=Array.isArray(p);if(l){f+=" var "+(b="format"+n)+" = formats["+d+"]; var "+(m="isObject"+n)+" = typeof "+b+" == 'object' && !("+b+" instanceof RegExp) && "+b+".validate; var "+(y="formatType"+n)+" = "+m+" && "+b+".type || 'string'; if ("+m+") { ",e.async&&(f+=" var async"+n+" = "+b+".async; "),f+=" "+b+" = "+b+".validate; } if ( ",l&&(f+=" ("+d+" !== undefined && typeof "+d+" != 'string') || "),f+=" (","ignore"!=p&&(f+=" ("+d+" && !"+b+" ",h&&(f+=" && self._opts.unknownFormats.indexOf("+d+") == -1 "),f+=") || "),f+=" ("+b+" && "+y+" == '"+r+"' && !(typeof "+b+" == 'function' ? ",e.async?f+=" (async"+n+" ? await "+b+"("+u+") : "+b+"("+u+")) ":f+=" "+b+"("+u+") ",f+=" : "+b+".test("+u+"))))) {"}else{var b;if(!(b=e.formats[i])){if("ignore"==p)return e.logger.warn('unknown format "'+i+'" ignored in schema at path "'+e.errSchemaPath+'"'),c&&(f+=" if (true) { "),f;if(h&&p.indexOf(i)>=0)return c&&(f+=" if (true) { "),f;throw new Error('unknown format "'+i+'" is used in schema at path "'+e.errSchemaPath+'"')}var m,y=(m="object"==typeof b&&!(b instanceof RegExp)&&b.validate)&&b.type||"string";if(m){var g=!0===b.async;b=b.validate}if(y!=r)return c&&(f+=" if (true) { "),f;if(g){if(!e.async)throw new Error("async format in sync schema");f+=" if (!(await "+(v="formats"+e.util.getProperty(i)+".validate")+"("+u+"))) { "}else{f+=" if (! ";var v="formats"+e.util.getProperty(i);m&&(v+=".validate"),f+="function"==typeof b?" "+v+"("+u+") ":" "+v+".test("+u+") ",f+=") { "}}var _=_||[];_.push(f),f="",!1!==e.createErrors?(f+=" { keyword: 'format' , dataPath: (dataPath || '') + "+e.errorPath+" , schemaPath: "+e.util.toQuotedString(s)+" , params: { format: ",f+=l?""+d:""+e.util.toQuotedString(i),f+=" } ",!1!==e.opts.messages&&(f+=" , message: 'should match format \"",f+=l?"' + "+d+" + '":""+e.util.escapeQuotes(i),f+="\"' "),e.opts.verbose&&(f+=" , schema: ",f+=l?"validate.schema"+o:""+e.util.toQuotedString(i),f+=" , parentSchema: validate.schema"+e.schemaPath+" , data: "+u+" "),f+=" } "):f+=" {} ";var w=f;return f=_.pop(),!e.compositeRule&&c?e.async?f+=" throw new ValidationError(["+w+"]); ":f+=" validate.errors = ["+w+"]; return false; ":f+=" var err = "+w+"; if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; ",f+=" } ",c&&(f+=" else { "),f}},function(e,t,r){"use strict";e.exports=function(e,t,r){var f=" ",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 h="valid"+p.level,b=e.schema.then,m=e.schema.else,y=void 0!==b&&(e.opts.strictKeywords?"object"==typeof b&&Object.keys(b).length>0:e.util.schemaHasRules(b,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,f+=" var "+l+" = errors; var "+d+" = true; ";var w=e.compositeRule;e.compositeRule=p.compositeRule=!0,f+=" "+e.validate(p)+" ",p.baseId=v,p.createErrors=!0,f+=" errors = "+l+"; if (vErrors !== null) { if ("+l+") vErrors.length = "+l+"; else vErrors = null; } ",e.compositeRule=p.compositeRule=w,y?(f+=" if ("+h+") { ",p.schema=e.schema.then,p.schemaPath=e.schemaPath+".then",p.errSchemaPath=e.errSchemaPath+"/then",f+=" "+e.validate(p)+" ",p.baseId=v,f+=" "+d+" = "+h+"; ",y&&g?f+=" var "+(_="ifClause"+n)+" = 'then'; ":_="'then'",f+=" } ",g&&(f+=" else { ")):f+=" if (!"+h+") { ",g&&(p.schema=e.schema.else,p.schemaPath=e.schemaPath+".else",p.errSchemaPath=e.errSchemaPath+"/else",f+=" "+e.validate(p)+" ",p.baseId=v,f+=" "+d+" = "+h+"; ",y&&g?f+=" var "+(_="ifClause"+n)+" = 'else'; ":_="'else'",f+=" } "),f+=" if (!"+d+") { var err = ",!1!==e.createErrors?(f+=" { keyword: 'if' , dataPath: (dataPath || '') + "+e.errorPath+" , schemaPath: "+e.util.toQuotedString(s)+" , params: { failingKeyword: "+_+" } ",!1!==e.opts.messages&&(f+=" , message: 'should match \"' + "+_+" + '\" schema' "),e.opts.verbose&&(f+=" , schema: validate.schema"+o+" , parentSchema: validate.schema"+e.schemaPath+" , data: "+u+" "),f+=" } "):f+=" {} ",f+="; if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; ",!e.compositeRule&&c&&(e.async?f+=" throw new ValidationError(vErrors); ":f+=" validate.errors = vErrors; return false; "),f+=" } ",c&&(f+=" else { ")}else c&&(f+=" if (true) { ");return f}},function(e,t,r){"use strict";e.exports=function(e,t,r){var f=" ",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),h="";p.level++;var b="valid"+p.level,m="i"+n,y=p.dataLevel=e.dataLevel+1,g="data"+y,v=e.baseId;if(f+="var "+l+" = errors;var "+d+";",Array.isArray(i)){var _=e.schema.additionalItems;if(!1===_){f+=" "+d+" = "+u+".length <= "+i.length+"; ";var w=s;s=e.errSchemaPath+"/additionalItems",f+=" if (!"+d+") { ";var E=E||[];E.push(f),f="",!1!==e.createErrors?(f+=" { keyword: 'additionalItems' , dataPath: (dataPath || '') + "+e.errorPath+" , schemaPath: "+e.util.toQuotedString(s)+" , params: { limit: "+i.length+" } ",!1!==e.opts.messages&&(f+=" , message: 'should NOT have more than "+i.length+" items' "),e.opts.verbose&&(f+=" , schema: false , parentSchema: validate.schema"+e.schemaPath+" , data: "+u+" "),f+=" } "):f+=" {} ";var A=f;f=E.pop(),!e.compositeRule&&c?e.async?f+=" throw new ValidationError(["+A+"]); ":f+=" validate.errors = ["+A+"]; return false; ":f+=" var err = "+A+"; if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; ",f+=" } ",s=w,c&&(h+="}",f+=" else { ")}var T=i;if(T)for(var x,S=-1,C=T.length-1;S<C;)if(x=T[S+=1],e.opts.strictKeywords?"object"==typeof x&&Object.keys(x).length>0:e.util.schemaHasRules(x,e.RULES.all)){f+=" "+b+" = true; if ("+u+".length > "+S+") { ";var O=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 P=e.validate(p);p.baseId=v,e.util.varOccurences(P,g)<2?f+=" "+e.util.varReplace(P,g,O)+" ":f+=" var "+g+" = "+O+"; "+P+" ",f+=" } ",c&&(f+=" if ("+b+") { ",h+="}")}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",f+=" "+b+" = 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);O=u+"["+m+"]";p.dataPathArr[y]=m;P=e.validate(p);p.baseId=v,e.util.varOccurences(P,g)<2?f+=" "+e.util.varReplace(P,g,O)+" ":f+=" var "+g+" = "+O+"; "+P+" ",c&&(f+=" if (!"+b+") break; "),f+=" } } ",c&&(f+=" if ("+b+") { ",h+="}")}}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,f+=" for (var "+m+" = 0; "+m+" < "+u+".length; "+m+"++) { ",p.errorPath=e.util.getPathExpr(e.errorPath,m,e.opts.jsonPointers,!0);O=u+"["+m+"]";p.dataPathArr[y]=m;P=e.validate(p);p.baseId=v,e.util.varOccurences(P,g)<2?f+=" "+e.util.varReplace(P,g,O)+" ":f+=" var "+g+" = "+O+"; "+P+" ",c&&(f+=" if (!"+b+") break; "),f+=" }"}return c&&(f+=" "+h+" if ("+l+" == errors) {"),f}},function(e,t,r){"use strict";e.exports=function(e,t,r){var f,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)+"; ",f="schema"+a):f=o,!l&&"number"!=typeof o)throw new Error(t+" must be number");n+="var division"+a+";if (",l&&(n+=" "+f+" !== undefined && ( typeof "+f+" != 'number' || "),n+=" (division"+a+" = "+d+" / "+f+", ",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: "+f+" } ",!1!==e.opts.messages&&(n+=" , message: 'should be multiple of ",n+=l?"' + "+f:f+"'"),e.opts.verbose&&(n+=" , schema: ",n+=l?"validate.schema"+s:""+o,n+=" , parentSchema: validate.schema"+e.schemaPath+" , data: "+d+" "),n+=" } "):n+=" {} ";var h=n;return n=p.pop(),!e.compositeRule&&u?e.async?n+=" throw new ValidationError(["+h+"]); ":n+=" validate.errors = ["+h+"]; return false; ":n+=" var err = "+h+"; if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; ",n+="} ",u&&(n+=" else { "),n}},function(e,t,r){"use strict";e.exports=function(e,t,r){var f=" ",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,f+=" var "+d+" = errors; ";var h,b=e.compositeRule;e.compositeRule=l.compositeRule=!0,l.createErrors=!1,l.opts.allErrors&&(h=l.opts.allErrors,l.opts.allErrors=!1),f+=" "+e.validate(l)+" ",l.createErrors=!0,h&&(l.opts.allErrors=h),e.compositeRule=l.compositeRule=b,f+=" if ("+p+") { ";var m=m||[];m.push(f),f="",!1!==e.createErrors?(f+=" { keyword: 'not' , dataPath: (dataPath || '') + "+e.errorPath+" , schemaPath: "+e.util.toQuotedString(s)+" , params: {} ",!1!==e.opts.messages&&(f+=" , message: 'should NOT be valid' "),e.opts.verbose&&(f+=" , schema: validate.schema"+o+" , parentSchema: validate.schema"+e.schemaPath+" , data: "+u+" "),f+=" } "):f+=" {} ";var y=f;f=m.pop(),!e.compositeRule&&c?e.async?f+=" throw new ValidationError(["+y+"]); ":f+=" validate.errors = ["+y+"]; return false; ":f+=" var err = "+y+"; if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; ",f+=" } else { errors = "+d+"; if (vErrors !== null) { if ("+d+") vErrors.length = "+d+"; else vErrors = null; } ",e.opts.allErrors&&(f+=" } ")}else f+=" var err = ",!1!==e.createErrors?(f+=" { keyword: 'not' , dataPath: (dataPath || '') + "+e.errorPath+" , schemaPath: "+e.util.toQuotedString(s)+" , params: {} ",!1!==e.opts.messages&&(f+=" , message: 'should NOT be valid' "),e.opts.verbose&&(f+=" , schema: validate.schema"+o+" , parentSchema: validate.schema"+e.schemaPath+" , data: "+u+" "),f+=" } "):f+=" {} ",f+="; if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; ",c&&(f+=" if (false) { ");return f}},function(e,t,r){"use strict";e.exports=function(e,t,r){var f=" ",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),h="";p.level++;var b="valid"+p.level,m=p.baseId,y="prevValid"+n,g="passingSchemas"+n;f+="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,f+=" "+e.validate(p)+" ",p.baseId=m):f+=" var "+b+" = true; ",E&&(f+=" if ("+b+" && "+y+") { "+d+" = false; "+g+" = ["+g+", "+E+"]; } else { ",h+="}"),f+=" if ("+b+") { "+d+" = "+y+" = true; "+g+" = "+E+"; }";return e.compositeRule=p.compositeRule=v,f+=h+"if (!"+d+") { var err = ",!1!==e.createErrors?(f+=" { keyword: 'oneOf' , dataPath: (dataPath || '') + "+e.errorPath+" , schemaPath: "+e.util.toQuotedString(s)+" , params: { passingSchemas: "+g+" } ",!1!==e.opts.messages&&(f+=" , message: 'should match exactly one schema in oneOf' "),e.opts.verbose&&(f+=" , schema: validate.schema"+o+" , parentSchema: validate.schema"+e.schemaPath+" , data: "+u+" "),f+=" } "):f+=" {} ",f+="; if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; ",!e.compositeRule&&c&&(e.async?f+=" throw new ValidationError(vErrors); ":f+=" validate.errors = vErrors; return false; "),f+="} else { errors = "+l+"; if (vErrors !== null) { if ("+l+") vErrors.length = "+l+"; else vErrors = null; }",e.opts.allErrors&&(f+=" } "),f}},function(e,t,r){"use strict";e.exports=function(e,t,r){var f,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)+"; ",f="schema"+a):f=o,n+="if ( ",l&&(n+=" ("+f+" !== undefined && typeof "+f+" != 'string') || "),n+=" !"+(l?"(new RegExp("+f+"))":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?""+f:""+e.util.toQuotedString(o),n+=" } ",!1!==e.opts.messages&&(n+=" , message: 'should match pattern \"",n+=l?"' + "+f+" + '":""+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 h=n;return n=p.pop(),!e.compositeRule&&u?e.async?n+=" throw new ValidationError(["+h+"]); ":n+=" validate.errors = ["+h+"]; return false; ":n+=" var err = "+h+"; if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; ",n+="} ",u&&(n+=" else { "),n}},function(e,t,r){"use strict";e.exports=function(e,t,r){var f=" ",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 h="valid"+l.level,b="key"+n,m="idx"+n,y=l.dataLevel=e.dataLevel+1,g="data"+y,v="dataProperties"+n,_=Object.keys(i||{}).filter(D),w=e.schema.patternProperties||{},E=Object.keys(w).filter(D),A=e.schema.additionalProperties,T=_.length||E.length,x=!1===A,S="object"==typeof A&&Object.keys(A).length,C=e.opts.removeAdditional,O=x||S||C,P=e.opts.ownProperties,k=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 D(e){return"__proto__"!==e}if(f+="var "+d+" = errors;var "+h+" = true;",P&&(f+=" var "+v+" = undefined;"),O){if(f+=P?" "+v+" = "+v+" || Object.keys("+u+"); for (var "+m+"=0; "+m+"<"+v+".length; "+m+"++) { var "+b+" = "+v+"["+m+"]; ":" for (var "+b+" in "+u+") { ",T){if(f+=" var isAdditional"+n+" = !(false ",_.length)if(_.length>8)f+=" || validate.schema"+o+".hasOwnProperty("+b+") ";else{var N=_;if(N)for(var B=-1,I=N.length-1;B<I;)Y=N[B+=1],f+=" || "+b+" == "+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],f+=" || "+e.usePattern(ae)+".test("+b+") "}f+=" ); if (isAdditional"+n+") { "}if("all"==C)f+=" delete "+u+"["+b+"]; ";else{var U=e.errorPath,q="' + "+b+" + '";if(e.opts._errorDataPathProperty&&(e.errorPath=e.util.getPathExpr(e.errorPath,b,e.opts.jsonPointers)),x)if(C)f+=" delete "+u+"["+b+"]; ";else{f+=" "+h+" = false; ";var H=s;s=e.errSchemaPath+"/additionalProperties",(re=re||[]).push(f),f="",!1!==e.createErrors?(f+=" { keyword: 'additionalProperties' , dataPath: (dataPath || '') + "+e.errorPath+" , schemaPath: "+e.util.toQuotedString(s)+" , params: { additionalProperty: '"+q+"' } ",!1!==e.opts.messages&&(f+=" , message: '",e.opts._errorDataPathProperty?f+="is an invalid additional property":f+="should NOT have additional properties",f+="' "),e.opts.verbose&&(f+=" , schema: false , parentSchema: validate.schema"+e.schemaPath+" , data: "+u+" "),f+=" } "):f+=" {} ";var z=f;f=re.pop(),!e.compositeRule&&c?e.async?f+=" throw new ValidationError(["+z+"]); ":f+=" validate.errors = ["+z+"]; return false; ":f+=" var err = "+z+"; if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; ",s=H,c&&(f+=" break; ")}else if(S)if("failing"==C){f+=" 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,b,e.opts.jsonPointers);var K=u+"["+b+"]";l.dataPathArr[y]=b;var W=e.validate(l);l.baseId=k,e.util.varOccurences(W,g)<2?f+=" "+e.util.varReplace(W,g,K)+" ":f+=" var "+g+" = "+K+"; "+W+" ",f+=" if (!"+h+") { errors = "+d+"; if (validate.errors !== null) { if (errors) validate.errors.length = errors; else validate.errors = null; } delete "+u+"["+b+"]; } ",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,b,e.opts.jsonPointers);K=u+"["+b+"]";l.dataPathArr[y]=b;W=e.validate(l);l.baseId=k,e.util.varOccurences(W,g)<2?f+=" "+e.util.varReplace(W,g,K)+" ":f+=" var "+g+" = "+K+"; "+W+" ",c&&(f+=" if (!"+h+") break; ")}e.errorPath=U}T&&(f+=" } "),f+=" } ",c&&(f+=" if ("+h+") { ",p+="}")}var G=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,G&&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);W=e.validate(l);if(l.baseId=k,e.util.varOccurences(W,g)<2){W=e.util.varReplace(W,g,K);var te=K}else{te=g;f+=" var "+g+" = "+K+"; "}if(ee)f+=" "+W+" ";else{if(M&&M[Y]){f+=" if ( "+te+" === undefined ",P&&(f+=" || ! Object.prototype.hasOwnProperty.call("+u+", '"+e.util.escapeQuotes(Y)+"') "),f+=") { "+h+" = false; ";U=e.errorPath,H=s;var re,fe=e.util.escapeQuotes(Y);e.opts._errorDataPathProperty&&(e.errorPath=e.util.getPath(U,Y,e.opts.jsonPointers)),s=e.errSchemaPath+"/required",(re=re||[]).push(f),f="",!1!==e.createErrors?(f+=" { keyword: 'required' , dataPath: (dataPath || '') + "+e.errorPath+" , schemaPath: "+e.util.toQuotedString(s)+" , params: { missingProperty: '"+fe+"' } ",!1!==e.opts.messages&&(f+=" , message: '",e.opts._errorDataPathProperty?f+="is a required property":f+="should have required property \\'"+fe+"\\'",f+="' "),e.opts.verbose&&(f+=" , schema: validate.schema"+o+" , parentSchema: validate.schema"+e.schemaPath+" , data: "+u+" "),f+=" } "):f+=" {} ";z=f;f=re.pop(),!e.compositeRule&&c?e.async?f+=" throw new ValidationError(["+z+"]); ":f+=" validate.errors = ["+z+"]; return false; ":f+=" var err = "+z+"; if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; ",s=H,e.errorPath=U,f+=" } else { "}else c?(f+=" if ( "+te+" === undefined ",P&&(f+=" || ! Object.prototype.hasOwnProperty.call("+u+", '"+e.util.escapeQuotes(Y)+"') "),f+=") { "+h+" = true; } else { "):(f+=" if ("+te+" !== undefined ",P&&(f+=" && Object.prototype.hasOwnProperty.call("+u+", '"+e.util.escapeQuotes(Y)+"') "),f+=" ) { ");f+=" "+W+" } "}}c&&(f+=" if ("+h+") { ",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),f+=P?" "+v+" = "+v+" || Object.keys("+u+"); for (var "+m+"=0; "+m+"<"+v+".length; "+m+"++) { var "+b+" = "+v+"["+m+"]; ":" for (var "+b+" in "+u+") { ",f+=" if ("+e.usePattern(ae)+".test("+b+")) { ",l.errorPath=e.util.getPathExpr(e.errorPath,b,e.opts.jsonPointers);K=u+"["+b+"]";l.dataPathArr[y]=b;W=e.validate(l);l.baseId=k,e.util.varOccurences(W,g)<2?f+=" "+e.util.varReplace(W,g,K)+" ":f+=" var "+g+" = "+K+"; "+W+" ",c&&(f+=" if (!"+h+") break; "),f+=" } ",c&&(f+=" else "+h+" = true; "),f+=" } ",c&&(f+=" if ("+h+") { ",p+="}")}}}return c&&(f+=" "+p+" if ("+d+" == errors) {"),f}},function(e,t,r){"use strict";e.exports=function(e,t,r){var f=" ",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(f+="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 h="key"+n,b="idx"+n,m="i"+n,y="' + "+h+" + '",g="data"+(l.dataLevel=e.dataLevel+1),v="dataProperties"+n,_=e.opts.ownProperties,w=e.baseId;_&&(f+=" var "+v+" = undefined; "),f+=_?" "+v+" = "+v+" || Object.keys("+u+"); for (var "+b+"=0; "+b+"<"+v+".length; "+b+"++) { var "+h+" = "+v+"["+b+"]; ":" for (var "+h+" in "+u+") { ",f+=" var startErrs"+n+" = errors; ";var E=h,A=e.compositeRule;e.compositeRule=l.compositeRule=!0;var T=e.validate(l);l.baseId=w,e.util.varOccurences(T,g)<2?f+=" "+e.util.varReplace(T,g,E)+" ":f+=" var "+g+" = "+E+"; "+T+" ",e.compositeRule=l.compositeRule=A,f+=" if (!"+p+") { for (var "+m+"=startErrs"+n+"; "+m+"<errors; "+m+"++) { vErrors["+m+"].propertyName = "+h+"; } var err = ",!1!==e.createErrors?(f+=" { keyword: 'propertyNames' , dataPath: (dataPath || '') + "+e.errorPath+" , schemaPath: "+e.util.toQuotedString(s)+" , params: { propertyName: '"+y+"' } ",!1!==e.opts.messages&&(f+=" , message: 'property name \\'"+y+"\\' is invalid' "),e.opts.verbose&&(f+=" , schema: validate.schema"+o+" , parentSchema: validate.schema"+e.schemaPath+" , data: "+u+" "),f+=" } "):f+=" {} ",f+="; if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; ",!e.compositeRule&&c&&(e.async?f+=" throw new ValidationError(vErrors); ":f+=" validate.errors = vErrors; return false; "),c&&(f+=" break; "),f+=" } }"}return c&&(f+=" if ("+d+" == errors) {"),f}},function(e,t,r){"use strict";e.exports=function(e,t,r){var f=" ",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&&(f+=" 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 h=[],b=i;if(b)for(var m,y=-1,g=b.length-1;y<g;){m=b[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))||(h[h.length]=m)}}else h=i;if(l||h.length){var _=e.errorPath,w=l||h.length>=e.opts.loopRequired,E=e.opts.ownProperties;if(c)if(f+=" var missing"+n+"; ",w){l||(f+=" var "+p+" = validate.schema"+o+"; ");var A="' + "+(P="schema"+n+"["+(S="i"+n)+"]")+" + '";e.opts._errorDataPathProperty&&(e.errorPath=e.util.getPathExpr(_,P,e.opts.jsonPointers)),f+=" var "+d+" = true; ",l&&(f+=" if (schema"+n+" === undefined) "+d+" = true; else if (!Array.isArray(schema"+n+")) "+d+" = false; else {"),f+=" for (var "+S+" = 0; "+S+" < "+p+".length; "+S+"++) { "+d+" = "+u+"["+p+"["+S+"]] !== undefined ",E&&(f+=" && Object.prototype.hasOwnProperty.call("+u+", "+p+"["+S+"]) "),f+="; if (!"+d+") break; } ",l&&(f+=" } "),f+=" if (!"+d+") { ",(O=O||[]).push(f),f="",!1!==e.createErrors?(f+=" { keyword: 'required' , dataPath: (dataPath || '') + "+e.errorPath+" , schemaPath: "+e.util.toQuotedString(s)+" , params: { missingProperty: '"+A+"' } ",!1!==e.opts.messages&&(f+=" , message: '",e.opts._errorDataPathProperty?f+="is a required property":f+="should have required property \\'"+A+"\\'",f+="' "),e.opts.verbose&&(f+=" , schema: validate.schema"+o+" , parentSchema: validate.schema"+e.schemaPath+" , data: "+u+" "),f+=" } "):f+=" {} ";var T=f;f=O.pop(),!e.compositeRule&&c?e.async?f+=" throw new ValidationError(["+T+"]); ":f+=" validate.errors = ["+T+"]; return false; ":f+=" var err = "+T+"; if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; ",f+=" } else { "}else{f+=" if ( ";var x=h;if(x)for(var S=-1,C=x.length-1;S<C;){R=x[S+=1],S&&(f+=" || "),f+=" ( ( "+(B=u+(N=e.util.getProperty(R)))+" === undefined ",E&&(f+=" || ! Object.prototype.hasOwnProperty.call("+u+", '"+e.util.escapeQuotes(R)+"') "),f+=") && (missing"+n+" = "+e.util.toQuotedString(e.opts.jsonPointers?R:N)+") ) "}f+=") { ";var O;A="' + "+(P="missing"+n)+" + '";e.opts._errorDataPathProperty&&(e.errorPath=e.opts.jsonPointers?e.util.getPathExpr(_,P,!0):_+" + "+P),(O=O||[]).push(f),f="",!1!==e.createErrors?(f+=" { keyword: 'required' , dataPath: (dataPath || '') + "+e.errorPath+" , schemaPath: "+e.util.toQuotedString(s)+" , params: { missingProperty: '"+A+"' } ",!1!==e.opts.messages&&(f+=" , message: '",e.opts._errorDataPathProperty?f+="is a required property":f+="should have required property \\'"+A+"\\'",f+="' "),e.opts.verbose&&(f+=" , schema: validate.schema"+o+" , parentSchema: validate.schema"+e.schemaPath+" , data: "+u+" "),f+=" } "):f+=" {} ";T=f;f=O.pop(),!e.compositeRule&&c?e.async?f+=" throw new ValidationError(["+T+"]); ":f+=" validate.errors = ["+T+"]; return false; ":f+=" var err = "+T+"; if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; ",f+=" } else { "}else if(w){l||(f+=" var "+p+" = validate.schema"+o+"; ");var P;A="' + "+(P="schema"+n+"["+(S="i"+n)+"]")+" + '";e.opts._errorDataPathProperty&&(e.errorPath=e.util.getPathExpr(_,P,e.opts.jsonPointers)),l&&(f+=" if ("+p+" && !Array.isArray("+p+")) { var err = ",!1!==e.createErrors?(f+=" { keyword: 'required' , dataPath: (dataPath || '') + "+e.errorPath+" , schemaPath: "+e.util.toQuotedString(s)+" , params: { missingProperty: '"+A+"' } ",!1!==e.opts.messages&&(f+=" , message: '",e.opts._errorDataPathProperty?f+="is a required property":f+="should have required property \\'"+A+"\\'",f+="' "),e.opts.verbose&&(f+=" , schema: validate.schema"+o+" , parentSchema: validate.schema"+e.schemaPath+" , data: "+u+" "),f+=" } "):f+=" {} ",f+="; if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; } else if ("+p+" !== undefined) { "),f+=" for (var "+S+" = 0; "+S+" < "+p+".length; "+S+"++) { if ("+u+"["+p+"["+S+"]] === undefined ",E&&(f+=" || ! Object.prototype.hasOwnProperty.call("+u+", "+p+"["+S+"]) "),f+=") { var err = ",!1!==e.createErrors?(f+=" { keyword: 'required' , dataPath: (dataPath || '') + "+e.errorPath+" , schemaPath: "+e.util.toQuotedString(s)+" , params: { missingProperty: '"+A+"' } ",!1!==e.opts.messages&&(f+=" , message: '",e.opts._errorDataPathProperty?f+="is a required property":f+="should have required property \\'"+A+"\\'",f+="' "),e.opts.verbose&&(f+=" , schema: validate.schema"+o+" , parentSchema: validate.schema"+e.schemaPath+" , data: "+u+" "),f+=" } "):f+=" {} ",f+="; if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; } } ",l&&(f+=" } ")}else{var k=h;if(k)for(var R,M=-1,D=k.length-1;M<D;){R=k[M+=1];var N=e.util.getProperty(R),B=(A=e.util.escapeQuotes(R),u+N);e.opts._errorDataPathProperty&&(e.errorPath=e.util.getPath(_,R,e.opts.jsonPointers)),f+=" if ( "+B+" === undefined ",E&&(f+=" || ! Object.prototype.hasOwnProperty.call("+u+", '"+e.util.escapeQuotes(R)+"') "),f+=") { var err = ",!1!==e.createErrors?(f+=" { keyword: 'required' , dataPath: (dataPath || '') + "+e.errorPath+" , schemaPath: "+e.util.toQuotedString(s)+" , params: { missingProperty: '"+A+"' } ",!1!==e.opts.messages&&(f+=" , message: '",e.opts._errorDataPathProperty?f+="is a required property":f+="should have required property \\'"+A+"\\'",f+="' "),e.opts.verbose&&(f+=" , schema: validate.schema"+o+" , parentSchema: validate.schema"+e.schemaPath+" , data: "+u+" "),f+=" } "):f+=" {} ",f+="; if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; } "}}e.errorPath=_}else c&&(f+=" if (true) {");return f}},function(e,t,r){"use strict";e.exports=function(e,t,r){var f,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)+"; ",f="schema"+a):f=o,(o||p)&&!1!==e.opts.uniqueItems){p&&(n+=" var "+l+"; if ("+f+" === false || "+f+" === undefined) "+l+" = true; else if (typeof "+f+" != 'boolean') "+l+" = false; else { "),n+=" var i = "+d+".length , "+l+" = true , j; if (i > 1) { ";var h=e.schema.items&&e.schema.items.type,b=Array.isArray(h);if(!h||"object"==h||"array"==h||b&&(h.indexOf("object")>=0||h.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"+(b?"s":"");n+=" if ("+e.util[m](h,"item",e.opts.strictNumbers,!0)+") continue; ",b&&(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,r){"use strict";var f=["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 r=0;r<t.length;r++){e=JSON.parse(JSON.stringify(e));var n,a=t[r].split("/"),i=e;for(n=1;n<a.length;n++)i=i[a[n]];for(n=0;n<f.length;n++){var o=f[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,r){"use strict";var f=r(154).MissingRef;e.exports=function e(t,r,n){var a=this;if("function"!=typeof this._opts.loadSchema)throw new Error("options.loadSchema should be a function");"function"==typeof r&&(n=r,r=void 0);var i=o(t).then((function(){var e=a._addSchema(t,void 0,r);return e.validate||s(e)}));n&&i.then((function(e){n(null,e)}),n);return i;function o(t){var r=t.$schema;return r&&!a.getSchema(r)?e.call(a,{$ref:r},!0):Promise.resolve()}function s(e){try{return a._compile(e)}catch(t){if(t instanceof f)return function(t){var f=t.missingSchema;if(c(f))throw new Error("Schema "+f+" is loaded but "+t.missingRef+" cannot be resolved");var n=a._loadingSchemas[f];n||(n=a._loadingSchemas[f]=a._opts.loadSchema(f)).then(i,i);return n.then((function(e){if(!c(f))return o(e).then((function(){c(f)||a.addSchema(e,f,void 0,r)}))})).then((function(){return s(e)}));function i(){delete a._loadingSchemas[f]}function c(e){return a._refs[e]||a._schemas[e]}}(t);throw t}}}},function(e,t,r){"use strict";var f=/^[a-z_$][a-z0-9_$-]*$/i,n=r(723),a=r(724);e.exports={add:function(e,t){var r=this.RULES;if(r.keywords[e])throw new Error("Keyword "+e+" is already defined");if(!f.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,f){for(var a,i=0;i<r.length;i++){var o=r[i];if(o.type==t){a=o;break}}a||(a={type:t,rules:[]},r.push(a));var s={keyword:e,definition:f,custom:!0,code:n,implements:f.implements};a.rules.push(s),r.custom[e]=s}return r.keywords[e]=r.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 r=0;r<t.length;r++)for(var f=t[r].rules,n=0;n<f.length;n++)if(f[n].keyword==e){f.splice(n,1);break}return this},validate:function e(t,r){e.errors=null;var f=this._validateKeyword=this._validateKeyword||this.compile(a,!0);if(f(t))return!0;if(e.errors=f.errors,r)throw new Error("custom keyword definition is invalid: "+this.errorsText(f.errors));return!1}}},function(e,t,r){"use strict";e.exports=function(e,t,r){var f,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,h="errs__"+i,b=e.opts.$data&&s&&s.$data;b?(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(b&&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",C="i"+i,O="ruleErr"+i,P=A.async;if(P&&!e.async)throw new Error("async keyword in sync schema");if(y||g||(a+=S+" = null;"),a+="var "+h+" = errors;var "+p+";",b&&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 k=e.util.copy(e);T="";k.level++;var R="valid"+k.level;k.schema=v.validate,k.schemaPath="";var M=e.compositeRule;e.compositeRule=k.compositeRule=!0;var D=e.validate(k).replace(/validate\.schema/g,_);e.compositeRule=k.compositeRule=M,a+=" "+D}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 N=o?"data"+(o-1||""):"parentData",B=o?e.dataPathArr[o]:"parentDataProperty",I=a+=" , "+N+" , "+B+" , rootData ) ";a=F.pop(),!1===A.errors?(a+=" "+p+" = ",P&&(a+="await "),a+=I+"; "):a+=P?" 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 ("+N+") "+l+" = "+N+"["+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+=") { ",f=w.keyword,(F=F||[]).push(a),a="",(F=F||[]).push(a),a="",!1!==e.createErrors?(a+=" { keyword: '"+(f||"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 "+C+"="+h+"; "+C+"<errors; "+C+"++) { var "+O+" = vErrors["+C+"]; if ("+O+".dataPath === undefined) "+O+".dataPath = (dataPath || '') + "+e.errorPath+"; if ("+O+".schemaPath === undefined) { "+O+'.schemaPath = "'+u+'"; } ',e.opts.verbose&&(a+=" "+O+".schema = "+n+"; "+O+".data = "+l+"; "),a+=" } "):!1===A.errors?a+=" "+L+" ":(a+=" if ("+h+" == errors) { "+L+" } else { for (var "+C+"="+h+"; "+C+"<errors; "+C+"++) { var "+O+" = vErrors["+C+"]; if ("+O+".dataPath === undefined) "+O+".dataPath = (dataPath || '') + "+e.errorPath+"; if ("+O+".schemaPath === undefined) { "+O+'.schemaPath = "'+u+'"; } ',e.opts.verbose&&(a+=" "+O+".schema = "+n+"; "+O+".data = "+l+"; "),a+=" } } "):g?(a+=" var err = ",!1!==e.createErrors?(a+=" { keyword: '"+(f||"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 "+C+"="+h+"; "+C+"<errors; "+C+"++) { var "+O+" = vErrors["+C+"]; if ("+O+".dataPath === undefined) "+O+".dataPath = (dataPath || '') + "+e.errorPath+"; "+O+'.schemaPath = "'+u+'"; ',e.opts.verbose&&(a+=" "+O+".schema = "+n+"; "+O+".data = "+l+"; "),a+=" } } else { "+L+" } "),a+=" } ",d&&(a+=" else { ")}return a}},function(e,t,r){"use strict";var f=r(279);e.exports={$id:"https://github.com/ajv-validator/ajv/blob/master/lib/definition_schema.js",definitions:{simpleTypes:f.definitions.simpleTypes},type:"object",dependencies:{schema:["validate"],$data:["validate"],statements:["inline"],valid:{not:{required:["macro"]}}},properties:{type:f.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,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0});const f={rnf_invoice:{"0.0.1":r(729),"0.0.2":r(730),"0.0.3":r(731)}};t.default=f},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,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0});(0,r(271).__exportStar)(r(733),t)},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.getInvoiceTaxTotal=t.getInvoiceLineTotalWithoutTax=t.getInvoiceTotalWithoutTax=t.getInvoiceLineTotal=t.getInvoiceTotal=void 0;const f=r(3);t.getInvoiceTotal=e=>e.invoiceItems.reduce(((e,r)=>e.add((0,t.getInvoiceLineTotal)(r))),f.BigNumber.from(0));t.getInvoiceLineTotal=e=>{const t=e.taxPercent?{type:"percentage",amount:String(e.taxPercent)}:e.tax||{type:"percentage",amount:"0"},r=t.amount&&"percentage"===t.type?Number(t.amount)+100:100,n=t.amount&&"fixed"===t.type?f.BigNumber.from(t.amount):f.BigNumber.from(0),a=e.discount?f.BigNumber.from(e.discount):f.BigNumber.from(0);return f.BigNumber.from(f.FixedNumber.from(e.unitPrice).mulUnsafe(f.FixedNumber.fromString(e.quantity.toString())).subUnsafe(f.FixedNumber.from(a)).mulUnsafe(f.FixedNumber.fromString(r.toString())).divUnsafe(f.FixedNumber.from(100)).addUnsafe(f.FixedNumber.from(n)).round(0).toString().split(".")[0])};t.getInvoiceTotalWithoutTax=e=>e.invoiceItems.reduce(((e,r)=>e.add((0,t.getInvoiceLineTotalWithoutTax)(r))),f.BigNumber.from(0));t.getInvoiceLineTotalWithoutTax=e=>{const t=e.discount?f.BigNumber.from(e.discount):f.BigNumber.from(0);return f.BigNumber.from(f.FixedNumber.from(e.unitPrice).mulUnsafe(f.FixedNumber.fromString(e.quantity.toString())).subUnsafe(f.FixedNumber.from(t)).round(0).toString().split(".")[0])};t.getInvoiceTaxTotal=e=>{const r=e.invoiceItems.reduce(((e,r)=>e.add((0,t.getInvoiceLineTotalWithoutTax)(r))),f.BigNumber.from(0));return e.invoiceItems.reduce(((e,r)=>e.add((0,t.getInvoiceLineTotal)(r))),f.BigNumber.from(0)).sub(r)}},function(e,t,r){"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.1862+6ba9ad70","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.1862+6ba9ad70","@requestnetwork/currency":"0.9.1-next.1862+6ba9ad70","@requestnetwork/data-access":"0.27.1-next.1862+6ba9ad70","@requestnetwork/data-format":"0.10.1-next.1862+6ba9ad70","@requestnetwork/epk-signature":"0.5.36-next.1862+6ba9ad70","@requestnetwork/multi-format":"0.15.11-next.1862+6ba9ad70","@requestnetwork/payment-detection":"0.36.1-next.1862+6ba9ad70","@requestnetwork/request-logic":"0.26.11-next.1862+6ba9ad70","@requestnetwork/smart-contracts":"0.29.1-next.1862+6ba9ad70","@requestnetwork/transaction-manager":"0.27.1-next.1862+6ba9ad70","@requestnetwork/types":"0.36.1-next.1862+6ba9ad70","@requestnetwork/utils":"0.36.1-next.1862+6ba9ad70","axios":"0.27.2","ethers":"5.5.1","tslib":"2.3.1"},"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.3.0","ts-node":"9.0.0","typescript":"4.4.4","webpack":"4.44.2","webpack-bundle-analyzer":"4.2.0","webpack-cli":"3.3.12"},"gitHead":"6ba9ad7099a5cb19f5e1e9218221e425e66aa0f7"}')},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0});const f=r(281);class n extends f.DataAccess{constructor(e){super(e),this.isInitialized=!0}}t.default=n},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0});const f=r(51),n=r(41),a=r(4),i=r(7),o=r(282),s=r(28),c=r(283),u=r(738),d=r(741),l=r(284),p={meta:{storageMeta:{},transactionsStorageLocation:{}},result:{transactions:{}}};t.default=class{constructor(e,t){this.isInitialized=!1;const r={ignoredLocationIndex:new u.default,logger:new i.SimpleLogger,synchronizationIntervalTime:1e4,transactionIndex:new l.default,autoStartSynchronization:!1},{ignoredLocationIndex:f,logger:n,synchronizationIntervalTime:a,transactionIndex:o,autoStartSynchronization:s}=Object.assign(Object.assign({},r),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=f,this.logger=n}initialize(){return(0,f.__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)(),r=yield this.storage.getData(e?{from:e,to:t}:void 0);this.lastSyncStorageTimestamp=r.lastTimestamp,yield this.pushLocationsWithTopics(r.entries),this.isInitialized=!0,this.autoStartSynchronization&&this.startAutoSynchronization()}))}close(){return(0,f.__awaiter)(this,void 0,void 0,(function*(){yield this.stopAutoSynchronization()}))}persistTransaction(e,t,r=[]){return(0,f.__awaiter)(this,void 0,void 0,(function*(){this.checkInitialized();const a=r.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,r),o=yield this.storage.append(JSON.stringify(i)),u=Object.assign(new s.EventEmitter,{meta:{storageMeta:o.meta,topics:r,transactionStorageLocation:o.id},result:{}});return o.on("confirmed",(e=>(0,f.__awaiter)(this,void 0,void 0,(function*(){yield this.transactionIndex.updateTimestamp(e.id,e.meta.timestamp);const t={meta:{storageMeta:e.meta,topics:r,transactionStorageLocation:e.id},result:{}};u.emit("confirmed",t)})))).on("error",(e=>(0,f.__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(0,f.__awaiter)(this,void 0,void 0,(function*(){this.checkInitialized();const r=yield this.transactionIndex.getStorageLocationList(e,t);return(yield this.getBlockAndMetaFromStorageLocation(r)).map((t=>{const r=c.default.getTransactionPositionFromChannelId(t.block,e);return this.getTransactionAndMetaFromPosition(r,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(0,f.__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 r=yield this.transactionIndex.getChannelIdsForTopic(e,t);return o.map(r,(e=>this.getTransactionsByChannelId(e).then((t=>({channelId:e,transactionsWithMeta:t}))))).reduce(((e,t)=>{const r=t.channelId;return e.meta.transactionsStorageLocation[r]=t.transactionsWithMeta.meta.transactionsStorageLocation,e.meta.storageMeta[r]=t.transactionsWithMeta.meta.storageMeta,e.result.transactions[r]=t.transactionsWithMeta.result.transactions,e}),(0,i.deepCopy)(p))}))}getChannelsByMultipleTopics(e,t){return(0,f.__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 r=yield this.transactionIndex.getChannelIdsForMultipleTopics(e,t);return o.map(r,(e=>this.getTransactionsByChannelId(e).then((t=>({channelId:e,transactionsWithMeta:t}))))).reduce(((e,t)=>{const r=t.channelId;return e.meta.transactionsStorageLocation[r]=t.transactionsWithMeta.meta.transactionsStorageLocation,e.meta.storageMeta[r]=t.transactionsWithMeta.meta.storageMeta,e.result.transactions[r]=t.transactionsWithMeta.result.transactions,e}),(0,i.deepCopy)(p))}))}synchronizeNewDataIds(){return(0,f.__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 r=yield this.storage.getData({from:t,to:e}),f=yield this.storage.getIgnoredData();yield this.pushLocationsWithTopics(r.entries.concat(f)),this.lastSyncStorageTimestamp=r.lastTimestamp}))}startAutoSynchronization(){this.checkInitialized(),this.synchronizationTimer.start()}stopAutoSynchronization(){return(0,f.__awaiter)(this,void 0,void 0,(function*(){this.synchronizationTimer.isStarted&&(yield this.synchronizationTimer.stop())}))}_getStatus(e=!1){return(0,f.__awaiter)(this,void 0,void 0,(function*(){this.checkInitialized();const t=yield this.transactionIndex.getLastTransactionTimestamp(),r=yield this.transactionIndex.getIndexedLocations(),f=yield this.ignoredLocationIndex.getIgnoredLocations(),n=this.synchronizationTimer.getConfig();return{filesIgnored:{count:Object.keys(f).length,list:e?f:void 0},filesRetrieved:{count:r.length,lastTimestamp:t,list:e?r:void 0},lastSynchronizationTimestamp:this.lastSyncStorageTimestamp,storage:yield this.storage._getStatus(e),synchronizationConfig:n}}))}pushLocationsWithTopics(e){return(0,f.__awaiter)(this,void 0,void 0,(function*(){if(!e)throw Error("data from storage do not follow the standard");let t=0,r=0;yield o.each(e,(e=>(0,f.__awaiter)(this,void 0,void 0,(function*(){if(!e.content||!e.id)throw Error("data from storage do not follow the standard");let f;const n=e.content;try{f=c.default.parseBlock(n),r++,yield this.transactionIndex.addTransaction(e.id,f.header,e.meta.timestamp)}catch(r){t++,yield this.ignoredLocationIndex.pushReasonByLocation(e.id,r.message),this.logger.debug(`Error: can't parse content of the dataId (${e.id}): ${r}`,["synchronization"])}})))),this.logger.info(`Synchronization: ${r} blocks synchronized, ${t} ignored from parsing error`,["synchronization"])}))}getBlockAndMetaFromStorageLocation(e){return(0,f.__awaiter)(this,void 0,void 0,(function*(){return Promise.all(e.map((e=>(0,f.__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,r,f){const n=(0,i.unique)(e).uniqueItems.map((e=>({state:f.state===a.StorageTypes.ContentState.CONFIRMED?a.DataAccessTypes.TransactionState.CONFIRMED:a.DataAccessTypes.TransactionState.PENDING,timestamp:f.timestamp,transaction:t.transactions[e]}))),o=Array(n.length).fill(r),s=n.map((()=>f));return{transactions:n,transactionsStorageLocation:o,storageMeta:s}}checkInitialized(){if(!this.isInitialized)throw new Error("DataAccess must be initialized")}}},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0});const f=r(51),n=r(107);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(0,f.__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(0,f.__awaiter)(this,void 0,void 0,(function*(){yield this.reasonsByIgnoredLocation.delete(e)}))}getReasonFromLocation(e){return(0,f.__awaiter)(this,void 0,void 0,(function*(){const t=yield this.reasonsByIgnoredLocation.get(e);return t||null}))}getIgnoredLocations(){return(0,f.__awaiter)(this,void 0,void 0,(function*(){const e=yield this.listIgnoredLocation.get("list");if(!e)return{};const t={};for(const r of Array.from(e))t[r]=yield this.reasonsByIgnoredLocation.get(r);return t}))}updateDataId(e){return(0,f.__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,r){(function(e){t.stringify=function t(r){if(void 0===r)return r;if(r&&e.isBuffer(r))return JSON.stringify(":base64:"+r.toString("base64"));if(r&&r.toJSON&&(r=r.toJSON()),r&&"object"==typeof r){var f="",n=Array.isArray(r);f=n?"[":"{";var a=!0;for(var i in r){var o="function"==typeof r[i]||!n&&void 0===r[i];Object.hasOwnProperty.call(r,i)&&!o&&(a||(f+=","),a=!1,n?null==r[i]?f+="null":f+=t(r[i]):void 0!==r[i]&&(f+=t(i)+":"+t(r[i])))}return f+=n?"]":"}"}return"string"==typeof r?JSON.stringify(/^:/.test(r)?":"+r:r):void 0===r?"null":JSON.stringify(r)},t.parse=function(t){return JSON.parse(t,(function(t,r){return"string"==typeof r?/^:base64:/.test(r)?e.from(r.substring(8),"base64"):/^:/.test(r)?r.substring(1):r:r}))}}).call(this,r(6).Buffer)},function(e,t){function r(e){var t=new Error("Cannot find module '"+e+"'");throw t.code="MODULE_NOT_FOUND",t}r.keys=function(){return[]},r.resolve=r,e.exports=r,r.id=740},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0});const f=r(51);t.default=class{constructor(e,t,r,f=1){this.intervalFunctionSuccessiveFailureCount=0,this.timeoutObject=null,this.lastRecursion=Promise.resolve(),this.intervalFunction=e,this.intervalTime=t,this.logger=r,this.successiveFailureThreshold=f}start(){if(this.timeoutObject)throw Error("IntervalTimer already started");const e=()=>(0,f.__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(0,f.__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,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0});const f=r(51),n=r(282),a=r(107),i=r(285),o=r(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(0,f.__awaiter)(this,void 0,void 0,(function*(){}))}getLastTransactionTimestamp(){return this.timestampByLocation.getLastTransactionTimestamp()}addTransaction(e,t,r){return(0,f.__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,r),yield this.updateIndexedLocation(e)}))}removeTransaction(e){return(0,f.__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(0,f.__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(0,f.__awaiter)(this,void 0,void 0,(function*(){if(!this.locationByTopic)throw new Error("TransactionIndex must be initialized");let r=yield this.locationByTopic.getStorageLocationsFromChannelId(e);return r=yield n.filter(r,(e=>(0,f.__awaiter)(this,void 0,void 0,(function*(){const r=null!==(yield this.timestampByLocation.getTimestampFromLocation(e)),f=!t||(yield this.timestampByLocation.isDataInBoundaries(e,t));return r&&f})))),r}))}getChannelIdsForTopic(e,t){return(0,f.__awaiter)(this,void 0,void 0,(function*(){if(!this.locationByTopic)throw new Error("TransactionIndex must be initialized");const r=yield this.locationByTopic.getChannelIdsFromTopic(e);if(t){const e=[];for(const f of r){const r=yield this.locationByTopic.getStorageLocationsFromChannelId(f);for(const n of r){if(yield this.timestampByLocation.isDataInBoundaries(n,t)){e.push(f);break}}}return e}return r}))}getChannelIdsForMultipleTopics(e,t){return(0,f.__awaiter)(this,void 0,void 0,(function*(){if(!this.locationByTopic)throw new Error("TransactionIndex must be initialized");const r=yield this.locationByTopic.getChannelIdsFromMultipleTopics(e);if(t){const e=[];for(const f of r){const r=yield this.locationByTopic.getStorageLocationsFromChannelId(f);for(const n of r){if(yield this.timestampByLocation.isDataInBoundaries(n,t)){e.push(f);break}}}return e}return r}))}getIndexedLocations(){return(0,f.__awaiter)(this,void 0,void 0,(function*(){return(yield this.indexedLocation.get("list"))||[]}))}updateIndexedLocation(e){return(0,f.__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,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.CombinedDataAccess=void 0;const f=r(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(0,f.__awaiter)(this,void 0,void 0,(function*(){yield this.reader.initialize(),yield this.writer.initialize()}))}close(){return(0,f.__awaiter)(this,void 0,void 0,(function*(){yield this.writer.close(),yield this.reader.close()}))}}},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0});const f=r(69),n=r(41),a=r(4),i=r(28),o=r(7);t.default=class{constructor(){this.data=new Map,this.forceEmitError=!1}initialize(){return(0,f.__awaiter)(this,void 0,void 0,(function*(){}))}ipfsAdd(e){return(0,f.__awaiter)(this,void 0,void 0,(function*(){if(!e)throw Error("Error: no content provided");const t=n.default.serialize((0,o.normalizeKeccak256Hash)(e)),r=(0,o.getCurrentTimestampInSecond)();return this.data.set(t,{content:e,state:a.StorageTypes.ContentState.PENDING,timestamp:r}),{ipfsHash:t,ipfsSize:e.length}}))}append(e){return(0,f.__awaiter)(this,void 0,void 0,(function*(){if(!e)throw Error("Error: no content provided");const t=n.default.serialize((0,o.normalizeKeccak256Hash)(e)),r=(0,o.getCurrentTimestampInSecond)(),f={content:e,state:a.StorageTypes.ContentState.PENDING,timestamp:r};this.data.set(t,f);const s={content:e,id:t,meta:{state:a.StorageTypes.ContentState.PENDING,storageType:a.StorageTypes.StorageSystemType.IN_MEMORY_MOCK,timestamp:r}},c=Object.assign(new i.EventEmitter,s);return setTimeout((()=>{this.forceEmitError?(this.forceEmitError=!1,c.emit("error","forced error asked by _makeNextAppendFailInsteadOfConfirmed()")):(f.state=a.StorageTypes.ContentState.CONFIRMED,this.data.set(t,f),c.emit("confirmed",s))}),100),c}))}read(e){return(0,f.__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(0,f.__awaiter)(this,void 0,void 0,(function*(){return Promise.all(e.map((e=>this.read(e))))}))}getData(){return(0,f.__awaiter)(this,void 0,void 0,(function*(){return{entries:Array.from(this.data.entries()).map((([e,{content:t,state:r,timestamp:f}])=>({content:t,id:e,meta:{state:r,storageType:a.StorageTypes.StorageSystemType.IN_MEMORY_MOCK,timestamp:f}}))),lastTimestamp:(0,o.getCurrentTimestampInSecond)()}}))}getIgnoredData(){return(0,f.__awaiter)(this,void 0,void 0,(function*(){return[]}))}_getStatus(e){return(0,f.__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,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0});const f=r(69),n=r(281),a=r(44),i=r(4),o=r(67),s=r(3),c=r(28),u=r(280),d=r(7);class l extends u.default{constructor({httpConfig:e,nodeConnectionConfig:t,web3:r,ethereumProviderUrl:f}={httpConfig:{},nodeConnectionConfig:{}}){super({httpConfig:e,nodeConnectionConfig:t}),this.cache={},this.networkName="",f=f||"http://localhost:8545",this.provider=r?new s.ethers.providers.Web3Provider(r):new s.ethers.providers.JsonRpcProvider({url:f})}initialize(){return(0,f.__awaiter)(this,void 0,void 0,(function*(){}))}persistTransaction(e,t,r){return(0,f.__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 f=n.Block.pushTransaction(n.Block.createEmptyBlock(),e,t,r),{data:{ipfsHash:u,ipfsSize:d}}=yield o.default.post("/ipfsAdd",{data:f},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}),h=yield this.provider.getBlock(p.blockNumber),b={blockConfirmation:p.confirmations,blockNumber:p.blockNumber,blockTimestamp:h.timestamp,fee:l,networkName:this.networkName,smartContractAddress:p.to,transactionHash:p.hash};this.cache[t]||(this.cache[t]={}),this.cache[t][u]={block:f,storageMeta:b};const m=new c.EventEmitter,y={meta:{storageMeta:{ethereum:b,ipfs:{size:d},state:i.StorageTypes.ContentState.PENDING,timestamp:b.blockTimestamp},topics:r||[],transactionStorageLocation:u},result:{}};return p.wait().then((e=>{const t={blockConfirmation:e.confirmations,blockNumber:e.blockNumber,blockTimestamp:h.timestamp,fee:l,networkName:this.networkName,smartContractAddress:e.to,transactionHash:e.hash};m.emit("confirmed",{meta:{storageMeta:t,topics:r||[],transactionStorageLocation:u},result:{}})})),Object.assign(m,y)}))}getTransactionsByChannelId(e,t){return(0,f.__awaiter)(this,void 0,void 0,(function*(){const{data:r}=yield(0,d.retry)((()=>(0,f.__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,r.meta.transactionsStorageLocation,t);return{meta:{storageMeta:r.meta.storageMeta.concat(n.meta.storageMeta),transactionsStorageLocation:r.meta.transactionsStorageLocation.concat(n.meta.transactionsStorageLocation)},result:{transactions:r.result.transactions.concat(n.result.transactions)}}}))}getCachedTransactionsAndCleanCache(e,t,r){for(const r of t)this.cache[e][r]=null;return Object.keys(this.cache[e]||[]).reduce(((t,f)=>{var n;const a=this.cache[e][f];return this.cache[e][f]&&(!r||(void 0===r.from||r.from<=(null==a?void 0:a.storageMeta.blockTimestamp))&&(void 0===r.to||r.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(f),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,r){"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;(0,r(69).__exportStar)(r(159),t);var f=r(4);Object.defineProperty(t,"AdvancedLogic",{enumerable:!0,get:function(){return f.AdvancedLogicTypes}}),Object.defineProperty(t,"Log",{enumerable:!0,get:function(){return f.LogTypes}}),Object.defineProperty(t,"DecryptionProvider",{enumerable:!0,get:function(){return f.DecryptionProviderTypes}}),Object.defineProperty(t,"Extension",{enumerable:!0,get:function(){return f.ExtensionTypes}}),Object.defineProperty(t,"Encryption",{enumerable:!0,get:function(){return f.EncryptionTypes}}),Object.defineProperty(t,"RequestLogic",{enumerable:!0,get:function(){return f.RequestLogicTypes}}),Object.defineProperty(t,"DataAccess",{enumerable:!0,get:function(){return f.DataAccessTypes}}),Object.defineProperty(t,"Signature",{enumerable:!0,get:function(){return f.SignatureTypes}}),Object.defineProperty(t,"SignatureProvider",{enumerable:!0,get:function(){return f.SignatureProviderTypes}}),Object.defineProperty(t,"Identity",{enumerable:!0,get:function(){return f.IdentityTypes}}),Object.defineProperty(t,"Storage",{enumerable:!0,get:function(){return f.StorageTypes}}),Object.defineProperty(t,"Transaction",{enumerable:!0,get:function(){return f.TransactionTypes}}),Object.defineProperty(t,"Payment",{enumerable:!0,get:function(){return f.PaymentTypes}})},function(e,t,r){"use strict";r.r(t),r.d(t,"dma",(function(){return a})),r.d(t,"sma",(function(){return i})),r.d(t,"ema",(function(){return o})),r.d(t,"ma",(function(){return s})),r.d(t,"wma",(function(){return c}));const f=e=>"number"==typeof e&&e==e,n=Array.isArray;var a=(e,t,r)=>{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],f(s)&&(i||f(s))){o[c]=r?0:s,u=s,c++;break}if(!i){for(;c<a;c++)s=e[c],f(s)&&f(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],f(s)?u=o[c]=t*s+d*u:o[c]=o[c-1];return o},i=(e,t,r=1)=>a(e,r/t,1),o=(e,t)=>a(e,2/(t+1)),s=(e,t)=>{const r=e.length;if(!t)return e.reduce(((e,t)=>e+t))/r;if(t<=1)return e.slice();if(t>r)return Array(r);const n=t-1,a=[];let i,o=0,s=0,c=0;for(;s<r&&c<n;s++)i=e[s],f(i)&&(o+=i,c++);for(;s<r;s++)i=e[s],f(i)&&(o+=i),f(e[s-t])&&(o-=e[s-t]),a[s]=o/t;return a},c=(e,t)=>{const r=e.length;if(t<=1)return e.slice();if(t>r)return Array(r);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],f(c)&&(o+=c,s+=(u+1)*c);for(;u<r;u++,d++)c=e[u],f(c)&&(o+=c,s+=t*c),d>=0&&f(e[d])&&(o-=e[d]),n[u]=s/a,s-=o;return n}},function(e,t,r){"use strict";r.d(t,"a",(function(){return a}));var f=r(0),n=r(60);function a(e,t,r,a,i){let o;e=Object(f.arrayify)(e),t=Object(f.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 h=Object(f.arrayify)(Object(n.a)(i,e,u));o||(o=h.length,l=new Uint8Array(o),s=Math.ceil(a/o),d=a-(s-1)*o),l.set(h);for(let t=1;t<r;t++){h=Object(f.arrayify)(Object(n.a)(i,e,h));for(let e=0;e<o;e++)l[e]^=h[e]}const b=(p-1)*o,m=p===s?d:o;c.set(Object(f.arrayify)(l).slice(0,m),b)}return Object(f.hexlify)(c)}},,,function(e,t,r){"use strict";r.d(t,"b",(function(){return h})),r.d(t,"c",(function(){return b})),r.d(t,"a",(function(){return y}));var f=r(0),n=r(2),a=r(109),i=r(13);const o=new n.Logger(a.a),s={},c=i.a.from(0),u=i.a.from(-1);function d(e,t,r,f){const a={fault:t,operation:r};return void 0!==f&&(a.value=f),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 h(e,t){null==t&&(t=0);const r=p(t),f=(e=i.a.from(e)).lt(c);f&&(e=e.mul(u));let n=e.mod(r).toString();for(;n.length<r.length-1;)n="0"+n;n=n.match(/^([0-9]*[1-9]|0)(0*)/)[1];const a=e.div(r).toString();return e=1===r.length?a:a+"."+n,f&&(e="-"+e),e}function b(e,t){null==t&&(t=0);const r=p(t);"string"==typeof e&&e.match(/^-?[0-9.]+$/)||o.throwArgumentError("invalid decimal value","value",e);const f="-"===e.substring(0,1);f&&(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>r.length-1&&d("fractional component exceeds decimals","underflow","parseFixed"),""===s&&(s="0");s.length<r.length-1;)s+="0";const c=i.a.from(a),l=i.a.from(s);let h=c.mul(r).add(l);return f&&(h=h.mul(u)),h}class m{constructor(e,t,r,f){e!==s&&o.throwError("cannot use FixedFormat constructor; use FixedFormat.from",n.Logger.errors.UNSUPPORTED_OPERATION,{operation:"new FixedFormat"}),this.signed=t,this.width=r,this.decimals=f,this.name=(t?"":"u")+"fixed"+String(r)+"x"+String(f),this._multiplier=p(f),Object.freeze(this)}static from(e){if(e instanceof m)return e;"number"==typeof e&&(e=`fixed128x${e}`);let t=!0,r=128,f=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],r=parseInt(n[2]),f=parseInt(n[3])}else if(e){const n=(t,r,f)=>null==e[t]?f:(typeof e[t]!==r&&o.throwArgumentError("invalid fixed format ("+t+" not "+r+")","format."+t,e[t]),e[t]);t=n("signed","boolean",t),r=n("width","number",r),f=n("decimals","number",f)}return r%8&&o.throwArgumentError("invalid fixed format width (not byte aligned)","format.width",r),f>80&&o.throwArgumentError("invalid fixed format (decimals too large)","format.decimals",f),new m(s,t,r,f)}}class y{constructor(e,t,r,f){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=f,this._hex=t,this._value=r,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=b(this._value,this.format.decimals),r=b(e._value,e.format.decimals);return y.fromValue(t.add(r),this.format.decimals,this.format)}subUnsafe(e){this._checkFormat(e);const t=b(this._value,this.format.decimals),r=b(e._value,e.format.decimals);return y.fromValue(t.sub(r),this.format.decimals,this.format)}mulUnsafe(e){this._checkFormat(e);const t=b(this._value,this.format.decimals),r=b(e._value,e.format.decimals);return y.fromValue(t.mul(r).div(this.format._multiplier),this.format.decimals,this.format)}divUnsafe(e){this._checkFormat(e);const t=b(this._value,this.format.decimals),r=b(e._value,e.format.decimals);return y.fromValue(t.mul(this.format._multiplier).div(r),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 r=!e[1].match(/^(0*)$/);return this.isNegative()&&r&&(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 r=!e[1].match(/^(0*)$/);return!this.isNegative()&&r&&(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 r=y.from("1"+l.substring(0,e),this.format),f=v.toFormat(this.format);return this.mulUnsafe(r).addUnsafe(f).floor().divUnsafe(r)}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(f.hexZeroPad)(t,e/8)}toUnsafeFloat(){return parseFloat(this.toString())}toFormat(e){return y.fromString(this._value,e)}static fromValue(e,t,r){return null!=r||null==t||Object(i.d)(t)||(r=t,t=null),null==t&&(t=0),null==r&&(r="fixed"),y.fromString(h(e,t),m.from(r))}static fromString(e,t){null==t&&(t="fixed");const r=m.from(t),n=b(e,r.decimals);!r.signed&&n.lt(c)&&d("unsigned value cannot be negative","overflow","value",e);let a=null;r.signed?a=n.toTwos(r.width).toHexString():(a=n.toHexString(),a=Object(f.hexZeroPad)(a,r.width/8));const i=h(n,r.decimals);return new y(s,a,i,r)}static fromBytes(e,t){null==t&&(t="fixed");const r=m.from(t);if(Object(f.arrayify)(e).length>r.width/8)throw new Error("overflow");let n=i.a.from(e);r.signed&&(n=n.fromTwos(r.width));const a=n.toTwos((r.signed?0:1)+r.width).toHexString(),o=h(n,r.decimals);return new y(s,a,o,r)}static from(e,t){if("string"==typeof e)return y.fromString(e,t);if(Object(f.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,r){"use strict";r.d(t,"a",(function(){return s}));var f=r(114);let n=null;function a(e){if(null==n&&(n="AbandonAbilityAbleAboutAboveAbsentAbsorbAbstractAbsurdAbuseAccessAccidentAccountAccuseAchieveAcidAcousticAcquireAcrossActActionActorActressActualAdaptAddAddictAddressAdjustAdmitAdultAdvanceAdviceAerobicAffairAffordAfraidAgainAgeAgentAgreeAheadAimAirAirportAisleAlarmAlbumAlcoholAlertAlienAllAlleyAllowAlmostAloneAlphaAlreadyAlsoAlterAlwaysAmateurAmazingAmongAmountAmusedAnalystAnchorAncientAngerAngleAngryAnimalAnkleAnnounceAnnualAnotherAnswerAntennaAntiqueAnxietyAnyApartApologyAppearAppleApproveAprilArchArcticAreaArenaArgueArmArmedArmorArmyAroundArrangeArrestArriveArrowArtArtefactArtistArtworkAskAspectAssaultAssetAssistAssumeAsthmaAthleteAtomAttackAttendAttitudeAttractAuctionAuditAugustAuntAuthorAutoAutumnAverageAvocadoAvoidAwakeAwareAwayAwesomeAwfulAwkwardAxisBabyBachelorBaconBadgeBagBalanceBalconyBallBambooBananaBannerBarBarelyBargainBarrelBaseBasicBasketBattleBeachBeanBeautyBecauseBecomeBeefBeforeBeginBehaveBehindBelieveBelowBeltBenchBenefitBestBetrayBetterBetweenBeyondBicycleBidBikeBindBiologyBirdBirthBitterBlackBladeBlameBlanketBlastBleakBlessBlindBloodBlossomBlouseBlueBlurBlushBoardBoatBodyBoilBombBoneBonusBookBoostBorderBoringBorrowBossBottomBounceBoxBoyBracketBrainBrandBrassBraveBreadBreezeBrickBridgeBriefBrightBringBriskBroccoliBrokenBronzeBroomBrotherBrownBrushBubbleBuddyBudgetBuffaloBuildBulbBulkBulletBundleBunkerBurdenBurgerBurstBusBusinessBusyButterBuyerBuzzCabbageCabinCableCactusCageCakeCallCalmCameraCampCanCanalCancelCandyCannonCanoeCanvasCanyonCapableCapitalCaptainCarCarbonCardCargoCarpetCarryCartCaseCashCasinoCastleCasualCatCatalogCatchCategoryCattleCaughtCauseCautionCaveCeilingCeleryCementCensusCenturyCerealCertainChairChalkChampionChangeChaosChapterChargeChaseChatCheapCheckCheeseChefCherryChestChickenChiefChildChimneyChoiceChooseChronicChuckleChunkChurnCigarCinnamonCircleCitizenCityCivilClaimClapClarifyClawClayCleanClerkCleverClickClientCliffClimbClinicClipClockClogCloseClothCloudClownClubClumpClusterClutchCoachCoastCoconutCodeCoffeeCoilCoinCollectColorColumnCombineComeComfortComicCommonCompanyConcertConductConfirmCongressConnectConsiderControlConvinceCookCoolCopperCopyCoralCoreCornCorrectCostCottonCouchCountryCoupleCourseCousinCoverCoyoteCrackCradleCraftCramCraneCrashCraterCrawlCrazyCreamCreditCreekCrewCricketCrimeCrispCriticCropCrossCrouchCrowdCrucialCruelCruiseCrumbleCrunchCrushCryCrystalCubeCultureCupCupboardCuriousCurrentCurtainCurveCushionCustomCuteCycleDadDamageDampDanceDangerDaringDashDaughterDawnDayDealDebateDebrisDecadeDecemberDecideDeclineDecorateDecreaseDeerDefenseDefineDefyDegreeDelayDeliverDemandDemiseDenialDentistDenyDepartDependDepositDepthDeputyDeriveDescribeDesertDesignDeskDespairDestroyDetailDetectDevelopDeviceDevoteDiagramDialDiamondDiaryDiceDieselDietDifferDigitalDignityDilemmaDinnerDinosaurDirectDirtDisagreeDiscoverDiseaseDishDismissDisorderDisplayDistanceDivertDivideDivorceDizzyDoctorDocumentDogDollDolphinDomainDonateDonkeyDonorDoorDoseDoubleDoveDraftDragonDramaDrasticDrawDreamDressDriftDrillDrinkDripDriveDropDrumDryDuckDumbDuneDuringDustDutchDutyDwarfDynamicEagerEagleEarlyEarnEarthEasilyEastEasyEchoEcologyEconomyEdgeEditEducateEffortEggEightEitherElbowElderElectricElegantElementElephantElevatorEliteElseEmbarkEmbodyEmbraceEmergeEmotionEmployEmpowerEmptyEnableEnactEndEndlessEndorseEnemyEnergyEnforceEngageEngineEnhanceEnjoyEnlistEnoughEnrichEnrollEnsureEnterEntireEntryEnvelopeEpisodeEqualEquipEraEraseErodeErosionErrorEruptEscapeEssayEssenceEstateEternalEthicsEvidenceEvilEvokeEvolveExactExampleExcessExchangeExciteExcludeExcuseExecuteExerciseExhaustExhibitExileExistExitExoticExpandExpectExpireExplainExposeExpressExtendExtraEyeEyebrowFabricFaceFacultyFadeFaintFaithFallFalseFameFamilyFamousFanFancyFantasyFarmFashionFatFatalFatherFatigueFaultFavoriteFeatureFebruaryFederalFeeFeedFeelFemaleFenceFestivalFetchFeverFewFiberFictionFieldFigureFileFilmFilterFinalFindFineFingerFinishFireFirmFirstFiscalFishFitFitnessFixFlagFlameFlashFlatFlavorFleeFlightFlipFloatFlockFloorFlowerFluidFlushFlyFoamFocusFogFoilFoldFollowFoodFootForceForestForgetForkFortuneForumForwardFossilFosterFoundFoxFragileFrameFrequentFreshFriendFringeFrogFrontFrostFrownFrozenFruitFuelFunFunnyFurnaceFuryFutureGadgetGainGalaxyGalleryGameGapGarageGarbageGardenGarlicGarmentGasGaspGateGatherGaugeGazeGeneralGeniusGenreGentleGenuineGestureGhostGiantGiftGiggleGingerGiraffeGirlGiveGladGlanceGlareGlassGlideGlimpseGlobeGloomGloryGloveGlowGlueGoatGoddessGoldGoodGooseGorillaGospelGossipGovernGownGrabGraceGrainGrantGrapeGrassGravityGreatGreenGridGriefGritGroceryGroupGrowGruntGuardGuessGuideGuiltGuitarGunGymHabitHairHalfHammerHamsterHandHappyHarborHardHarshHarvestHatHaveHawkHazardHeadHealthHeartHeavyHedgehogHeightHelloHelmetHelpHenHeroHiddenHighHillHintHipHireHistoryHobbyHockeyHoldHoleHolidayHollowHomeHoneyHoodHopeHornHorrorHorseHospitalHostHotelHourHoverHubHugeHumanHumbleHumorHundredHungryHuntHurdleHurryHurtHusbandHybridIceIconIdeaIdentifyIdleIgnoreIllIllegalIllnessImageImitateImmenseImmuneImpactImposeImproveImpulseInchIncludeIncomeIncreaseIndexIndicateIndoorIndustryInfantInflictInformInhaleInheritInitialInjectInjuryInmateInnerInnocentInputInquiryInsaneInsectInsideInspireInstallIntactInterestIntoInvestInviteInvolveIronIslandIsolateIssueItemIvoryJacketJaguarJarJazzJealousJeansJellyJewelJobJoinJokeJourneyJoyJudgeJuiceJumpJungleJuniorJunkJustKangarooKeenKeepKetchupKeyKickKidKidneyKindKingdomKissKitKitchenKiteKittenKiwiKneeKnifeKnockKnowLabLabelLaborLadderLadyLakeLampLanguageLaptopLargeLaterLatinLaughLaundryLavaLawLawnLawsuitLayerLazyLeaderLeafLearnLeaveLectureLeftLegLegalLegendLeisureLemonLendLengthLensLeopardLessonLetterLevelLiarLibertyLibraryLicenseLifeLiftLightLikeLimbLimitLinkLionLiquidListLittleLiveLizardLoadLoanLobsterLocalLockLogicLonelyLongLoopLotteryLoudLoungeLoveLoyalLuckyLuggageLumberLunarLunchLuxuryLyricsMachineMadMagicMagnetMaidMailMainMajorMakeMammalManManageMandateMangoMansionManualMapleMarbleMarchMarginMarineMarketMarriageMaskMassMasterMatchMaterialMathMatrixMatterMaximumMazeMeadowMeanMeasureMeatMechanicMedalMediaMelodyMeltMemberMemoryMentionMenuMercyMergeMeritMerryMeshMessageMetalMethodMiddleMidnightMilkMillionMimicMindMinimumMinorMinuteMiracleMirrorMiseryMissMistakeMixMixedMixtureMobileModelModifyMomMomentMonitorMonkeyMonsterMonthMoonMoralMoreMorningMosquitoMotherMotionMotorMountainMouseMoveMovieMuchMuffinMuleMultiplyMuscleMuseumMushroomMusicMustMutualMyselfMysteryMythNaiveNameNapkinNarrowNastyNationNatureNearNeckNeedNegativeNeglectNeitherNephewNerveNestNetNetworkNeutralNeverNewsNextNiceNightNobleNoiseNomineeNoodleNormalNorthNoseNotableNoteNothingNoticeNovelNowNuclearNumberNurseNutOakObeyObjectObligeObscureObserveObtainObviousOccurOceanOctoberOdorOffOfferOfficeOftenOilOkayOldOliveOlympicOmitOnceOneOnionOnlineOnlyOpenOperaOpinionOpposeOptionOrangeOrbitOrchardOrderOrdinaryOrganOrientOriginalOrphanOstrichOtherOutdoorOuterOutputOutsideOvalOvenOverOwnOwnerOxygenOysterOzonePactPaddlePagePairPalacePalmPandaPanelPanicPantherPaperParadeParentParkParrotPartyPassPatchPathPatientPatrolPatternPausePavePaymentPeacePeanutPearPeasantPelicanPenPenaltyPencilPeoplePepperPerfectPermitPersonPetPhonePhotoPhrasePhysicalPianoPicnicPicturePiecePigPigeonPillPilotPinkPioneerPipePistolPitchPizzaPlacePlanetPlasticPlatePlayPleasePledgePluckPlugPlungePoemPoetPointPolarPolePolicePondPonyPoolPopularPortionPositionPossiblePostPotatoPotteryPovertyPowderPowerPracticePraisePredictPreferPreparePresentPrettyPreventPricePridePrimaryPrintPriorityPrisonPrivatePrizeProblemProcessProduceProfitProgramProjectPromoteProofPropertyProsperProtectProudProvidePublicPuddingPullPulpPulsePumpkinPunchPupilPuppyPurchasePurityPurposePursePushPutPuzzlePyramidQualityQuantumQuarterQuestionQuickQuitQuizQuoteRabbitRaccoonRaceRackRadarRadioRailRainRaiseRallyRampRanchRandomRangeRapidRareRateRatherRavenRawRazorReadyRealReasonRebelRebuildRecallReceiveRecipeRecordRecycleReduceReflectReformRefuseRegionRegretRegularRejectRelaxReleaseReliefRelyRemainRememberRemindRemoveRenderRenewRentReopenRepairRepeatReplaceReportRequireRescueResembleResistResourceResponseResultRetireRetreatReturnReunionRevealReviewRewardRhythmRibRibbonRiceRichRideRidgeRifleRightRigidRingRiotRippleRiskRitualRivalRiverRoadRoastRobotRobustRocketRomanceRoofRookieRoomRoseRotateRoughRoundRouteRoyalRubberRudeRugRuleRunRunwayRuralSadSaddleSadnessSafeSailSaladSalmonSalonSaltSaluteSameSampleSandSatisfySatoshiSauceSausageSaveSayScaleScanScareScatterSceneSchemeSchoolScienceScissorsScorpionScoutScrapScreenScriptScrubSeaSearchSeasonSeatSecondSecretSectionSecuritySeedSeekSegmentSelectSellSeminarSeniorSenseSentenceSeriesServiceSessionSettleSetupSevenShadowShaftShallowShareShedShellSheriffShieldShiftShineShipShiverShockShoeShootShopShortShoulderShoveShrimpShrugShuffleShySiblingSickSideSiegeSightSignSilentSilkSillySilverSimilarSimpleSinceSingSirenSisterSituateSixSizeSkateSketchSkiSkillSkinSkirtSkullSlabSlamSleepSlenderSliceSlideSlightSlimSloganSlotSlowSlushSmallSmartSmileSmokeSmoothSnackSnakeSnapSniffSnowSoapSoccerSocialSockSodaSoftSolarSoldierSolidSolutionSolveSomeoneSongSoonSorrySortSoulSoundSoupSourceSouthSpaceSpareSpatialSpawnSpeakSpecialSpeedSpellSpendSphereSpiceSpiderSpikeSpinSpiritSplitSpoilSponsorSpoonSportSpotSpraySpreadSpringSpySquareSqueezeSquirrelStableStadiumStaffStageStairsStampStandStartStateStaySteakSteelStemStepStereoStickStillStingStockStomachStoneStoolStoryStoveStrategyStreetStrikeStrongStruggleStudentStuffStumbleStyleSubjectSubmitSubwaySuccessSuchSuddenSufferSugarSuggestSuitSummerSunSunnySunsetSuperSupplySupremeSureSurfaceSurgeSurpriseSurroundSurveySuspectSustainSwallowSwampSwapSwarmSwearSweetSwiftSwimSwingSwitchSwordSymbolSymptomSyrupSystemTableTackleTagTailTalentTalkTankTapeTargetTaskTasteTattooTaxiTeachTeamTellTenTenantTennisTentTermTestTextThankThatThemeThenTheoryThereTheyThingThisThoughtThreeThriveThrowThumbThunderTicketTideTigerTiltTimberTimeTinyTipTiredTissueTitleToastTobaccoTodayToddlerToeTogetherToiletTokenTomatoTomorrowToneTongueTonightToolToothTopTopicToppleTorchTornadoTortoiseTossTotalTouristTowardTowerTownToyTrackTradeTrafficTragicTrainTransferTrapTrashTravelTrayTreatTreeTrendTrialTribeTrickTriggerTrimTripTrophyTroubleTruckTrueTrulyTrumpetTrustTruthTryTubeTuitionTumbleTunaTunnelTurkeyTurnTurtleTwelveTwentyTwiceTwinTwistTwoTypeTypicalUglyUmbrellaUnableUnawareUncleUncoverUnderUndoUnfairUnfoldUnhappyUniformUniqueUnitUniverseUnknownUnlockUntilUnusualUnveilUpdateUpgradeUpholdUponUpperUpsetUrbanUrgeUsageUseUsedUsefulUselessUsualUtilityVacantVacuumVagueValidValleyValveVanVanishVaporVariousVastVaultVehicleVelvetVendorVentureVenueVerbVerifyVersionVeryVesselVeteranViableVibrantViciousVictoryVideoViewVillageVintageViolinVirtualVirusVisaVisitVisualVitalVividVocalVoiceVoidVolcanoVolumeVoteVoyageWageWagonWaitWalkWallWalnutWantWarfareWarmWarriorWashWaspWasteWaterWaveWayWealthWeaponWearWeaselWeatherWebWeddingWeekendWeirdWelcomeWestWetWhaleWhatWheatWheelWhenWhereWhipWhisperWideWidthWifeWildWillWinWindowWineWingWinkWinnerWinterWireWisdomWiseWishWitnessWolfWomanWonderWoodWoolWordWorkWorldWorryWorthWrapWreckWrestleWristWriteWrongYardYearYellowYouYoungYouthZebraZeroZoneZoo".replace(/([A-Z])/g," $1").toLowerCase().substring(1).split(" "),"0x3c8acc1e7b08d8e76f9fda015ef48dc8c710a73cb7e0f77b2c18a9b5a7adde60"!==f.a.check(e)))throw n=null,new Error("BIP39 Wordlist for en (English) FAILED")}class i extends f.a{constructor(){super("en")}getWord(e){return a(this),n[e]}getWordIndex(e){return a(this),n.indexOf(e)}}const o=new i;f.a.register(o);const s={en:o}}])}));
|
|
285
285
|
//# sourceMappingURL=requestnetwork.min.js.map
|