Socket
Socket
Sign inDemoInstall

@chainlink/evm-gauntlet

Package Overview
Dependencies
Maintainers
5
Versions
126
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

@chainlink/evm-gauntlet - npm Package Compare versions

Comparing version 0.0.0-develop-20240131210436 to 0.0.0-develop-20240227131954

dist/evm/commands/native/batchInspectionCommand.d.ts

1

dist/core/commands/base/executeCommand.d.ts

@@ -12,2 +12,3 @@ import { CommandCtor } from '.';

flags: any;
env: any;
contract: Contract;

@@ -14,0 +15,0 @@ }

5

dist/core/commands/base/executeCommand.js

@@ -155,3 +155,4 @@ "use strict";

contractAddress: c.contractAddress,
flags: flags,
flags,
env,
contract: c.contract,

@@ -188,2 +189,2 @@ };

exports.makeExecuteCommand = makeExecuteCommand;
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXhlY3V0ZUNvbW1hbmQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvY29yZS9jb21tYW5kcy9iYXNlL2V4ZWN1dGVDb21tYW5kLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUFBLDREQUErRDtBQU0vRCx1Q0FBNEQ7QUFDNUQsMENBQXFEO0FBbUM5QyxNQUFNLGtCQUFrQixHQUFHLENBQ2hDLG1CQUFpRSxFQUNqRSxzQkFBNEQsRUFDNUQseUJBQXdHLEVBQ3hHLEVBQUUsQ0FBQyxDQUNILE1BTUMsRUFDRCxFQUFFLENBQUMsQ0FBQyxJQUE4RSxFQUFFLEVBQUU7O0lBQ3RGLE1BQU0sRUFBRSxHQUFHLElBQUEsdUJBQWEsRUFBQyxNQUFNLENBQUMsUUFBUSxFQUFFLE1BQU0sQ0FBQyxNQUFNLEVBQUUsTUFBTSxDQUFDLFFBQVEsQ0FBQyxDQUFBO0lBRXpFLE1BQU0sT0FBTyxTQVNSLE1BQU0sY0FBZSxTQUFRLDRCQUE4QztZQXFCOUUsWUFBWSxLQUFLLEVBQUUsSUFBSTtnQkFDckIsS0FBSyxDQUFDLEtBQUssRUFBRSxJQUFJLENBQUMsQ0FBQTtnQkFpRXBCLGtCQUFhLEdBQUcsQ0FBQyxPQUFlLEVBQVUsRUFBRSxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDLE9BQU8sRUFBRSxNQUFNLENBQUMsQ0FBQTtnQkFFL0UseUJBQW9CLEdBQUcsR0FBRyxFQUFFLENBQUMsS0FBSyxJQUFJLEVBQUUsR0FBRSxDQUFDLENBQUE7Z0JBRTNDLHdCQUFtQixHQUFHLEdBQUcsRUFBRSxDQUFDLEtBQUssSUFBSSxFQUFFLEdBQUUsQ0FBQyxDQUFBO2dCQUUxQyx1QkFBa0IsR0FBRyxHQUFHLEVBQUUsQ0FBQyxLQUFLLElBQUksRUFBRSxHQUFFLENBQUMsQ0FBQTtnQkFFekMsbUJBQWMsR0FBRyxLQUFLLEVBQ3BCLFdBQWlHLEVBQ2pHLEtBQVMsRUFDVCxFQUFFO29CQUNGLE1BQU0sTUFBTSxHQUFHLE1BQU0s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ZXNDb250ZW50IjpbImltcG9ydCB7IFJlc3VsdCwgV3JpdGVDb21tYW5kIH0gZnJvbSAnQGNoYWlubGluay9nYXVudGxldC1jb3JlJ1xuaW1wb3J0IHsgQ29tbWFuZEN0b3IgfSBmcm9tICcuJ1xuaW1wb3J0IHsgRGVwZW5kZW5jaWVzLCBCYXNpY0VudiB9IGZyb20gJy4uLy4uL2RlcGVuZGVuY2llcydcbmltcG9ydCB7IElQcm92aWRlciB9IGZyb20gJy4uLy4uL3Byb3ZpZGVyJ1xuaW1wb3J0IHsgVHJhbnNhY3Rpb25SZXNwb25zZSB9IGZyb20gJy4uLy4uL3RyYW5zYWN0aW9uJ1xuaW1wb3J0IHsgSVdhbGxldCB9IGZyb20gJy4uLy4uL3dhbGxldCdcbmltcG9ydCB7IG1ha2VDb21tYW5kSWQsIFZhbGlkYXRpb24sIElucHV0IH0gZnJvbSAnLi9jb21tYW5kJ1xuaW1wb3J0IHsgcHJpbnRFeGVjdXRpb25JbnB1dHMgfSBmcm9tICcuLi8uLi8uLi91dGlscydcbmltcG9ydCB7IENvbnRyYWN0TG9hZGVyLCBFeGVjdXRlQ29tbWFuZENvbmZpZywgRXhlY3V0ZUNvbW1hbmRJbnN0YW5jZSB9IGZyb20gJy4vdHlwZXMnXG5cbmV4cG9ydCBpbnRlcmZhY2UgRXhlY3V0aW9uQ29udGV4dDxXYWxsZXQsIFByb3ZpZGVyLCBDb250cmFjdCwgTWVzc2FnZSwgVHJhbnNhY3Rpb24+IHtcbiAgaWQ6IHN0cmluZ1xuICBjb250cmFjdEFkZHJlc3M6IHN0cmluZ1xuICB3YWxsZXQ6IElXYWxsZXQ8V2FsbGV0PlxuICBwcm92aWRlcjogSVByb3ZpZGVyPFByb3ZpZGVyLCBDb250cmFjdCwgTWVzc2FnZSwgVHJhbnNhY3Rpb24sIFdhbGxldD5cbiAgZmxhZ3M6IGFueVxuICBjb250cmFjdDogQ29udHJhY3Rcbn1cblxuZXhwb3J0IHR5cGUgQ29tbWFuZEluZm8gPSB7XG4gIGNvbnRyYWN0TmFtZTogc3RyaW5nXG4gIGFjdGlvbjogc3RyaW5nXG4gIGlucHV0czogUmVjb3JkPHN0cmluZywgYW55PlxufVxuXG50eXBlIE1ha2VNZXNzYWdlPENJLCBDb250cmFjdCwgUHJvdmlkZXIsIE1lc3NhZ2U+ID0gKFxuICBjb250cmFjdDogQ29udHJhY3QsXG4gIHByb3ZpZGVyOiBQcm92aWRlcixcbiAgaW5wdXQ6IENJLFxuICBhY3Rpb246IHN0cmluZyxcbiAgY29udHJhY3RBZGRyZXNzOiBzdHJpbmcsXG4gIGlzRGVwbG95bWVudD86IGJvb2xlYW4sXG4gIG9wdHM/OiBSZWNvcmQ8c3RyaW5nLCBhbnk+LFxuKSA9PiAoKSA9PiBQcm9taXNlPE1lc3NhZ2VbXT5cblxudHlwZSBHZXRGdW5jdGlvbklucHV0U2NoZW1hPENJLCBDb250cmFjdD4gPSAoXG4gIGNvbnRyYWN0OiBDb250cmFjdCxcbiAgY29udHJhY3ROYW1lOiBzdHJpbmcsXG4gIGZ1bmN0aW9uTmFtZTogc3RyaW5nLFxuICBpbnB1dDogQ0ksXG4pID0+ICgpID0+IENvbW1hbmRJbmZvXG5cbmV4cG9ydCBjb25zdCBtYWtlRXhlY3V0ZUNvbW1hbmQgPSA8VUksIENJLCBNZXNzYWdlLCBDb250cmFjdCwgUHJvdmlkZXIsIFRyYW5zYWN0aW9uLCBXYWxsZXQ+KFxuICByZWdpc3Rlck1ha2VNZXNzYWdlOiBNYWtlTWVzc2FnZTxDSSwgQ29udHJhY3QsIFByb3ZpZGVyLCBNZXNzYWdlPixcbiAgZ2V0RnVuY3Rpb25JbnB1dFNjaGVtYTogR2V0RnVuY3Rpb25JbnB1dFNjaGVtYTxDSSwgQ29udHJhY3Q+LFxuICBtYWtlRHluYW1pY0NvbnRyYWN0TG9hZGVyOiAoY29udHJhY3RMb2FkZXJzOiBDb250cmFjdExvYWRlcjxDb250cmFjdD5bXSkgPT4gKHVzZXJJbnB1dD86IFVJKSA9PiBDb250cmFjdCxcbikgPT4gKFxuICBjb25maWc6IEV4ZWN1dGVDb21tYW5kQ29uZmlnPFxuICAgIFVJLFxuICAgIENJLFxuICAgIFRyYW5zYWN0aW9uLFxuICAgIEV4ZWN1dGlvbkNvbnRleHQ8V2FsbGV0LCBQcm92aWRlciwgQ29udHJhY3QsIE1lc3NhZ2UsIFRyYW5zYWN0aW9uPixcbiAgICBDb250cmFjdFxuICA+LFxuKSA9PiAoZGVwczogRGVwZW5kZW5jaWVzPFByb3ZpZGVyLCBDb250cmFjdCwgTWVzc2FnZSwgVHJhbnNhY3Rpb24sIFdhbGxldCwgQmFzaWNFbnY+KSA9PiB7XG4gIGNvbnN0IGlkID0gbWFrZUNvbW1hbmRJZChjb25maWcuY2F0ZWdvcnksIGNvbmZpZy5hY3Rpb24sIGNvbmZpZy5zdWZmaXhlcylcblxuICBjb25zdCBjb21tYW5kOiBDb21tYW5kQ3RvcjxFeGVjdXRlQ29tbWFuZEluc3RhbmNlPFxuICAgIFVJLFxuICAgIENJLFxuICAgIFByb3ZpZGVyLFxuICAgIENvbnRyYWN0LFxuICAgIE1lc3NhZ2UsXG4gICAgVHJhbnNhY3Rpb24sXG4gICAgV2FsbGV0LFxuICAgIEV4ZWN1dGlvbkNvbnRleHQ8V2FsbGV0LCBQcm92aWRlciwgQ29udHJhY3QsIE1lc3NhZ2UsIFRyYW5zYWN0aW9uPlxuICA+PiA9IGNsYXNzIEV4ZWN1dGVDb21tYW5kIGV4dGVuZHMgV3JpdGVDb21tYW5kPFRyYW5zYWN0aW9uUmVzcG9uc2U8VHJhbnNhY3Rpb24+PiB7XG4gICAgW2tleTogc3RyaW5nXTogYW55XG5cbiAgICBwcm92aWRlcjogSVByb3ZpZGVyPFByb3ZpZGVyLCBDb250cmFjdCwgTWVzc2FnZSwgVHJhbnNhY3Rpb24sIFdhbGxldD5cbiAgICB3YWxsZXQ6IElXYWxsZXQ8V2FsbGV0PlxuICAgIGV4ZWN1dGlvbkNvbnRleHQ6IEV4ZWN1dGlvbkNvbnRleHQ8V2FsbGV0LCBQcm92aWRlciwgQ29udHJhY3QsIE1lc3NhZ2UsIFRyYW5zYWN0aW9uPlxuICAgIGNvbnRyYWN0QWRkcmVzczogc3RyaW5nXG4gICAgY29udHJhY3RGdW5jdGlvbjogc3RyaW5nXG4gICAgYWNjb3VudDogc3RyaW5nXG4gICAgY29udHJhY3Q6IENvbnRyYWN0XG4gICAgc2tpcFNpbXVsYXRlOiBib29sZWFuXG5cbiAgICBpbnB1dDogSW5wdXQ8VUksIENJPlxuXG4gICAgbWFrZU1lc3NhZ2U6ICgpID0+IFByb21pc2U8TWVzc2FnZVtdPlxuICAgIGdldENvbW1hbmRJbmZvOiAoKSA9PiBDb21tYW5kSW5mb1xuXG4gICAgYmVmb3JlRXhlY3V0ZTogKCkgPT4gUHJvbWlzZTx2b2lkPlxuICAgIGFmdGVyRXhlY3V0ZTogKHJlc3BvbnNlOiBSZXN1bHQ8VHJhbnNhY3Rpb25SZXNwb25zZTxUcmFuc2FjdGlvbj4+KSA9PiBQcm9taXNlPGFueT5cbiAgICBhZnRlckV4cG9ydDogKHJlc3BvbnNlOiBSZXN1bHQ8bnVsbD4pID0+IFByb21pc2U8YW55PlxuXG4gICAgY29uc3RydWN0b3IoZmxhZ3MsIGFyZ3MpIHtcbiAgICAgIHN1cGVyKGZsYWdzLCBhcmdzKVxuICAgIH1cblxuICAgIHN0YXRpYyBpZCA9IGlkXG4gICAgc3RhdGljIGNhdGVnb3J5ID0gY29uZmlnLmNhdGVnb3J5XG4gICAgc3RhdGljIGV4YW1wbGVzID0gY29uZmlnLnV4LmV4YW1wbGVzXG5cbiAgICBzdGF0aWMgY3JlYXRlID0gYXN5bmMgKGZsYWdzLCBhcmdzKSA9PiB7XG4gICAgICBjb25zdCBjID0gbmV3IEV4ZWN1dGVDb21tYW5kKGZsYWdzLCBhcmdzKVxuXG4gICAgICBjb25zdCBlbnYgPSBkZXBzLm1ha2VFbnYoZmxhZ3MpXG5cbiAgICAgIGMucHJvdmlkZXIgPSBkZXBzLm1ha2VQcm92aWRlcihlbnYucHJvdmlkZXJVcmwpXG4gICAgICBjLndhbGxldCA9IGF3YWl0IGRlcHMubWFrZVdhbGxldChlbnYsIGZsYWdzKVxuICAgICAgYy5jb250cmFjdEFkZHJlc3MgPVxuICAgICAgICBhcmdzWzBdIHx8IChjb25maWcubG9hZERlZmF1bHRDb250cmFjdEFkZHJlc3MgPyBjb25maWcubG9hZERlZmF1bHRDb250cmFjdEFkZHJlc3MoZW52KSA6IHVuZGVmaW5lZClcbiAgICAgIGMuY29udHJhY3QgPSBjb25maWcubG9hZENvbnRyYWN0ID8gY29uZmlnLmxvYWRDb250cmFjdCgpIDogdW5kZWZpbmVkXG4gICAgICBjLmV4ZWN1dGlvbkNvbnRleHQgPSB7XG4gICAgICAgIHByb3ZpZGVyOiBjLnByb3ZpZGVyLFxuICAgICAgICB3YWxsZXQ6IGMud2FsbGV0LFxuICAgICAgICBpZDogbWFrZUNvbW1hbmRJZChjb25maWcuY2F0ZWdvcnksIGNvbmZpZy5hY3Rpb24sIGNvbmZpZy5zdWZmaXhlcyksXG4gICAgICAgIGNvbnRyYWN0QWRkcmVzczogYy5jb250cmFjdEFkZHJlc3MsXG4gICAgICAgIGZsYWdzOiBmbGFncyxcbiAgICAgICAgY29udHJhY3Q6IGMuY29udHJhY3QsXG4gICAgICB9XG4gICAgICBjLmxvZ2dlciA9IGRlcHMubG9nZ2VyXG4gICAgICBjLmlucHV0ID0gYXdhaXQgYy5idWlsZENvbW1hbmRJbnB1dChmbGFncywgYXJncywgZW52KVxuICAgICAgYy5za2lwU2ltdWxhdGUgPSBlbnYuc2tpcFNpbXVsYXRlIHx8IGZhbHNlXG5cbiAgICAgIC8vIGlmIHRoZXJlJ3Mgbm8gY29udHJhY3QgKGBsb2FkQ29udHJhY3QoKWApIGNvbmZpZ3VyZWQsIHRyeSB0byBnZXRcbiAgICAgIC8vIGEgY29udHJhY3QgbG9hZGVyIGR5bmFtaWNhbGx5LCBpdCdzIHVzZWQgZm9yIGFic3RyYWN0IGNvbW1hbmQuXG4gICAgICBpZiAoIWMuY29udHJhY3QpIHtcbiAgICAgICAgY29uc3QgZHluYW1pY0NvbnRyYWN0TG9hZGVyID0gbWFrZUR5bmFtaWNDb250cmFjdExvYWRlcihkZXBzLmNvbnRyYWN0TGlzdClcbiAgICAgICAgYy5jb250cmFjdCA9IGR5bmFtaWNDb250cmFjdExvYWRlcihjLmlucHV0LnVzZXIpXG4gICAgICAgIGMuZXhlY3V0aW9uQ29udGV4dC5jb250cmFjdCA9IGMuY29udHJhY3RcbiAgICAgIH1cblxuICAgICAgLy8gRm9yIGFic3RyYWN0IGNvbW1hbmRzLCB3ZSB3YW50IHRvIGNoZWNrIGZvciBmdW5jdGlvbiB2YWx1ZSBvbiB0aGUgdXNlciBpbnB1dFxuICAgICAgYy5jb250cmFjdEZ1bmN0aW9uID0gKGMuaW5wdXQudXNlciBhcyBhbnkpLmZ1bmN0aW9uIHx8IGNvbmZpZy5pbnRlcm5hbEZ1bmN0aW9uIHx8IGNvbmZpZy5hY3Rpb25cbiAgICAgIGMubWFrZU1lc3NhZ2UgPSByZWdpc3Rlck1ha2VNZXNzYWdlKFxuICAgICAgICBjLmNvbnRyYWN0LFxuICAgICAgICBjLnByb3ZpZGVyLnByb3ZpZGVyLFxuICAgICAgICBjLmlucHV0LmNvbnRyYWN0LFxuICAgICAgICBjLmNvbnRyYWN0RnVuY3Rpb24sXG4gICAgICAgIGMuY29udHJhY3RBZGRyZXNzLFxuICAgICAgICBjLmNvbnRyYWN0RnVuY3Rpb24gPT09ICdkZXBsb3knLFxuICAgICAgICBmbGFncyxcbiAgICAgIClcbiAgICAgIGMuZ2V0Q29tbWFuZEluZm8gPSBnZXRGdW5jdGlvbklucHV0U2NoZW1hKGMuY29udHJhY3QsIHRoaXMuY2F0ZWdvcnksIGMuY29udHJhY3RGdW5jdGlvbiwgYy5pbnB1dC5jb250cmFjdClcblxuICAgICAgYy5iZWZvcmVFeGVjdXRlID0gY29uZmlnLmhvb2tzPy5iZWZvcmVFeGVjdXRlXG4gICAgICAgID8gY29uZmlnLmhvb2tzLmJlZm9yZUV4ZWN1dGUoYy5leGVjdXRpb25Db250ZXh0LCBjLmlucHV0LCB7IGxvZ2dlcjogZGVwcy5sb2dnZXIsIHByb21wdDogZGVwcy5wcm9tcHQgfSlcbiAgICAgICAgOiBjLmRlZmF1bHRCZWZvcmVFeGVjdXRlKClcblxuICAgICAgYy5hZnRlckV4ZWN1dGUgPSBjb25maWcuaG9va3M/LmFmdGVyRXhlY3V0ZVxuICAgICAgICA/IGNvbmZpZy5ob29rcy5hZnRlckV4ZWN1dGUoYy5leGVjdXRpb25Db250ZXh0LCBjLmlucHV0LCB7IGxvZ2dlcjogZGVwcy5sb2dnZXIsIHByb21wdDogZGVwcy5wcm9tcHQgfSlcbiAgICAgICAgOiBjLmRlZmF1bHRBZnRlckV4ZWN1dGUoKVxuXG4gICAgICBjLmFmdGVyRXhwb3J0ID0gY29uZmlnLmhvb2tzPy5hZnRlckV4cG9ydFxuICAgICAgICA/IGNvbmZpZy5ob29rcy5hZnRlckV4cG9ydChjLmV4ZWN1dGlvbkNvbnRleHQsIGMuaW5wdXQsIHsgbG9nZ2VyOiBkZXBzLmxvZ2dlciwgcHJvbXB0OiBkZXBzLnByb21wdCB9KVxuICAgICAgICA6IGMuZGVmYXVsdEFmdGVyRXhwb3J0KClcblxuICAgICAgcmV0dXJuIGNcbiAgICB9XG5cbiAgICBoaWdobGlnaHRUZXh0ID0gKG1lc3NhZ2U6IHN0cmluZyk6IHN0cmluZyA9PiBkZXBzLmxvZ2dlci5zdHlsZShtZXNzYWdlLCAnYmx1ZScpXG5cbiAgICBkZWZhdWx0QmVmb3JlRXhlY3V0ZSA9ICgpID0+IGFzeW5jICgpID0+IHt9XG5cbiAgICBkZWZhdWx0QWZ0ZXJFeGVjdXRlID0gKCkgPT4gYXN5bmMgKCkgPT4ge31cblxuICAgIGRlZmF1bHRBZnRlckV4cG9ydCA9ICgpID0+IGFzeW5jICgpID0+IHt9XG5cbiAgICBydW5WYWxpZGF0aW9ucyA9IGFzeW5jIChcbiAgICAgIHZhbGlkYXRpb25zOiBWYWxpZGF0aW9uPFVJLCBFeGVjdXRpb25Db250ZXh0PFdhbGxldCwgUHJvdmlkZXIsIENvbnRyYWN0LCBNZXNzYWdlLCBUcmFuc2FjdGlvbj4+W10sXG4gICAgICBpbnB1dDogVUksXG4gICAgKSA9PiB7XG4gICAgICBjb25zdCByZXN1bHQgPSBhd2FpdCBQcm9taXNlLmFsbCh2YWxpZGF0aW9ucy5tYXAoKHZhbGlkYXRpb24pID0+IHZhbGlkYXRpb24oaW5wdXQsIHRoaXMuZXhlY3V0aW9uQ29udGV4dCkpKVxuICAgICAgcmV0dXJuIHJlc3VsdFxuICAgIH1cblxuICAgIGJ1aWxkQ29tbWFuZElucHV0ID0gYXN5bmMgKGZsYWdzLCBhcmdzLCBlbnYpOiBQcm9taXNlPElucHV0PFVJLCBDST4+ID0+IHtcbiAgICAgIC8vIElmIGFuIGV4dGVybmFsIGlucHV0IGdlbmVyYXRvciBpcyBkZWZpbmVkIGhhcyBwcmVmZXJlbmNlLiBJZiBpdCBmYWlscyB0byBnZW5lcmF0ZSB0aGUgaW5wdXQsIGZhbGxzIGJhY2sgdG8gZGVmYXVsdCBtZXRob2RcbiAgICAgIC8vIFdlIGlucHV0IGFsbCBmbGFncyBhbmQgZW52IGludG8gb3ZlcnJpZGVzIHNvIHRoYXQgdGhlIG1ha2VDb21tYW5kSW5wdXQgZm4gY2FuIHVzZSB0aGVtIGFzIG5lZWRlZFxuICAgICAgbGV0IHVzZXJJbnB1dCA9XG4gICAgICAgIGRlcHMubWFrZUNvbW1hbmRJbnB1dCAmJlxuICAgICAgICAoYXdhaXQgZGVwcy5tYWtlQ29tbWFuZElucHV0PFVJPihpZCwgZmxhZ3MubmV0d29yaywgdGhpcy5jb250cmFjdEFkZHJlc3MsIHsgLi4uZmxhZ3MsIC4uLmVudiB9KSlcbiAgICAgIGlmICghdXNlcklucHV0KSB7XG4gICAgICAgIHVzZXJJbnB1dCA9IGF3YWl0IGNvbmZpZy5tYWtlVXNlcklucHV0KGZsYWdzLCBhcmdzLCBlbnYpXG4gICAgICB9XG5cbiAgICAgIC8vIFZhbGlkYXRpb25cbiAgICAgIGlmIChjb25maWcudmFsaWRhdGlvbnMubGVuZ3RoID4gMCkge1xuICAgICAgICBhd2FpdCB0aGlzLnJ1blZhbGlkYXRpb25zKGNvbmZpZy52YWxpZGF0aW9ucywgdXNlcklucHV0KVxuICAgICAgfVxuXG4gICAgICBjb25zdCBjb250cmFjdElucHV0ID0gYXdhaXQgY29uZmlnLm1ha2VDb250cmFjdElucHV0KHVzZXJJbnB1dCwgdGhpcy5leGVjdXRpb25Db250ZXh0LCBkZXBzKVxuICAgICAgcmV0dXJuIHtcbiAgICAgICAgdXNlcjogdXNlcklucHV0LFxuICAgICAgICBjb250cmFjdDogY29udHJhY3RJbnB1dCxcbiAgICAgIH1cbiAgICB9XG5cbiAgICBkZXBsb3lDb250cmFjdCA9IGFzeW5jICgpOiBQcm9taXNlPFRyYW5zYWN0aW9uUmVzcG9uc2U8VHJhbnNhY3Rpb24+PiA9PiB7XG4gICAgICBhd2FpdCBkZXBzLnByb21wdCgnQ29udGludWU/JylcbiAgICAgIGRlcHMubG9nZ2VyLmxvYWRpbmcoYFNlbmRpbmcgdHJhbnNhY3Rpb24uLi5gKVxuXG4gICAgICBjb25zdCB0eCA9IGF3YWl0IHRoaXMucHJvdmlkZXIuZGVwbG95Q29udHJhY3QodGhpcy53YWxsZXQsIHRoaXMuY29udHJhY3QsIHRoaXMuaW5wdXQuY29udHJhY3QsIGZhbHNlKVxuICAgICAgZGVwcy5sb2dnZXIubG9hZGluZyhgV2FpdGluZyBmb3IgdHggY29uZmlybWF0aW9uIGF0ICR7dHguaGFzaH0uLi5gKVxuICAgICAgY29uc3QgcmVzcG9uc2UgPSBhd2FpdCB0eC53YWl0KClcbiAgICAgIGlmICghcmVzcG9uc2Uuc3VjY2Vzcykge1xuICAgICAgICBkZXBzLmxvZ2dlci5lcnJvcihgQ29udHJhY3Qgd2FzIG5vdCBkZXBsb3llZDogJHt0eC5lcnJvck1lc3NhZ2V9YClcbiAgICAgICAgcmV0dXJuIHR4XG4gICAgICB9XG4gICAgICBkZXBzLmxvZ2dlci5zdWNjZXNzKGBDb250cmFjdCBkZXBsb3llZCBvbiAke3R4Lmhhc2h9IHdpdGggYWRkcmVzcyAke3R4LmFkZHJlc3N9YClcbiAgICAgIHJldHVybiB0eFxuICAgIH1cblxuICAgIGV4ZWN1dGVXaXRoU2lnbmVyID0gYXN5bmMgKCk6IFByb21pc2U8VHJhbnNhY3Rpb25SZXNwb25zZTxUcmFuc2FjdGlvbj4+ID0+IHtcbiAgICAgIGNvbnN0IG1lc3NhZ2VzID0gYXdhaXQgdGhpcy5tYWtlTWVzc2FnZSgpXG4gICAgICBhd2FpdCBkZXBzLnByb21wdChgQ29udGludWU/YClcbiAgICAgIGRlcHMubG9nZ2VyLmxvYWRpbmcoYFNpZ25pbmcgYW5kIHNlbmRpbmcgdHJhbnNhY3Rpb24uLi5gKVxuICAgICAgY29uc3QgdHggPSBhd2FpdCB0aGlzLnByb3ZpZGVyLnNpZ25BbmRTZW5kKHRoaXMud2FsbGV0LCBtZXNzYWdlcywgdGhpcy5jb250cmFjdClcbiAgICAgIGRlcHMubG9nZ2VyLmxvYWRpbmcoYFdhaXRpbmcgZm9yIHR4IGNvbmZpcm1hdGlvbiBhdCAke3R4Lmhhc2h9Li4uYClcbiAgICAgIGNvbnN0IHJlc3BvbnNlID0gYXdhaXQgdHgud2FpdCgpXG4gICAgICBpZiAoIXJlc3BvbnNlLnN1Y2Nlc3MpIHtcbiAgICAgICAgZGVwcy5sb2dnZXIuZXJyb3IoYFR4IHdhcyBub3Qgc3VjY2Vzc2Z1bDogJHt0eC5lcnJvck1lc3NhZ2V9YClcbiAgICAgICAgcmV0dXJuIHR4XG4gICAgICB9XG4gICAgICBkZXBzLmxvZ2dlci5zdWNjZXNzKGBUeCBleGVjdXRlZCBhdCAke3R4Lmhhc2h9YClcbiAgICAgIHJldHVybiB0eFxuICAgIH1cblxuICAgIHNpbXVsYXRlID0gYXN5bmMgKHNpZ25lcjogc3RyaW5nKTogUHJvbWlzZTxzdHJpbmdbXT4gPT4ge1xuICAgICAgY29uc3QgbXNncyA9IGF3YWl0IHRoaXMubWFrZU1lc3NhZ2UoKVxuICAgICAgY29uc3QgcmVzdWx0ID0gYXdhaXQgUHJvbWlzZS5hbGwobXNncy5tYXAoKG1zZykgPT4gdGhpcy5wcm92aWRlci5zaW11bGF0ZShzaWduZXIsIG1zZywgdGhpcy5jb250cmFjdCkpKVxuICAgICAgcmV0dXJuIHJlc3VsdFxuICAgIH1cblxuICAgIGV4ZWN1dGUgPSBhc3luYyAoKTogUHJvbWlzZTxSZXN1bHQ8VHJhbnNhY3Rpb25SZXNwb25zZTxUcmFuc2FjdGlvbj4+PiA9PiB7XG4gICAgICBjb25zdCBpbmZvID0gdGhpcy5nZXRDb21tYW5kSW5mbygpXG4gICAgICBpZiAoY29uZmlnLmFjdGlvbiAhPT0gJ2RlcGxveScpIHtcbiAgICAgICAgZGVwcy5sb2dnZXIuaW5mbyhcbiAgICAgICAgICBgQWJvdXQgdG8gZXhlY3V0ZSAke2luZm8uY29udHJhY3ROYW1lfSgke3RoaXMuY29udHJhY3RBZGRyZXNzfSkuJHtpbmZvLmFjdGlvbn0oXFxuJHtwcmludEV4ZWN1dGlvbklucHV0cyhcbiAgICAgICAgICAgIGluZm8uaW5wdXRzLFxuICAgICAgICAgICl9KWAsXG4gICAgICAgIClcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIGRlcHMubG9nZ2VyLmluZm8oYEFib3V0IHRvIGRlcGxveSBhIG5ldyAke3RoaXMuaGlnaGxpZ2h0VGV4dChjb25maWcuY2F0ZWdvcnkpfSBjb250cmFjdGApXG4gICAgICB9XG5cbiAgICAgIGF3YWl0IHRoaXMuYmVmb3JlRXhlY3V0ZSgpXG5cbiAgICAgIGNvbnN0IG1lc3NhZ2VzID0gYXdhaXQgdGhpcy5tYWtlTWVzc2FnZSgpXG5cbiAgICAgIC8vIElmIHRoZSB1c2VyIGRlY2lkZXMgdG8gZXhwb3J0IHRoZSB0cmFuc2FjdGlvbiBkYXRhLCB3ZSBjYW4gZ2VuZXJhdGUgYW5kIHJldHVybiB0aGVcbiAgICAgIC8vIHRyYW5zYWN0aW9uIGluZm9ybWF0aW9uIHdpdGhvdXQgc2lnbmluZyBhbmQgc2VuZGluZ1xuICAgICAgaWYgKHRoaXMuZmxhZ3MuZXhwb3J0KSB7XG4gICAgICAgIGRlcHMubG9nZ2VyLmluZm8oJ1RoZSBleHBvcnQgb3B0aW9uIHdhcyBlbmFibGVkLiBUcmFuc2FjdGlvbiByZXF1ZXN0IGluZm9ybWF0aW9uIHJldHVybmVkIGluIHJlcG9ydCcpXG4gICAgICAgIGNvbnN0IHJlc3VsdCA9IHsgcmVzcG9uc2VzOiBbXSB9XG4gICAgICAgIGNvbnN0IGRhdGEgPSAoYXdhaXQgdGhpcy5hZnRlckV4cG9ydChyZXN1bHQpKSB8fCB7fVxuICAgICAgICBjb25zdCByZXBvcnQgPSB7IC4uLnJlc3VsdCwgZGF0YTogeyBtZXNzYWdlcywgLi4uZGF0YSB9IH1cbiAgICAgICAgaWYgKGRlcHMuYWZ0ZXJFeHBvcnRFeHRlcm5hbCkgYXdhaXQgZGVwcy5hZnRlckV4cG9ydEV4dGVybmFsKGlkLCB0aGlzLmV4ZWN1dGlvbkNvbnRleHQuZmxhZ3MubmV0d29yaywgcmVwb3J0KVxuICAgICAgICByZXR1cm4gcmVwb3J0XG4gICAgICB9XG4gICAgICBjb25zdCBzaWduZXIgPSBhd2FpdCB0aGlzLndhbGxldC5nZXRQdWJsaWNLZXkoKVxuICAgICAgZGVwcy5sb2dnZXIuaW5mbyhgT3BlcmF0b3IgYWRkcmVzczogJHtzaWduZXJ9YClcblxuICAgICAgZGVwcy5sb2dnZXIuaW5mbyhgQ29udHJhY3QgYWRkcmVzczogJHt0aGlzLmNvbnRyYWN0QWRkcmVzc31gKVxuICAgICAgZGVwcy5sb2dnZXIubG9hZGluZygnU2ltdWxhdGluZyB0cmFuc2FjdGlvbnMuLi4nKVxuXG4gICAgICBpZiAoIXRoaXMuc2tpcFNpbXVsYXRlKSB7XG4gICAgICAgIGNvbnN0IHNpbXVsYXRpb24gPSBhd2FpdCB0aGlzLnNpbXVsYXRlKHNpZ25lcilcblxuICAgICAgICBpZiAoISF0aGlzLmV4ZWN1dGlvbkNvbnRleHQuZmxhZ3Muc2ltdWxhdGUpIHtcbiAgICAgICAgICB0aGlzLmRlcHMubG9nZ2VyLnN1Y2Nlc3MoYFRyYW5zYWN0aW9uIHN1Y2Nlc3NmdWxseSBzaW11bGF0ZWRgKVxuICAgICAgICAgIHJldHVybiB7XG4gICAgICAgICAgICByZXNwb25zZXM6IFtdLFxuICAgICAgICAgICAgZGF0YToge1xuICAgICAgICAgICAgICBzaW11bGF0aW9uOiBzaW11bGF0aW9uLFxuICAgICAgICAgICAgfSxcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgYXdhaXQgZGVwcy5wcm9tcHQoJ0NvbnRpbnVlPycpXG4gICAgICBkZXBzLmxvZ2dlci5sb2FkaW5nKGBTZW5kaW5nIHRyYW5zYWN0aW9uLi4uYClcblxuICAgICAgY29uc3QgdHggPSBhd2FpdCB0aGlzLnByb3ZpZGVyLnNpZ25BbmRTZW5kKHRoaXMud2FsbGV0LCBtZXNzYWdlcywgdGhpcy5jb250cmFjdClcblxuICAgICAgZGVwcy5sb2dnZXIubG9hZGluZyhgV2FpdGluZyBmb3IgdHggY29uZmlybWF0aW9uIGF0ICR7dHguaGFzaH0uLi5gKVxuXG4gICAgICBjb25zdCBpc0RlcGxveW1lbnQgPSB0aGlzLmNvbnRyYWN0RnVuY3Rpb24gPT09ICdkZXBsb3knXG4gICAgICBjb25zdCBvdXQgPSBhd2FpdCB0eC53YWl0KClcbiAgICAgIGlmIChpc0RlcGxveW1lbnQgJiYgb3V0LnN1Y2Nlc3MpIHtcbiAgICAgICAgZGVwcy5sb2dnZXIuc3VjY2VzcyhgQ29udHJhY3QgZGVwbG95ZWQgb24gJHt0eC5oYXNofSB3aXRoIGFkZHJlc3MgJHt0eC5hZGRyZXNzfWApXG4gICAgICB9XG5cbiAgICAgIGlmIChpc0RlcGxveW1lbnQgJiYgIW91dC5zdWNjZXNzKSB7XG4gICAgICAgIC8vIERvbid0IHRoaW5rIHRoaXMgY2FzZSBzaG91bGQgZXZlciBvY2N1clxuICAgICAgICAvLyB0aGUgY29tbWFuZCBzaG91bGQgZXJyb3Igb3V0IGJlZm9yZSBlbnRlcmluZyB0aGlzIGlmIHN0YXRlbWVudFxuICAgICAgICBkZXBzLmxvZ2dlci5lcnJvcihgQ29udHJhY3Qgd2FzIG5vdCBkZXBsb3llZDogJHt0eC5lcnJvck1lc3NhZ2V9YClcbiAgICAgIH1cbiAgICAgIGxldCByZXN1bHQgPSB7XG4gICAgICAgIHJlc3BvbnNlczogW1xuICAgICAgICAgIHtcbiAgICAgICAgICAgIHR4LFxuICAgICAgICAgICAgY29udHJhY3Q6IHR4LmFkZHJlc3MsXG4gICAgICAgICAgfSxcbiAgICAgICAgXSxcbiAgICAgIH1cbiAgICAgIGNvbnN0IGRhdGEgPSBhd2FpdCB0aGlzLmFmdGVyRXhlY3V0ZShyZXN1bHQpXG4gICAgICBkZXBzLmxvZ2dlci5zdWNjZXNzKGBFeGVjdXRpb24gZmluaXNoZWQgYXQgdHJhbnNhY3Rpb246ICR7cmVzdWx0LnJlc3BvbnNlc1swXS50eC5oYXNofWApXG5cbiAgICAgIGNvbnN0IHJlcG9ydCA9ICEhZGF0YSA/IHsgLi4ucmVzdWx0LCBkYXRhOiB7IC4uLmRhdGEgfSB9IDogcmVzdWx0XG4gICAgICBpZiAoZGVwcy5hZnRlckV4ZWN1dGVFeHRlcm5hbCkgYXdhaXQgZGVwcy5hZnRlckV4ZWN1dGVFeHRlcm5hbChpZCwgdGhpcy5leGVjdXRpb25Db250ZXh0LmZsYWdzLm5ldHdvcmssIHJlcG9ydClcblxuICAgICAgcmV0dXJuIHJlcG9ydFxuICAgIH1cbiAgfVxuXG4gIHJldHVybiBjb21tYW5kXG59XG4iXX0=
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXhlY3V0ZUNvbW1hbmQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvY29yZS9jb21tYW5kcy9iYXNlL2V4ZWN1dGVDb21tYW5kLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUFBLDREQUErRDtBQU0vRCx1Q0FBNEQ7QUFDNUQsMENBQXFEO0FBb0M5QyxNQUFNLGtCQUFrQixHQUFHLENBQ2hDLG1CQUFpRSxFQUNqRSxzQkFBNEQsRUFDNUQseUJBQXdHLEVBQ3hHLEVBQUUsQ0FBQyxDQUNILE1BTUMsRUFDRCxFQUFFLENBQUMsQ0FBQyxJQUE4RSxFQUFFLEVBQUU7O0lBQ3RGLE1BQU0sRUFBRSxHQUFHLElBQUEsdUJBQWEsRUFBQyxNQUFNLENBQUMsUUFBUSxFQUFFLE1BQU0sQ0FBQyxNQUFNLEVBQUUsTUFBTSxDQUFDLFFBQVEsQ0FBQyxDQUFBO0lBRXpFLE1BQU0sT0FBTyxTQVNSLE1BQU0sY0FBZSxTQUFRLDRCQUE4QztZQXFCOUUsWUFBWSxLQUFLLEVBQUUsSUFBSTtnQkFDckIsS0FBSyxDQUFDLEtBQUssRUFBRSxJQUFJLENBQUMsQ0FBQTtnQkFrRXBCLGtCQUFhLEdBQUcsQ0FBQyxPQUFlLEVBQVUsRUFBRSxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDLE9BQU8sRUFBRSxNQUFNLENBQUMsQ0FBQTtnQkFFL0UseUJBQW9CLEdBQUcsR0FBRyxFQUFFLENBQUMsS0FBSyxJQUFJLEVBQUUsR0FBRSxDQUFDLENBQUE7Z0JBRTNDLHdCQUFtQixHQUFHLEdBQUcsRUFBRSxDQUFDLEtBQUssSUFBSSxFQUFFLEdBQUUsQ0FBQyxDQUFBO2dCQUUxQyx1QkFBa0IsR0FBRyxHQUFHLEVBQUUsQ0FBQyxLQUFLLElBQUksRUFBRSxHQUFFLENBQUMsQ0FBQTtnQkFFekMsbUJBQWMsR0FBRyxLQUFLLEVBQ3BCLFdBQWlHLEVBQ2pHLEtBQVMsRUFDVCxFQUFFO29CQUNGLE1BQU0sTUFBTSxHQUFHLE1BQU0sT0FBTyxDQUFDLEdBQUcsQ0FBQyxXQUFXLENBQUMsR0FBRyxDQUFDLENBQUMsVUFBVSxFQUFFLEVBQUUsQ0FBQyxVQUFVLENBQUMsS0FBSyxFQUFFLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFDLENBQUMsQ0FBQTtvQkFDM0csT0FBTyxNQUFNLENBQUE7Z0JBQ2YsQ0FBQyxDQUFBO2dCQUVELHNCQUFpQixHQUFHLEtBQUssRUFBRSxLQUFLLEVBQUUsSUFBSSxFQUFFLEdBQUcsRUFBMEIsRUFBRTtvQkFDckUsNEhBQTRIO29CQUM1SCxtR0FBbUc7b0JBQ25HLElBQUksU0FBUyxHQUNYLElBQUksQ0FBQyxnQkFBZ0I7d0JBQ3JCLENBQUMsTUFBTSxJQUFJLENBQUMsZ0JBQWdCLENBQUssRUFBRSxFQUFFLEtBQUssQ0FBQyxPQUFPLEVBQUUsSUFBSSxDQUFDLGVBQWUsRUFBRSxFQUFFLEdBQUcsS0FBSyxFQUFFLEdBQUcsR0FBRyxFQUFFLENBQUMsQ0FBQyxDQUFBO29CQUNsRyxJQUFJLENBQUMsU0FBUyxFQUFFO3dCQUNkLFNBQVMsR0FBRyxNQUFNLE1BQU0sQ0FBQyxhQUFhLENBQUMsS0FBSyxFQUFFLElBQUksRUFBRSxHQUFHLENBQUMsQ0FBQTtxQkFDekQ7b0JBRUQsYUFBYTtvQkFDYixJQUFJLE1BQU0sQ0FBQyxXQUFXLENBQUMsTUFBTSxHQUFHLENBQUMsRUFBRTt3QkFDakMsTUFBTSxJQUFJLENBQUMsY0FBYyxDQUFDLE1BQU0sQ0FBQyxXQUFXLEVBQUUsU0FBUyxDQUFDLENBQUE7cUJBQ3pEO29CQUVELE1BQU0sYUFBYSxHQUFHLE1BQU0sTUFBTSxDQUFDLGlCQUFpQixDQUFDLFNBQVMsRUFBRSxJQUFJLENBQUMsZ0JBQWdCLEVBQUUsSUFBSSxDQUFDLENBQUE7b0JBQzVGLE9BQU87d0JBQ0wsSUFBSSxFQUFFLFNBQVM7d0JBQ2YsUUFBUSxFQUFFLGFBQWE7cUJBQ3hCLENBQUE7Z0JBQ0gsQ0FBQyxDQUFBO2dCQUVELG1CQUFjLEdBQUcsS0FBSyxJQUErQyxFQUFFO29CQUNyRSxNQUFNLElBQUksQ0FBQyxNQUFNLENBQUMsV0FBVyxDQUFDLENBQUE7b0JBQzlCLElBQUksQ0FBQyxNQUFNLENBQUMsT0FBTyxDQUFDLHdCQUF3QixDQUFDLENBQUE7b0JBRTdDLE1BQU0sRUFBRSxHQUFHLE1BQU0sSUFBSSxDQUFDLFFBQVEsQ0FBQyxjQUFjLENBQUMsSUFBSSxDQUFDLE1BQU0sRUFBRSxJQUFJLENBQUMsUUFBUSxFQUFFLElBQUksQ0FBQyxLQUFLLENBQUMsUUFBUSxFQUFFLEtBQUssQ0FBQyxDQUFBO29CQUNyRyxJQUFJLENBQUMsTUFBTSxDQUFDLE9BQU8sQ0FBQyxrQ0FBa0MsRUFBRSxDQUFDLElBQUksS0FBSyxDQUFDLENBQUE7b0JBQ25FLE1BQU0sUUFBUSxHQUFHLE1BQU0sRUFBRSxDQUFDLElBQUksRUFBRSxDQUFBO29CQUNoQyxJQUFJLENBQUMsUUFBUSxDQUFDLE9BQU8sRUFBRTt3QkFDckIsSUFBSSxDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUMsOEJBQThCLEVBQUUsQ0FBQyxZQUFZLEVBQUUsQ0FBQyxDQUFBO3dCQUNsRSxPQUFPLEVBQUUsQ0FBQTtxQkFDVjtvQkFDRCxJQUFJLENBQUMsTUFBTSxDQUFDLE9BQU8sQ0FBQyx3QkFBd0IsRUFBRSxDQUFDLElBQUksaUJBQWlCLEVBQUUsQ0FBQyxPQUFPLEVBQUUsQ0FBQyxDQUFBO29CQUNqRixPQUFPLEVBQUUsQ0FBQTtnQkFDWCxDQUFDLENBQUE7Z0JBRUQsc0JBQWlCLEdBQUcsS0FBSyxJQUErQyxFQUFFO29CQUN4RSxNQUFNLFFBQVEsR0FBRyxNQUFNLElBQUksQ0FBQyxXQUFXLEVBQUUsQ0FBQTtvQkFDekMsTUFBTSxJQUFJLENBQUMsTUFBTSxDQUFDLFdBQVcsQ0FBQyxDQUFBO29CQUM5QixJQUFJLENBQUMsTUFBTSxDQUFDLE9BQU8sQ0FBQyxvQ0FBb0MsQ0FBQyxDQUFBO29CQUN6RCxNQUFNLEVBQUUsR0FBRyxNQUFNLElBQUksQ0FBQyxRQUFRLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxNQUFNLEVBQUUsUUFBUSxFQUFFLElBQUksQ0FBQyxRQUFRLENBQUMsQ0FBQTtvQkFDaEYsSUFBSSxDQUFDLE1BQU0sQ0FBQyxPQUFPLENBQUMsa0NBQWtDLEVBQUUsQ0FBQyxJQUFJLEtBQUssQ0FBQyxDQUFBO29CQUNuRSxNQUFNLFFBQVEsR0FBRyxNQUFNLEVBQUUsQ0FBQyxJQUFJLEVBQUUsQ0FBQTtvQkFDaEMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxPQUFPLEVBQUU7d0JBQ3JCLElBQUksQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDLDBCQUEwQixFQUFFLENBQUMsWUFBWSxFQUFFLENBQUMsQ0FBQTt3QkFDOUQsT0FBTyxFQUFFLENBQUE7cUJBQ1Y7b0JBQ0QsSUFBSSxDQUFDLE1BQU0sQ0FBQyxPQUFPLENBQUMsa0JBQWtCLEVBQUUsQ0FBQyxJQUFJLEVBQUUsQ0FBQyxDQUFBO29CQUNoRCxPQUFPLEVBQUUsQ0FBQTtnQkFDWCxDQUFDLENBQUE7Z0JBRUQsYUFBUSxHQUFHLEtBQUssRUFBRSxNQUFjLEVBQXFCLEVBQUU7b0JBQ3JELE1BQU0sSUFBSSxHQUFHLE1BQU0sSUFBSSxDQUFDLFdBQVcsRUFBRSxDQUFBO29CQUNyQyxNQUFNLE1BQU0sR0FBRyxNQUFNLE9BQU8sQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDLEdBQUcsRUFBRSxFQUFFLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxRQUFRLENBQUMsTUFBTSxFQUFFLEdBQUcsRUFBRSxJQUFJLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxDQUFBO29CQUN2RyxPQUFPLE1BQU0sQ0FBQTtnQkFDZixDQUFDLENBQUE7Z0JBRUQsWUFBTyxHQUFHLEtBQUssSUFBdUQsRUFBRTtvQkFDdEUsTUFBTSxJQUFJLEdBQUcsSUFBSSxDQUFDLGNBQWMsRUFBRSxDQUFBO29CQUNsQyxJQUFJLE1BQU0sQ0FBQyxNQUFNLEtBQUssUUFBUSxFQUFFO3dCQUM5QixJQUFJLENBQUMsTUFBTSxDQUFDLElBQUksQ0FDZCxvQkFBb0IsSUFBSSxDQUFDLFlBQVksSUFBSSxJQUFJLENBQUMsZUFBZSxLQUFLLElBQUksQ0FBQyxNQUFNLE1BQU0sSUFBQSw0QkFBb0IsRUFDckcsSUFBSSxDQUFDLE1BQU0sQ0FDWixHQUFHLENBQ0wsQ0FBQTtxQkFDRjt5QkFBTTt3QkFDTCxJQUFJLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyx5QkFBeUIsSUFBSSxDQUFDLGFBQWEsQ0FBQyxNQUFNLENBQUMsUUFBUSxDQUFDLFdBQVcsQ0FBQyxDQUFBO3FCQUMxRjtvQkFFRCxNQUFNLElBQUksQ0FBQyxhQUFhLEVBQUUsQ0FBQTtvQkFFMUIsTUFBTSxRQUFRLEdBQUcsTUFBTSxJQUFJLENBQUMsV0FBVyxFQUFFLENBQUE7b0JBRXpDLHFGQUFxRjtvQkFDckYsc0RBQXNEO29CQUN0RCxJQUFJLElBQUksQ0FBQyxLQUFLLENBQUMsTUFBTSxFQUFFO3dCQUNyQixJQUFJLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxtRkFBbUYsQ0FBQyxDQUFBO3dCQUNyRyxNQUFNLE1BQU0sR0FBRyxFQUFFLFNBQVMsRUFBRSxFQUFFLEVBQUUsQ0FBQTt3QkFDaEMsTUFBTSxJQUFJLEdBQUcsQ0FBQyxNQUFNLElBQUksQ0FBQyxXQUFXLENBQUMsTUFBTSxDQUFDLENBQUMsSUFBSSxFQUFFLENBQUE7d0JBQ25ELE1BQU0sTUFBTSxHQUFHLEVBQUUsR0FBRyxNQUFNLEVBQUUsSUFBSSxFQUFFLEVBQUUsUUFBUSxFQUFFLEdBQUcsSUFBSSxFQUFFLEVBQUUsQ0FBQTt3QkFDekQsSUFBSSxJQUFJLENBQUMsbUJBQW1COzRCQUFFLE1BQU0sSUFBSSxDQUFDLG1CQUFtQixDQUFDLEVBQUUsRUFBRSxJQUFJLENBQUMsZ0JBQWdCLENBQUMsS0FBSyxDQUFDLE9BQU8sRUFBRSxNQUFNLENBQUMsQ0FBQTt3QkFDN0csT0FBTyxNQUFNLENBQUE7cUJBQ2Q7b0JBQ0QsTUFBTSxNQUFNLEdBQUcsTUFBTSxJQUFJLENBQUMsTUFBTSxDQUFDLFlBQVksRUFBRSxDQUFBO29CQUMvQyxJQUFJLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxxQkFBcUIsTUFBTSxFQUFFLENBQUMsQ0FBQTtvQkFFL0MsSUFBSSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMscUJBQXFCLElBQUksQ0FBQyxlQUFlLEVBQUUsQ0FBQyxDQUFBO29CQUM3RCxJQUFJLENBQUMsTUFBTSxDQUFDLE9BQU8sQ0FBQyw0QkFBNEIsQ0FBQyxDQUFBO29CQUVqRCxJQUFJLENBQUMsSUFBSSxDQUFDLFlBQVksRUFBRTt3QkFDdEIsTUFBTSxVQUFVLEdBQUcsTUFBTSxJQUFJLENBQUMsUUFBUSxDQUFDLE1BQU0sQ0FBQyxDQUFBO3dCQUU5QyxJQUFJLENBQUMsQ0FBQyxJQUFJLENBQUMsZ0JBQWdCLENBQUMsS0FBSyxDQUFDLFFBQVEsRUFBRTs0QkFDMUMsSUFBSSxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsT0FBTyxDQUFDLG9DQUFvQyxDQUFDLENBQUE7NEJBQzlELE9BQU87Z0NBQ0wsU0FBUyxFQUFFLEVBQUU7Z0NBQ2IsSUFBSSxFQUFFO29DQUNKLFVBQVUsRUFBRSxVQUFVO2lDQUN2Qjs2QkFDRixDQUFBO3lCQUNGO3FCQUNGO29CQUVELE1BQU0sSUFBSSxDQUFDLE1BQU0sQ0FBQyxXQUFXLENBQUMsQ0FBQTtvQkFDOUIsSUFBSSxDQUFDLE1BQU0sQ0FBQyxPQUFPLENBQUMsd0JBQXdCLENBQUMsQ0FBQTtvQkFFN0MsTUFBTSxFQUFFLEdBQUcsTUFBTSxJQUFJLENBQUMsUUFBUSxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsTUFBTSxFQUFFLFFBQVEsRUFBRSxJQUFJLENBQUMsUUFBUSxDQUFDLENBQUE7b0JBRWhGLElBQUksQ0FBQyxNQUFNLENBQUMsT0FBTyxDQUFDLGtDQUFrQyxFQUFFLENBQUMsSUFBSSxLQUFLLENBQUMsQ0FBQTtvQkFFbkUsTUFBTSxZQUFZLEdBQUcsSUFBSSxDQUFDLGdCQUFnQixLQUFLLFFBQVEsQ0FBQTtvQkFDdkQsTUFBTSxHQUFHLEdBQUcsTUFBTSxFQUFFLENBQUMsSUFBSSxFQUFFLENBQUE7b0JBQzNCLElBQUksWUFBWSxJQUFJLEdBQUcsQ0FBQyxPQUFPLEVBQUU7d0JBQy9CLElBQUksQ0FBQyxNQUFNLENBQUMsT0FBTyxDQUFDLHdCQUF3QixFQUFFLENBQUMsSUFBSSxpQkFBaUIsRUFBRSxDQUFDLE9BQU8sRUFBRSxDQUFDLENBQUE7cUJBQ2xGO29CQUVELElBQUksWUFBWSxJQUFJLENBQUMsR0FBRyxDQUFDLE9BQU8sRUFBRTt3QkFDaEMsMENBQTBDO3dCQUMxQyxpRUFBaUU7d0JBQ2pFLElBQUksQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDLDhCQUE4QixFQUFFLENBQUMsWUFBWSxFQUFFLENBQUMsQ0FBQTtxQkFDbkU7b0JBQ0QsSUFBSSxNQUFNLEdBQUc7d0JBQ1gsU0FBUyxFQUFFOzRCQUNUO2dDQUNFLEVBQUU7Z0NBQ0YsUUFBUSxFQUFFLEVBQUUsQ0FBQyxPQUFPOzZCQUNyQjt5QkFDRjtxQkFDRixDQUFBO29CQUNELE1BQU0sSUFBSSxHQUFHLE1BQU0sSUFBSSxDQUFDLFlBQVksQ0FBQyxNQUFNLENBQUMsQ0FBQTtvQkFDNUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxPQUFPLENBQUMsc0NBQXNDLE1BQU0sQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLElBQUksRUFBRSxDQUFDLENBQUE7b0JBRXhGLE1BQU0sTUFBTSxHQUFHLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLEVBQUUsR0FBRyxNQUFNLEVBQUUsSUFBSSxFQUFFLEVBQUUsR0FBRyxJQUFJLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUE7b0JBQ2pFLElBQUksSUFBSSxDQUFDLG9CQUFvQjt3QkFBRSxNQUFNLElBQUksQ0FBQyxvQkFBb0IsQ0FBQyxFQUFFLEVBQUUsSUFBSSxDQUFDLGdCQUFnQixDQUFDLEtBQUssQ0FBQyxPQUFPLEVBQUUsTUFBTSxDQUFDLENBQUE7b0JBRS9HLE9BQU8sTUFBTSxDQUFBO2dCQUNmLENBQUMsQ0FBQTtZQTFORCxDQUFDO1NBMk5GO1FBek5RLEtBQUUsR0FBRyxFQUFFO1FBQ1AsV0FBUSxHQUFHLE1BQU0sQ0FBQyxRQUFRO1FBQzFCLFdBQVEsR0FBRyxNQUFNLENBQUMsRUFBRSxDQUFDLFFBQVE7UUFFN0IsU0FBTSxHQUFHLEtBQUssRUFBRSxLQUFLLEVBQUUsSUFBSSxFQUFFLEVBQUU7WUFDcEMsTUFBTSxDQUFDLEdBQUcsSUFBSSxFQUFjLENBQUMsS0FBSyxFQUFFLElBQUksQ0FBQyxDQUFBO1lBRXpDLE1BQU0sR0FBRyxHQUFHLElBQUksQ0FBQyxPQUFPLENBQUMsS0FBSyxDQUFDLENBQUE7WUFFL0IsQ0FBQyxDQUFDLFFBQVEsR0FBRyxJQUFJLENBQUMsWUFBWSxDQUFDLEdBQUcsQ0FBQyxXQUFXLENBQUMsQ0FBQTtZQUMvQyxDQUFDLENBQUMsTUFBTSxHQUFHLE1BQU0sSUFBSSxDQUFDLFVBQVUsQ0FBQyxHQUFHLEVBQUUsS0FBSyxDQUFDLENBQUE7WUFDNUMsQ0FBQyxDQUFDLGVBQWU7Z0JBQ2YsSUFBSSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLDBCQUEwQixDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsMEJBQTBCLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFBO1lBQ3JHLENBQUMsQ0FBQyxRQUFRLEdBQUcsTUFBTSxDQUFDLFlBQVksQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLFlBQVksRUFBRSxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUE7WUFDcEUsQ0FBQyxDQUFDLGdCQUFnQixHQUFHO2dCQUNuQixRQUFRLEVBQUUsQ0FBQyxDQUFDLFFBQVE7Z0JBQ3BCLE1BQU0sRUFBRSxDQUFDLENBQUMsTUFBTTtnQkFDaEIsRUFBRSxFQUFFLElBQUEsdUJBQWEsRUFBQyxNQUFNLENBQUMsUUFBUSxFQUFFLE1BQU0sQ0FBQyxNQUFNLEVBQUUsTUFBTSxDQUFDLFFBQVEsQ0FBQztnQkFDbEUsZUFBZSxFQUFFLENBQUMsQ0FBQyxlQUFlO2dCQUNsQyxLQUFLO2dCQUNMLEdBQUc7Z0JBQ0gsUUFBUSxFQUFFLENBQUMsQ0FBQyxRQUFRO2FBQ3JCLENBQUE7WUFDRCxDQUFDLENBQUMsTUFBTSxHQUFHLElBQUksQ0FBQyxNQUFNLENBQUE7WUFDdEIsQ0FBQyxDQUFDLEtBQUssR0FBRyxNQUFNLENBQUMsQ0FBQyxpQkFBaUIsQ0FBQyxLQUFLLEVBQUUsSUFBSSxFQUFFLEdBQUcsQ0FBQyxDQUFBO1lBQ3JELENBQUMsQ0FBQyxZQUFZLEdBQUcsR0FBRyxDQUFDLFlBQVksSUFBSSxLQUFLLENBQUE7WUFFMUMsbUVBQW1FO1lBQ25FLGlFQUFpRTtZQUNqRSxJQUFJLENBQUMsQ0FBQyxDQUFDLFFBQVEsRUFBRTtnQkFDZixNQUFNLHFCQUFxQixHQUFHLHlCQUF5QixDQUFDLElBQUksQ0FBQyxZQUFZLENBQUMsQ0FBQTtnQkFDMUUsQ0FBQyxDQUFDLFFBQVEsR0FBRyxxQkFBcUIsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxDQUFBO2dCQUNoRCxDQUFDLENBQUMsZ0JBQWdCLENBQUMsUUFBUSxHQUFHLENBQUMsQ0FBQyxRQUFRLENBQUE7YUFDekM7WUFFRCwrRUFBK0U7WUFDL0UsQ0FBQyxDQUFDLGdCQUFnQixHQUFJLENBQUMsQ0FBQyxLQUFLLENBQUMsSUFBWSxDQUFDLFFBQVEsSUFBSSxNQUFNLENBQUMsZ0JBQWdCLElBQUksTUFBTSxDQUFDLE1BQU0sQ0FBQTtZQUMvRixDQUFDLENBQUMsV0FBVyxHQUFHLG1CQUFtQixDQUNqQyxDQUFDLENBQUMsUUFBUSxFQUNWLENBQUMsQ0FBQyxRQUFRLENBQUMsUUFBUSxFQUNuQixDQUFDLENBQUMsS0FBSyxDQUFDLFFBQVEsRUFDaEIsQ0FBQyxDQUFDLGdCQUFnQixFQUNsQixDQUFDLENBQUMsZUFBZSxFQUNqQixDQUFDLENBQUMsZ0JBQWdCLEtBQUssUUFBUSxFQUMvQixLQUFLLENBQ04sQ0FBQTtZQUNELENBQUMsQ0FBQyxjQUFjLEdBQUcsc0JBQXNCLENBQUMsQ0FBQyxDQUFDLFFBQVEsRUFBRSxFQUFJLENBQUMsUUFBUSxFQUFFLENBQUMsQ0FBQyxnQkFBZ0IsRUFBRSxDQUFDLENBQUMsS0FBSyxDQUFDLFFBQVEsQ0FBQyxDQUFBO1lBRTFHLENBQUMsQ0FBQyxhQUFhLEdBQUcsTUFBTSxDQUFDLEtBQUssRUFBRSxhQUFhO2dCQUMzQyxDQUFDLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQyxhQUFhLENBQUMsQ0FBQyxDQUFDLGdCQUFnQixFQUFFLENBQUMsQ0FBQyxLQUFLLEVBQUUsRUFBRSxNQUFNLEVBQUUsSUFBSSxDQUFDLE1BQU0sRUFBRSxNQUFNLEVBQUUsSUFBSSxDQUFDLE1BQU0sRUFBRSxDQUFDO2dCQUN2RyxDQUFDLENBQUMsQ0FBQyxDQUFDLG9CQUFvQixFQUFFLENBQUE7WUFFNUIsQ0FBQyxDQUFDLFlBQVksR0FBRyxNQUFNLENBQUMsS0FBSyxFQUFFLFlBQVk7Z0JBQ3pDLENBQUMsQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDLFlBQVksQ0FBQyxDQUFDLENBQUMsZ0JBQWdCLEVBQUUsQ0FBQyxDQUFDLEtBQUssRUFBRSxFQUFFLE1BQU0sRUFBRSxJQUFJLENBQUMsTUFBTSxFQUFFLE1BQU0sRUFBRSxJQUFJLENBQUMsTUFBTSxFQUFFLENBQUM7Z0JBQ3RHLENBQUMsQ0FBQyxDQUFDLENBQUMsbUJBQW1CLEVBQUUsQ0FBQTtZQUUzQixDQUFDLENBQUMsV0FBVyxHQUFHLE1BQU0sQ0FBQyxLQUFLLEVBQUUsV0FBVztnQkFDdkMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUMsV0FBVyxDQUFDLENBQUMsQ0FBQyxnQkFBZ0IsRUFBRSxDQUFDLENBQUMsS0FBSyxFQUFFLEVBQUUsTUFBTSxFQUFFLElBQUksQ0FBQyxNQUFNLEVBQUUsTUFBTSxFQUFFLElBQUksQ0FBQyxNQUFNLEVBQUUsQ0FBQztnQkFDckcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxrQkFBa0IsRUFBRSxDQUFBO1lBRTFCLE9BQU8sQ0FBQyxDQUFBO1FBQ1YsQ0FBQztXQTRKRixDQUFBO0lBRUQsT0FBTyxPQUFPLENBQUE7QUFDaEIsQ0FBQyxDQUFBO0FBN1FZLFFBQUEsa0JBQWtCLHNCQTZROUIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBSZXN1bHQsIFdyaXRlQ29tbWFuZCB9IGZyb20gJ0BjaGFpbmxpbmsvZ2F1bnRsZXQtY29yZSdcbmltcG9ydCB7IENvbW1hbmRDdG9yIH0gZnJvbSAnLidcbmltcG9ydCB7IERlcGVuZGVuY2llcywgQmFzaWNFbnYgfSBmcm9tICcuLi8uLi9kZXBlbmRlbmNpZXMnXG5pbXBvcnQgeyBJUHJvdmlkZXIgfSBmcm9tICcuLi8uLi9wcm92aWRlcidcbmltcG9ydCB7IFRyYW5zYWN0aW9uUmVzcG9uc2UgfSBmcm9tICcuLi8uLi90cmFuc2FjdGlvbidcbmltcG9ydCB7IElXYWxsZXQgfSBmcm9tICcuLi8uLi93YWxsZXQnXG5pbXBvcnQgeyBtYWtlQ29tbWFuZElkLCBWYWxpZGF0aW9uLCBJbnB1dCB9IGZyb20gJy4vY29tbWFuZCdcbmltcG9ydCB7IHByaW50RXhlY3V0aW9uSW5wdXRzIH0gZnJvbSAnLi4vLi4vLi4vdXRpbHMnXG5pbXBvcnQgeyBDb250cmFjdExvYWRlciwgRXhlY3V0ZUNvbW1hbmRDb25maWcsIEV4ZWN1dGVDb21tYW5kSW5zdGFuY2UgfSBmcm9tICcuL3R5cGVzJ1xuXG5leHBvcnQgaW50ZXJmYWNlIEV4ZWN1dGlvbkNvbnRleHQ8V2FsbGV0LCBQcm92aWRlciwgQ29udHJhY3QsIE1lc3NhZ2UsIFRyYW5zYWN0aW9uPiB7XG4gIGlkOiBzdHJpbmdcbiAgY29udHJhY3RBZGRyZXNzOiBzdHJpbmdcbiAgd2FsbGV0OiBJV2FsbGV0PFdhbGxldD5cbiAgcHJvdmlkZXI6IElQcm92aWRlcjxQcm92aWRlciwgQ29udHJhY3QsIE1lc3NhZ2UsIFRyYW5zYWN0aW9uLCBXYWxsZXQ+XG4gIGZsYWdzOiBhbnlcbiAgZW52OiBhbnlcbiAgY29udHJhY3Q6IENvbnRyYWN0XG59XG5cbmV4cG9ydCB0eXBlIENvbW1hbmRJbmZvID0ge1xuICBjb250cmFjdE5hbWU6IHN0cmluZ1xuICBhY3Rpb246IHN0cmluZ1xuICBpbnB1dHM6IFJlY29yZDxzdHJpbmcsIGFueT5cbn1cblxudHlwZSBNYWtlTWVzc2FnZTxDSSwgQ29udHJhY3QsIFByb3ZpZGVyLCBNZXNzYWdlPiA9IChcbiAgY29udHJhY3Q6IENvbnRyYWN0LFxuICBwcm92aWRlcjogUHJvdmlkZXIsXG4gIGlucHV0OiBDSSxcbiAgYWN0aW9uOiBzdHJpbmcsXG4gIGNvbnRyYWN0QWRkcmVzczogc3RyaW5nLFxuICBpc0RlcGxveW1lbnQ/OiBib29sZWFuLFxuICBvcHRzPzogUmVjb3JkPHN0cmluZywgYW55PixcbikgPT4gKCkgPT4gUHJvbWlzZTxNZXNzYWdlW10+XG5cbnR5cGUgR2V0RnVuY3Rpb25JbnB1dFNjaGVtYTxDSSwgQ29udHJhY3Q+ID0gKFxuICBjb250cmFjdDogQ29udHJhY3QsXG4gIGNvbnRyYWN0TmFtZTogc3RyaW5nLFxuICBmdW5jdGlvbk5hbWU6IHN0cmluZyxcbiAgaW5wdXQ6IENJLFxuKSA9PiAoKSA9PiBDb21tYW5kSW5mb1xuXG5leHBvcnQgY29uc3QgbWFrZUV4ZWN1dGVDb21tYW5kID0gPFVJLCBDSSwgTWVzc2FnZSwgQ29udHJhY3QsIFByb3ZpZGVyLCBUcmFuc2FjdGlvbiwgV2FsbGV0PihcbiAgcmVnaXN0ZXJNYWtlTWVzc2FnZTogTWFrZU1lc3NhZ2U8Q0ksIENvbnRyYWN0LCBQcm92aWRlciwgTWVzc2FnZT4sXG4gIGdldEZ1bmN0aW9uSW5wdXRTY2hlbWE6IEdldEZ1bmN0aW9uSW5wdXRTY2hlbWE8Q0ksIENvbnRyYWN0PixcbiAgbWFrZUR5bmFtaWNDb250cmFjdExvYWRlcjogKGNvbnRyYWN0TG9hZGVyczogQ29udHJhY3RMb2FkZXI8Q29udHJhY3Q+W10pID0+ICh1c2VySW5wdXQ/OiBVSSkgPT4gQ29udHJhY3QsXG4pID0+IChcbiAgY29uZmlnOiBFeGVjdXRlQ29tbWFuZENvbmZpZzxcbiAgICBVSSxcbiAgICBDSSxcbiAgICBUcmFuc2FjdGlvbixcbiAgICBFeGVjdXRpb25Db250ZXh0PFdhbGxldCwgUHJvdmlkZXIsIENvbnRyYWN0LCBNZXNzYWdlLCBUcmFuc2FjdGlvbj4sXG4gICAgQ29udHJhY3RcbiAgPixcbikgPT4gKGRlcHM6IERlcGVuZGVuY2llczxQcm92aWRlciwgQ29udHJhY3QsIE1lc3NhZ2UsIFRyYW5zYWN0aW9uLCBXYWxsZXQsIEJhc2ljRW52PikgPT4ge1xuICBjb25zdCBpZCA9IG1ha2VDb21tYW5kSWQoY29uZmlnLmNhdGVnb3J5LCBjb25maWcuYWN0aW9uLCBjb25maWcuc3VmZml4ZXMpXG5cbiAgY29uc3QgY29tbWFuZDogQ29tbWFuZEN0b3I8RXhlY3V0ZUNvbW1hbmRJbnN0YW5jZTxcbiAgICBVSSxcbiAgICBDSSxcbiAgICBQcm92aWRlcixcbiAgICBDb250cmFjdCxcbiAgICBNZXNzYWdlLFxuICAgIFRyYW5zYWN0aW9uLFxuICAgIFdhbGxldCxcbiAgICBFeGVjdXRpb25Db250ZXh0PFdhbGxldCwgUHJvdmlkZXIsIENvbnRyYWN0LCBNZXNzYWdlLCBUcmFuc2FjdGlvbj5cbiAgPj4gPSBjbGFzcyBFeGVjdXRlQ29tbWFuZCBleHRlbmRzIFdyaXRlQ29tbWFuZDxUcmFuc2FjdGlvblJlc3BvbnNlPFRyYW5zYWN0aW9uPj4ge1xuICAgIFtrZXk6IHN0cmluZ106IGFueVxuXG4gICAgcHJvdmlkZXI6IElQcm92aWRlcjxQcm92aWRlciwgQ29udHJhY3QsIE1lc3NhZ2UsIFRyYW5zYWN0aW9uLCBXYWxsZXQ+XG4gICAgd2FsbGV0OiBJV2FsbGV0PFdhbGxldD5cbiAgICBleGVjdXRpb25Db250ZXh0OiBFeGVjdXRpb25Db250ZXh0PFdhbGxldCwgUHJvdmlkZXIsIENvbnRyYWN0LCBNZXNzYWdlLCBUcmFuc2FjdGlvbj5cbiAgICBjb250cmFjdEFkZHJlc3M6IHN0cmluZ1xuICAgIGNvbnRyYWN0RnVuY3Rpb246IHN0cmluZ1xuICAgIGFjY291bnQ6IHN0cmluZ1xuICAgIGNvbnRyYWN0OiBDb250cmFjdFxuICAgIHNraXBTaW11bGF0ZTogYm9vbGVhblxuXG4gICAgaW5wdXQ6IElucHV0PFVJLCBDST5cblxuICAgIG1ha2VNZXNzYWdlOiAoKSA9PiBQcm9taXNlPE1lc3NhZ2VbXT5cbiAgICBnZXRDb21tYW5kSW5mbzogKCkgPT4gQ29tbWFuZEluZm9cblxuICAgIGJlZm9yZUV4ZWN1dGU6ICgpID0+IFByb21pc2U8dm9pZD5cbiAgICBhZnRlckV4ZWN1dGU6IChyZXNwb25zZTogUmVzdWx0PFRyYW5zYWN0aW9uUmVzcG9uc2U8VHJhbnNhY3Rpb24+PikgPT4gUHJvbWlzZTxhbnk+XG4gICAgYWZ0ZXJFeHBvcnQ6IChyZXNwb25zZTogUmVzdWx0PG51bGw+KSA9PiBQcm9taXNlPGFueT5cblxuICAgIGNvbnN0cnVjdG9yKGZsYWdzLCBhcmdzKSB7XG4gICAgICBzdXBlcihmbGFncywgYXJncylcbiAgICB9XG5cbiAgICBzdGF0aWMgaWQgPSBpZFxuICAgIHN0YXRpYyBjYXRlZ29yeSA9IGNvbmZpZy5jYXRlZ29yeVxuICAgIHN0YXRpYyBleGFtcGxlcyA9IGNvbmZpZy51eC5leGFtcGxlc1xuXG4gICAgc3RhdGljIGNyZWF0ZSA9IGFzeW5jIChmbGFncywgYXJncykgPT4ge1xuICAgICAgY29uc3QgYyA9IG5ldyBFeGVjdXRlQ29tbWFuZChmbGFncywgYXJncylcblxuICAgICAgY29uc3QgZW52ID0gZGVwcy5tYWtlRW52KGZsYWdzKVxuXG4gICAgICBjLnByb3ZpZGVyID0gZGVwcy5tYWtlUHJvdmlkZXIoZW52LnByb3ZpZGVyVXJsKVxuICAgICAgYy53YWxsZXQgPSBhd2FpdCBkZXBzLm1ha2VXYWxsZXQoZW52LCBmbGFncylcbiAgICAgIGMuY29udHJhY3RBZGRyZXNzID1cbiAgICAgICAgYXJnc1swXSB8fCAoY29uZmlnLmxvYWREZWZhdWx0Q29udHJhY3RBZGRyZXNzID8gY29uZmlnLmxvYWREZWZhdWx0Q29udHJhY3RBZGRyZXNzKGVudikgOiB1bmRlZmluZWQpXG4gICAgICBjLmNvbnRyYWN0ID0gY29uZmlnLmxvYWRDb250cmFjdCA/IGNvbmZpZy5sb2FkQ29udHJhY3QoKSA6IHVuZGVmaW5lZFxuICAgICAgYy5leGVjdXRpb25Db250ZXh0ID0ge1xuICAgICAgICBwcm92aWRlcjogYy5wcm92aWRlcixcbiAgICAgICAgd2FsbGV0OiBjLndhbGxldCxcbiAgICAgICAgaWQ6IG1ha2VDb21tYW5kSWQoY29uZmlnLmNhdGVnb3J5LCBjb25maWcuYWN0aW9uLCBjb25maWcuc3VmZml4ZXMpLFxuICAgICAgICBjb250cmFjdEFkZHJlc3M6IGMuY29udHJhY3RBZGRyZXNzLFxuICAgICAgICBmbGFncyxcbiAgICAgICAgZW52LFxuICAgICAgICBjb250cmFjdDogYy5jb250cmFjdCxcbiAgICAgIH1cbiAgICAgIGMubG9nZ2VyID0gZGVwcy5sb2dnZXJcbiAgICAgIGMuaW5wdXQgPSBhd2FpdCBjLmJ1aWxkQ29tbWFuZElucHV0KGZsYWdzLCBhcmdzLCBlbnYpXG4gICAgICBjLnNraXBTaW11bGF0ZSA9IGVudi5za2lwU2ltdWxhdGUgfHwgZmFsc2VcblxuICAgICAgLy8gaWYgdGhlcmUncyBubyBjb250cmFjdCAoYGxvYWRDb250cmFjdCgpYCkgY29uZmlndXJlZCwgdHJ5IHRvIGdldFxuICAgICAgLy8gYSBjb250cmFjdCBsb2FkZXIgZHluYW1pY2FsbHksIGl0J3MgdXNlZCBmb3IgYWJzdHJhY3QgY29tbWFuZC5cbiAgICAgIGlmICghYy5jb250cmFjdCkge1xuICAgICAgICBjb25zdCBkeW5hbWljQ29udHJhY3RMb2FkZXIgPSBtYWtlRHluYW1pY0NvbnRyYWN0TG9hZGVyKGRlcHMuY29udHJhY3RMaXN0KVxuICAgICAgICBjLmNvbnRyYWN0ID0gZHluYW1pY0NvbnRyYWN0TG9hZGVyKGMuaW5wdXQudXNlcilcbiAgICAgICAgYy5leGVjdXRpb25Db250ZXh0LmNvbnRyYWN0ID0gYy5jb250cmFjdFxuICAgICAgfVxuXG4gICAgICAvLyBGb3IgYWJzdHJhY3QgY29tbWFuZHMsIHdlIHdhbnQgdG8gY2hlY2sgZm9yIGZ1bmN0aW9uIHZhbHVlIG9uIHRoZSB1c2VyIGlucHV0XG4gICAgICBjLmNvbnRyYWN0RnVuY3Rpb24gPSAoYy5pbnB1dC51c2VyIGFzIGFueSkuZnVuY3Rpb24gfHwgY29uZmlnLmludGVybmFsRnVuY3Rpb24gfHwgY29uZmlnLmFjdGlvblxuICAgICAgYy5tYWtlTWVzc2FnZSA9IHJlZ2lzdGVyTWFrZU1lc3NhZ2UoXG4gICAgICAgIGMuY29udHJhY3QsXG4gICAgICAgIGMucHJvdmlkZXIucHJvdmlkZXIsXG4gICAgICAgIGMuaW5wdXQuY29udHJhY3QsXG4gICAgICAgIGMuY29udHJhY3RGdW5jdGlvbixcbiAgICAgICAgYy5jb250cmFjdEFkZHJlc3MsXG4gICAgICAgIGMuY29udHJhY3RGdW5jdGlvbiA9PT0gJ2RlcGxveScsXG4gICAgICAgIGZsYWdzLFxuICAgICAgKVxuICAgICAgYy5nZXRDb21tYW5kSW5mbyA9IGdldEZ1bmN0aW9uSW5wdXRTY2hlbWEoYy5jb250cmFjdCwgdGhpcy5jYXRlZ29yeSwgYy5jb250cmFjdEZ1bmN0aW9uLCBjLmlucHV0LmNvbnRyYWN0KVxuXG4gICAgICBjLmJlZm9yZUV4ZWN1dGUgPSBjb25maWcuaG9va3M/LmJlZm9yZUV4ZWN1dGVcbiAgICAgICAgPyBjb25maWcuaG9va3MuYmVmb3JlRXhlY3V0ZShjLmV4ZWN1dGlvbkNvbnRleHQsIGMuaW5wdXQsIHsgbG9nZ2VyOiBkZXBzLmxvZ2dlciwgcHJvbXB0OiBkZXBzLnByb21wdCB9KVxuICAgICAgICA6IGMuZGVmYXVsdEJlZm9yZUV4ZWN1dGUoKVxuXG4gICAgICBjLmFmdGVyRXhlY3V0ZSA9IGNvbmZpZy5ob29rcz8uYWZ0ZXJFeGVjdXRlXG4gICAgICAgID8gY29uZmlnLmhvb2tzLmFmdGVyRXhlY3V0ZShjLmV4ZWN1dGlvbkNvbnRleHQsIGMuaW5wdXQsIHsgbG9nZ2VyOiBkZXBzLmxvZ2dlciwgcHJvbXB0OiBkZXBzLnByb21wdCB9KVxuICAgICAgICA6IGMuZGVmYXVsdEFmdGVyRXhlY3V0ZSgpXG5cbiAgICAgIGMuYWZ0ZXJFeHBvcnQgPSBjb25maWcuaG9va3M/LmFmdGVyRXhwb3J0XG4gICAgICAgID8gY29uZmlnLmhvb2tzLmFmdGVyRXhwb3J0KGMuZXhlY3V0aW9uQ29udGV4dCwgYy5pbnB1dCwgeyBsb2dnZXI6IGRlcHMubG9nZ2VyLCBwcm9tcHQ6IGRlcHMucHJvbXB0IH0pXG4gICAgICAgIDogYy5kZWZhdWx0QWZ0ZXJFeHBvcnQoKVxuXG4gICAgICByZXR1cm4gY1xuICAgIH1cblxuICAgIGhpZ2hsaWdodFRleHQgPSAobWVzc2FnZTogc3RyaW5nKTogc3RyaW5nID0+IGRlcHMubG9nZ2VyLnN0eWxlKG1lc3NhZ2UsICdibHVlJylcblxuICAgIGRlZmF1bHRCZWZvcmVFeGVjdXRlID0gKCkgPT4gYXN5bmMgKCkgPT4ge31cblxuICAgIGRlZmF1bHRBZnRlckV4ZWN1dGUgPSAoKSA9PiBhc3luYyAoKSA9PiB7fVxuXG4gICAgZGVmYXVsdEFmdGVyRXhwb3J0ID0gKCkgPT4gYXN5bmMgKCkgPT4ge31cblxuICAgIHJ1blZhbGlkYXRpb25zID0gYXN5bmMgKFxuICAgICAgdmFsaWRhdGlvbnM6IFZhbGlkYXRpb248VUksIEV4ZWN1dGlvbkNvbnRleHQ8V2FsbGV0LCBQcm92aWRlciwgQ29udHJhY3QsIE1lc3NhZ2UsIFRyYW5zYWN0aW9uPj5bXSxcbiAgICAgIGlucHV0OiBVSSxcbiAgICApID0+IHtcbiAgICAgIGNvbnN0IHJlc3VsdCA9IGF3YWl0IFByb21pc2UuYWxsKHZhbGlkYXRpb25zLm1hcCgodmFsaWRhdGlvbikgPT4gdmFsaWRhdGlvbihpbnB1dCwgdGhpcy5leGVjdXRpb25Db250ZXh0KSkpXG4gICAgICByZXR1cm4gcmVzdWx0XG4gICAgfVxuXG4gICAgYnVpbGRDb21tYW5kSW5wdXQgPSBhc3luYyAoZmxhZ3MsIGFyZ3MsIGVudik6IFByb21pc2U8SW5wdXQ8VUksIENJPj4gPT4ge1xuICAgICAgLy8gSWYgYW4gZXh0ZXJuYWwgaW5wdXQgZ2VuZXJhdG9yIGlzIGRlZmluZWQgaGFzIHByZWZlcmVuY2UuIElmIGl0IGZhaWxzIHRvIGdlbmVyYXRlIHRoZSBpbnB1dCwgZmFsbHMgYmFjayB0byBkZWZhdWx0IG1ldGhvZFxuICAgICAgLy8gV2UgaW5wdXQgYWxsIGZsYWdzIGFuZCBlbnYgaW50byBvdmVycmlkZXMgc28gdGhhdCB0aGUgbWFrZUNvbW1hbmRJbnB1dCBmbiBjYW4gdXNlIHRoZW0gYXMgbmVlZGVkXG4gICAgICBsZXQgdXNlcklucHV0ID1cbiAgICAgICAgZGVwcy5tYWtlQ29tbWFuZElucHV0ICYmXG4gICAgICAgIChhd2FpdCBkZXBzLm1ha2VDb21tYW5kSW5wdXQ8VUk+KGlkLCBmbGFncy5uZXR3b3JrLCB0aGlzLmNvbnRyYWN0QWRkcmVzcywgeyAuLi5mbGFncywgLi4uZW52IH0pKVxuICAgICAgaWYgKCF1c2VySW5wdXQpIHtcbiAgICAgICAgdXNlcklucHV0ID0gYXdhaXQgY29uZmlnLm1ha2VVc2VySW5wdXQoZmxhZ3MsIGFyZ3MsIGVudilcbiAgICAgIH1cblxuICAgICAgLy8gVmFsaWRhdGlvblxuICAgICAgaWYgKGNvbmZpZy52YWxpZGF0aW9ucy5sZW5ndGggPiAwKSB7XG4gICAgICAgIGF3YWl0IHRoaXMucnVuVmFsaWRhdGlvbnMoY29uZmlnLnZhbGlkYXRpb25zLCB1c2VySW5wdXQpXG4gICAgICB9XG5cbiAgICAgIGNvbnN0IGNvbnRyYWN0SW5wdXQgPSBhd2FpdCBjb25maWcubWFrZUNvbnRyYWN0SW5wdXQodXNlcklucHV0LCB0aGlzLmV4ZWN1dGlvbkNvbnRleHQsIGRlcHMpXG4gICAgICByZXR1cm4ge1xuICAgICAgICB1c2VyOiB1c2VySW5wdXQsXG4gICAgICAgIGNvbnRyYWN0OiBjb250cmFjdElucHV0LFxuICAgICAgfVxuICAgIH1cblxuICAgIGRlcGxveUNvbnRyYWN0ID0gYXN5bmMgKCk6IFByb21pc2U8VHJhbnNhY3Rpb25SZXNwb25zZTxUcmFuc2FjdGlvbj4+ID0+IHtcbiAgICAgIGF3YWl0IGRlcHMucHJvbXB0KCdDb250aW51ZT8nKVxuICAgICAgZGVwcy5sb2dnZXIubG9hZGluZyhgU2VuZGluZyB0cmFuc2FjdGlvbi4uLmApXG5cbiAgICAgIGNvbnN0IHR4ID0gYXdhaXQgdGhpcy5wcm92aWRlci5kZXBsb3lDb250cmFjdCh0aGlzLndhbGxldCwgdGhpcy5jb250cmFjdCwgdGhpcy5pbnB1dC5jb250cmFjdCwgZmFsc2UpXG4gICAgICBkZXBzLmxvZ2dlci5sb2FkaW5nKGBXYWl0aW5nIGZvciB0eCBjb25maXJtYXRpb24gYXQgJHt0eC5oYXNofS4uLmApXG4gICAgICBjb25zdCByZXNwb25zZSA9IGF3YWl0IHR4LndhaXQoKVxuICAgICAgaWYgKCFyZXNwb25zZS5zdWNjZXNzKSB7XG4gICAgICAgIGRlcHMubG9nZ2VyLmVycm9yKGBDb250cmFjdCB3YXMgbm90IGRlcGxveWVkOiAke3R4LmVycm9yTWVzc2FnZX1gKVxuICAgICAgICByZXR1cm4gdHhcbiAgICAgIH1cbiAgICAgIGRlcHMubG9nZ2VyLnN1Y2Nlc3MoYENvbnRyYWN0IGRlcGxveWVkIG9uICR7dHguaGFzaH0gd2l0aCBhZGRyZXNzICR7dHguYWRkcmVzc31gKVxuICAgICAgcmV0dXJuIHR4XG4gICAgfVxuXG4gICAgZXhlY3V0ZVdpdGhTaWduZXIgPSBhc3luYyAoKTogUHJvbWlzZTxUcmFuc2FjdGlvblJlc3BvbnNlPFRyYW5zYWN0aW9uPj4gPT4ge1xuICAgICAgY29uc3QgbWVzc2FnZXMgPSBhd2FpdCB0aGlzLm1ha2VNZXNzYWdlKClcbiAgICAgIGF3YWl0IGRlcHMucHJvbXB0KGBDb250aW51ZT9gKVxuICAgICAgZGVwcy5sb2dnZXIubG9hZGluZyhgU2lnbmluZyBhbmQgc2VuZGluZyB0cmFuc2FjdGlvbi4uLmApXG4gICAgICBjb25zdCB0eCA9IGF3YWl0IHRoaXMucHJvdmlkZXIuc2lnbkFuZFNlbmQodGhpcy53YWxsZXQsIG1lc3NhZ2VzLCB0aGlzLmNvbnRyYWN0KVxuICAgICAgZGVwcy5sb2dnZXIubG9hZGluZyhgV2FpdGluZyBmb3IgdHggY29uZmlybWF0aW9uIGF0ICR7dHguaGFzaH0uLi5gKVxuICAgICAgY29uc3QgcmVzcG9uc2UgPSBhd2FpdCB0eC53YWl0KClcbiAgICAgIGlmICghcmVzcG9uc2Uuc3VjY2Vzcykge1xuICAgICAgICBkZXBzLmxvZ2dlci5lcnJvcihgVHggd2FzIG5vdCBzdWNjZXNzZnVsOiAke3R4LmVycm9yTWVzc2FnZX1gKVxuICAgICAgICByZXR1cm4gdHhcbiAgICAgIH1cbiAgICAgIGRlcHMubG9nZ2VyLnN1Y2Nlc3MoYFR4IGV4ZWN1dGVkIGF0ICR7dHguaGFzaH1gKVxuICAgICAgcmV0dXJuIHR4XG4gICAgfVxuXG4gICAgc2ltdWxhdGUgPSBhc3luYyAoc2lnbmVyOiBzdHJpbmcpOiBQcm9taXNlPHN0cmluZ1tdPiA9PiB7XG4gICAgICBjb25zdCBtc2dzID0gYXdhaXQgdGhpcy5tYWtlTWVzc2FnZSgpXG4gICAgICBjb25zdCByZXN1bHQgPSBhd2FpdCBQcm9taXNlLmFsbChtc2dzLm1hcCgobXNnKSA9PiB0aGlzLnByb3ZpZGVyLnNpbXVsYXRlKHNpZ25lciwgbXNnLCB0aGlzLmNvbnRyYWN0KSkpXG4gICAgICByZXR1cm4gcmVzdWx0XG4gICAgfVxuXG4gICAgZXhlY3V0ZSA9IGFzeW5jICgpOiBQcm9taXNlPFJlc3VsdDxUcmFuc2FjdGlvblJlc3BvbnNlPFRyYW5zYWN0aW9uPj4+ID0+IHtcbiAgICAgIGNvbnN0IGluZm8gPSB0aGlzLmdldENvbW1hbmRJbmZvKClcbiAgICAgIGlmIChjb25maWcuYWN0aW9uICE9PSAnZGVwbG95Jykge1xuICAgICAgICBkZXBzLmxvZ2dlci5pbmZvKFxuICAgICAgICAgIGBBYm91dCB0byBleGVjdXRlICR7aW5mby5jb250cmFjdE5hbWV9KCR7dGhpcy5jb250cmFjdEFkZHJlc3N9KS4ke2luZm8uYWN0aW9ufShcXG4ke3ByaW50RXhlY3V0aW9uSW5wdXRzKFxuICAgICAgICAgICAgaW5mby5pbnB1dHMsXG4gICAgICAgICAgKX0pYCxcbiAgICAgICAgKVxuICAgICAgfSBlbHNlIHtcbiAgICAgICAgZGVwcy5sb2dnZXIuaW5mbyhgQWJvdXQgdG8gZGVwbG95IGEgbmV3ICR7dGhpcy5oaWdobGlnaHRUZXh0KGNvbmZpZy5jYXRlZ29yeSl9IGNvbnRyYWN0YClcbiAgICAgIH1cblxuICAgICAgYXdhaXQgdGhpcy5iZWZvcmVFeGVjdXRlKClcblxuICAgICAgY29uc3QgbWVzc2FnZXMgPSBhd2FpdCB0aGlzLm1ha2VNZXNzYWdlKClcblxuICAgICAgLy8gSWYgdGhlIHVzZXIgZGVjaWRlcyB0byBleHBvcnQgdGhlIHRyYW5zYWN0aW9uIGRhdGEsIHdlIGNhbiBnZW5lcmF0ZSBhbmQgcmV0dXJuIHRoZVxuICAgICAgLy8gdHJhbnNhY3Rpb24gaW5mb3JtYXRpb24gd2l0aG91dCBzaWduaW5nIGFuZCBzZW5kaW5nXG4gICAgICBpZiAodGhpcy5mbGFncy5leHBvcnQpIHtcbiAgICAgICAgZGVwcy5sb2dnZXIuaW5mbygnVGhlIGV4cG9ydCBvcHRpb24gd2FzIGVuYWJsZWQuIFRyYW5zYWN0aW9uIHJlcXVlc3QgaW5mb3JtYXRpb24gcmV0dXJuZWQgaW4gcmVwb3J0JylcbiAgICAgICAgY29uc3QgcmVzdWx0ID0geyByZXNwb25zZXM6IFtdIH1cbiAgICAgICAgY29uc3QgZGF0YSA9IChhd2FpdCB0aGlzLmFmdGVyRXhwb3J0KHJlc3VsdCkpIHx8IHt9XG4gICAgICAgIGNvbnN0IHJlcG9ydCA9IHsgLi4ucmVzdWx0LCBkYXRhOiB7IG1lc3NhZ2VzLCAuLi5kYXRhIH0gfVxuICAgICAgICBpZiAoZGVwcy5hZnRlckV4cG9ydEV4dGVybmFsKSBhd2FpdCBkZXBzLmFmdGVyRXhwb3J0RXh0ZXJuYWwoaWQsIHRoaXMuZXhlY3V0aW9uQ29udGV4dC5mbGFncy5uZXR3b3JrLCByZXBvcnQpXG4gICAgICAgIHJldHVybiByZXBvcnRcbiAgICAgIH1cbiAgICAgIGNvbnN0IHNpZ25lciA9IGF3YWl0IHRoaXMud2FsbGV0LmdldFB1YmxpY0tleSgpXG4gICAgICBkZXBzLmxvZ2dlci5pbmZvKGBPcGVyYXRvciBhZGRyZXNzOiAke3NpZ25lcn1gKVxuXG4gICAgICBkZXBzLmxvZ2dlci5pbmZvKGBDb250cmFjdCBhZGRyZXNzOiAke3RoaXMuY29udHJhY3RBZGRyZXNzfWApXG4gICAgICBkZXBzLmxvZ2dlci5sb2FkaW5nKCdTaW11bGF0aW5nIHRyYW5zYWN0aW9ucy4uLicpXG5cbiAgICAgIGlmICghdGhpcy5za2lwU2ltdWxhdGUpIHtcbiAgICAgICAgY29uc3Qgc2ltdWxhdGlvbiA9IGF3YWl0IHRoaXMuc2ltdWxhdGUoc2lnbmVyKVxuXG4gICAgICAgIGlmICghIXRoaXMuZXhlY3V0aW9uQ29udGV4dC5mbGFncy5zaW11bGF0ZSkge1xuICAgICAgICAgIHRoaXMuZGVwcy5sb2dnZXIuc3VjY2VzcyhgVHJhbnNhY3Rpb24gc3VjY2Vzc2Z1bGx5IHNpbXVsYXRlZGApXG4gICAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICAgIHJlc3BvbnNlczogW10sXG4gICAgICAgICAgICBkYXRhOiB7XG4gICAgICAgICAgICAgIHNpbXVsYXRpb246IHNpbXVsYXRpb24sXG4gICAgICAgICAgICB9LFxuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICBhd2FpdCBkZXBzLnByb21wdCgnQ29udGludWU/JylcbiAgICAgIGRlcHMubG9nZ2VyLmxvYWRpbmcoYFNlbmRpbmcgdHJhbnNhY3Rpb24uLi5gKVxuXG4gICAgICBjb25zdCB0eCA9IGF3YWl0IHRoaXMucHJvdmlkZXIuc2lnbkFuZFNlbmQodGhpcy53YWxsZXQsIG1lc3NhZ2VzLCB0aGlzLmNvbnRyYWN0KVxuXG4gICAgICBkZXBzLmxvZ2dlci5sb2FkaW5nKGBXYWl0aW5nIGZvciB0eCBjb25maXJtYXRpb24gYXQgJHt0eC5oYXNofS4uLmApXG5cbiAgICAgIGNvbnN0IGlzRGVwbG95bWVudCA9IHRoaXMuY29udHJhY3RGdW5jdGlvbiA9PT0gJ2RlcGxveSdcbiAgICAgIGNvbnN0IG91dCA9IGF3YWl0IHR4LndhaXQoKVxuICAgICAgaWYgKGlzRGVwbG95bWVudCAmJiBvdXQuc3VjY2Vzcykge1xuICAgICAgICBkZXBzLmxvZ2dlci5zdWNjZXNzKGBDb250cmFjdCBkZXBsb3llZCBvbiAke3R4Lmhhc2h9IHdpdGggYWRkcmVzcyAke3R4LmFkZHJlc3N9YClcbiAgICAgIH1cblxuICAgICAgaWYgKGlzRGVwbG95bWVudCAmJiAhb3V0LnN1Y2Nlc3MpIHtcbiAgICAgICAgLy8gRG9uJ3QgdGhpbmsgdGhpcyBjYXNlIHNob3VsZCBldmVyIG9jY3VyXG4gICAgICAgIC8vIHRoZSBjb21tYW5kIHNob3VsZCBlcnJvciBvdXQgYmVmb3JlIGVudGVyaW5nIHRoaXMgaWYgc3RhdGVtZW50XG4gICAgICAgIGRlcHMubG9nZ2VyLmVycm9yKGBDb250cmFjdCB3YXMgbm90IGRlcGxveWVkOiAke3R4LmVycm9yTWVzc2FnZX1gKVxuICAgICAgfVxuICAgICAgbGV0IHJlc3VsdCA9IHtcbiAgICAgICAgcmVzcG9uc2VzOiBbXG4gICAgICAgICAge1xuICAgICAgICAgICAgdHgsXG4gICAgICAgICAgICBjb250cmFjdDogdHguYWRkcmVzcyxcbiAgICAgICAgICB9LFxuICAgICAgICBdLFxuICAgICAgfVxuICAgICAgY29uc3QgZGF0YSA9IGF3YWl0IHRoaXMuYWZ0ZXJFeGVjdXRlKHJlc3VsdClcbiAgICAgIGRlcHMubG9nZ2VyLnN1Y2Nlc3MoYEV4ZWN1dGlvbiBmaW5pc2hlZCBhdCB0cmFuc2FjdGlvbjogJHtyZXN1bHQucmVzcG9uc2VzWzBdLnR4Lmhhc2h9YClcblxuICAgICAgY29uc3QgcmVwb3J0ID0gISFkYXRhID8geyAuLi5yZXN1bHQsIGRhdGE6IHsgLi4uZGF0YSB9IH0gOiByZXN1bHRcbiAgICAgIGlmIChkZXBzLmFmdGVyRXhlY3V0ZUV4dGVybmFsKSBhd2FpdCBkZXBzLmFmdGVyRXhlY3V0ZUV4dGVybmFsKGlkLCB0aGlzLmV4ZWN1dGlvbkNvbnRleHQuZmxhZ3MubmV0d29yaywgcmVwb3J0KVxuXG4gICAgICByZXR1cm4gcmVwb3J0XG4gICAgfVxuICB9XG5cbiAgcmV0dXJuIGNvbW1hbmRcbn1cbiJdfQ==

@@ -11,2 +11,3 @@ import { CommandCtor } from '.';

flags: any;
env: any;
contract: Contract;

@@ -38,3 +39,3 @@ }

*/
makeComparisionData: (provider: IProvider<Provider, Contract, Message, Transaction, Wallet>) => (results: any[], input: UI, contractAddress: string, contract?: ContractFactory) => Promise<{
makeComparisionData: (provider: IProvider<Provider, Contract, Message, Transaction, Wallet>, context?: InspectionContext<Wallet, Provider, Contract, Message, Transaction>) => (results: any[], input: UI, contractAddress: string, contract?: ContractFactory) => Promise<{
toCompare: CompareInput;

@@ -41,0 +42,0 @@ result: QueryResult;

@@ -62,3 +62,3 @@ "use strict";

const results = await this.runQueries(queries, this.input.contract);
const data = await config.makeComparisionData(this.provider)(results, this.input.user.input, this.contractAddress, this.contract);
const data = await config.makeComparisionData(this.provider, this.inspectionContext)(results, this.input.user.input, this.contractAddress, this.contract);
const inspectionResults = config.inspect ? config.inspect(this.input.user, data) : [];

@@ -98,3 +98,4 @@ deps.logger.info('Inspection Results:');

contractAddress: c.contractAddress,
flags: flags,
flags,
env,
contract: c.contract,

@@ -108,2 +109,2 @@ };

exports.makeInspectionCommand = makeInspectionCommand;
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5zcGVjdGlvbkNvbW1hbmQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvY29yZS9jb21tYW5kcy9iYXNlL2luc3BlY3Rpb25Db21tYW5kLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7QUFBQSx3R0FBOEU7QUFJOUUsdUNBQWdFO0FBRWhFLDBDQUFtRDtBQXVGNUMsTUFBTSxxQkFBcUIsR0FBRyxDQUNuQyxLQUFnQyxFQUNoQyxFQUFFLENBQUMsQ0FDSCxNQUFpSCxFQUNqSCxFQUFFLENBQUMsQ0FBQyxJQUE4RSxFQUFFLEVBQUU7O0lBQ3RGLE1BQU0sRUFBRSxHQUFHLElBQUEsdUJBQWEsRUFBQyxNQUFNLENBQUMsRUFBRSxDQUFDLFFBQVEsRUFBRSxNQUFNLENBQUMsRUFBRSxDQUFDLFFBQVEsRUFBRSxNQUFNLENBQUMsRUFBRSxDQUFDLFFBQVEsQ0FBQyxDQUFBO0lBRXBGLE1BQU0sT0FBTyxTQUFxRCxNQUFNLGlCQUN0RSxTQUFRLGNBQVc7WUFENkM7O2dCQXdDaEUsbUJBQWMsR0FBRyxLQUFLLEVBQ3BCLFdBQWtHLEVBQ2xHLEtBQVMsRUFDVCxFQUFFO29CQUNGLE1BQU0sTUFBTSxHQUFHLE1BQU0sT0FBTyxDQUFDLEdBQUcsQ0FBQyxXQUFXLENBQUMsR0FBRyxDQUFDLENBQUMsVUFBVSxFQUFFLEVBQUUsQ0FBQyxVQUFVLENBQUMsS0FBSyxFQUFFLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxDQUFDLENBQUMsQ0FBQTtvQkFDNUcsT0FBTyxNQUFNLENBQUE7Z0JBQ2YsQ0FBQyxDQUFBO2dCQUVELHNCQUFpQixHQUFHLEtBQUssRUFBRSxLQUFLLEVBQUUsSUFBSSxFQUFFLEdBQUcsRUFBMEQsRUFBRTtvQkFDckcsNEhBQTRIO29CQUM1SCxtR0FBbUc7b0JBQ25HLElBQUksU0FBUyxHQUNYLElBQUksQ0FBQyxnQkFBZ0I7d0JBQ3BCOzRCQUNDLEtBQUssRUFBRSxNQUFNLElBQUksQ0FBQyxnQkFBZ0IsQ0FB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QUFDLFdBQVcsQ0FBQyxDQUFBO1lBQy9DLENBQUMsQ0FBQyxlQUFlO2dCQUNmLElBQUksQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQywwQkFBMEIsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLDBCQUEwQixDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQTtZQUVyRyxDQUFDLENBQUMsS0FBSyxHQUFHLE1BQU0sQ0FBQyxDQUFDLGlCQUFpQixDQUFDLEtBQUssRUFBRSxJQUFJLEVBQUUsR0FBRyxDQUFDLENBQUE7WUFDckQsQ0FBQyxDQUFDLFFBQVEsR0FBRyxNQUFNLENBQUMsWUFBWSxFQUFFLENBQUE7WUFDbEMsQ0FBQyxDQUFDLGlCQUFpQixHQUFHO2dCQUNwQixRQUFRLEVBQUUsQ0FBQyxDQUFDLFFBQVE7Z0JBQ3BCLEVBQUUsRUFBRSxJQUFBLHVCQUFhLEVBQUMsTUFBTSxDQUFDLEVBQUUsQ0FBQyxRQUFRLEVBQUUsTUFBTSxDQUFDLEVBQUUsQ0FBQyxRQUFRLEVBQUUsTUFBTSxDQUFDLEVBQUUsQ0FBQyxRQUFRLENBQUM7Z0JBQzdFLGVBQWUsRUFBRSxDQUFDLENBQUMsZUFBZTtnQkFDbEMsS0FBSyxFQUFFLEtBQUs7Z0JBQ1osUUFBUSxFQUFFLENBQUMsQ0FBQyxRQUFRO2FBQ3JCLENBQUE7WUFFRCxPQUFPLENBQUMsQ0FBQTtRQUNWLENBQUM7V0EwRkYsQ0FBQTtJQUVELE9BQU8sT0FBTyxDQUFBO0FBQ2hCLENBQUMsQ0FBQTtBQTFJWSxRQUFBLHFCQUFxQix5QkEwSWpDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IEJhc2VDb21tYW5kIGZyb20gJ0BjaGFpbmxpbmsvZ2F1bnRsZXQtY29yZS9kaXN0L2NvbW1hbmRzL2ludGVybmFsL2Jhc2UnXG5pbXBvcnQgeyBDb21tYW5kQ3RvciwgSW5wdXQgfSBmcm9tICcuJ1xuaW1wb3J0IHsgSW5zcGVjdGlvbkRlcGVuZGVuY2llcyB9IGZyb20gJy4uLy4uL2RlcGVuZGVuY2llcydcbmltcG9ydCB7IElQcm92aWRlciB9IGZyb20gJy4uLy4uL3Byb3ZpZGVyJ1xuaW1wb3J0IHsgQ29tbWFuZFVYLCBtYWtlQ29tbWFuZElkLCBWYWxpZGF0aW9uIH0gZnJvbSAnLi9jb21tYW5kJ1xuaW1wb3J0IHsgQ29udHJhY3RGYWN0b3J5IH0gZnJvbSAnZXRoZXJzJ1xuaW1wb3J0IHsgY2FsbFdpdGhFeHBCYWNrb2ZmIH0gZnJvbSAnLi4vLi4vLi4vdXRpbHMnXG5cbmV4cG9ydCBpbnRlcmZhY2UgSW5zcGVjdGlvbkNvbnRleHQ8V2FsbGV0LCBQcm92aWRlciwgQ29udHJhY3QsIE1lc3NhZ2UsIFRyYW5zYWN0aW9uPiB7XG4gIGlkOiBzdHJpbmdcbiAgY29udHJhY3RBZGRyZXNzOiBzdHJpbmdcbiAgcHJvdmlkZXI6IElQcm92aWRlcjxQcm92aWRlciwgQ29udHJhY3QsIE1lc3NhZ2UsIFRyYW5zYWN0aW9uLCBXYWxsZXQ+XG4gIGZsYWdzOiBhbnlcbiAgY29udHJhY3Q6IENvbnRyYWN0XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgSW5zcGVjdFVzZXJJbnB1dDxVSSwgQ29tcGFyZUlucHV0PiB7XG4gIGlucHV0OiBVSVxuICB0b0NvbXBhcmU/OiBDb21wYXJlSW5wdXRcbn1cblxuLy8gVE9ETzogVGVtcG9yYXJ5IGluc3BlY3Rpb24gcmVwb3J0LlxuZXhwb3J0IGludGVyZmFjZSBJbnNwZWN0aW9uUmVwb3J0PFF1ZXJ5UmVzdWx0PiB7XG4gIGRhdGE6IFF1ZXJ5UmVzdWx0XG4gIGNvbnRyYWN0OiBzdHJpbmdcbiAgaW5zcGVjdGlvbjoge1xuICAgIGlkOiBzdHJpbmdcbiAgICBtZXNzYWdlOiBzdHJpbmdcbiAgICByZXN1bHRUeXBlOiAnc3VjY2VzcycgfCAnZmFpbGVkJ1xuICB9W11cbn1cblxuZXhwb3J0IGludGVyZmFjZSBJbnNwZWN0Q29tbWFuZENvbmZpZzxcbiAgVUksXG4gIENJLFxuICBDb21wYXJlSW5wdXQsXG4gIFF1ZXJ5UmVzdWx0LFxuICBQcm92aWRlcixcbiAgQ29udHJhY3QsXG4gIE1lc3NhZ2UsXG4gIFRyYW5zYWN0aW9uLFxuICBXYWxsZXRcbj4ge1xuICB1eDogQ29tbWFuZFVYXG4gIC8vIExpc3Qgb2YgcXVlcnkgZnVuY3Rpb25zIHRvIGNhbGxcbiAgcXVlcmllczogc3RyaW5nW10gfCAoKGlucHV0OiBVSSkgPT4gc3RyaW5nW10pXG4gIG1ha2VVc2VySW5wdXQ/OiAoZmxhZ3M6IGFueSwgYXJnczogc3RyaW5nW10pID0+IFByb21pc2U8SW5zcGVjdFVzZXJJbnB1dDxVSSwgQ29tcGFyZUlucHV0Pj5cbiAgLyoqXG4gICAqIEdpdmVuIHRoZSB1c2VyIGlucHV0LCB0cmFuc2xhdGUgdG8gZXZlcnkgY29udHJhY3QgaW5wdXQgcmVxdWlyZWQgZm9yIGVhY2ggcXVlcnlcbiAgICovXG4gIG1ha2VDb250cmFjdElucHV0PzogKHVzZXJJbnB1dDogVUkpID0+IFByb21pc2U8Q0k+XG4gIC8qKlxuICAgKiBBZnRlciBkb2luZyBldmVyeSBxdWVyeSwgY29udmVydCB0aGUgcmVzdWx0cyBpbnRvIHRoZSB0eXBlIHdlIHdhbnQgKFF1ZXJ5UmVzdWx0KSBhbmQgaWYgdG9Db21wYXJlIGlzIGdpdmVuLCBtYXRjaCByZXN1bHQgaW50byBpdFxuICAgKi9cbiAgbWFrZUNvbXBhcmlzaW9uRGF0YTogKFxuICAgIHByb3ZpZGVyOiBJUHJvdmlkZXI8UHJvdmlkZXIsIENvbnRyYWN0LCBNZXNzYWdlLCBUcmFuc2FjdGlvbiwgV2FsbGV0PixcbiAgKSA9PiAoXG4gICAgcmVzdWx0czogYW55W10sXG4gICAgaW5wdXQ6IFVJLFxuICAgIGNvbnRyYWN0QWRkcmVzczogc3RyaW5nLFxuICAgIGNvbnRyYWN0PzogQ29udHJhY3RGYWN0b3J5LFxuICApID0+IFByb21pc2U8e1xuICAgIHRvQ29tcGFyZTogQ29tcGFyZUlucHV0XG4gICAgcmVzdWx0OiBRdWVyeVJlc3VsdFxuICB9PlxuICBpbnNwZWN0PzogKFxuICAgIGV4cGVjdGVkOiBJbnNwZWN0VXNlcklucHV0PFVJLCBDb21wYXJlSW5wdXQ+LFxuICAgIGRhdGE6IHtcbiAgICAgIHRvQ29tcGFyZTogQ29tcGFyZUlucHV0XG4gICAgICByZXN1bHQ6IFF1ZXJ5UmVzdWx0XG4gICAgfSxcbiAgKSA9PiB7XG4gICAgaWQ6IHN0cmluZ1xuICAgIG1lc3NhZ2U6IHN0cmluZ1xuICAgIHJlc3VsdFR5cGU6ICdzdWNjZXNzJyB8ICdmYWlsZWQnXG4gIH1bXVxuICBsb2FkQ29udHJhY3Q6ICgpID0+IENvbnRyYWN0XG4gIGxvYWREZWZhdWx0Q29udHJhY3RBZGRyZXNzPzogKGVudjogYW55KSA9PiBzdHJpbmdcbiAgdmFsaWRhdGlvbnM/OiBWYWxpZGF0aW9uPFVJLCBJbnNwZWN0aW9uQ29udGV4dDxXYWxsZXQsIFByb3ZpZGVyLCBDb250cmFjdCwgTWVzc2FnZSwgVHJhbnNhY3Rpb24+PltdXG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgSW5zcGVjdENvbW1hbmRJbnN0YW5jZTxRdWVyeVJlc3VsdD4ge1xuICBleGVjdXRlOiAoKSA9PiBQcm9taXNlPHsgZGF0YTogSW5zcGVjdGlvblJlcG9ydDxRdWVyeVJlc3VsdD47IHJlc3BvbnNlczogYW55W10gfT5cbn1cblxudHlwZSBGZXRjaDxDb250cmFjdCwgUHJvdmlkZXI+ID0gKFxuICBjb250cmFjdDogQ29udHJhY3QsXG4gIHByb3ZpZGVyOiBQcm92aWRlcixcbiAgY29udHJhY3RBZGRyZXNzOiBzdHJpbmcsXG4gIGZuOiBzdHJpbmcsXG4gIGlucHV0OiBhbnksXG4pID0+IGFueVxuXG5leHBvcnQgY29uc3QgbWFrZUluc3BlY3Rpb25Db21tYW5kID0gPFVJLCBDSSwgQ29tcGFyZUlucHV0LCBRdWVyeVJlc3VsdCwgQ29udHJhY3QsIFByb3ZpZGVyPihcbiAgZmV0Y2g6IEZldGNoPENvbnRyYWN0LCBQcm92aWRlcj4sXG4pID0+IDxNZXNzYWdlLCBUcmFuc2FjdGlvbiwgV2FsbGV0PihcbiAgY29uZmlnOiBJbnNwZWN0Q29tbWFuZENvbmZpZzxVSSwgQ0ksIENvbXBhcmVJbnB1dCwgUXVlcnlSZXN1bHQsIFByb3ZpZGVyLCBDb250cmFjdCwgTWVzc2FnZSwgVHJhbnNhY3Rpb24sIFdhbGxldD4sXG4pID0+IChkZXBzOiBJbnNwZWN0aW9uRGVwZW5kZW5jaWVzPFByb3ZpZGVyLCBDb250cmFjdCwgTWVzc2FnZSwgVHJhbnNhY3Rpb24sIFdhbGxldD4pID0+IHtcbiAgY29uc3QgaWQgPSBtYWtlQ29tbWFuZElkKGNvbmZpZy51eC5jYXRlZ29yeSwgY29uZmlnLnV4LmZ1bmN0aW9uLCBjb25maWcudXguc3VmZml4ZXMpXG5cbiAgY29uc3QgY29tbWFuZDogQ29tbWFuZEN0b3I8SW5zcGVjdENvbW1hbmRJbnN0YW5jZTxRdWVyeVJlc3VsdD4+ID0gY2xhc3MgSW5zcGVjdGlvbkNvbW1hbmRcbiAgICBleHRlbmRzIEJhc2VDb21tYW5kXG4gICAgaW1wbGVtZW50cyBJbnNwZWN0Q29tbWFuZEluc3RhbmNlPFF1ZXJ5UmVzdWx0PiB7XG4gICAgLy8gUHJvcHNcbiAgICBwcm92aWRlcjogSVByb3ZpZGVyPFByb3ZpZGVyLCBDb250cmFjdCwgTWVzc2FnZSwgVHJhbnNhY3Rpb24sIFdhbGxldD5cbiAgICBjb250cmFjdEFkZHJlc3M6IHN0cmluZ1xuXG4gICAgaW5wdXQ6IElucHV0PEluc3BlY3RVc2VySW5wdXQ8VUksIENvbXBhcmVJbnB1dD4sIENJPlxuXG4gICAgY29udHJhY3Q6IENvbnRyYWN0XG5cbiAgICBpbnNwZWN0aW9uQ29udGV4dDogSW5zcGVjdGlvbkNvbnRleHQ8V2FsbGV0LCBQcm92aWRlciwgQ29udHJhY3QsIE1lc3NhZ2UsIFRyYW5zYWN0aW9uPlxuXG4gICAgLy8gVVhcbiAgICBzdGF0aWMgaWQgPSBpZFxuICAgIHN0YXRpYyBjYXRlZ29yeSA9IGNvbmZpZy51eC5jYXRlZ29yeVxuICAgIHN0YXRpYyBleGFtcGxlcyA9IGNvbmZpZy51eC5leGFtcGxlc1xuXG4gICAgc3RhdGljIGNyZWF0ZSA9IGFzeW5jIChmbGFncywgYXJncykgPT4ge1xuICAgICAgY29uc3QgYyA9IG5ldyBJbnNwZWN0aW9uQ29tbWFuZChmbGFncywgYXJncylcblxuICAgICAgY29uc3QgZW52ID0gZGVwcy5tYWtlRW52KGZsYWdzKVxuXG4gICAgICBjLnByb3ZpZGVyID0gZGVwcy5tYWtlUHJvdmlkZXIoZW52LnByb3ZpZGVyVXJsKVxuICAgICAgYy5jb250cmFjdEFkZHJlc3MgPVxuICAgICAgICBhcmdzWzBdIHx8IChjb25maWcubG9hZERlZmF1bHRDb250cmFjdEFkZHJlc3MgPyBjb25maWcubG9hZERlZmF1bHRDb250cmFjdEFkZHJlc3MoZW52KSA6IHVuZGVmaW5lZClcblxuICAgICAgYy5pbnB1dCA9IGF3YWl0IGMuYnVpbGRDb21tYW5kSW5wdXQoZmxhZ3MsIGFyZ3MsIGVudilcbiAgICAgIGMuY29udHJhY3QgPSBjb25maWcubG9hZENvbnRyYWN0KClcbiAgICAgIGMuaW5zcGVjdGlvbkNvbnRleHQgPSB7XG4gICAgICAgIHByb3ZpZGVyOiBjLnByb3ZpZGVyLFxuICAgICAgICBpZDogbWFrZUNvbW1hbmRJZChjb25maWcudXguY2F0ZWdvcnksIGNvbmZpZy51eC5mdW5jdGlvbiwgY29uZmlnLnV4LnN1ZmZpeGVzKSxcbiAgICAgICAgY29udHJhY3RBZGRyZXNzOiBjLmNvbnRyYWN0QWRkcmVzcyxcbiAgICAgICAgZmxhZ3M6IGZsYWdzLFxuICAgICAgICBjb250cmFjdDogYy5jb250cmFjdCxcbiAgICAgIH1cblxuICAgICAgcmV0dXJuIGNcbiAgICB9XG5cbiAgICBydW5WYWxpZGF0aW9ucyA9IGFzeW5jIChcbiAgICAgIHZhbGlkYXRpb25zOiBWYWxpZGF0aW9uPFVJLCBJbnNwZWN0aW9uQ29udGV4dDxXYWxsZXQsIFByb3ZpZGVyLCBDb250cmFjdCwgTWVzc2FnZSwgVHJhbnNhY3Rpb24+PltdLFxuICAgICAgaW5wdXQ6IFVJLFxuICAgICkgPT4ge1xuICAgICAgY29uc3QgcmVzdWx0ID0gYXdhaXQgUHJvbWlzZS5hbGwodmFsaWRhdGlvbnMubWFwKCh2YWxpZGF0aW9uKSA9PiB2YWxpZGF0aW9uKGlucHV0LCB0aGlzLmluc3BlY3Rpb25Db250ZXh0KSkpXG4gICAgICByZXR1cm4gcmVzdWx0XG4gICAgfVxuXG4gICAgYnVpbGRDb21tYW5kSW5wdXQgPSBhc3luYyAoZmxhZ3MsIGFyZ3MsIGVudik6IFByb21pc2U8SW5wdXQ8SW5zcGVjdFVzZXJJbnB1dDxVSSwgQ29tcGFyZUlucHV0PiwgQ0k+PiA9PiB7XG4gICAgICAvLyBJZiBhbiBleHRlcm5hbCBpbnB1dCBnZW5lcmF0b3IgaXMgZGVmaW5lZCBoYXMgcHJlZmVyZW5jZS4gSWYgaXQgZmFpbHMgdG8gZ2VuZXJhdGUgdGhlIGlucHV0LCBmYWxscyBiYWNrIHRvIGRlZmF1bHQgbWV0aG9kXG4gICAgICAvLyBXZSBpbnB1dCBhbGwgZmxhZ3MgYW5kIGVudiBpbnRvIG92ZXJyaWRlcyBzbyB0aGF0IHRoZSBtYWtlQ29tbWFuZElucHV0IGZuIGNhbiB1c2UgdGhlbSBhcyBuZWVkZWRcbiAgICAgIGxldCB1c2VySW5wdXQgPVxuICAgICAgICBkZXBzLm1ha2VDb21tYW5kSW5wdXQgJiZcbiAgICAgICAgKHtcbiAgICAgICAgICBpbnB1dDogYXdhaXQgZGVwcy5tYWtlQ29tbWFuZElucHV0PFVJPihpZCwgZmxhZ3MubmV0d29yaywgdGhpcy5jb250cmFjdEFkZHJlc3MsIHtcbiAgICAgICAgICAgIC4uLmZsYWdzLFxuICAgICAgICAgICAgLi4uZW52LFxuICAgICAgICAgIH0pLFxuICAgICAgICAgIHRvQ29tcGFyZTogbnVsbCxcbiAgICAgICAgfSBhcyBJbnNwZWN0VXNlcklucHV0PFVJLCBDb21wYXJlSW5wdXQ+KVxuXG4gICAgICBpZiAoIXVzZXJJbnB1dCkge1xuICAgICAgICB1c2VySW5wdXQgPSBhd2FpdCBjb25maWcubWFrZVVzZXJJbnB1dChmbGFncywgYXJncylcbiAgICAgIH1cblxuICAgICAgLy8gVmFsaWRhdGlvblxuICAgICAgaWYgKGNvbmZpZy52YWxpZGF0aW9ucz8ubGVuZ3RoID4gMCkge1xuICAgICAgICBhd2FpdCB0aGlzLnJ1blZhbGlkYXRpb25zKGNvbmZpZy52YWxpZGF0aW9ucywgdXNlcklucHV0LmlucHV0KVxuICAgICAgfVxuXG4gICAgICBjb25zdCBjb250cmFjdElucHV0ID0gY29uZmlnLm1ha2VDb250cmFjdElucHV0ICYmIChhd2FpdCBjb25maWcubWFrZUNvbnRyYWN0SW5wdXQodXNlcklucHV0LmlucHV0KSlcblxuICAgICAgcmV0dXJuIHtcbiAgICAgICAgdXNlcjogdXNlcklucHV0IHx8IHtcbiAgICAgICAgICBpbnB1dDogbnVsbCxcbiAgICAgICAgICB0b0NvbXBhcmU6IG51bGwsXG4gICAgICAgIH0sXG4gICAgICAgIGNvbnRyYWN0OiBjb250cmFjdElucHV0IHx8IChbXSBhcyBhbnkpLFxuICAgICAgfVxuICAgIH1cblxuICAgIHJ1blF1ZXJpZXMgPSBhc3luYyAoZnVuY3Rpb25zOiBzdHJpbmdbXSwgY29udHJhY3RJbnB1dHM6IENJIHwgQ0lbXSk6IFByb21pc2U8YW55W10+ID0+IHtcbiAgICAgIGNvbnN0IGlucHV0cyA9IEFycmF5LmlzQXJyYXkoY29udHJhY3RJbnB1dHMpID8gY29udHJhY3RJbnB1dHMgOiBbY29udHJhY3RJbnB1dHNdXG4gICAgICAvLyBUT0RPOiBUaGlzIHNob3VsZCBoYW5kbGUgc2FtZSBmdW5jdGlvbiB3aXRoIGRpZmZlcmVudCBpbnB1dHNcbiAgICAgIHJldHVybiBhd2FpdCBQcm9taXNlLmFsbChcbiAgICAgICAgZnVuY3Rpb25zLm1hcChhc3luYyAoZnVuYywgaSkgPT4ge1xuICAgICAgICAgIGRlcHMubG9nZ2VyLmxvYWRpbmcoYEZldGNoaW5nICR7ZnVuY30gb2YgY29udHJhY3QgJHt0aGlzLmNvbnRyYWN0QWRkcmVzc30uLi5gKVxuICAgICAgICAgIHRyeSB7XG4gICAgICAgICAgICByZXR1cm4gYXdhaXQgY2FsbFdpdGhFeHBCYWNrb2ZmKFxuICAgICAgICAgICAgICAoKSA9PiBmZXRjaCh0aGlzLmNvbnRyYWN0LCB0aGlzLnByb3ZpZGVyLnByb3ZpZGVyLCB0aGlzLmNvbnRyYWN0QWRkcmVzcywgZnVuYywgaW5wdXRzW2ldIHx8IFtdKSxcbiAgICAgICAgICAgICAgMSxcbiAgICAgICAgICAgICAgNSxcbiAgICAgICAgICAgIClcbiAgICAgICAgICB9IGNhdGNoIChlKSB7XG4gICAgICAgICAgICAvLyBEb24ndCBmYWlsIG91dCBpZiBvbmUgcXVlcnkgZmFpbHNcbiAgICAgICAgICAgIHJldHVybiAnISFFUlJPUiEhJ1xuICAgICAgICAgIH1cbiAgICAgICAgfSksXG4gICAgICApXG4gICAgfVxuXG4gICAgZXhlY3V0ZSA9IGFzeW5jICgpID0+IHtcbiAgICAgIGNvbnN0IHF1ZXJpZXMgPSB0eXBlb2YgY29uZmlnLnF1ZXJpZXMgPT09ICdmdW5jdGlvbicgPyBjb25maWcucXVlcmllcyh0aGlzLmlucHV0LnVzZXIuaW5wdXQpIDogY29uZmlnLnF1ZXJpZXNcbiAgICAgIGNvbnN0IHJlc3VsdHMgPSBhd2FpdCB0aGlzLnJ1blF1ZXJpZXMocXVlcmllcywgdGhpcy5pbnB1dC5jb250cmFjdClcbiAgICAgIGNvbnN0IGRhdGEgPSBhd2FpdCBjb25maWcubWFrZUNvbXBhcmlzaW9uRGF0YSh0aGlzLnByb3ZpZGVyKShcbiAgICAgICAgcmVzdWx0cyxcbiAgICAgICAgdGhpcy5pbnB1dC51c2VyLmlucHV0LFxuICAgICAgICB0aGlzLmNvbnRyYWN0QWRkcmVzcyxcbiAgICAgICAgKHRoaXMuY29udHJhY3QgYXMgdW5rbm93bikgYXMgQ29udHJhY3RGYWN0b3J5LFxuICAgICAgKVxuICAgICAgY29uc3QgaW5zcGVjdGlvblJlc3VsdHMgPSBjb25maWcuaW5zcGVjdCA/IGNvbmZpZy5pbnNwZWN0KHRoaXMuaW5wdXQudXNlciwgZGF0YSkgOiBbXVxuXG4gICAgICBkZXBzLmxvZ2dlci5pbmZvKCdJbnNwZWN0aW9uIFJlc3VsdHM6JylcbiAgICAgIGRlcHMubG9nZ2VyLmxvZyhkYXRhLnJlc3VsdClcbiAgICAgIC8vIFRPRE86IEdhdW50bGV0IGNvcmUgZm9yY2VzIHVzIHRvIHVzZSBSZXN1bHQgdHlwZSBmb3IgZXZlcnkgY29tbWFuZC4gVXBkYXRlIHRvIGNob29zZSB0aGUgcmVzdWx0IGlmIHVzaW5nIEJhc2UgQ29tbWFuZFxuICAgICAgY29uc3QgcmVwb3J0ID0ge1xuICAgICAgICBkYXRhOiB7XG4gICAgICAgICAgZGF0YTogZGF0YS5yZXN1bHQsXG4gICAgICAgICAgY29udHJhY3Q6IHRoaXMuY29udHJhY3RBZGRyZXNzLFxuICAgICAgICAgIGluc3BlY3Rpb246IGluc3BlY3Rpb25SZXN1bHRzLFxuICAgICAgICB9LFxuICAgICAgICByZXNwb25zZXM6IFtdLFxuICAgICAgfVxuXG4gICAgICBpZiAoZGVwcy5hZnRlckV4ZWN1dGVFeHRlcm5hbCkgYXdhaXQgZGVwcy5hZnRlckV4ZWN1dGVFeHRlcm5hbChpZCwgdGhpcy5mbGFncy5uZXR3b3JrLCByZXBvcnQpXG5cbiAgICAgIHJldHVybiByZXBvcnRcbiAgICB9XG4gIH1cblxuICByZXR1cm4gY29tbWFuZFxufVxuIl19
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5zcGVjdGlvbkNvbW1hbmQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvY29yZS9jb21tYW5kcy9iYXNlL2luc3BlY3Rpb25Db21tYW5kLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7QUFBQSx3R0FBOEU7QUFJOUUsdUNBQWdFO0FBRWhFLDBDQUFtRDtBQXlGNUMsTUFBTSxxQkFBcUIsR0FBRyxDQUNuQyxLQUFnQyxFQUNoQyxFQUFFLENBQUMsQ0FDSCxNQUFpSCxFQUNqSCxFQUFFLENBQUMsQ0FBQyxJQUE4RSxFQUFFLEVBQUU7O0lBQ3RGLE1BQU0sRUFBRSxHQUFHLElBQUEsdUJBQWEsRUFBQyxNQUFNLENBQUMsRUFBRSxDQUFDLFFBQVEsRUFBRSxNQUFNLENBQUMsRUFBRSxDQUFDLFFBQVEsRUFBRSxNQUFNLENBQUMsRUFBRSxDQUFDLFFBQVEsQ0FBQyxDQUFBO0lBRXBGLE1BQU0sT0FBTyxTQUFxRCxNQUFNLGlCQUN0RSxTQUFRLGNBQVc7WUFENkM7O2dCQXlDaEUsbUJBQWMsR0FBRyxLQUFLLEVBQ3BCLFdBQWtHLEVBQ2xHLEtBQVMsRUFDVCxFQUFFO29CQUNGLE1BQU0sTUFBTSxHQUFHLE1BQU0sT0FBTyxDQUFDLEdBQUcsQ0FBQyxXQUFXLENBQUMsR0FBRyxDQUFDLENBQUMsVUFBVSxFQUFFLEVBQUUsQ0FBQyxVQUFVLENBQUMsS0FBSyxFQUFFLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxDQUFDLENBQUMsQ0FBQTtvQkFDNUcsT0FBTyxNQUFNLENBQUE7Z0JBQ2YsQ0FBQyxDQUFBO2dCQUVELHNCQUFpQixHQUFHLEtBQUssRUFBRSxLQUFLLEVBQUUsSUFBSSxFQUFFLEdBQUcsRUFBMEQsRUFBRTtvQkFDckcsNEhBQTRIO29CQUM1SCxtR0FBbUc7b0JBQ25HLElBQUksU0FBUyxHQUNYLElBQUksQ0FBQyxnQkFBZ0I7d0JBQ3BCOzRCQUNDLEtBQUssRUFBRSxNQUFNLElBQUksQ0FBQyxnQkFBZ0IsQ0FB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LENBQUMsWUFBWSxDQUFDLEdBQUcsQ0FBQyxXQUFXLENBQUMsQ0FBQTtZQUMvQyxDQUFDLENBQUMsZUFBZTtnQkFDZixJQUFJLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsMEJBQTBCLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQywwQkFBMEIsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDLENBQUE7WUFFckcsQ0FBQyxDQUFDLEtBQUssR0FBRyxNQUFNLENBQUMsQ0FBQyxpQkFBaUIsQ0FBQyxLQUFLLEVBQUUsSUFBSSxFQUFFLEdBQUcsQ0FBQyxDQUFBO1lBQ3JELENBQUMsQ0FBQyxRQUFRLEdBQUcsTUFBTSxDQUFDLFlBQVksRUFBRSxDQUFBO1lBQ2xDLENBQUMsQ0FBQyxpQkFBaUIsR0FBRztnQkFDcEIsUUFBUSxFQUFFLENBQUMsQ0FBQyxRQUFRO2dCQUNwQixFQUFFLEVBQUUsSUFBQSx1QkFBYSxFQUFDLE1BQU0sQ0FBQyxFQUFFLENBQUMsUUFBUSxFQUFFLE1BQU0sQ0FBQyxFQUFFLENBQUMsUUFBUSxFQUFFLE1BQU0sQ0FBQyxFQUFFLENBQUMsUUFBUSxDQUFDO2dCQUM3RSxlQUFlLEVBQUUsQ0FBQyxDQUFDLGVBQWU7Z0JBQ2xDLEtBQUs7Z0JBQ0wsR0FBRztnQkFDSCxRQUFRLEVBQUUsQ0FBQyxDQUFDLFFBQVE7YUFDckIsQ0FBQTtZQUVELE9BQU8sQ0FBQyxDQUFBO1FBQ1YsQ0FBQztXQTBGRixDQUFBO0lBRUQsT0FBTyxPQUFPLENBQUE7QUFDaEIsQ0FBQyxDQUFBO0FBM0lZLFFBQUEscUJBQXFCLHlCQTJJakMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgQmFzZUNvbW1hbmQgZnJvbSAnQGNoYWlubGluay9nYXVudGxldC1jb3JlL2Rpc3QvY29tbWFuZHMvaW50ZXJuYWwvYmFzZSdcbmltcG9ydCB7IENvbW1hbmRDdG9yLCBJbnB1dCB9IGZyb20gJy4nXG5pbXBvcnQgeyBJbnNwZWN0aW9uRGVwZW5kZW5jaWVzIH0gZnJvbSAnLi4vLi4vZGVwZW5kZW5jaWVzJ1xuaW1wb3J0IHsgSVByb3ZpZGVyIH0gZnJvbSAnLi4vLi4vcHJvdmlkZXInXG5pbXBvcnQgeyBDb21tYW5kVVgsIG1ha2VDb21tYW5kSWQsIFZhbGlkYXRpb24gfSBmcm9tICcuL2NvbW1hbmQnXG5pbXBvcnQgeyBDb250cmFjdEZhY3RvcnkgfSBmcm9tICdldGhlcnMnXG5pbXBvcnQgeyBjYWxsV2l0aEV4cEJhY2tvZmYgfSBmcm9tICcuLi8uLi8uLi91dGlscydcblxuZXhwb3J0IGludGVyZmFjZSBJbnNwZWN0aW9uQ29udGV4dDxXYWxsZXQsIFByb3ZpZGVyLCBDb250cmFjdCwgTWVzc2FnZSwgVHJhbnNhY3Rpb24+IHtcbiAgaWQ6IHN0cmluZ1xuICBjb250cmFjdEFkZHJlc3M6IHN0cmluZ1xuICBwcm92aWRlcjogSVByb3ZpZGVyPFByb3ZpZGVyLCBDb250cmFjdCwgTWVzc2FnZSwgVHJhbnNhY3Rpb24sIFdhbGxldD5cbiAgZmxhZ3M6IGFueVxuICBlbnY6IGFueVxuICBjb250cmFjdDogQ29udHJhY3Rcbn1cblxuZXhwb3J0IGludGVyZmFjZSBJbnNwZWN0VXNlcklucHV0PFVJLCBDb21wYXJlSW5wdXQ+IHtcbiAgaW5wdXQ6IFVJXG4gIHRvQ29tcGFyZT86IENvbXBhcmVJbnB1dFxufVxuXG4vLyBUT0RPOiBUZW1wb3JhcnkgaW5zcGVjdGlvbiByZXBvcnQuXG5leHBvcnQgaW50ZXJmYWNlIEluc3BlY3Rpb25SZXBvcnQ8UXVlcnlSZXN1bHQ+IHtcbiAgZGF0YTogUXVlcnlSZXN1bHRcbiAgY29udHJhY3Q6IHN0cmluZ1xuICBpbnNwZWN0aW9uOiB7XG4gICAgaWQ6IHN0cmluZ1xuICAgIG1lc3NhZ2U6IHN0cmluZ1xuICAgIHJlc3VsdFR5cGU6ICdzdWNjZXNzJyB8ICdmYWlsZWQnXG4gIH1bXVxufVxuXG5leHBvcnQgaW50ZXJmYWNlIEluc3BlY3RDb21tYW5kQ29uZmlnPFxuICBVSSxcbiAgQ0ksXG4gIENvbXBhcmVJbnB1dCxcbiAgUXVlcnlSZXN1bHQsXG4gIFByb3ZpZGVyLFxuICBDb250cmFjdCxcbiAgTWVzc2FnZSxcbiAgVHJhbnNhY3Rpb24sXG4gIFdhbGxldFxuPiB7XG4gIHV4OiBDb21tYW5kVVhcbiAgLy8gTGlzdCBvZiBxdWVyeSBmdW5jdGlvbnMgdG8gY2FsbFxuICBxdWVyaWVzOiBzdHJpbmdbXSB8ICgoaW5wdXQ6IFVJKSA9PiBzdHJpbmdbXSlcbiAgbWFrZVVzZXJJbnB1dD86IChmbGFnczogYW55LCBhcmdzOiBzdHJpbmdbXSkgPT4gUHJvbWlzZTxJbnNwZWN0VXNlcklucHV0PFVJLCBDb21wYXJlSW5wdXQ+PlxuICAvKipcbiAgICogR2l2ZW4gdGhlIHVzZXIgaW5wdXQsIHRyYW5zbGF0ZSB0byBldmVyeSBjb250cmFjdCBpbnB1dCByZXF1aXJlZCBmb3IgZWFjaCBxdWVyeVxuICAgKi9cbiAgbWFrZUNvbnRyYWN0SW5wdXQ/OiAodXNlcklucHV0OiBVSSkgPT4gUHJvbWlzZTxDST5cbiAgLyoqXG4gICAqIEFmdGVyIGRvaW5nIGV2ZXJ5IHF1ZXJ5LCBjb252ZXJ0IHRoZSByZXN1bHRzIGludG8gdGhlIHR5cGUgd2Ugd2FudCAoUXVlcnlSZXN1bHQpIGFuZCBpZiB0b0NvbXBhcmUgaXMgZ2l2ZW4sIG1hdGNoIHJlc3VsdCBpbnRvIGl0XG4gICAqL1xuICBtYWtlQ29tcGFyaXNpb25EYXRhOiAoXG4gICAgcHJvdmlkZXI6IElQcm92aWRlcjxQcm92aWRlciwgQ29udHJhY3QsIE1lc3NhZ2UsIFRyYW5zYWN0aW9uLCBXYWxsZXQ+LFxuICAgIGNvbnRleHQ/OiBJbnNwZWN0aW9uQ29udGV4dDxXYWxsZXQsIFByb3ZpZGVyLCBDb250cmFjdCwgTWVzc2FnZSwgVHJhbnNhY3Rpb24+LFxuICApID0+IChcbiAgICByZXN1bHRzOiBhbnlbXSxcbiAgICBpbnB1dDogVUksXG4gICAgY29udHJhY3RBZGRyZXNzOiBzdHJpbmcsXG4gICAgY29udHJhY3Q/OiBDb250cmFjdEZhY3RvcnksXG4gICkgPT4gUHJvbWlzZTx7XG4gICAgdG9Db21wYXJlOiBDb21wYXJlSW5wdXRcbiAgICByZXN1bHQ6IFF1ZXJ5UmVzdWx0XG4gIH0+XG4gIGluc3BlY3Q/OiAoXG4gICAgZXhwZWN0ZWQ6IEluc3BlY3RVc2VySW5wdXQ8VUksIENvbXBhcmVJbnB1dD4sXG4gICAgZGF0YToge1xuICAgICAgdG9Db21wYXJlOiBDb21wYXJlSW5wdXRcbiAgICAgIHJlc3VsdDogUXVlcnlSZXN1bHRcbiAgICB9LFxuICApID0+IHtcbiAgICBpZDogc3RyaW5nXG4gICAgbWVzc2FnZTogc3RyaW5nXG4gICAgcmVzdWx0VHlwZTogJ3N1Y2Nlc3MnIHwgJ2ZhaWxlZCdcbiAgfVtdXG4gIGxvYWRDb250cmFjdDogKCkgPT4gQ29udHJhY3RcbiAgbG9hZERlZmF1bHRDb250cmFjdEFkZHJlc3M/OiAoZW52OiBhbnkpID0+IHN0cmluZ1xuICB2YWxpZGF0aW9ucz86IFZhbGlkYXRpb248VUksIEluc3BlY3Rpb25Db250ZXh0PFdhbGxldCwgUHJvdmlkZXIsIENvbnRyYWN0LCBNZXNzYWdlLCBUcmFuc2FjdGlvbj4+W11cbn1cblxuZXhwb3J0IGludGVyZmFjZSBJbnNwZWN0Q29tbWFuZEluc3RhbmNlPFF1ZXJ5UmVzdWx0PiB7XG4gIGV4ZWN1dGU6ICgpID0+IFByb21pc2U8eyBkYXRhOiBJbnNwZWN0aW9uUmVwb3J0PFF1ZXJ5UmVzdWx0PjsgcmVzcG9uc2VzOiBhbnlbXSB9PlxufVxuXG50eXBlIEZldGNoPENvbnRyYWN0LCBQcm92aWRlcj4gPSAoXG4gIGNvbnRyYWN0OiBDb250cmFjdCxcbiAgcHJvdmlkZXI6IFByb3ZpZGVyLFxuICBjb250cmFjdEFkZHJlc3M6IHN0cmluZyxcbiAgZm46IHN0cmluZyxcbiAgaW5wdXQ6IGFueSxcbikgPT4gYW55XG5cbmV4cG9ydCBjb25zdCBtYWtlSW5zcGVjdGlvbkNvbW1hbmQgPSA8VUksIENJLCBDb21wYXJlSW5wdXQsIFF1ZXJ5UmVzdWx0LCBDb250cmFjdCwgUHJvdmlkZXI+KFxuICBmZXRjaDogRmV0Y2g8Q29udHJhY3QsIFByb3ZpZGVyPixcbikgPT4gPE1lc3NhZ2UsIFRyYW5zYWN0aW9uLCBXYWxsZXQ+KFxuICBjb25maWc6IEluc3BlY3RDb21tYW5kQ29uZmlnPFVJLCBDSSwgQ29tcGFyZUlucHV0LCBRdWVyeVJlc3VsdCwgUHJvdmlkZXIsIENvbnRyYWN0LCBNZXNzYWdlLCBUcmFuc2FjdGlvbiwgV2FsbGV0PixcbikgPT4gKGRlcHM6IEluc3BlY3Rpb25EZXBlbmRlbmNpZXM8UHJvdmlkZXIsIENvbnRyYWN0LCBNZXNzYWdlLCBUcmFuc2FjdGlvbiwgV2FsbGV0PikgPT4ge1xuICBjb25zdCBpZCA9IG1ha2VDb21tYW5kSWQoY29uZmlnLnV4LmNhdGVnb3J5LCBjb25maWcudXguZnVuY3Rpb24sIGNvbmZpZy51eC5zdWZmaXhlcylcblxuICBjb25zdCBjb21tYW5kOiBDb21tYW5kQ3RvcjxJbnNwZWN0Q29tbWFuZEluc3RhbmNlPFF1ZXJ5UmVzdWx0Pj4gPSBjbGFzcyBJbnNwZWN0aW9uQ29tbWFuZFxuICAgIGV4dGVuZHMgQmFzZUNvbW1hbmRcbiAgICBpbXBsZW1lbnRzIEluc3BlY3RDb21tYW5kSW5zdGFuY2U8UXVlcnlSZXN1bHQ+IHtcbiAgICAvLyBQcm9wc1xuICAgIHByb3ZpZGVyOiBJUHJvdmlkZXI8UHJvdmlkZXIsIENvbnRyYWN0LCBNZXNzYWdlLCBUcmFuc2FjdGlvbiwgV2FsbGV0PlxuICAgIGNvbnRyYWN0QWRkcmVzczogc3RyaW5nXG5cbiAgICBpbnB1dDogSW5wdXQ8SW5zcGVjdFVzZXJJbnB1dDxVSSwgQ29tcGFyZUlucHV0PiwgQ0k+XG5cbiAgICBjb250cmFjdDogQ29udHJhY3RcblxuICAgIGluc3BlY3Rpb25Db250ZXh0OiBJbnNwZWN0aW9uQ29udGV4dDxXYWxsZXQsIFByb3ZpZGVyLCBDb250cmFjdCwgTWVzc2FnZSwgVHJhbnNhY3Rpb24+XG5cbiAgICAvLyBVWFxuICAgIHN0YXRpYyBpZCA9IGlkXG4gICAgc3RhdGljIGNhdGVnb3J5ID0gY29uZmlnLnV4LmNhdGVnb3J5XG4gICAgc3RhdGljIGV4YW1wbGVzID0gY29uZmlnLnV4LmV4YW1wbGVzXG5cbiAgICBzdGF0aWMgY3JlYXRlID0gYXN5bmMgKGZsYWdzLCBhcmdzKSA9PiB7XG4gICAgICBjb25zdCBjID0gbmV3IEluc3BlY3Rpb25Db21tYW5kKGZsYWdzLCBhcmdzKVxuXG4gICAgICBjb25zdCBlbnYgPSBkZXBzLm1ha2VFbnYoZmxhZ3MpXG5cbiAgICAgIGMucHJvdmlkZXIgPSBkZXBzLm1ha2VQcm92aWRlcihlbnYucHJvdmlkZXJVcmwpXG4gICAgICBjLmNvbnRyYWN0QWRkcmVzcyA9XG4gICAgICAgIGFyZ3NbMF0gfHwgKGNvbmZpZy5sb2FkRGVmYXVsdENvbnRyYWN0QWRkcmVzcyA/IGNvbmZpZy5sb2FkRGVmYXVsdENvbnRyYWN0QWRkcmVzcyhlbnYpIDogdW5kZWZpbmVkKVxuXG4gICAgICBjLmlucHV0ID0gYXdhaXQgYy5idWlsZENvbW1hbmRJbnB1dChmbGFncywgYXJncywgZW52KVxuICAgICAgYy5jb250cmFjdCA9IGNvbmZpZy5sb2FkQ29udHJhY3QoKVxuICAgICAgYy5pbnNwZWN0aW9uQ29udGV4dCA9IHtcbiAgICAgICAgcHJvdmlkZXI6IGMucHJvdmlkZXIsXG4gICAgICAgIGlkOiBtYWtlQ29tbWFuZElkKGNvbmZpZy51eC5jYXRlZ29yeSwgY29uZmlnLnV4LmZ1bmN0aW9uLCBjb25maWcudXguc3VmZml4ZXMpLFxuICAgICAgICBjb250cmFjdEFkZHJlc3M6IGMuY29udHJhY3RBZGRyZXNzLFxuICAgICAgICBmbGFncyxcbiAgICAgICAgZW52LFxuICAgICAgICBjb250cmFjdDogYy5jb250cmFjdCxcbiAgICAgIH1cblxuICAgICAgcmV0dXJuIGNcbiAgICB9XG5cbiAgICBydW5WYWxpZGF0aW9ucyA9IGFzeW5jIChcbiAgICAgIHZhbGlkYXRpb25zOiBWYWxpZGF0aW9uPFVJLCBJbnNwZWN0aW9uQ29udGV4dDxXYWxsZXQsIFByb3ZpZGVyLCBDb250cmFjdCwgTWVzc2FnZSwgVHJhbnNhY3Rpb24+PltdLFxuICAgICAgaW5wdXQ6IFVJLFxuICAgICkgPT4ge1xuICAgICAgY29uc3QgcmVzdWx0ID0gYXdhaXQgUHJvbWlzZS5hbGwodmFsaWRhdGlvbnMubWFwKCh2YWxpZGF0aW9uKSA9PiB2YWxpZGF0aW9uKGlucHV0LCB0aGlzLmluc3BlY3Rpb25Db250ZXh0KSkpXG4gICAgICByZXR1cm4gcmVzdWx0XG4gICAgfVxuXG4gICAgYnVpbGRDb21tYW5kSW5wdXQgPSBhc3luYyAoZmxhZ3MsIGFyZ3MsIGVudik6IFByb21pc2U8SW5wdXQ8SW5zcGVjdFVzZXJJbnB1dDxVSSwgQ29tcGFyZUlucHV0PiwgQ0k+PiA9PiB7XG4gICAgICAvLyBJZiBhbiBleHRlcm5hbCBpbnB1dCBnZW5lcmF0b3IgaXMgZGVmaW5lZCBoYXMgcHJlZmVyZW5jZS4gSWYgaXQgZmFpbHMgdG8gZ2VuZXJhdGUgdGhlIGlucHV0LCBmYWxscyBiYWNrIHRvIGRlZmF1bHQgbWV0aG9kXG4gICAgICAvLyBXZSBpbnB1dCBhbGwgZmxhZ3MgYW5kIGVudiBpbnRvIG92ZXJyaWRlcyBzbyB0aGF0IHRoZSBtYWtlQ29tbWFuZElucHV0IGZuIGNhbiB1c2UgdGhlbSBhcyBuZWVkZWRcbiAgICAgIGxldCB1c2VySW5wdXQgPVxuICAgICAgICBkZXBzLm1ha2VDb21tYW5kSW5wdXQgJiZcbiAgICAgICAgKHtcbiAgICAgICAgICBpbnB1dDogYXdhaXQgZGVwcy5tYWtlQ29tbWFuZElucHV0PFVJPihpZCwgZmxhZ3MubmV0d29yaywgdGhpcy5jb250cmFjdEFkZHJlc3MsIHtcbiAgICAgICAgICAgIC4uLmZsYWdzLFxuICAgICAgICAgICAgLi4uZW52LFxuICAgICAgICAgIH0pLFxuICAgICAgICAgIHRvQ29tcGFyZTogbnVsbCxcbiAgICAgICAgfSBhcyBJbnNwZWN0VXNlcklucHV0PFVJLCBDb21wYXJlSW5wdXQ+KVxuXG4gICAgICBpZiAoIXVzZXJJbnB1dCkge1xuICAgICAgICB1c2VySW5wdXQgPSBhd2FpdCBjb25maWcubWFrZVVzZXJJbnB1dChmbGFncywgYXJncylcbiAgICAgIH1cblxuICAgICAgLy8gVmFsaWRhdGlvblxuICAgICAgaWYgKGNvbmZpZy52YWxpZGF0aW9ucz8ubGVuZ3RoID4gMCkge1xuICAgICAgICBhd2FpdCB0aGlzLnJ1blZhbGlkYXRpb25zKGNvbmZpZy52YWxpZGF0aW9ucywgdXNlcklucHV0LmlucHV0KVxuICAgICAgfVxuXG4gICAgICBjb25zdCBjb250cmFjdElucHV0ID0gY29uZmlnLm1ha2VDb250cmFjdElucHV0ICYmIChhd2FpdCBjb25maWcubWFrZUNvbnRyYWN0SW5wdXQodXNlcklucHV0LmlucHV0KSlcblxuICAgICAgcmV0dXJuIHtcbiAgICAgICAgdXNlcjogdXNlcklucHV0IHx8IHtcbiAgICAgICAgICBpbnB1dDogbnVsbCxcbiAgICAgICAgICB0b0NvbXBhcmU6IG51bGwsXG4gICAgICAgIH0sXG4gICAgICAgIGNvbnRyYWN0OiBjb250cmFjdElucHV0IHx8IChbXSBhcyBhbnkpLFxuICAgICAgfVxuICAgIH1cblxuICAgIHJ1blF1ZXJpZXMgPSBhc3luYyAoZnVuY3Rpb25zOiBzdHJpbmdbXSwgY29udHJhY3RJbnB1dHM6IENJIHwgQ0lbXSk6IFByb21pc2U8YW55W10+ID0+IHtcbiAgICAgIGNvbnN0IGlucHV0cyA9IEFycmF5LmlzQXJyYXkoY29udHJhY3RJbnB1dHMpID8gY29udHJhY3RJbnB1dHMgOiBbY29udHJhY3RJbnB1dHNdXG4gICAgICAvLyBUT0RPOiBUaGlzIHNob3VsZCBoYW5kbGUgc2FtZSBmdW5jdGlvbiB3aXRoIGRpZmZlcmVudCBpbnB1dHNcbiAgICAgIHJldHVybiBhd2FpdCBQcm9taXNlLmFsbChcbiAgICAgICAgZnVuY3Rpb25zLm1hcChhc3luYyAoZnVuYywgaSkgPT4ge1xuICAgICAgICAgIGRlcHMubG9nZ2VyLmxvYWRpbmcoYEZldGNoaW5nICR7ZnVuY30gb2YgY29udHJhY3QgJHt0aGlzLmNvbnRyYWN0QWRkcmVzc30uLi5gKVxuICAgICAgICAgIHRyeSB7XG4gICAgICAgICAgICByZXR1cm4gYXdhaXQgY2FsbFdpdGhFeHBCYWNrb2ZmKFxuICAgICAgICAgICAgICAoKSA9PiBmZXRjaCh0aGlzLmNvbnRyYWN0LCB0aGlzLnByb3ZpZGVyLnByb3ZpZGVyLCB0aGlzLmNvbnRyYWN0QWRkcmVzcywgZnVuYywgaW5wdXRzW2ldIHx8IFtdKSxcbiAgICAgICAgICAgICAgMSxcbiAgICAgICAgICAgICAgNSxcbiAgICAgICAgICAgIClcbiAgICAgICAgICB9IGNhdGNoIChlKSB7XG4gICAgICAgICAgICAvLyBEb24ndCBmYWlsIG91dCBpZiBvbmUgcXVlcnkgZmFpbHNcbiAgICAgICAgICAgIHJldHVybiAnISFFUlJPUiEhJ1xuICAgICAgICAgIH1cbiAgICAgICAgfSksXG4gICAgICApXG4gICAgfVxuXG4gICAgZXhlY3V0ZSA9IGFzeW5jICgpID0+IHtcbiAgICAgIGNvbnN0IHF1ZXJpZXMgPSB0eXBlb2YgY29uZmlnLnF1ZXJpZXMgPT09ICdmdW5jdGlvbicgPyBjb25maWcucXVlcmllcyh0aGlzLmlucHV0LnVzZXIuaW5wdXQpIDogY29uZmlnLnF1ZXJpZXNcbiAgICAgIGNvbnN0IHJlc3VsdHMgPSBhd2FpdCB0aGlzLnJ1blF1ZXJpZXMocXVlcmllcywgdGhpcy5pbnB1dC5jb250cmFjdClcbiAgICAgIGNvbnN0IGRhdGEgPSBhd2FpdCBjb25maWcubWFrZUNvbXBhcmlzaW9uRGF0YSh0aGlzLnByb3ZpZGVyLCB0aGlzLmluc3BlY3Rpb25Db250ZXh0KShcbiAgICAgICAgcmVzdWx0cyxcbiAgICAgICAgdGhpcy5pbnB1dC51c2VyLmlucHV0LFxuICAgICAgICB0aGlzLmNvbnRyYWN0QWRkcmVzcyxcbiAgICAgICAgKHRoaXMuY29udHJhY3QgYXMgdW5rbm93bikgYXMgQ29udHJhY3RGYWN0b3J5LFxuICAgICAgKVxuICAgICAgY29uc3QgaW5zcGVjdGlvblJlc3VsdHMgPSBjb25maWcuaW5zcGVjdCA/IGNvbmZpZy5pbnNwZWN0KHRoaXMuaW5wdXQudXNlciwgZGF0YSkgOiBbXVxuXG4gICAgICBkZXBzLmxvZ2dlci5pbmZvKCdJbnNwZWN0aW9uIFJlc3VsdHM6JylcbiAgICAgIGRlcHMubG9nZ2VyLmxvZyhkYXRhLnJlc3VsdClcbiAgICAgIC8vIFRPRE86IEdhdW50bGV0IGNvcmUgZm9yY2VzIHVzIHRvIHVzZSBSZXN1bHQgdHlwZSBmb3IgZXZlcnkgY29tbWFuZC4gVXBkYXRlIHRvIGNob29zZSB0aGUgcmVzdWx0IGlmIHVzaW5nIEJhc2UgQ29tbWFuZFxuICAgICAgY29uc3QgcmVwb3J0ID0ge1xuICAgICAgICBkYXRhOiB7XG4gICAgICAgICAgZGF0YTogZGF0YS5yZXN1bHQsXG4gICAgICAgICAgY29udHJhY3Q6IHRoaXMuY29udHJhY3RBZGRyZXNzLFxuICAgICAgICAgIGluc3BlY3Rpb246IGluc3BlY3Rpb25SZXN1bHRzLFxuICAgICAgICB9LFxuICAgICAgICByZXNwb25zZXM6IFtdLFxuICAgICAgfVxuXG4gICAgICBpZiAoZGVwcy5hZnRlckV4ZWN1dGVFeHRlcm5hbCkgYXdhaXQgZGVwcy5hZnRlckV4ZWN1dGVFeHRlcm5hbChpZCwgdGhpcy5mbGFncy5uZXR3b3JrLCByZXBvcnQpXG5cbiAgICAgIHJldHVybiByZXBvcnRcbiAgICB9XG4gIH1cblxuICByZXR1cm4gY29tbWFuZFxufVxuIl19
"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvY29yZS9wcm92aWRlci9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSVdhbGxldCB9IGZyb20gJy4uJ1xuaW1wb3J0IHsgVHJhbnNhY3Rpb25SZXNwb25zZSB9IGZyb20gJy4uL3RyYW5zYWN0aW9uJ1xuaW1wb3J0IHsgVHJhbnNhY3Rpb25SZXF1ZXN0IH0gZnJvbSAnQGV0aGVyc3Byb2plY3QvYWJzdHJhY3QtcHJvdmlkZXInXG5cbmV4cG9ydCBpbnRlcmZhY2UgSVByb3ZpZGVyPFByb3ZpZGVyLCBDb250cmFjdCwgTWVzc2FnZSwgVHJhbnNhY3Rpb24sIFdhbGxldD4ge1xuICBwcm92aWRlcjogUHJvdmlkZXJcbiAgc2VuZDogKHNpZ25lZFRyYW5zYWN0aW9uOiBhbnkpID0+IFByb21pc2U8VHJhbnNhY3Rpb25SZXNwb25zZTxUcmFuc2FjdGlvbj4+XG4gIGRlcGxveUNvbnRyYWN0OiAoXG4gICAgd2FsbGV0OiBJV2FsbGV0PFdhbGxldD4sXG4gICAgY29udHJhY3Q6IENvbnRyYWN0LFxuICAgIGlucHV0OiBhbnksXG4gICAgd2FpdD86IGJvb2xlYW4sXG4gICkgPT4gUHJvbWlzZTxUcmFuc2FjdGlvblJlc3BvbnNlPFRyYW5zYWN0aW9uPj5cbiAgc2lnbkFuZFNlbmQ6IChcbiAgICB3YWxsZXQ6IElXYWxsZXQ8V2FsbGV0PixcbiAgICBjYWxsczogTWVzc2FnZVtdLFxuICAgIGNvbnRyYWN0OiBDb250cmFjdCxcbiAgKSA9PiBQcm9taXNlPFRyYW5zYWN0aW9uUmVzcG9uc2U8VHJhbnNhY3Rpb24+PlxuICBzaWduOiAod2FsbGV0OiBJV2FsbGV0PFdhbGxldD4sIGNhbGxzOiBNZXNzYWdlW10sIGNvbnRyYWN0OiBDb250cmFjdCkgPT4gUHJvbWlzZTxhbnk+XG4gIHBhcnNlQ29udHJhY3RFcnJvcj86IChjb250cmFjdDogQ29udHJhY3QsIHJldmVydERhdGE6IGFueSkgPT4gbnVsbCB8IGFueVxuICBzaW11bGF0ZTogKHNpZ25lcjogc3RyaW5nLCBjYWxsOiBNZXNzYWdlLCBjb250cmFjdDogQ29udHJhY3QsIG9wdHM/OiBSZWNvcmQ8c3RyaW5nLCBhbnk+KSA9PiBQcm9taXNlPHN0cmluZz5cbn1cbiJdfQ==
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvY29yZS9wcm92aWRlci9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSVdhbGxldCB9IGZyb20gJy4uJ1xuaW1wb3J0IHsgVHJhbnNhY3Rpb25SZXNwb25zZSB9IGZyb20gJy4uL3RyYW5zYWN0aW9uJ1xuXG5leHBvcnQgaW50ZXJmYWNlIElQcm92aWRlcjxQcm92aWRlciwgQ29udHJhY3QsIE1lc3NhZ2UsIFRyYW5zYWN0aW9uLCBXYWxsZXQ+IHtcbiAgcHJvdmlkZXI6IFByb3ZpZGVyXG4gIHNlbmQ6IChzaWduZWRUcmFuc2FjdGlvbjogYW55KSA9PiBQcm9taXNlPFRyYW5zYWN0aW9uUmVzcG9uc2U8VHJhbnNhY3Rpb24+PlxuICBkZXBsb3lDb250cmFjdDogKFxuICAgIHdhbGxldDogSVdhbGxldDxXYWxsZXQ+LFxuICAgIGNvbnRyYWN0OiBDb250cmFjdCxcbiAgICBpbnB1dDogYW55LFxuICAgIHdhaXQ/OiBib29sZWFuLFxuICApID0+IFByb21pc2U8VHJhbnNhY3Rpb25SZXNwb25zZTxUcmFuc2FjdGlvbj4+XG4gIHNpZ25BbmRTZW5kOiAoXG4gICAgd2FsbGV0OiBJV2FsbGV0PFdhbGxldD4sXG4gICAgY2FsbHM6IE1lc3NhZ2VbXSxcbiAgICBjb250cmFjdDogQ29udHJhY3QsXG4gICkgPT4gUHJvbWlzZTxUcmFuc2FjdGlvblJlc3BvbnNlPFRyYW5zYWN0aW9uPj5cbiAgc2lnbjogKHdhbGxldDogSVdhbGxldDxXYWxsZXQ+LCBjYWxsczogTWVzc2FnZVtdLCBjb250cmFjdDogQ29udHJhY3QpID0+IFByb21pc2U8YW55PlxuICBwYXJzZUNvbnRyYWN0RXJyb3I/OiAoY29udHJhY3Q6IENvbnRyYWN0LCByZXZlcnREYXRhOiBhbnkpID0+IG51bGwgfCBhbnlcbiAgc2ltdWxhdGU6IChzaWduZXI6IHN0cmluZywgY2FsbDogTWVzc2FnZSwgY29udHJhY3Q6IENvbnRyYWN0LCBvcHRzPzogUmVjb3JkPHN0cmluZywgYW55PikgPT4gUHJvbWlzZTxzdHJpbmc+XG59XG4iXX0=

@@ -62,2 +62,3 @@ import { ContractFactory } from '@ethersproject/contracts';

export * from './native/verify';
export * from './native/batchInspectionCommand';
//# sourceMappingURL=index.d.ts.map

@@ -68,2 +68,3 @@ "use strict";

tslib_1.__exportStar(require("./native/verify"), exports);
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvZXZtL2NvbW1hbmRzL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7QUFBQSx3REFBMEQ7QUFhMUQsbURBQXNHO0FBR3RHLDhEQUF5RTtBQUN6RSxtQ0FBa0M7QUFDbEMsNENBQXdEO0FBQ3hELHVDQUFzQztBQTZDdEMsTUFBTSxtQkFBbUIsR0FBRyxDQUMxQixRQUF5QixFQUN6QixRQUF3QixFQUN4QixLQUFTLEVBQ1QsTUFBYyxFQUNkLGVBQXVCLEVBQ3ZCLFlBQVksR0FBRyxLQUFLLEVBQ3BCLElBQTBCLEVBQzFCLEVBQUUsQ0FBQyxLQUFLLElBQW1DLEVBQUU7SUFDN0MsSUFBSSxZQUFZO1FBQ2QsT0FBTztZQUNMO2dCQUNFLEdBQUcsUUFBUSxDQUFDLG9CQUFvQixDQUFDLEdBQUcsS0FBSyxDQUFDO2dCQUMxQyxLQUFLLEVBQUUsQ0FBQztnQkFDUixHQUFHLENBQUMsSUFBSSxFQUFFLEtBQUssSUFBSSxFQUFFLEtBQUssRUFBRSxJQUFJLENBQUMsS0FBSyxFQUFFLENBQUM7Z0JBQ3pDLEdBQUcsQ0FBQyxNQUFNLElBQUEsa0JBQVUsRUFBQyxRQUFRLEVBQUUsSUFBSSxDQUFDLENBQUM7YUFDdEM7U0FDRixDQUFBO0lBRUgsTUFBTSxJQUFJLEdBQUcsUUFBUSxDQUFDLFNBQVMsQ0FBQyxrQkFBa0IsQ0FBQyxNQUFNLEVBQUUsS0FBWSxDQUFDLENBQUE7SUFDeEUsT0FBTztRQUNMO1lBQ0UsRUFBRSxFQUFFLGVBQWU7WUFDbkIsSUFBSTtZQUNKLEtBQUssRUFBRSxDQUFDO1lBQ1IsR0FBRyxDQUFDLElBQUksRUFBRSxLQUFLLElBQUksRUFBRSxLQUFLLEVBQUUsSUFBSSxDQUFDLEtBQUssRUFBRSxDQUFDO1lBQ3pDLEdBQUcsQ0FBQyxNQUFNLElBQUEsa0JBQVUsRUFBQyxRQUFRLEVBQUUsSUFBSSxDQUFDLENBQUM7U0FDdEM7S0FDRixDQUFBO0FBQ0gsQ0FBQyxDQUFBO0FBQ00sTUFBTSxVQUFVLEdBQUcsS0FBSyxFQUFFLFFBQXdCLEVBQUUsSUFBMEIsRUFBRSxFQUFFO0lBQ3ZGLE1BQU0sRUFBRSxRQUFRLEVBQUUsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLEVBQUUsR0FBRyxNQUFNLElBQUEsb0JBQVUsRUFBQyxRQUFRLEVBQUUsSUFBSSxDQUFDLENBQUE7SUFFdEYsT0FBTztRQUNMLEdBQUcsQ0FBQyxjQUFjLElBQUksTUFBTSxDQUFDLENBQUMsQ0FBQyxFQUFFLG9CQUFvQixFQUFFLGNBQWMsRUFBRSxZQUFZLEVBQUUsTUFBTSxFQUFFLENBQUMsQ0FBQyxDQUFDLEVBQUUsUUFBUSxFQUFFLENBQUM7UUFDN0csUUFBUSxFQUFFLElBQUksQ0FBQyxRQUFRO0tBQ3hCLENBQUE7QUFDSCxDQUFDLENBQUE7QUFQWSxRQUFBLFVBQVUsY0FPdEI7QUFFRCxTQUFnQixxQkFBcUIsQ0FBK0IsTUFBdUM7SUFDekcsT0FBTyxJQUFBLHlCQUFrQixFQUN2QixtQkFBbUIsRUFDbkIsc0JBQXNCLEVBQ3RCLHFDQUF5QixDQUMxQixDQUFDLE1BQU0sQ0FBQyxDQUFBO0FBQ1gsQ0FBQztBQU5ELHNEQU1DO0FBRUQsTUFBTSxzQkFBc0IsR0FBRyxDQUM3QixRQUF5QixFQUN6QixZQUFvQixFQUNwQixZQUFvQixFQUNwQixLQUFTLEVBQ1QsRUFBRSxDQUFDLEdBQUcsRUFBRTtJQUNSLE1BQU0sbUJBQW1CLEdBQ3ZCLFlBQVksS0FBSyxRQUFRLENBQUMsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxTQUFTLENBQUMsV0FBVyxDQUFDLFlBQVksQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsUUFBUSxDQUFDLFNBQVMsQ0FBQyxNQUFNLENBQUMsTUFBTSxDQUFBO0lBQ3BILE1BQU0sTUFBTSxHQUFHLG1CQUFtQixDQUFDLE1BQU0sQ0FDdkMsQ0FBQyxHQUFHLEVBQUUsS0FBSyxFQUFFLEdBQUcsRUFBRSxFQUFFLENBQUMsQ0FBQztRQUNwQixHQUFHLEdBQUc7UUFDTixDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsRUFBRSxLQUFLLENBQUMsR0FBRyxDQUFDLFlBQVksa0JBQVMsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxDQUFDLFFBQVEsRUFBRSxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDO0tBQ25GLENBQUMsRUFDRixFQUFFLENBQ0gsQ0FBQTtJQUVELE9BQU87UUFDTCxZQUFZLEVBQUUsWUFBWTtRQUMxQixNQUFNLEVBQUUsWUFBWTtRQUNwQixNQUFNLEVBQUUsTUFBTTtLQUNmLENBQUE7QUFDSCxDQUFDLENBQUE7QUFFRCxNQUFNLGFBQWEsR0FBRyxLQUFLLEVBQ3pCLFFBQXlCLEVBQ3pCLFFBQXdCLEVBQ3hCLGVBQXVCLEVBQ3ZCLEVBQVUsRUFDVixLQUFVLEVBQ1YsRUFBRTtJQUNGLE1BQU0saUJBQWlCLEdBQUcsMkJBQWUsQ0FBQyxXQUFXLENBQUMsZUFBZSxFQUFFLFFBQVEsQ0FBQyxTQUFTLENBQUMsQ0FBQyxPQUFPLENBQUMsUUFBUSxDQUFDLENBQUE7SUFDNUcsTUFBTSxNQUFNLEdBQUcsTUFBTSxpQkFBaUIsQ0FBQyxFQUFFLENBQUMsQ0FBQyxHQUFHLEtBQUssQ0FBQyxDQUFBO0lBQ3BELE9BQU8sTUFBTSxDQUFBO0FBQ2YsQ0FBQyxDQUFBO0FBRUQsU0FBZ0Isd0JBQXdCLENBQ3RDLE1BQXFFO0lBRXJFLE9BQU8sSUFBQSw0QkFBcUIsRUFBcUUsYUFBYSxDQUFDLENBQzdHLE1BQU0sQ0FDUCxDQUFBO0FBQ0gsQ0FBQztBQU5ELDREQU1DO0FBRVksUUFBQSxjQUFjLEdBQUcsQ0FBQyxnREFBOEIsQ0FBQyxDQUFBO0FBQzlELDREQUFpQztBQUVqQywwREFBK0IiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb250cmFjdEZhY3RvcnkgfSBmcm9tICdAZXRoZXJzcHJvamVjdC9jb250cmFjdHMnXG5pbXBvcnQge1xuICBCZWZvcmVFeGVjdXRlIGFzIENvcmVCZWZvcmVFeGVjdXRlLFxuICBBZnRlckV4ZWN1dGUgYXMgQ29yZUFmdGVyRXhlY3V0ZSxcbiAgQWZ0ZXJFeHBvcnQgYXMgQ29yZUFmdGVyRXhwb3J0LFxuICBFeGVjdXRlQ29tbWFuZENvbmZpZyBhcyBDb3JlRXhlY3V0ZUNvbW1hbmRDb25maWcsXG4gIEV4ZWN1dGVDb21tYW5kSW5zdGFuY2UgYXMgQ29yZUV4ZWN1dGVDb21tYW5kSW5zdGFuY2UsXG59IGZyb20gJy4uLy4uL2NvcmUvY29tbWFuZHMvYmFzZS90eXBlcydcbmltcG9ydCB7XG4gIEluc3BlY3RDb21tYW5kQ29uZmlnIGFzIENvcmVJbnNwZWN0Q29tbWFuZENvbmZpZyxcbiAgSW5zcGVjdENvbW1hbmRJbnN0YW5jZSBhcyBDb3JlSW5zcGVjdENvbW1hbmRJbnN0YW5jZSxcbn0gZnJvbSAnLi4vLi4vY29yZS9jb21tYW5kcy9iYXNlL2luc3BlY3Rpb25Db21tYW5kJ1xuaW1wb3J0IHsgVHJhbnNhY3Rpb25SZXNwb25zZSBhcyBUcmFuc2FjdGlvbiwgVHJhbnNhY3Rpb25SZXF1ZXN0IH0gZnJvbSAnQGV0aGVyc3Byb2plY3QvYWJzdHJhY3QtcHJvdmlkZXInXG5pbXBvcnQgeyBtYWtlRXhlY3V0ZUNvbW1hbmQsIEV4ZWN1dGlvbkNvbnRleHQsIG1ha2VJbnNwZWN0aW9uQ29tbWFuZCB9IGZyb20gJy4uLy4uL2NvcmUvY29tbWFuZHMvYmFzZSdcbmltcG9ydCB7IFByb3ZpZGVyIGFzIEV0aGVyc1Byb3ZpZGVyIH0gZnJvbSAnQGV0aGVyc3Byb2plY3QvYWJzdHJhY3QtcHJvdmlkZXInXG5pbXBvcnQgeyBXYWxsZXQgYXMgRXRoZXJzV2FsbGV0IH0gZnJvbSAnQGV0aGVyc3Byb2plY3Qvd2FsbGV0J1xuaW1wb3J0IHsgcmVnaXN0ZXJTZW5kVHJhbnNhY3Rpb25Db21tYW5kIH0gZnJvbSAnLi9uYXRpdmUvc2VuZFRyYW5zYWN0aW9uJ1xuaW1wb3J0IHsgQmlnTnVtYmVyIH0gZnJvbSAnZXRoZXJzJ1xuaW1wb3J0IHsgbWFrZUR5bmFtaWNDb250cmFjdExvYWRlciB9IGZyb20gJy4uL2NvbnRyYWN0cydcbmltcG9ydCB7IGdldEdhc0ZlZXMgfSBmcm9tICcuL2dhc0ZlZXMnXG5cbmV4cG9ydCB0eXBlIEVWTUV4ZWN1dGlvbkNvbnRleHQgPSBFeGVjdXRpb25Db250ZXh0PFxuICBFdGhlcnNXYWxsZXQsXG4gIEV0aGVyc1Byb3ZpZGVyLFxuICBDb250cmFjdEZhY3RvcnksXG4gIFRyYW5zYWN0aW9uUmVxdWVzdCxcbiAgVHJhbnNhY3Rpb25cbj5cblxuZXhwb3J0IHR5cGUgRVZNQmVmb3JlRXhlY3V0ZTxVSSwgQ0k+ID0gQ29yZUJlZm9yZUV4ZWN1dGU8VUksIENJLCBFVk1FeGVjdXRpb25Db250ZXh0PlxuZXhwb3J0IHR5cGUgRVZNQWZ0ZXJFeGVjdXRlPFVJLCBDST4gPSBDb3JlQWZ0ZXJFeGVjdXRlPFVJLCBDSSwgVHJhbnNhY3Rpb24sIEVWTUV4ZWN1dGlvbkNvbnRleHQ+XG5leHBvcnQgdHlwZSBFVk1BZnRlckV4cG9ydDxVSSwgQ0k+ID0gQ29yZUFmdGVyRXhwb3J0PFVJLCBDSSwgRVZNRXhlY3V0aW9uQ29udGV4dD5cbmV4cG9ydCB0eXBlIEVWTUV4ZWN1dGVDb21tYW5kQ29uZmlnPFVJLCBDST4gPSBDb3JlRXhlY3V0ZUNvbW1hbmRDb25maWc8XG4gIFVJLFxuICBDSSxcbiAgVHJhbnNhY3Rpb24sXG4gIEVWTUV4ZWN1dGlvbkNvbnRleHQsXG4gIENvbnRyYWN0RmFjdG9yeVxuPlxuZXhwb3J0IHR5cGUgRVZNSW5zcGVjdGlvbkNvbW1hbmRDb25maWc8VUksIENJLCBDb21wYXJlSW5wdXQsIFF1ZXJ5UmVzdWx0PiA9IENvcmVJbnNwZWN0Q29tbWFuZENvbmZpZzxcbiAgVUksXG4gIENJLFxuICBDb21wYXJlSW5wdXQsXG4gIFF1ZXJ5UmVzdWx0LFxuICBFdGhlcnNQcm92aWRlcixcbiAgQ29udHJhY3RGYWN0b3J5LFxuICBUcmFuc2FjdGlvblJlcXVlc3QsXG4gIFRyYW5zYWN0aW9uLFxuICBFdGhlcnNXYWxsZXRcbj5cblxuZXhwb3J0IHR5cGUgRVZNRXhlY3V0ZUNvbW1hbmRJbnN0YW5jZTxVSSwgQ0kgZXh0ZW5kcyBJdGVyYWJsZTxhbnk+PiA9IENvcmVFeGVjdXRlQ29tbWFuZEluc3RhbmNlPFxuICBVSSxcbiAgQ0ksXG4gIEV0aGVyc1Byb3ZpZGVyLFxuICBDb250cmFjdEZhY3RvcnksXG4gIFRyYW5zYWN0aW9uUmVxdWVzdCxcbiAgVHJhbnNhY3Rpb24sXG4gIEV0aGVyc1dhbGxldCxcbiAgRVZNRXhlY3V0aW9uQ29udGV4dFxuPlxuXG5leHBvcnQgdHlwZSBFVk1JbnNwZWN0Q29tbWFuZEluc3RhbmNlPFF1ZXJ5UmVzdWx0PiA9IENvcmVJbnNwZWN0Q29tbWFuZEluc3RhbmNlPFF1ZXJ5UmVzdWx0PlxuXG5jb25zdCByZWdpc3Rlck1ha2VNZXNzYWdlID0gPENJIGV4dGVuZHMgSXRlcmFibGU8YW55Pj4oXG4gIGNvbnRyYWN0OiBDb250cmFjdEZhY3RvcnksXG4gIHByb3ZpZGVyOiBFdGhlcnNQcm92aWRlcixcbiAgaW5wdXQ6IENJLFxuICBhY3Rpb246IHN0cmluZyxcbiAgY29udHJhY3RBZGRyZXNzOiBzdHJpbmcsXG4gIGlzRGVwbG95bWVudCA9IGZhbHNlLFxuICBvcHRzPzogUmVjb3JkPHN0cmluZywgYW55PixcbikgPT4gYXN5bmMgKCk6IFByb21pc2U8VHJhbnNhY3Rpb25SZXF1ZXN0W10+ID0+IHtcbiAgaWYgKGlzRGVwbG95bWVudClcbiAgICByZXR1cm4gW1xuICAgICAge1xuICAgICAgICAuLi5jb250cmFjdC5nZXREZXBsb3lUcmFuc2FjdGlvbiguLi5pbnB1dCksXG4gICAgICAgIHZhbHVlOiAwLFxuICAgICAgICAuLi4ob3B0cz8ubm9uY2UgJiYgeyBub25jZTogb3B0cy5ub25jZSB9KSxcbiAgICAgICAgLi4uKGF3YWl0IGdldEdhc0RhdGEocHJvdmlkZXIsIG9wdHMpKSxcbiAgICAgIH0sXG4gICAgXVxuXG4gIGNvbnN0IGRhdGEgPSBjb250cmFjdC5pbnRlcmZhY2UuZW5jb2RlRnVuY3Rpb25EYXRhKGFjdGlvbiwgaW5wdXQgYXMgYW55KVxuICByZXR1cm4gW1xuICAgIHtcbiAgICAgIHRvOiBjb250cmFjdEFkZHJlc3MsXG4gICAgICBkYXRhLFxuICAgICAgdmFsdWU6IDAsXG4gICAgICAuLi4ob3B0cz8ubm9uY2UgJiYgeyBub25jZTogb3B0cy5ub25jZSB9KSxcbiAgICAgIC4uLihhd2FpdCBnZXRHYXNEYXRhKHByb3ZpZGVyLCBvcHRzKSksXG4gICAgfSxcbiAgXVxufVxuZXhwb3J0IGNvbnN0IGdldEdhc0RhdGEgPSBhc3luYyAocHJvdmlkZXI6IEV0aGVyc1Byb3ZpZGVyLCBvcHRzPzogUmVjb3JkPHN0cmluZywgYW55PikgPT4ge1xuICBjb25zdCB7IGdhc1ByaWNlLCBiYXNlRmVlLCBtYXhQcmlvcml0eUZlZSwgbWF4RmVlIH0gPSBhd2FpdCBnZXRHYXNGZWVzKHByb3ZpZGVyLCBvcHRzKVxuXG4gIHJldHVybiB7XG4gICAgLi4uKG1heFByaW9yaXR5RmVlICYmIG1heEZlZSA/IHsgbWF4UHJpb3JpdHlGZWVQZXJHYXM6IG1heFByaW9yaXR5RmVlLCBtYXhGZWVQZXJHYXM6IG1heEZlZSB9IDogeyBnYXNQcmljZSB9KSxcbiAgICBnYXNMaW1pdDogb3B0cy5nYXNMaW1pdCxcbiAgfVxufVxuXG5leHBvcnQgZnVuY3Rpb24gbWFrZUVWTUV4ZWN1dGVDb21tYW5kPFVJLCBDSSBleHRlbmRzIEl0ZXJhYmxlPGFueT4+KGNvbmZpZzogRVZNRXhlY3V0ZUNvbW1hbmRDb25maWc8VUksIENJPikge1xuICByZXR1cm4gbWFrZUV4ZWN1dGVDb21tYW5kPFVJLCBDSSwgVHJhbnNhY3Rpb25SZXF1ZXN0LCBDb250cmFjdEZhY3RvcnksIEV0aGVyc1Byb3ZpZGVyLCBUcmFuc2FjdGlvbiwgRXRoZXJzV2FsbGV0PihcbiAgICByZWdpc3Rlck1ha2VNZXNzYWdlLFxuICAgIGdldEZ1bmN0aW9uSW5wdXRTY2hlbWEsXG4gICAgbWFrZUR5bmFtaWNDb250cmFjdExvYWRlcixcbiAgKShjb25maWcpXG59XG5cbmNvbnN0IGdldEZ1bmN0aW9uSW5wdXRTY2hlbWEgPSA8Q0kgZXh0ZW5kcyBJdGVyYWJsZTxhbnk+PihcbiAgY29udHJhY3Q6IENvbnRyYWN0RmFjdG9yeSxcbiAgY29udHJhY3ROYW1lOiBzdHJpbmcsXG4gIGZ1bmN0aW9uTmFtZTogc3RyaW5nLFxuICBpbnB1dDogQ0ksXG4pID0+ICgpID0+IHtcbiAgY29uc3QgZnVuY3Rpb25JbnB1dFNjaGVtYSA9XG4gICAgZnVuY3Rpb25OYW1lICE9PSAnZGVwbG95JyA/IGNvbnRyYWN0LmludGVyZmFjZS5nZXRGdW5jdGlvbihmdW5jdGlvbk5hbWUpLmlucHV0cyA6IGNvbnRyYWN0LmludGVyZmFjZS5kZXBsb3kuaW5wdXRzXG4gIGNvbnN0IGlucHV0cyA9IGZ1bmN0aW9uSW5wdXRTY2hlbWEucmVkdWNlKFxuICAgIChhY2MsIHBhcmFtLCBpZHgpID0+ICh7XG4gICAgICAuLi5hY2MsXG4gICAgICBbcGFyYW0ubmFtZV06IGlucHV0W2lkeF0gaW5zdGFuY2VvZiBCaWdOdW1iZXIgPyBpbnB1dFtpZHhdLnRvU3RyaW5nKCkgOiBpbnB1dFtpZHhdLFxuICAgIH0pLFxuICAgIHt9LFxuICApXG5cbiAgcmV0dXJuIHtcbiAgICBjb250cmFjdE5hbWU6IGNvbnRyYWN0TmFtZSxcbiAgICBhY3Rpb246IGZ1bmN0aW9uTmFtZSxcbiAgICBpbnB1dHM6IGlucHV0cyxcbiAgfVxufVxuXG5jb25zdCBmZXRjaENvbnRyYWN0ID0gYXN5bmMgKFxuICBjb250cmFjdDogQ29udHJhY3RGYWN0b3J5LFxuICBwcm92aWRlcjogRXRoZXJzUHJvdmlkZXIsXG4gIGNvbnRyYWN0QWRkcmVzczogc3RyaW5nLFxuICBmbjogc3RyaW5nLFxuICBpbnB1dDogYW55LFxuKSA9PiB7XG4gIGNvbnN0IGNvbm5lY3RlZENvbnRyYWN0ID0gQ29udHJhY3RGYWN0b3J5LmdldENvbnRyYWN0KGNvbnRyYWN0QWRkcmVzcywgY29udHJhY3QuaW50ZXJmYWNlKS5jb25uZWN0KHByb3ZpZGVyKVxuICBjb25zdCByZXN1bHQgPSBhd2FpdCBjb25uZWN0ZWRDb250cmFjdFtmbl0oLi4uaW5wdXQpXG4gIHJldHVybiByZXN1bHRcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIG1ha2VFVk1JbnNwZWN0aW9uQ29tbWFuZDxVSSwgQ0ksIENvbXBhcmVJbnB1dCwgUXVlcnlSZXN1bHQ+KFxuICBjb25maWc6IEVWTUluc3BlY3Rpb25Db21tYW5kQ29uZmlnPFVJLCBDSSwgQ29tcGFyZUlucHV0LCBRdWVyeVJlc3VsdD4sXG4pIHtcbiAgcmV0dXJuIG1ha2VJbnNwZWN0aW9uQ29tbWFuZDxVSSwgQ0ksIENvbXBhcmVJbnB1dCwgUXVlcnlSZXN1bHQsIENvbnRyYWN0RmFjdG9yeSwgRXRoZXJzUHJvdmlkZXI+KGZldGNoQ29udHJhY3QpKFxuICAgIGNvbmZpZyxcbiAgKVxufVxuXG5leHBvcnQgY29uc3QgbmF0aXZlQ29tbWFuZHMgPSBbcmVnaXN0ZXJTZW5kVHJhbnNhY3Rpb25Db21tYW5kXVxuZXhwb3J0ICogZnJvbSAnLi9pbnRlcm5hbENvbW1hbmQnXG5cbmV4cG9ydCAqIGZyb20gJy4vbmF0aXZlL3ZlcmlmeSdcbiJdfQ==
tslib_1.__exportStar(require("./native/batchInspectionCommand"), exports);
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvZXZtL2NvbW1hbmRzL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7QUFBQSx3REFBMEQ7QUFhMUQsbURBQXNHO0FBR3RHLDhEQUF5RTtBQUN6RSxtQ0FBa0M7QUFDbEMsNENBQXdEO0FBQ3hELHVDQUFzQztBQTZDdEMsTUFBTSxtQkFBbUIsR0FBRyxDQUMxQixRQUF5QixFQUN6QixRQUF3QixFQUN4QixLQUFTLEVBQ1QsTUFBYyxFQUNkLGVBQXVCLEVBQ3ZCLFlBQVksR0FBRyxLQUFLLEVBQ3BCLElBQTBCLEVBQzFCLEVBQUUsQ0FBQyxLQUFLLElBQW1DLEVBQUU7SUFDN0MsSUFBSSxZQUFZO1FBQ2QsT0FBTztZQUNMO2dCQUNFLEdBQUcsUUFBUSxDQUFDLG9CQUFvQixDQUFDLEdBQUcsS0FBSyxDQUFDO2dCQUMxQyxLQUFLLEVBQUUsQ0FBQztnQkFDUixHQUFHLENBQUMsSUFBSSxFQUFFLEtBQUssSUFBSSxFQUFFLEtBQUssRUFBRSxJQUFJLENBQUMsS0FBSyxFQUFFLENBQUM7Z0JBQ3pDLEdBQUcsQ0FBQyxNQUFNLElBQUEsa0JBQVUsRUFBQyxRQUFRLEVBQUUsSUFBSSxDQUFDLENBQUM7YUFDdEM7U0FDRixDQUFBO0lBRUgsTUFBTSxJQUFJLEdBQUcsUUFBUSxDQUFDLFNBQVMsQ0FBQyxrQkFBa0IsQ0FBQyxNQUFNLEVBQUUsS0FBWSxDQUFDLENBQUE7SUFDeEUsT0FBTztRQUNMO1lBQ0UsRUFBRSxFQUFFLGVBQWU7WUFDbkIsSUFBSTtZQUNKLEtBQUssRUFBRSxDQUFDO1lBQ1IsR0FBRyxDQUFDLElBQUksRUFBRSxLQUFLLElBQUksRUFBRSxLQUFLLEVBQUUsSUFBSSxDQUFDLEtBQUssRUFBRSxDQUFDO1lBQ3pDLEdBQUcsQ0FBQyxNQUFNLElBQUEsa0JBQVUsRUFBQyxRQUFRLEVBQUUsSUFBSSxDQUFDLENBQUM7U0FDdEM7S0FDRixDQUFBO0FBQ0gsQ0FBQyxDQUFBO0FBQ00sTUFBTSxVQUFVLEdBQUcsS0FBSyxFQUFFLFFBQXdCLEVBQUUsSUFBMEIsRUFBRSxFQUFFO0lBQ3ZGLE1BQU0sRUFBRSxRQUFRLEVBQUUsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLEVBQUUsR0FBRyxNQUFNLElBQUEsb0JBQVUsRUFBQyxRQUFRLEVBQUUsSUFBSSxDQUFDLENBQUE7SUFFdEYsT0FBTztRQUNMLEdBQUcsQ0FBQyxjQUFjLElBQUksTUFBTSxDQUFDLENBQUMsQ0FBQyxFQUFFLG9CQUFvQixFQUFFLGNBQWMsRUFBRSxZQUFZLEVBQUUsTUFBTSxFQUFFLENBQUMsQ0FBQyxDQUFDLEVBQUUsUUFBUSxFQUFFLENBQUM7UUFDN0csUUFBUSxFQUFFLElBQUksQ0FBQyxRQUFRO0tBQ3hCLENBQUE7QUFDSCxDQUFDLENBQUE7QUFQWSxRQUFBLFVBQVUsY0FPdEI7QUFFRCxTQUFnQixxQkFBcUIsQ0FBK0IsTUFBdUM7SUFDekcsT0FBTyxJQUFBLHlCQUFrQixFQUN2QixtQkFBbUIsRUFDbkIsc0JBQXNCLEVBQ3RCLHFDQUF5QixDQUMxQixDQUFDLE1BQU0sQ0FBQyxDQUFBO0FBQ1gsQ0FBQztBQU5ELHNEQU1DO0FBRUQsTUFBTSxzQkFBc0IsR0FBRyxDQUM3QixRQUF5QixFQUN6QixZQUFvQixFQUNwQixZQUFvQixFQUNwQixLQUFTLEVBQ1QsRUFBRSxDQUFDLEdBQUcsRUFBRTtJQUNSLE1BQU0sbUJBQW1CLEdBQ3ZCLFlBQVksS0FBSyxRQUFRLENBQUMsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxTQUFTLENBQUMsV0FBVyxDQUFDLFlBQVksQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsUUFBUSxDQUFDLFNBQVMsQ0FBQyxNQUFNLENBQUMsTUFBTSxDQUFBO0lBQ3BILE1BQU0sTUFBTSxHQUFHLG1CQUFtQixDQUFDLE1BQU0sQ0FDdkMsQ0FBQyxHQUFHLEVBQUUsS0FBSyxFQUFFLEdBQUcsRUFBRSxFQUFFLENBQUMsQ0FBQztRQUNwQixHQUFHLEdBQUc7UUFDTixDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsRUFBRSxLQUFLLENBQUMsR0FBRyxDQUFDLFlBQVksa0JBQVMsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxDQUFDLFFBQVEsRUFBRSxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDO0tBQ25GLENBQUMsRUFDRixFQUFFLENBQ0gsQ0FBQTtJQUVELE9BQU87UUFDTCxZQUFZLEVBQUUsWUFBWTtRQUMxQixNQUFNLEVBQUUsWUFBWTtRQUNwQixNQUFNLEVBQUUsTUFBTTtLQUNmLENBQUE7QUFDSCxDQUFDLENBQUE7QUFFRCxNQUFNLGFBQWEsR0FBRyxLQUFLLEVBQ3pCLFFBQXlCLEVBQ3pCLFFBQXdCLEVBQ3hCLGVBQXVCLEVBQ3ZCLEVBQVUsRUFDVixLQUFVLEVBQ1YsRUFBRTtJQUNGLE1BQU0saUJBQWlCLEdBQUcsMkJBQWUsQ0FBQyxXQUFXLENBQUMsZUFBZSxFQUFFLFFBQVEsQ0FBQyxTQUFTLENBQUMsQ0FBQyxPQUFPLENBQUMsUUFBUSxDQUFDLENBQUE7SUFDNUcsTUFBTSxNQUFNLEdBQUcsTUFBTSxpQkFBaUIsQ0FBQyxFQUFFLENBQUMsQ0FBQyxHQUFHLEtBQUssQ0FBQyxDQUFBO0lBQ3BELE9BQU8sTUFBTSxDQUFBO0FBQ2YsQ0FBQyxDQUFBO0FBRUQsU0FBZ0Isd0JBQXdCLENBQ3RDLE1BQXFFO0lBRXJFLE9BQU8sSUFBQSw0QkFBcUIsRUFBcUUsYUFBYSxDQUFDLENBQzdHLE1BQU0sQ0FDUCxDQUFBO0FBQ0gsQ0FBQztBQU5ELDREQU1DO0FBRVksUUFBQSxjQUFjLEdBQUcsQ0FBQyxnREFBOEIsQ0FBQyxDQUFBO0FBQzlELDREQUFpQztBQUVqQywwREFBK0I7QUFDL0IsMEVBQStDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29udHJhY3RGYWN0b3J5IH0gZnJvbSAnQGV0aGVyc3Byb2plY3QvY29udHJhY3RzJ1xuaW1wb3J0IHtcbiAgQmVmb3JlRXhlY3V0ZSBhcyBDb3JlQmVmb3JlRXhlY3V0ZSxcbiAgQWZ0ZXJFeGVjdXRlIGFzIENvcmVBZnRlckV4ZWN1dGUsXG4gIEFmdGVyRXhwb3J0IGFzIENvcmVBZnRlckV4cG9ydCxcbiAgRXhlY3V0ZUNvbW1hbmRDb25maWcgYXMgQ29yZUV4ZWN1dGVDb21tYW5kQ29uZmlnLFxuICBFeGVjdXRlQ29tbWFuZEluc3RhbmNlIGFzIENvcmVFeGVjdXRlQ29tbWFuZEluc3RhbmNlLFxufSBmcm9tICcuLi8uLi9jb3JlL2NvbW1hbmRzL2Jhc2UvdHlwZXMnXG5pbXBvcnQge1xuICBJbnNwZWN0Q29tbWFuZENvbmZpZyBhcyBDb3JlSW5zcGVjdENvbW1hbmRDb25maWcsXG4gIEluc3BlY3RDb21tYW5kSW5zdGFuY2UgYXMgQ29yZUluc3BlY3RDb21tYW5kSW5zdGFuY2UsXG59IGZyb20gJy4uLy4uL2NvcmUvY29tbWFuZHMvYmFzZS9pbnNwZWN0aW9uQ29tbWFuZCdcbmltcG9ydCB7IFRyYW5zYWN0aW9uUmVzcG9uc2UgYXMgVHJhbnNhY3Rpb24sIFRyYW5zYWN0aW9uUmVxdWVzdCB9IGZyb20gJ0BldGhlcnNwcm9qZWN0L2Fic3RyYWN0LXByb3ZpZGVyJ1xuaW1wb3J0IHsgbWFrZUV4ZWN1dGVDb21tYW5kLCBFeGVjdXRpb25Db250ZXh0LCBtYWtlSW5zcGVjdGlvbkNvbW1hbmQgfSBmcm9tICcuLi8uLi9jb3JlL2NvbW1hbmRzL2Jhc2UnXG5pbXBvcnQgeyBQcm92aWRlciBhcyBFdGhlcnNQcm92aWRlciB9IGZyb20gJ0BldGhlcnNwcm9qZWN0L2Fic3RyYWN0LXByb3ZpZGVyJ1xuaW1wb3J0IHsgV2FsbGV0IGFzIEV0aGVyc1dhbGxldCB9IGZyb20gJ0BldGhlcnNwcm9qZWN0L3dhbGxldCdcbmltcG9ydCB7IHJlZ2lzdGVyU2VuZFRyYW5zYWN0aW9uQ29tbWFuZCB9IGZyb20gJy4vbmF0aXZlL3NlbmRUcmFuc2FjdGlvbidcbmltcG9ydCB7IEJpZ051bWJlciB9IGZyb20gJ2V0aGVycydcbmltcG9ydCB7IG1ha2VEeW5hbWljQ29udHJhY3RMb2FkZXIgfSBmcm9tICcuLi9jb250cmFjdHMnXG5pbXBvcnQgeyBnZXRHYXNGZWVzIH0gZnJvbSAnLi9nYXNGZWVzJ1xuXG5leHBvcnQgdHlwZSBFVk1FeGVjdXRpb25Db250ZXh0ID0gRXhlY3V0aW9uQ29udGV4dDxcbiAgRXRoZXJzV2FsbGV0LFxuICBFdGhlcnNQcm92aWRlcixcbiAgQ29udHJhY3RGYWN0b3J5LFxuICBUcmFuc2FjdGlvblJlcXVlc3QsXG4gIFRyYW5zYWN0aW9uXG4+XG5cbmV4cG9ydCB0eXBlIEVWTUJlZm9yZUV4ZWN1dGU8VUksIENJPiA9IENvcmVCZWZvcmVFeGVjdXRlPFVJLCBDSSwgRVZNRXhlY3V0aW9uQ29udGV4dD5cbmV4cG9ydCB0eXBlIEVWTUFmdGVyRXhlY3V0ZTxVSSwgQ0k+ID0gQ29yZUFmdGVyRXhlY3V0ZTxVSSwgQ0ksIFRyYW5zYWN0aW9uLCBFVk1FeGVjdXRpb25Db250ZXh0PlxuZXhwb3J0IHR5cGUgRVZNQWZ0ZXJFeHBvcnQ8VUksIENJPiA9IENvcmVBZnRlckV4cG9ydDxVSSwgQ0ksIEVWTUV4ZWN1dGlvbkNvbnRleHQ+XG5leHBvcnQgdHlwZSBFVk1FeGVjdXRlQ29tbWFuZENvbmZpZzxVSSwgQ0k+ID0gQ29yZUV4ZWN1dGVDb21tYW5kQ29uZmlnPFxuICBVSSxcbiAgQ0ksXG4gIFRyYW5zYWN0aW9uLFxuICBFVk1FeGVjdXRpb25Db250ZXh0LFxuICBDb250cmFjdEZhY3Rvcnlcbj5cbmV4cG9ydCB0eXBlIEVWTUluc3BlY3Rpb25Db21tYW5kQ29uZmlnPFVJLCBDSSwgQ29tcGFyZUlucHV0LCBRdWVyeVJlc3VsdD4gPSBDb3JlSW5zcGVjdENvbW1hbmRDb25maWc8XG4gIFVJLFxuICBDSSxcbiAgQ29tcGFyZUlucHV0LFxuICBRdWVyeVJlc3VsdCxcbiAgRXRoZXJzUHJvdmlkZXIsXG4gIENvbnRyYWN0RmFjdG9yeSxcbiAgVHJhbnNhY3Rpb25SZXF1ZXN0LFxuICBUcmFuc2FjdGlvbixcbiAgRXRoZXJzV2FsbGV0XG4+XG5cbmV4cG9ydCB0eXBlIEVWTUV4ZWN1dGVDb21tYW5kSW5zdGFuY2U8VUksIENJIGV4dGVuZHMgSXRlcmFibGU8YW55Pj4gPSBDb3JlRXhlY3V0ZUNvbW1hbmRJbnN0YW5jZTxcbiAgVUksXG4gIENJLFxuICBFdGhlcnNQcm92aWRlcixcbiAgQ29udHJhY3RGYWN0b3J5LFxuICBUcmFuc2FjdGlvblJlcXVlc3QsXG4gIFRyYW5zYWN0aW9uLFxuICBFdGhlcnNXYWxsZXQsXG4gIEVWTUV4ZWN1dGlvbkNvbnRleHRcbj5cblxuZXhwb3J0IHR5cGUgRVZNSW5zcGVjdENvbW1hbmRJbnN0YW5jZTxRdWVyeVJlc3VsdD4gPSBDb3JlSW5zcGVjdENvbW1hbmRJbnN0YW5jZTxRdWVyeVJlc3VsdD5cblxuY29uc3QgcmVnaXN0ZXJNYWtlTWVzc2FnZSA9IDxDSSBleHRlbmRzIEl0ZXJhYmxlPGFueT4+KFxuICBjb250cmFjdDogQ29udHJhY3RGYWN0b3J5LFxuICBwcm92aWRlcjogRXRoZXJzUHJvdmlkZXIsXG4gIGlucHV0OiBDSSxcbiAgYWN0aW9uOiBzdHJpbmcsXG4gIGNvbnRyYWN0QWRkcmVzczogc3RyaW5nLFxuICBpc0RlcGxveW1lbnQgPSBmYWxzZSxcbiAgb3B0cz86IFJlY29yZDxzdHJpbmcsIGFueT4sXG4pID0+IGFzeW5jICgpOiBQcm9taXNlPFRyYW5zYWN0aW9uUmVxdWVzdFtdPiA9PiB7XG4gIGlmIChpc0RlcGxveW1lbnQpXG4gICAgcmV0dXJuIFtcbiAgICAgIHtcbiAgICAgICAgLi4uY29udHJhY3QuZ2V0RGVwbG95VHJhbnNhY3Rpb24oLi4uaW5wdXQpLFxuICAgICAgICB2YWx1ZTogMCxcbiAgICAgICAgLi4uKG9wdHM/Lm5vbmNlICYmIHsgbm9uY2U6IG9wdHMubm9uY2UgfSksXG4gICAgICAgIC4uLihhd2FpdCBnZXRHYXNEYXRhKHByb3ZpZGVyLCBvcHRzKSksXG4gICAgICB9LFxuICAgIF1cblxuICBjb25zdCBkYXRhID0gY29udHJhY3QuaW50ZXJmYWNlLmVuY29kZUZ1bmN0aW9uRGF0YShhY3Rpb24sIGlucHV0IGFzIGFueSlcbiAgcmV0dXJuIFtcbiAgICB7XG4gICAgICB0bzogY29udHJhY3RBZGRyZXNzLFxuICAgICAgZGF0YSxcbiAgICAgIHZhbHVlOiAwLFxuICAgICAgLi4uKG9wdHM/Lm5vbmNlICYmIHsgbm9uY2U6IG9wdHMubm9uY2UgfSksXG4gICAgICAuLi4oYXdhaXQgZ2V0R2FzRGF0YShwcm92aWRlciwgb3B0cykpLFxuICAgIH0sXG4gIF1cbn1cbmV4cG9ydCBjb25zdCBnZXRHYXNEYXRhID0gYXN5bmMgKHByb3ZpZGVyOiBFdGhlcnNQcm92aWRlciwgb3B0cz86IFJlY29yZDxzdHJpbmcsIGFueT4pID0+IHtcbiAgY29uc3QgeyBnYXNQcmljZSwgYmFzZUZlZSwgbWF4UHJpb3JpdHlGZWUsIG1heEZlZSB9ID0gYXdhaXQgZ2V0R2FzRmVlcyhwcm92aWRlciwgb3B0cylcblxuICByZXR1cm4ge1xuICAgIC4uLihtYXhQcmlvcml0eUZlZSAmJiBtYXhGZWUgPyB7IG1heFByaW9yaXR5RmVlUGVyR2FzOiBtYXhQcmlvcml0eUZlZSwgbWF4RmVlUGVyR2FzOiBtYXhGZWUgfSA6IHsgZ2FzUHJpY2UgfSksXG4gICAgZ2FzTGltaXQ6IG9wdHMuZ2FzTGltaXQsXG4gIH1cbn1cblxuZXhwb3J0IGZ1bmN0aW9uIG1ha2VFVk1FeGVjdXRlQ29tbWFuZDxVSSwgQ0kgZXh0ZW5kcyBJdGVyYWJsZTxhbnk+Pihjb25maWc6IEVWTUV4ZWN1dGVDb21tYW5kQ29uZmlnPFVJLCBDST4pIHtcbiAgcmV0dXJuIG1ha2VFeGVjdXRlQ29tbWFuZDxVSSwgQ0ksIFRyYW5zYWN0aW9uUmVxdWVzdCwgQ29udHJhY3RGYWN0b3J5LCBFdGhlcnNQcm92aWRlciwgVHJhbnNhY3Rpb24sIEV0aGVyc1dhbGxldD4oXG4gICAgcmVnaXN0ZXJNYWtlTWVzc2FnZSxcbiAgICBnZXRGdW5jdGlvbklucHV0U2NoZW1hLFxuICAgIG1ha2VEeW5hbWljQ29udHJhY3RMb2FkZXIsXG4gICkoY29uZmlnKVxufVxuXG5jb25zdCBnZXRGdW5jdGlvbklucHV0U2NoZW1hID0gPENJIGV4dGVuZHMgSXRlcmFibGU8YW55Pj4oXG4gIGNvbnRyYWN0OiBDb250cmFjdEZhY3RvcnksXG4gIGNvbnRyYWN0TmFtZTogc3RyaW5nLFxuICBmdW5jdGlvbk5hbWU6IHN0cmluZyxcbiAgaW5wdXQ6IENJLFxuKSA9PiAoKSA9PiB7XG4gIGNvbnN0IGZ1bmN0aW9uSW5wdXRTY2hlbWEgPVxuICAgIGZ1bmN0aW9uTmFtZSAhPT0gJ2RlcGxveScgPyBjb250cmFjdC5pbnRlcmZhY2UuZ2V0RnVuY3Rpb24oZnVuY3Rpb25OYW1lKS5pbnB1dHMgOiBjb250cmFjdC5pbnRlcmZhY2UuZGVwbG95LmlucHV0c1xuICBjb25zdCBpbnB1dHMgPSBmdW5jdGlvbklucHV0U2NoZW1hLnJlZHVjZShcbiAgICAoYWNjLCBwYXJhbSwgaWR4KSA9PiAoe1xuICAgICAgLi4uYWNjLFxuICAgICAgW3BhcmFtLm5hbWVdOiBpbnB1dFtpZHhdIGluc3RhbmNlb2YgQmlnTnVtYmVyID8gaW5wdXRbaWR4XS50b1N0cmluZygpIDogaW5wdXRbaWR4XSxcbiAgICB9KSxcbiAgICB7fSxcbiAgKVxuXG4gIHJldHVybiB7XG4gICAgY29udHJhY3ROYW1lOiBjb250cmFjdE5hbWUsXG4gICAgYWN0aW9uOiBmdW5jdGlvbk5hbWUsXG4gICAgaW5wdXRzOiBpbnB1dHMsXG4gIH1cbn1cblxuY29uc3QgZmV0Y2hDb250cmFjdCA9IGFzeW5jIChcbiAgY29udHJhY3Q6IENvbnRyYWN0RmFjdG9yeSxcbiAgcHJvdmlkZXI6IEV0aGVyc1Byb3ZpZGVyLFxuICBjb250cmFjdEFkZHJlc3M6IHN0cmluZyxcbiAgZm46IHN0cmluZyxcbiAgaW5wdXQ6IGFueSxcbikgPT4ge1xuICBjb25zdCBjb25uZWN0ZWRDb250cmFjdCA9IENvbnRyYWN0RmFjdG9yeS5nZXRDb250cmFjdChjb250cmFjdEFkZHJlc3MsIGNvbnRyYWN0LmludGVyZmFjZSkuY29ubmVjdChwcm92aWRlcilcbiAgY29uc3QgcmVzdWx0ID0gYXdhaXQgY29ubmVjdGVkQ29udHJhY3RbZm5dKC4uLmlucHV0KVxuICByZXR1cm4gcmVzdWx0XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBtYWtlRVZNSW5zcGVjdGlvbkNvbW1hbmQ8VUksIENJLCBDb21wYXJlSW5wdXQsIFF1ZXJ5UmVzdWx0PihcbiAgY29uZmlnOiBFVk1JbnNwZWN0aW9uQ29tbWFuZENvbmZpZzxVSSwgQ0ksIENvbXBhcmVJbnB1dCwgUXVlcnlSZXN1bHQ+LFxuKSB7XG4gIHJldHVybiBtYWtlSW5zcGVjdGlvbkNvbW1hbmQ8VUksIENJLCBDb21wYXJlSW5wdXQsIFF1ZXJ5UmVzdWx0LCBDb250cmFjdEZhY3RvcnksIEV0aGVyc1Byb3ZpZGVyPihmZXRjaENvbnRyYWN0KShcbiAgICBjb25maWcsXG4gIClcbn1cblxuZXhwb3J0IGNvbnN0IG5hdGl2ZUNvbW1hbmRzID0gW3JlZ2lzdGVyU2VuZFRyYW5zYWN0aW9uQ29tbWFuZF1cbmV4cG9ydCAqIGZyb20gJy4vaW50ZXJuYWxDb21tYW5kJ1xuXG5leHBvcnQgKiBmcm9tICcuL25hdGl2ZS92ZXJpZnknXG5leHBvcnQgKiBmcm9tICcuL25hdGl2ZS9iYXRjaEluc3BlY3Rpb25Db21tYW5kJ1xuIl19

@@ -21,2 +21,4 @@ import { ContractFactory } from '@ethersproject/contracts';

gasLimit?: string;
blockRangePerEventQuery?: string;
eventQueriesPerBatch?: string;
};

@@ -23,0 +25,0 @@ export type EVMDependencies = Dependencies<EthersProvider, ContractFactory, TransactionRequest, TransactionResponse, EthersWallet, Env>;

"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvZXZtL2RlcGVuZGVuY2llcy9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29udHJhY3RGYWN0b3J5IH0gZnJvbSAnQGV0aGVyc3Byb2plY3QvY29udHJhY3RzJ1xuaW1wb3J0IHsgV2FsbGV0IGFzIEV0aGVyc1dhbGxldCB9IGZyb20gJ0BldGhlcnNwcm9qZWN0L3dhbGxldCdcbmltcG9ydCB7IERlcGVuZGVuY2llcyB9IGZyb20gJy4uLy4uL2NvcmUvZGVwZW5kZW5jaWVzJ1xuaW1wb3J0IHsgUHJvdmlkZXIgYXMgRXRoZXJzUHJvdmlkZXIsIFRyYW5zYWN0aW9uUmVzcG9uc2UsIFRyYW5zYWN0aW9uUmVxdWVzdCB9IGZyb20gJ0BldGhlcnNwcm9qZWN0L2Fic3RyYWN0LXByb3ZpZGVyJ1xuZXhwb3J0IGludGVyZmFjZSBFbnYgZXh0ZW5kcyBOZXR3b3JrRW52IHtcbiAgcGs/OiBzdHJpbmdcbiAgd2l0aExlZGdlcj86IHN0cmluZ1xuICAvLyBTb21lIGNvbW1hbmRzIG1heSBuZWVkIGFjY2VzcyB0byBtdWx0aXBsZSBuZXR3b3JrIGVudmlyb25tZW50c1xuICBuZXR3b3Jrcz86IHtcbiAgICBbbmV0d29yazogc3RyaW5nXTogTmV0d29ya0VudlxuICB9XG59XG5cbnR5cGUgTmV0d29ya0VudiA9IHtcbiAgcHJvdmlkZXJVcmw6IHN0cmluZ1xuICAvLyBOT1RFOiBldm0tZ2F1bnRsZXQgc2hvdWxkIG5vdCBuZWVkIGJlIGF3YXJlIG9mIHRoZSBzYWZlIGVudiB2YXJzXG4gIC8vIEJlIGNhcmVmdWwgd2hlbiBhZGRpbmcgbmV3IGVudiB2YXJzIGhlcmVcbiAgc2FmZU1hc3RlckNvcHk/OiBzdHJpbmdcbiAgc2FmZVByb3h5RmFjdG9yeT86IHN0cmluZ1xuICBzYWZlTXVsdGlzZW5kPzogc3RyaW5nXG4gIHNhZmVFeGVjdXRvcj86IHN0cmluZ1xuICBzYWZlQWRkcmVzcz86IHN0cmluZ1xuICBnYXNQcmljZT86IHN0cmluZyAvLyBpbiBXZWlcbiAgZ2FzTGltaXQ/OiBzdHJpbmcgLy8gaW4gZ2FzIHVuaXRzXG59XG5cbmV4cG9ydCB0eXBlIEVWTURlcGVuZGVuY2llcyA9IERlcGVuZGVuY2llczxcbiAgRXRoZXJzUHJvdmlkZXIsXG4gIENvbnRyYWN0RmFjdG9yeSxcbiAgVHJhbnNhY3Rpb25SZXF1ZXN0LFxuICBUcmFuc2FjdGlvblJlc3BvbnNlLFxuICBFdGhlcnNXYWxsZXQsXG4gIEVudlxuPlxuIl19
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvZXZtL2RlcGVuZGVuY2llcy9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29udHJhY3RGYWN0b3J5IH0gZnJvbSAnQGV0aGVyc3Byb2plY3QvY29udHJhY3RzJ1xuaW1wb3J0IHsgV2FsbGV0IGFzIEV0aGVyc1dhbGxldCB9IGZyb20gJ0BldGhlcnNwcm9qZWN0L3dhbGxldCdcbmltcG9ydCB7IERlcGVuZGVuY2llcyB9IGZyb20gJy4uLy4uL2NvcmUvZGVwZW5kZW5jaWVzJ1xuaW1wb3J0IHsgUHJvdmlkZXIgYXMgRXRoZXJzUHJvdmlkZXIsIFRyYW5zYWN0aW9uUmVzcG9uc2UsIFRyYW5zYWN0aW9uUmVxdWVzdCB9IGZyb20gJ0BldGhlcnNwcm9qZWN0L2Fic3RyYWN0LXByb3ZpZGVyJ1xuZXhwb3J0IGludGVyZmFjZSBFbnYgZXh0ZW5kcyBOZXR3b3JrRW52IHtcbiAgcGs/OiBzdHJpbmdcbiAgd2l0aExlZGdlcj86IHN0cmluZ1xuICAvLyBTb21lIGNvbW1hbmRzIG1heSBuZWVkIGFjY2VzcyB0byBtdWx0aXBsZSBuZXR3b3JrIGVudmlyb25tZW50c1xuICBuZXR3b3Jrcz86IHtcbiAgICBbbmV0d29yazogc3RyaW5nXTogTmV0d29ya0VudlxuICB9XG59XG5cbnR5cGUgTmV0d29ya0VudiA9IHtcbiAgcHJvdmlkZXJVcmw6IHN0cmluZ1xuXG4gIC8vIE5PVEU6IGV2bS1nYXVudGxldCBzaG91bGQgbm90IG5lZWQgYmUgYXdhcmUgb2YgdGhlIHNhZmUgZW52IHZhcnNcbiAgLy8gQmUgY2FyZWZ1bCB3aGVuIGFkZGluZyBuZXcgZW52IHZhcnMgaGVyZVxuICBzYWZlTWFzdGVyQ29weT86IHN0cmluZ1xuICBzYWZlUHJveHlGYWN0b3J5Pzogc3RyaW5nXG4gIHNhZmVNdWx0aXNlbmQ/OiBzdHJpbmdcbiAgc2FmZUV4ZWN1dG9yPzogc3RyaW5nXG4gIHNhZmVBZGRyZXNzPzogc3RyaW5nXG4gIGdhc1ByaWNlPzogc3RyaW5nIC8vIGluIFdlaVxuICBnYXNMaW1pdD86IHN0cmluZyAvLyBpbiBnYXMgdW5pdHNcblxuICAvKlxuICBQYXJhbWV0ZXJzIHRoYXQgY29uZmlndXJlIGV2ZW50IHF1ZXJpZXMuXG4gIGJsb2NrUmFuZ2VQZXJFdmVudFF1ZXJ5IGlzIHRoZSBudW1iZXIgb2YgYmxvY2tzIHRvIHNlYXJjaCBpbiBhIHNpbmdsZSByZXF1ZXN0LlxuICBldmVudFF1ZXJpZXNQZXJCYXRjaCBpcyB0aGUgbnVtYmVyIG9mIHF1ZXJpZXMgdGhhdCBjYW4gYmUgcnVuIGNvbmN1cnJlbnRseS5cbiAgKi9cbiAgYmxvY2tSYW5nZVBlckV2ZW50UXVlcnk/OiBzdHJpbmdcbiAgZXZlbnRRdWVyaWVzUGVyQmF0Y2g/OiBzdHJpbmdcbn1cblxuZXhwb3J0IHR5cGUgRVZNRGVwZW5kZW5jaWVzID0gRGVwZW5kZW5jaWVzPFxuICBFdGhlcnNQcm92aWRlcixcbiAgQ29udHJhY3RGYWN0b3J5LFxuICBUcmFuc2FjdGlvblJlcXVlc3QsXG4gIFRyYW5zYWN0aW9uUmVzcG9uc2UsXG4gIEV0aGVyc1dhbGxldCxcbiAgRW52XG4+XG4iXX0=

@@ -27,3 +27,7 @@ import { IProvider } from '../../core';

export declare const makeProvider: (baseUrl: string) => Provider;
export declare class EVMBatchProvider extends Provider {
provider: EthersProvider;
constructor(baseUrl: string);
}
export {};
//# sourceMappingURL=index.d.ts.map
"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
exports.makeProvider = void 0;
exports.EVMBatchProvider = exports.makeProvider = void 0;
const ethers_1 = require("ethers");

@@ -90,3 +90,3 @@ const wrapResponse = (response, address) => {

if (decodedError) {
throw new Error(`Transaction simulation failed with error: ${decodedError.name} with signature ${decodedError.sighash} and message \"${decodedError.message}\" and result=\"${decodedError.result}\"`);
throw new Error(`Transaction simulation failed with error: ${decodedError.name} with signature ${JSON.stringify(decodedError.sighash)} and message \"${decodedError.message}\" and result=\"${decodedError.result}\"`);
}

@@ -125,2 +125,9 @@ throw err;

exports.makeProvider = makeProvider;
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvZXZtL3Byb3ZpZGVyL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQU1BLG1DQUEwQztBQVExQyxNQUFNLFlBQVksR0FBRyxDQUFDLFFBQXFCLEVBQUUsT0FBZ0IsRUFBa0IsRUFBRTtJQUMvRSxNQUFNLFdBQVcsR0FBbUI7UUFDbEMsSUFBSSxFQUFFLFFBQVEsQ0FBQyxJQUFJO1FBQ25CLE9BQU8sRUFBRSxPQUFPLElBQUksUUFBUSxDQUFDLEVBQUU7UUFDL0IsSUFBSSxFQUFFLEtBQUssSUFBSSxFQUFFO1lBQ2YsSUFBSTtnQkFDRixNQUFNLE9BQU8sR0FBRyxNQUFNLFFBQVEsQ0FBQyxJQUFJLEVBQUUsQ0FBQTtnQkFDckMsTUFBTSxPQUFPLEdBQUcsT0FBTyxJQUFJLElBQUksSUFBSSxPQUFPLENBQUMsTUFBTSxLQUFLLENBQUMsQ0FBQTtnQkFDdkQsV0FBVyxDQUFDLE1BQU0sR0FBRyxPQUFPLENBQUMsQ0FBQyxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUMsVUFBVSxDQUFBO2dCQUN0RCxJQUFJLENBQUMsV0FBVyxDQUFDLE9BQU8sRUFBRTtvQkFDeEIsV0FBVyxDQUFDLE9BQU8sR0FBRyxPQUFPLENBQUMsZUFBZSxDQUFBO2lCQUM5QztnQkFDRCxPQUFPLEVBQUUsT0FBTyxFQUFFLE9BQU8sSUFBSSxJQUFJLElBQUksT0FBTyxDQUFDLE1BQU0sS0FBSyxDQUFDLEVBQUUsQ0FBQTthQUM1RDtZQUFDLE9BQU8sQ0FBQyxFQUFFO2dCQUNWLFdBQVcsQ0FBQyxNQUFNLEdBQUcsVUFBVSxDQUFBO2dCQUMvQixNQUFNLENBQUMsQ0FBQTthQUNSO1FBQ0gsQ0FBQztRQUNELEVBQUUsRUFBRSxRQUFRO1FBQ1osTUFBTSxFQUFFLFNBQVM7S0FDbEIsQ0FBQTtJQUNELE9BQU8sV0FBVyxDQUFBO0FBQ3BCLENBQUMsQ0FBQTtBQUVELE1BQU0sUUFBUTtJQUda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WUFBWSxnQkFFeEIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJUHJvdmlkZXIgfSBmcm9tICcuLi8uLi9jb3JlJ1xuaW1wb3J0IHtcbiAgUHJvdmlkZXIgYXMgRXRoZXJzUHJvdmlkZXIsXG4gIFRyYW5zYWN0aW9uUmVzcG9uc2UgYXMgVHJhbnNhY3Rpb24sXG4gIFRyYW5zYWN0aW9uUmVxdWVzdCxcbn0gZnJvbSAnQGV0aGVyc3Byb2plY3QvYWJzdHJhY3QtcHJvdmlkZXInXG5pbXBvcnQgeyBldGhlcnMsIEJpZ051bWJlciB9IGZyb20gJ2V0aGVycydcbmltcG9ydCB7IENvbnRyYWN0RmFjdG9yeSB9IGZyb20gJ0BldGhlcnNwcm9qZWN0L2NvbnRyYWN0cydcbmltcG9ydCB7IEVWTVRyYW5zYWN0aW9uIH0gZnJvbSAnLi4vdHJhbnNhY3Rpb24nXG5pbXBvcnQgeyBJV2FsbGV0IH0gZnJvbSAnLi4vLi4vY29yZS93YWxsZXQnXG5pbXBvcnQgeyBXYWxsZXQgYXMgRXRoZXJzV2FsbGV0IH0gZnJvbSAnQGV0aGVyc3Byb2plY3Qvd2FsbGV0J1xuXG5leHBvcnQgdHlwZSBFVk1Qcm92aWRlciA9IElQcm92aWRlcjxFdGhlcnNQcm92aWRlciwgQ29udHJhY3RGYWN0b3J5LCBUcmFuc2FjdGlvblJlcXVlc3QsIFRyYW5zYWN0aW9uLCBFdGhlcnNXYWxsZXQ+XG5cbmNvbnN0IHdyYXBSZXNwb25zZSA9IChyZXNwb25zZTogVHJhbnNhY3Rpb24sIGFkZHJlc3M/OiBzdHJpbmcpOiBFVk1UcmFuc2FjdGlvbiA9PiB7XG4gIGNvbnN0IGV2bVJlc3BvbnNlOiBFVk1UcmFuc2FjdGlvbiA9IHtcbiAgICBoYXNoOiByZXNwb25zZS5oYXNoLFxuICAgIGFkZHJlc3M6IGFkZHJlc3MgfHwgcmVzcG9uc2UudG8sXG4gICAgd2FpdDogYXN5bmMgKCkgPT4ge1xuICAgICAgdHJ5IHtcbiAgICAgICAgY29uc3QgcmVjZWlwdCA9IGF3YWl0IHJlc3BvbnNlLndhaXQoKVxuICAgICAgICBjb25zdCBzdWNjZXNzID0gcmVjZWlwdCA9PSBudWxsIHx8IHJlY2VpcHQuc3RhdHVzID09PSAxXG4gICAgICAgIGV2bVJlc3BvbnNlLnN0YXR1cyA9IHN1Y2Nlc3MgPyAnQUNDRVBURUQnIDogJ1JFSkVDVEVEJ1xuICAgICAgICBpZiAoIWV2bVJlc3BvbnNlLmFkZHJlc3MpIHtcbiAgICAgICAgICBldm1SZXNwb25zZS5hZGRyZXNzID0gcmVjZWlwdC5jb250cmFjdEFkZHJlc3NcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4geyBzdWNjZXNzOiByZWNlaXB0ID09IG51bGwgfHwgcmVjZWlwdC5zdGF0dXMgPT09IDEgfVxuICAgICAgfSBjYXRjaCAoZSkge1xuICAgICAgICBldm1SZXNwb25zZS5zdGF0dXMgPSAnUkVKRUNURUQnXG4gICAgICAgIHRocm93IGVcbiAgICAgIH1cbiAgICB9LFxuICAgIHR4OiByZXNwb25zZSxcbiAgICBzdGF0dXM6ICdQRU5ESU5HJyxcbiAgfVxuICByZXR1cm4gZXZtUmVzcG9uc2Vcbn1cblxuY2xhc3MgUHJvdmlkZXIgaW1wbGVtZW50cyBFVk1Qcm92aWRlciB7XG4gIHByb3ZpZGVyOiBFdGhlcnNQcm92aWRlclxuXG4gIGNvbnN0cnVjdG9yKGJhc2VVcmw6IHN0cmluZykge1xuICAgIGV0aGVycy51dGlscy5Mb2dnZXIuc2V0TG9nTGV2ZWwoZXRoZXJzLnV0aWxzLkxvZ2dlci5sZXZlbHMuRVJST1IpXG4gICAgdGhpcy5wcm92aWRlciA9IG5ldyBldGhlcnMucHJvdmlkZXJzLkpzb25ScGNQcm92aWRlcihiYXNlVXJsKVxuICB9XG5cbiAgc2VuZCA9IGFzeW5jIChzaWduZWRUeCkgPT4ge1xuICAgIGNvbnN0IHR4ID0gYXdhaXQgdGhpcy5wcm92aWRlci5zZW5kVHJhbnNhY3Rpb24oc2lnbmVkVHgpXG4gICAgcmV0dXJuIHdyYXBSZXNwb25zZSh0eClcbiAgfVxuXG4gIGRlcGxveUNvbnRyYWN0ID0gYXN5bmMgKHdhbGxldDogSVdhbGxldDxFdGhlcnNXYWxsZXQ+LCBjb250cmFjdDogQ29udHJhY3RGYWN0b3J5LCBpbnB1dDogYW55KSA9PiB7XG4gICAgY29uc3QgdHhSZXEgPSBhd2FpdCBjb250cmFjdC5nZXREZXBsb3lUcmFuc2FjdGlvbiguLi5pbnB1dClcbiAgICByZXR1cm4gYXdhaXQgdGhpcy5zaWduQW5kU2VuZCh3YWxsZXQsIFt0eFJlcV0sIGNvbnRyYWN0KVxuICB9XG5cbiAgc2lnbiA9IGFzeW5jICh3YWxsZXQ6IElXYWxsZXQ8RXRoZXJzV2FsbGV0PiwgY2FsbHM6IFRyYW5zYWN0aW9uUmVxdWVzdFtdLCBjb250cmFjdDogQ29udHJhY3RGYWN0b3J5KSA9PiB7XG4gICAgaWYgKGNhbGxzLmxlbmd0aCA+IDEpIHRocm93IG5ldyBFcnJvcignRVZNIGRvZXMgbm90IHN1cHBvcnQgbmF0aXZlIGJhdGNoaW5nJylcbiAgICBjb25zdCBjb25uZWN0ZWRXYWxsZXQgPSBhd2FpdCB3YWxsZXQud2FsbGV0LmNvbm5lY3QodGhpcy5wcm92aWRlcilcbiAgICB0cnkge1xuICAgICAgLy8gZGVsZXRlIGdhcyBwcmljZSBmaWVsZHMgYmVjYXVzZSB0aGV5IGFyZW4ndCBuZWVkZWQgZm9yIHNpZ25pbmdcbiAgICAgIGRlbGV0ZSBjYWxsc1swXS5tYXhQcmlvcml0eUZlZVBlckdhc1xuICAgICAgZGVsZXRlIGNhbGxzWzBdLm1heEZlZVBlckdhc1xuXG4gICAgICBjb25zdCB0eCA9IGF3YWl0IGNvbm5lY3RlZFdhbGxldC5zaWduVHJhbnNhY3Rpb24oY2FsbHNbMF0pXG4gICAgICByZXR1cm4ge1xuICAgICAgICB0eDogdHgsXG4gICAgICAgIG1lc3NhZ2U6IGNhbGxzWzBdLFxuICAgICAgfVxuICAgIH0gY2F0Y2ggKGVycikge1xuICAgICAgY29uc3QgZGVjb2RlZEVycm9yID0gdGhpcy5wYXJzZUNvbnRyYWN0RXJyb3IoY29udHJhY3QsIGVycj8uZXJyb3I/LmVycm9yPy5lcnJvcj8uZGF0YSlcbiAgICAgIGlmIChkZWNvZGVkRXJyb3IpIHtcbiAgICAgICAgdGhyb3cgbmV3IEVycm9yKGBGYWlsZWQgdG8gc2lnbiBhbmQgc2VuZCwgdHJhbnNhY3Rpb24gcmV2ZXJ0ZWQgd2l0aCBkYXRhOiAke0pTT04uc3RyaW5naWZ5KGRlY29kZWRFcnJvcil9YClcbiAgICAgIH1cbiAgICAgIHRocm93IGVyclxuICAgIH1cbiAgfVxuXG4gIHNpZ25BbmRTZW5kID0gYXN5bmMgKHdhbGxldDogSVdhbGxldDxFdGhlcnNXYWxsZXQ+LCBjYWxsczogVHJhbnNhY3Rpb25SZXF1ZXN0W10sIGNvbnRyYWN0OiBDb250cmFjdEZhY3RvcnkpID0+IHtcbiAgICBpZiAoY2FsbHMubGVuZ3RoID4gMSkgdGhyb3cgbmV3IEVycm9yKCdFVk0gZG9lcyBub3Qgc3VwcG9ydCBuYXRpdmUgYmF0Y2hpbmcnKVxuICAgIGNvbnN0IGNvbm5lY3RlZFdhbGxldCA9IGF3YWl0IHdhbGxldC53YWxsZXQuY29ubmVjdCh0aGlzLnByb3ZpZGVyKVxuICAgIHRyeSB7XG4gICAgICBjb25zdCB0eCA9IGF3YWl0IGNvbm5lY3RlZFdhbGxldC5zZW5kVHJhbnNhY3Rpb24oY2FsbHNbMF0pXG4gICAgICByZXR1cm4gd3JhcFJlc3BvbnNlKHR4LCBjYWxsc1swXS50bylcbiAgICB9IGNhdGNoIChlcnIpIHtcbiAgICAgIGNvbnN0IGRlY29kZWRFcnJvciA9IHRoaXMucGFyc2VDb250cmFjdEVycm9yKGNvbnRyYWN0LCBlcnI/LmVycm9yPy5lcnJvcj8uZXJyb3I/LmRhdGEpXG4gICAgICBpZiAoZGVjb2RlZEVycm9yKSB7XG4gICAgICAgIHRocm93IG5ldyBFcnJvcihgRmFpbGVkIHRvIHNpZ24gYW5kIHNlbmQsIHRyYW5zYWN0aW9uIHJldmVydGVkIHdpdGggZGF0YTogJHtKU09OLnN0cmluZ2lmeShkZWNvZGVkRXJyb3IpfWApXG4gICAgICB9XG4gICAgICB0aHJvdyBlcnJcbiAgICB9XG4gIH1cblxuICBzaW11bGF0ZSA9IGFzeW5jIChcbiAgICBzaWduZXI6IHN0cmluZyxcbiAgICBjYWxsOiBUcmFuc2FjdGlvblJlcXVlc3QsXG4gICAgY29udHJhY3Q6IENvbnRyYWN0RmFjdG9yeSxcbiAgICBvcHRzPzogUmVjb3JkPHN0cmluZywgYW55PixcbiAgKTogUHJvbWlzZTxzdHJpbmc+ID0+IHtcbiAgICB0cnkge1xuICAgICAgY29uc3QgZ2FzVXNlZCA9IGF3YWl0IHRoaXMucHJvdmlkZXIuZXN0aW1hdGVHYXMoe1xuICAgICAgICB0bzogY2FsbC50byxcbiAgICAgICAgZnJvbTogc2lnbmVyLFxuICAgICAgICBkYXRhOiBjYWxsLmRhdGEsXG4gICAgICAgIHZhbHVlOiBCaWdOdW1iZXIuZnJvbShjYWxsLnZhbHVlKSxcbiAgICAgIH0pXG4gICAgICByZXR1cm4gZ2FzVXNlZC50b1N0cmluZygpXG4gICAgfSBjYXRjaCAoZXJyKSB7XG4gICAgICBjb25zdCBkZWNvZGVkRXJyb3IgPSB0aGlzLnBhcnNlQ29udHJhY3RFcnJvcihjb250cmFjdCwgZXJyPy5lcnJvcj8uZXJyb3IpXG4gICAgICBpZiAoZGVjb2RlZEVycm9yKSB7XG4gICAgICAgIHRocm93IG5ldyBFcnJvcihcbiAgICAgICAgICBgVHJhbnNhY3Rpb24gc2ltdWxhdGlvbiBmYWlsZWQgd2l0aCBlcnJvcjogJHtkZWNvZGVkRXJyb3IubmFtZX0gd2l0aCBzaWduYXR1cmUgJHtkZWNvZGVkRXJyb3Iuc2lnaGFzaH0gYW5kIG1lc3NhZ2UgXFxcIiR7ZGVjb2RlZEVycm9yLm1lc3NhZ2V9XFxcIiBhbmQgcmVzdWx0PVxcXCIke2RlY29kZWRFcnJvci5yZXN1bHR9XFxcImAsXG4gICAgICAgIClcbiAgICAgIH1cbiAgICAgIHRocm93IGVyclxuICAgIH1cbiAgfVxuXG4gIHBhcnNlQ29udHJhY3RFcnJvciA9IChcbiAgICBjb250cmFjdDogQ29udHJhY3RGYWN0b3J5LFxuICAgIGVycm9yOiBhbnksXG4gICk6IHsgbmFtZTogc3RyaW5nOyBzaWdoYXNoOiBzdHJpbmc7IG1lc3NhZ2U6IHN0cmluZzsgcmVzdWx0OiBzdHJpbmcgfSA9PiB7XG4gICAgaWYgKCFlcnJvcikgcmV0dXJuXG4gICAgdHJ5IHtcbiAgICAgIGNvbnN0IHBhcnNlZEVycm9yID0gY29udHJhY3QuaW50ZXJmYWNlLnBhcnNlRXJyb3IoZXJyb3IuZGF0YSlcbiAgICAgIHJldHVybiB7XG4gICAgICAgIG5hbWU6IHBhcnNlZEVycm9yLm5hbWUsXG4gICAgICAgIHNpZ2hhc2g6IHBhcnNlZEVycm9yLnNpZ2hhc2gsXG4gICAgICAgIG1lc3NhZ2U6IHBhcnNlZEVycm9yLmFyZ3MubWVzc2FnZSxcbiAgICAgICAgcmVzdWx0OiBKU09OLnBhcnNlKHBhcnNlZEVycm9yLnNpZ2hhc2gpLnJlc3VsdCxcbiAgICAgIH1cbiAgICB9IGNhdGNoIChlKSB7XG4gICAgICByZXR1cm4ge1xuICAgICAgICBuYW1lOiBlcnJvci5tZXNzYWdlID8gZXJyb3IubWVzc2FnZSA6ICdFcnJvciBub3QgaWRlbnRpZmllZCcsXG4gICAgICAgIHNpZ2hhc2g6IGUudmFsdWUsXG4gICAgICAgIG1lc3NhZ2U6IGVycm9yLmRhdGEgJiYgZXJyb3IuZGF0YS5tZXNzYWdlID8gZXJyb3IuZGF0YS5tZXNzYWdlIDogJ01lc3NhZ2Ugbm90IGlkZW50aWZpZWQnLFxuICAgICAgICByZXN1bHQ6IGVycm9yLmRhdGEgJiYgZXJyb3IuZGF0YS5yZXN1bHQgPyBlcnJvci5kYXRhLnJlc3VsdCA6ICdSZWFzb24gbm90IGlkZW50aWZpZWQnLFxuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG5leHBvcnQgY29uc3QgbWFrZVByb3ZpZGVyID0gKGJhc2VVcmw6IHN0cmluZykgPT4ge1xuICByZXR1cm4gbmV3IFByb3ZpZGVyKGJhc2VVcmwpXG59XG4iXX0=
class EVMBatchProvider extends Provider {
constructor(baseUrl) {
super(baseUrl);
this.provider = new ethers_1.ethers.providers.JsonRpcBatchProvider(baseUrl);
}
}
exports.EVMBatchProvider = EVMBatchProvider;
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvZXZtL3Byb3ZpZGVyL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQU1BLG1DQUEwQztBQVExQyxNQUFNLFlBQVksR0FBRyxDQUFDLFFBQXFCLEVBQUUsT0FBZ0IsRUFBa0IsRUFBRTtJQUMvRSxNQUFNLFdBQVcsR0FBbUI7UUFDbEMsSUFBSSxFQUFFLFFBQVEsQ0FBQyxJQUFJO1FBQ25CLE9BQU8sRUFBRSxPQUFPLElBQUksUUFBUSxDQUFDLEVBQUU7UUFDL0IsSUFBSSxFQUFFLEtBQUssSUFBSSxFQUFFO1lBQ2YsSUFBSTtnQkFDRixNQUFNLE9BQU8sR0FBRyxNQUFNLFFBQVEsQ0FBQyxJQUFJLEVBQUUsQ0FBQTtnQkFDckMsTUFBTSxPQUFPLEdBQUcsT0FBTyxJQUFJLElBQUksSUFBSSxPQUFPLENBQUMsTUFBTSxLQUFLLENBQUMsQ0FBQTtnQkFDdkQsV0FBVyxDQUFDLE1BQU0sR0FBRyxPQUFPLENBQUMsQ0FBQyxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUMsVUFBVSxDQUFBO2dCQUN0RCxJQUFJLENBQUMsV0FBVyxDQUFDLE9BQU8sRUFBRTtvQkFDeEIsV0FBVyxDQUFDLE9BQU8sR0FBRyxPQUFPLENBQUMsZUFBZSxDQUFBO2lCQUM5QztnQkFDRCxPQUFPLEVBQUUsT0FBTyxFQUFFLE9BQU8sSUFBSSxJQUFJLElBQUksT0FBTyxDQUFDLE1BQU0sS0FBSyxDQUFDLEVBQUUsQ0FBQTthQUM1RDtZQUFDLE9BQU8sQ0FBQyxFQUFFO2dCQUNWLFdBQVcsQ0FBQyxNQUFNLEdBQUcsVUFBVSxDQUFBO2dCQUMvQixNQUFNLENBQUMsQ0FBQTthQUNSO1FBQ0gsQ0FBQztRQUNELEVBQUUsRUFBRSxRQUFRO1FBQ1osTUFBTSxFQUFFLFNBQVM7S0FDbEIsQ0FBQTtJQUNELE9BQU8sV0FBVyxDQUFBO0FBQ3BCLENBQUMsQ0FBQTtBQUVELE1BQU0sUUFBUTtJQUda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O0FBQzlCLENBQUMsQ0FBQTtBQUZZLFFBQUEsWUFBWSxnQkFFeEI7QUFFRCxNQUFhLGdCQUFpQixTQUFRLFFBQVE7SUFHNUMsWUFBWSxPQUFlO1FBQ3pCLEtBQUssQ0FBQyxPQUFPLENBQUMsQ0FBQTtRQUVkLElBQUksQ0FBQyxRQUFRLEdBQUcsSUFBSSxlQUFNLENBQUMsU0FBUyxDQUFDLG9CQUFvQixDQUFDLE9BQU8sQ0FBQyxDQUFBO0lBQ3BFLENBQUM7Q0FDRjtBQVJELDRDQVFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSVByb3ZpZGVyIH0gZnJvbSAnLi4vLi4vY29yZSdcbmltcG9ydCB7XG4gIFByb3ZpZGVyIGFzIEV0aGVyc1Byb3ZpZGVyLFxuICBUcmFuc2FjdGlvblJlc3BvbnNlIGFzIFRyYW5zYWN0aW9uLFxuICBUcmFuc2FjdGlvblJlcXVlc3QsXG59IGZyb20gJ0BldGhlcnNwcm9qZWN0L2Fic3RyYWN0LXByb3ZpZGVyJ1xuaW1wb3J0IHsgZXRoZXJzLCBCaWdOdW1iZXIgfSBmcm9tICdldGhlcnMnXG5pbXBvcnQgeyBDb250cmFjdEZhY3RvcnkgfSBmcm9tICdAZXRoZXJzcHJvamVjdC9jb250cmFjdHMnXG5pbXBvcnQgeyBFVk1UcmFuc2FjdGlvbiB9IGZyb20gJy4uL3RyYW5zYWN0aW9uJ1xuaW1wb3J0IHsgSVdhbGxldCB9IGZyb20gJy4uLy4uL2NvcmUvd2FsbGV0J1xuaW1wb3J0IHsgV2FsbGV0IGFzIEV0aGVyc1dhbGxldCB9IGZyb20gJ0BldGhlcnNwcm9qZWN0L3dhbGxldCdcblxuZXhwb3J0IHR5cGUgRVZNUHJvdmlkZXIgPSBJUHJvdmlkZXI8RXRoZXJzUHJvdmlkZXIsIENvbnRyYWN0RmFjdG9yeSwgVHJhbnNhY3Rpb25SZXF1ZXN0LCBUcmFuc2FjdGlvbiwgRXRoZXJzV2FsbGV0PlxuXG5jb25zdCB3cmFwUmVzcG9uc2UgPSAocmVzcG9uc2U6IFRyYW5zYWN0aW9uLCBhZGRyZXNzPzogc3RyaW5nKTogRVZNVHJhbnNhY3Rpb24gPT4ge1xuICBjb25zdCBldm1SZXNwb25zZTogRVZNVHJhbnNhY3Rpb24gPSB7XG4gICAgaGFzaDogcmVzcG9uc2UuaGFzaCxcbiAgICBhZGRyZXNzOiBhZGRyZXNzIHx8IHJlc3BvbnNlLnRvLFxuICAgIHdhaXQ6IGFzeW5jICgpID0+IHtcbiAgICAgIHRyeSB7XG4gICAgICAgIGNvbnN0IHJlY2VpcHQgPSBhd2FpdCByZXNwb25zZS53YWl0KClcbiAgICAgICAgY29uc3Qgc3VjY2VzcyA9IHJlY2VpcHQgPT0gbnVsbCB8fCByZWNlaXB0LnN0YXR1cyA9PT0gMVxuICAgICAgICBldm1SZXNwb25zZS5zdGF0dXMgPSBzdWNjZXNzID8gJ0FDQ0VQVEVEJyA6ICdSRUpFQ1RFRCdcbiAgICAgICAgaWYgKCFldm1SZXNwb25zZS5hZGRyZXNzKSB7XG4gICAgICAgICAgZXZtUmVzcG9uc2UuYWRkcmVzcyA9IHJlY2VpcHQuY29udHJhY3RBZGRyZXNzXG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIHsgc3VjY2VzczogcmVjZWlwdCA9PSBudWxsIHx8IHJlY2VpcHQuc3RhdHVzID09PSAxIH1cbiAgICAgIH0gY2F0Y2ggKGUpIHtcbiAgICAgICAgZXZtUmVzcG9uc2Uuc3RhdHVzID0gJ1JFSkVDVEVEJ1xuICAgICAgICB0aHJvdyBlXG4gICAgICB9XG4gICAgfSxcbiAgICB0eDogcmVzcG9uc2UsXG4gICAgc3RhdHVzOiAnUEVORElORycsXG4gIH1cbiAgcmV0dXJuIGV2bVJlc3BvbnNlXG59XG5cbmNsYXNzIFByb3ZpZGVyIGltcGxlbWVudHMgRVZNUHJvdmlkZXIge1xuICBwcm92aWRlcjogRXRoZXJzUHJvdmlkZXJcblxuICBjb25zdHJ1Y3RvcihiYXNlVXJsOiBzdHJpbmcpIHtcbiAgICBldGhlcnMudXRpbHMuTG9nZ2VyLnNldExvZ0xldmVsKGV0aGVycy51dGlscy5Mb2dnZXIubGV2ZWxzLkVSUk9SKVxuICAgIHRoaXMucHJvdmlkZXIgPSBuZXcgZXRoZXJzLnByb3ZpZGVycy5Kc29uUnBjUHJvdmlkZXIoYmFzZVVybClcbiAgfVxuXG4gIHNlbmQgPSBhc3luYyAoc2lnbmVkVHgpID0+IHtcbiAgICBjb25zdCB0eCA9IGF3YWl0IHRoaXMucHJvdmlkZXIuc2VuZFRyYW5zYWN0aW9uKHNpZ25lZFR4KVxuICAgIHJldHVybiB3cmFwUmVzcG9uc2UodHgpXG4gIH1cblxuICBkZXBsb3lDb250cmFjdCA9IGFzeW5jICh3YWxsZXQ6IElXYWxsZXQ8RXRoZXJzV2FsbGV0PiwgY29udHJhY3Q6IENvbnRyYWN0RmFjdG9yeSwgaW5wdXQ6IGFueSkgPT4ge1xuICAgIGNvbnN0IHR4UmVxID0gYXdhaXQgY29udHJhY3QuZ2V0RGVwbG95VHJhbnNhY3Rpb24oLi4uaW5wdXQpXG4gICAgcmV0dXJuIGF3YWl0IHRoaXMuc2lnbkFuZFNlbmQod2FsbGV0LCBbdHhSZXFdLCBjb250cmFjdClcbiAgfVxuXG4gIHNpZ24gPSBhc3luYyAod2FsbGV0OiBJV2FsbGV0PEV0aGVyc1dhbGxldD4sIGNhbGxzOiBUcmFuc2FjdGlvblJlcXVlc3RbXSwgY29udHJhY3Q6IENvbnRyYWN0RmFjdG9yeSkgPT4ge1xuICAgIGlmIChjYWxscy5sZW5ndGggPiAxKSB0aHJvdyBuZXcgRXJyb3IoJ0VWTSBkb2VzIG5vdCBzdXBwb3J0IG5hdGl2ZSBiYXRjaGluZycpXG4gICAgY29uc3QgY29ubmVjdGVkV2FsbGV0ID0gYXdhaXQgd2FsbGV0LndhbGxldC5jb25uZWN0KHRoaXMucHJvdmlkZXIpXG4gICAgdHJ5IHtcbiAgICAgIC8vIGRlbGV0ZSBnYXMgcHJpY2UgZmllbGRzIGJlY2F1c2UgdGhleSBhcmVuJ3QgbmVlZGVkIGZvciBzaWduaW5nXG4gICAgICBkZWxldGUgY2FsbHNbMF0ubWF4UHJpb3JpdHlGZWVQZXJHYXNcbiAgICAgIGRlbGV0ZSBjYWxsc1swXS5tYXhGZWVQZXJHYXNcblxuICAgICAgY29uc3QgdHggPSBhd2FpdCBjb25uZWN0ZWRXYWxsZXQuc2lnblRyYW5zYWN0aW9uKGNhbGxzWzBdKVxuICAgICAgcmV0dXJuIHtcbiAgICAgICAgdHg6IHR4LFxuICAgICAgICBtZXNzYWdlOiBjYWxsc1swXSxcbiAgICAgIH1cbiAgICB9IGNhdGNoIChlcnIpIHtcbiAgICAgIGNvbnN0IGRlY29kZWRFcnJvciA9IHRoaXMucGFyc2VDb250cmFjdEVycm9yKGNvbnRyYWN0LCBlcnI/LmVycm9yPy5lcnJvcj8uZXJyb3I/LmRhdGEpXG4gICAgICBpZiAoZGVjb2RlZEVycm9yKSB7XG4gICAgICAgIHRocm93IG5ldyBFcnJvcihgRmFpbGVkIHRvIHNpZ24gYW5kIHNlbmQsIHRyYW5zYWN0aW9uIHJldmVydGVkIHdpdGggZGF0YTogJHtKU09OLnN0cmluZ2lmeShkZWNvZGVkRXJyb3IpfWApXG4gICAgICB9XG4gICAgICB0aHJvdyBlcnJcbiAgICB9XG4gIH1cblxuICBzaWduQW5kU2VuZCA9IGFzeW5jICh3YWxsZXQ6IElXYWxsZXQ8RXRoZXJzV2FsbGV0PiwgY2FsbHM6IFRyYW5zYWN0aW9uUmVxdWVzdFtdLCBjb250cmFjdDogQ29udHJhY3RGYWN0b3J5KSA9PiB7XG4gICAgaWYgKGNhbGxzLmxlbmd0aCA+IDEpIHRocm93IG5ldyBFcnJvcignRVZNIGRvZXMgbm90IHN1cHBvcnQgbmF0aXZlIGJhdGNoaW5nJylcbiAgICBjb25zdCBjb25uZWN0ZWRXYWxsZXQgPSBhd2FpdCB3YWxsZXQud2FsbGV0LmNvbm5lY3QodGhpcy5wcm92aWRlcilcbiAgICB0cnkge1xuICAgICAgY29uc3QgdHggPSBhd2FpdCBjb25uZWN0ZWRXYWxsZXQuc2VuZFRyYW5zYWN0aW9uKGNhbGxzWzBdKVxuICAgICAgcmV0dXJuIHdyYXBSZXNwb25zZSh0eCwgY2FsbHNbMF0udG8pXG4gICAgfSBjYXRjaCAoZXJyKSB7XG4gICAgICBjb25zdCBkZWNvZGVkRXJyb3IgPSB0aGlzLnBhcnNlQ29udHJhY3RFcnJvcihjb250cmFjdCwgZXJyPy5lcnJvcj8uZXJyb3I/LmVycm9yPy5kYXRhKVxuICAgICAgaWYgKGRlY29kZWRFcnJvcikge1xuICAgICAgICB0aHJvdyBuZXcgRXJyb3IoYEZhaWxlZCB0byBzaWduIGFuZCBzZW5kLCB0cmFuc2FjdGlvbiByZXZlcnRlZCB3aXRoIGRhdGE6ICR7SlNPTi5zdHJpbmdpZnkoZGVjb2RlZEVycm9yKX1gKVxuICAgICAgfVxuICAgICAgdGhyb3cgZXJyXG4gICAgfVxuICB9XG5cbiAgc2ltdWxhdGUgPSBhc3luYyAoXG4gICAgc2lnbmVyOiBzdHJpbmcsXG4gICAgY2FsbDogVHJhbnNhY3Rpb25SZXF1ZXN0LFxuICAgIGNvbnRyYWN0OiBDb250cmFjdEZhY3RvcnksXG4gICAgb3B0cz86IFJlY29yZDxzdHJpbmcsIGFueT4sXG4gICk6IFByb21pc2U8c3RyaW5nPiA9PiB7XG4gICAgdHJ5IHtcbiAgICAgIGNvbnN0IGdhc1VzZWQgPSBhd2FpdCB0aGlzLnByb3ZpZGVyLmVzdGltYXRlR2FzKHtcbiAgICAgICAgdG86IGNhbGwudG8sXG4gICAgICAgIGZyb206IHNpZ25lcixcbiAgICAgICAgZGF0YTogY2FsbC5kYXRhLFxuICAgICAgICB2YWx1ZTogQmlnTnVtYmVyLmZyb20oY2FsbC52YWx1ZSksXG4gICAgICB9KVxuICAgICAgcmV0dXJuIGdhc1VzZWQudG9TdHJpbmcoKVxuICAgIH0gY2F0Y2ggKGVycikge1xuICAgICAgY29uc3QgZGVjb2RlZEVycm9yID0gdGhpcy5wYXJzZUNvbnRyYWN0RXJyb3IoY29udHJhY3QsIGVycj8uZXJyb3I/LmVycm9yKVxuICAgICAgaWYgKGRlY29kZWRFcnJvcikge1xuICAgICAgICB0aHJvdyBuZXcgRXJyb3IoXG4gICAgICAgICAgYFRyYW5zYWN0aW9uIHNpbXVsYXRpb24gZmFpbGVkIHdpdGggZXJyb3I6ICR7ZGVjb2RlZEVycm9yLm5hbWV9IHdpdGggc2lnbmF0dXJlICR7SlNPTi5zdHJpbmdpZnkoXG4gICAgICAgICAgICBkZWNvZGVkRXJyb3Iuc2lnaGFzaCxcbiAgICAgICAgICApfSBhbmQgbWVzc2FnZSBcXFwiJHtkZWNvZGVkRXJyb3IubWVzc2FnZX1cXFwiIGFuZCByZXN1bHQ9XFxcIiR7ZGVjb2RlZEVycm9yLnJlc3VsdH1cXFwiYCxcbiAgICAgICAgKVxuICAgICAgfVxuICAgICAgdGhyb3cgZXJyXG4gICAgfVxuICB9XG5cbiAgcGFyc2VDb250cmFjdEVycm9yID0gKFxuICAgIGNvbnRyYWN0OiBDb250cmFjdEZhY3RvcnksXG4gICAgZXJyb3I6IGFueSxcbiAgKTogeyBuYW1lOiBzdHJpbmc7IHNpZ2hhc2g6IHN0cmluZzsgbWVzc2FnZTogc3RyaW5nOyByZXN1bHQ6IHN0cmluZyB9ID0+IHtcbiAgICBpZiAoIWVycm9yKSByZXR1cm5cbiAgICB0cnkge1xuICAgICAgY29uc3QgcGFyc2VkRXJyb3IgPSBjb250cmFjdC5pbnRlcmZhY2UucGFyc2VFcnJvcihlcnJvci5kYXRhKVxuICAgICAgcmV0dXJuIHtcbiAgICAgICAgbmFtZTogcGFyc2VkRXJyb3IubmFtZSxcbiAgICAgICAgc2lnaGFzaDogcGFyc2VkRXJyb3Iuc2lnaGFzaCxcbiAgICAgICAgbWVzc2FnZTogcGFyc2VkRXJyb3IuYXJncy5tZXNzYWdlLFxuICAgICAgICByZXN1bHQ6IEpTT04ucGFyc2UocGFyc2VkRXJyb3Iuc2lnaGFzaCkucmVzdWx0LFxuICAgICAgfVxuICAgIH0gY2F0Y2ggKGUpIHtcbiAgICAgIHJldHVybiB7XG4gICAgICAgIG5hbWU6IGVycm9yLm1lc3NhZ2UgPyBlcnJvci5tZXNzYWdlIDogJ0Vycm9yIG5vdCBpZGVudGlmaWVkJyxcbiAgICAgICAgc2lnaGFzaDogZS52YWx1ZSxcbiAgICAgICAgbWVzc2FnZTogZXJyb3IuZGF0YSAmJiBlcnJvci5kYXRhLm1lc3NhZ2UgPyBlcnJvci5kYXRhLm1lc3NhZ2UgOiAnTWVzc2FnZSBub3QgaWRlbnRpZmllZCcsXG4gICAgICAgIHJlc3VsdDogZXJyb3IuZGF0YSAmJiBlcnJvci5kYXRhLnJlc3VsdCA/IGVycm9yLmRhdGEucmVzdWx0IDogJ1JlYXNvbiBub3QgaWRlbnRpZmllZCcsXG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbmV4cG9ydCBjb25zdCBtYWtlUHJvdmlkZXIgPSAoYmFzZVVybDogc3RyaW5nKSA9PiB7XG4gIHJldHVybiBuZXcgUHJvdmlkZXIoYmFzZVVybClcbn1cblxuZXhwb3J0IGNsYXNzIEVWTUJhdGNoUHJvdmlkZXIgZXh0ZW5kcyBQcm92aWRlciB7XG4gIHByb3ZpZGVyOiBFdGhlcnNQcm92aWRlclxuXG4gIGNvbnN0cnVjdG9yKGJhc2VVcmw6IHN0cmluZykge1xuICAgIHN1cGVyKGJhc2VVcmwpXG5cbiAgICB0aGlzLnByb3ZpZGVyID0gbmV3IGV0aGVycy5wcm92aWRlcnMuSnNvblJwY0JhdGNoUHJvdmlkZXIoYmFzZVVybClcbiAgfVxufVxuIl19

@@ -0,10 +1,9 @@

import { EVMProvider } from '../evm/provider';
import { Event, Contract, EventFilter } from 'ethers';
type FilterOpts = {
export type FilterOpts = {
preFilter: EventFilter;
postFilter?: (event: Event) => boolean;
fromBlock?: number | string;
toBlock?: number | string;
blockNumber?: number | string;
};
export declare const getMatchingEvent: (contract: Contract, filterOpts: FilterOpts, initialWaitSeconds?: number, maxRounds?: number) => Promise<Event>;
export {};
export declare const getMatchingEvents: (contract: Contract, provider: EVMProvider, filterOpts: FilterOpts, blockRangePerEventQuery?: number, eventQueriesPerBatch?: number) => Promise<Event[]>;
//# sourceMappingURL=events.d.ts.map
"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
exports.getMatchingEvent = void 0;
const utils_1 = require("../utils");
// Exponential backoff constants
// Initial wait time of 2 seconds and backoff for 5 rounds
// This means that the 5th round would wait for 32s.
const INITIAL_WAIT_SECONDS = 2;
const MAX_ROUNDS = 5;
// This function fetches the event on a contract that matches a given filter.
// It uses exponential backoff because some commands require it immediately after a contract call.
// Users input FilterOpts to narrow down the events. The filter should result in ONE event. If not, errors are thrown.
const getMatchingEvent = async (contract, filterOpts, initialWaitSeconds = INITIAL_WAIT_SECONDS, maxRounds = MAX_ROUNDS) => {
// get matching event using exponential backoff
const event = await (0, utils_1.callWithExpBackoff)(async () => {
// query contract using filter
const events = await contract.queryFilter(filterOpts.preFilter, filterOpts.fromBlock || 0, filterOpts.toBlock || 'latest');
// further filter events based on custom hook
const filteredEvents = filterOpts.postFilter ? events.filter(filterOpts.postFilter) : events;
// throw error if no events were found, callWithExpBackoff catches errors
if (filteredEvents.length === 0) {
throw new Error('Failed to find event using given filter');
}
// throw error if multiple events were found
if (filteredEvents.length > 1) {
throw new Error('Multiple events found using given filter');
}
// return event
return filteredEvents[0];
}, initialWaitSeconds, maxRounds);
return event;
exports.getMatchingEvents = void 0;
const utils_1 = require("@chainlink/gauntlet-core/dist/utils");
const DEFAULT_BLOCK_RANGE_PER_EVENT_QUERY = 10000;
const DEFAULT_EVENT_QUERIES_PER_BATCH = 500;
/*
getMatchingEvents searches for matching events based on given filter options.
You may provide a preFilter that the RPC will use to return relevant events
and a postFilter to further narrow the results that you recieve. You can also
provide a blockNumber if you know where your events are.
If no blockNumber is provided, getMatchingEvents will search the entire block
range in batches based on user-defined specifications. Each network will have
different limits here. For example, some Base RPCs limit blockRangePerQuery
to 10k blocks. We have set blockRangePerQuery=10000 and queriesPerBatch=500
(5M blocks per batch) as defaults to remain within this limit, which is the
lowest we have encountered.
If possible, providing a blockNumber is recommended. Otherwise, we recommend
setting values for blockRangePerQuery and queriesPerBatch that work for
your target network (i.e. as environment variables).
*/
const getMatchingEvents = async (contract, provider, filterOpts, blockRangePerEventQuery, eventQueriesPerBatch) => {
const connectedContract = contract.connect(provider.provider);
blockRangePerEventQuery = Number(blockRangePerEventQuery || DEFAULT_BLOCK_RANGE_PER_EVENT_QUERY);
eventQueriesPerBatch = Number(eventQueriesPerBatch || DEFAULT_EVENT_QUERIES_PER_BATCH);
// Helper function that searches all blocks for events that match the preFilter
const searchAllBlocksForEvents = async () => {
utils_1.logger.info(`No block number provided, starting search at latest block number
* Use BLOCK_RANGE_PER_EVENT_QUERY or --blockRangePerEventQuery to tune the number of blocks searched in a single request (currently ${blockRangePerEventQuery})
* Use EVENT_QUERIES_PER_BATCH or --eventQueriesPerBatch to tune the number of queries sent at a time (currently ${eventQueriesPerBatch})`);
const latestBlockNumber = await provider.provider.getBlockNumber();
const blockRangePerBatch = blockRangePerEventQuery * eventQueriesPerBatch;
const numBatches = Math.ceil(latestBlockNumber / blockRangePerBatch);
let offset = 0;
let batch = 1;
let toBlock, fromBlock;
do {
toBlock = latestBlockNumber - offset;
fromBlock = Math.max(0, toBlock - blockRangePerBatch);
utils_1.logger.loading(`Batch ${batch} of ${numBatches}: Checking blocks ${fromBlock} through ${toBlock}...`);
const promises = [];
for (let i = 0; i < eventQueriesPerBatch; i++) {
const from = Math.max(0, toBlock - blockRangePerEventQuery * (i + 1));
const to = toBlock - blockRangePerEventQuery * i;
promises.push(connectedContract.queryFilter(filterOpts.preFilter, from, to));
if (from === 0)
break;
}
const events = (await Promise.all(promises)).flat();
if (events.length > 0)
return events;
batch++;
offset += blockRangePerBatch;
} while (fromBlock > 0);
return [];
};
const events = !!filterOpts.blockNumber
? await connectedContract.queryFilter(filterOpts.preFilter, filterOpts.blockNumber, filterOpts.blockNumber)
: await searchAllBlocksForEvents();
const filteredEvents = filterOpts.postFilter ? events.filter(filterOpts.postFilter) : events;
return filteredEvents;
};
exports.getMatchingEvent = getMatchingEvent;
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXZlbnRzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL3V0aWxzL2V2ZW50cy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFBQSxvQ0FBNkM7QUFHN0MsZ0NBQWdDO0FBQ2hDLDBEQUEwRDtBQUMxRCxvREFBb0Q7QUFDcEQsTUFBTSxvQkFBb0IsR0FBRyxDQUFDLENBQUE7QUFDOUIsTUFBTSxVQUFVLEdBQUcsQ0FBQyxDQUFBO0FBWXBCLDZFQUE2RTtBQUM3RSxrR0FBa0c7QUFDbEcsc0hBQXNIO0FBQy9HLE1BQU0sZ0JBQWdCLEdBQUcsS0FBSyxFQUNuQyxRQUFrQixFQUNsQixVQUFzQixFQUN0QixxQkFBNkIsb0JBQW9CLEVBQ2pELFlBQW9CLFVBQVUsRUFDZCxFQUFFO0lBQ2xCLCtDQUErQztJQUMvQyxNQUFNLEtBQUssR0FBRyxNQUFNLElBQUEsMEJBQWtCLEVBQ3BDLEtBQUssSUFBb0IsRUFBRTtRQUN6Qiw4QkFBOEI7UUFDOUIsTUFBTSxNQUFNLEdBQUcsTUFBTSxRQUFRLENBQUMsV0FBVyxDQUN2QyxVQUFVLENBQUMsU0FBUyxFQUNwQixVQUFVLENBQUMsU0FBUyxJQUFJLENBQUMsRUFDekIsVUFBVSxDQUFDLE9BQU8sSUFBSSxRQUFRLENBQy9CLENBQUE7UUFDRCw2Q0FBNkM7UUFDN0MsTUFBTSxjQUFjLEdBQUcsVUFBVSxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLE1BQU0sQ0FBQyxVQUFVLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQTtRQUM1Rix5RUFBeUU7UUFDekUsSUFBSSxjQUFjLENBQUMsTUFBTSxLQUFLLENBQUMsRUFBRTtZQUMvQixNQUFNLElBQUksS0FBSyxDQUFDLHlDQUF5QyxDQUFDLENBQUE7U0FDM0Q7UUFDRCw0Q0FBNEM7UUFDNUMsSUFBSSxjQUFjLENBQUMsTUFBTSxHQUFHLENBQUMsRUFBRTtZQUM3QixNQUFNLElBQUksS0FBSyxDQUFDLDBDQUEwQyxDQUFDLENBQUE7U0FDNUQ7UUFDRCxlQUFlO1FBQ2YsT0FBTyxjQUFjLENBQUMsQ0FBQyxDQUFDLENBQUE7SUFDMUIsQ0FBQyxFQUNELGtCQUFrQixFQUNsQixTQUFTLENBQ1YsQ0FBQTtJQUVELE9BQU8sS0FBSyxDQUFBO0FBQ2QsQ0FBQyxDQUFBO0FBakNZLFFBQUEsZ0JBQWdCLG9CQWlDNUIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBjYWxsV2l0aEV4cEJhY2tvZmYgfSBmcm9tICcuLi91dGlscydcbmltcG9ydCB7IEV2ZW50LCBDb250cmFjdCwgRXZlbnRGaWx0ZXIgfSBmcm9tICdldGhlcnMnXG5cbi8vIEV4cG9uZW50aWFsIGJhY2tvZmYgY29uc3RhbnRzXG4vLyBJbml0aWFsIHdhaXQgdGltZSBvZiAyIHNlY29uZHMgYW5kIGJhY2tvZmYgZm9yIDUgcm91bmRzXG4vLyBUaGlzIG1lYW5zIHRoYXQgdGhlIDV0aCByb3VuZCB3b3VsZCB3YWl0IGZvciAzMnMuXG5jb25zdCBJTklUSUFMX1dBSVRfU0VDT05EUyA9IDJcbmNvbnN0IE1BWF9ST1VORFMgPSA1XG5cbi8vIE9wdGlvbnMgZm9yIGZpbHRlcmluZyB0aGUgcXVlcnlcbi8vIFByZSBmaWx0ZXIgY2FuIG9ubHkgZmlsdGVyIG9uIGluZGV4ZWQgZmllbGRzLiBUaGUgb3B0aW9uYWwgcG9zdCBmaWx0ZXIgaXMgbW9yZSBmbGV4aWJsZVxuLy8gQmxvY2sgcmFuZ2Ugb3B0aW9ucyBhcmUgcHJvdmlkZWQgYXMgd2VsbC5cbnR5cGUgRmlsdGVyT3B0cyA9IHtcbiAgcHJlRmlsdGVyOiBFdmVudEZpbHRlclxuICBwb3N0RmlsdGVyPzogKGV2ZW50OiBFdmVudCkgPT4gYm9vbGVhblxuICBmcm9tQmxvY2s/OiBudW1iZXIgfCBzdHJpbmdcbiAgdG9CbG9jaz86IG51bWJlciB8IHN0cmluZ1xufVxuXG4vLyBUaGlzIGZ1bmN0aW9uIGZldGNoZXMgdGhlIGV2ZW50IG9uIGEgY29udHJhY3QgdGhhdCBtYXRjaGVzIGEgZ2l2ZW4gZmlsdGVyLlxuLy8gSXQgdXNlcyBleHBvbmVudGlhbCBiYWNrb2ZmIGJlY2F1c2Ugc29tZSBjb21tYW5kcyByZXF1aXJlIGl0IGltbWVkaWF0ZWx5IGFmdGVyIGEgY29udHJhY3QgY2FsbC5cbi8vIFVzZXJzIGlucHV0IEZpbHRlck9wdHMgdG8gbmFycm93IGRvd24gdGhlIGV2ZW50cy4gVGhlIGZpbHRlciBzaG91bGQgcmVzdWx0IGluIE9ORSBldmVudC4gSWYgbm90LCBlcnJvcnMgYXJlIHRocm93bi5cbmV4cG9ydCBjb25zdCBnZXRNYXRjaGluZ0V2ZW50ID0gYXN5bmMgKFxuICBjb250cmFjdDogQ29udHJhY3QsXG4gIGZpbHRlck9wdHM6IEZpbHRlck9wdHMsXG4gIGluaXRpYWxXYWl0U2Vjb25kczogbnVtYmVyID0gSU5JVElBTF9XQUlUX1NFQ09ORFMsXG4gIG1heFJvdW5kczogbnVtYmVyID0gTUFYX1JPVU5EUyxcbik6IFByb21pc2U8RXZlbnQ+ID0+IHtcbiAgLy8gZ2V0IG1hdGNoaW5nIGV2ZW50IHVzaW5nIGV4cG9uZW50aWFsIGJhY2tvZmZcbiAgY29uc3QgZXZlbnQgPSBhd2FpdCBjYWxsV2l0aEV4cEJhY2tvZmY8RXZlbnQ+KFxuICAgIGFzeW5jICgpOiBQcm9taXNlPEV2ZW50PiA9PiB7XG4gICAgICAvLyBxdWVyeSBjb250cmFjdCB1c2luZyBmaWx0ZXJcbiAgICAgIGNvbnN0IGV2ZW50cyA9IGF3YWl0IGNvbnRyYWN0LnF1ZXJ5RmlsdGVyKFxuICAgICAgICBmaWx0ZXJPcHRzLnByZUZpbHRlcixcbiAgICAgICAgZmlsdGVyT3B0cy5mcm9tQmxvY2sgfHwgMCxcbiAgICAgICAgZmlsdGVyT3B0cy50b0Jsb2NrIHx8ICdsYXRlc3QnLFxuICAgICAgKVxuICAgICAgLy8gZnVydGhlciBmaWx0ZXIgZXZlbnRzIGJhc2VkIG9uIGN1c3RvbSBob29rXG4gICAgICBjb25zdCBmaWx0ZXJlZEV2ZW50cyA9IGZpbHRlck9wdHMucG9zdEZpbHRlciA/IGV2ZW50cy5maWx0ZXIoZmlsdGVyT3B0cy5wb3N0RmlsdGVyKSA6IGV2ZW50c1xuICAgICAgLy8gdGhyb3cgZXJyb3IgaWYgbm8gZXZlbnRzIHdlcmUgZm91bmQsIGNhbGxXaXRoRXhwQmFja29mZiBjYXRjaGVzIGVycm9yc1xuICAgICAgaWYgKGZpbHRlcmVkRXZlbnRzLmxlbmd0aCA9PT0gMCkge1xuICAgICAgICB0aHJvdyBuZXcgRXJyb3IoJ0ZhaWxlZCB0byBmaW5kIGV2ZW50IHVzaW5nIGdpdmVuIGZpbHRlcicpXG4gICAgICB9XG4gICAgICAvLyB0aHJvdyBlcnJvciBpZiBtdWx0aXBsZSBldmVudHMgd2VyZSBmb3VuZFxuICAgICAgaWYgKGZpbHRlcmVkRXZlbnRzLmxlbmd0aCA+IDEpIHtcbiAgICAgICAgdGhyb3cgbmV3IEVycm9yKCdNdWx0aXBsZSBldmVudHMgZm91bmQgdXNpbmcgZ2l2ZW4gZmlsdGVyJylcbiAgICAgIH1cbiAgICAgIC8vIHJldHVybiBldmVudFxuICAgICAgcmV0dXJuIGZpbHRlcmVkRXZlbnRzWzBdXG4gICAgfSxcbiAgICBpbml0aWFsV2FpdFNlY29uZHMsXG4gICAgbWF4Um91bmRzLFxuICApXG5cbiAgcmV0dXJuIGV2ZW50XG59XG4iXX0=
exports.getMatchingEvents = getMatchingEvents;
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXZlbnRzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL3V0aWxzL2V2ZW50cy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFBQSwrREFBNEQ7QUFJNUQsTUFBTSxtQ0FBbUMsR0FBRyxLQUFNLENBQUE7QUFDbEQsTUFBTSwrQkFBK0IsR0FBRyxHQUFHLENBQUE7QUFhM0M7Ozs7Ozs7Ozs7Ozs7Ozs7O0VBaUJFO0FBQ0ssTUFBTSxpQkFBaUIsR0FBRyxLQUFLLEVBQ3BDLFFBQWtCLEVBQ2xCLFFBQXFCLEVBQ3JCLFVBQXNCLEVBQ3RCLHVCQUFnQyxFQUNoQyxvQkFBNkIsRUFDWCxFQUFFO0lBQ3BCLE1BQU0saUJBQWlCLEdBQUcsUUFBUSxDQUFDLE9BQU8sQ0FBQyxRQUFRLENBQUMsUUFBUSxDQUFDLENBQUE7SUFDN0QsdUJBQXVCLEdBQUcsTUFBTSxDQUFDLHVCQUF1QixJQUFJLG1DQUFtQyxDQUFDLENBQUE7SUFDaEcsb0JBQW9CLEdBQUcsTUFBTSxDQUFDLG9CQUFvQixJQUFJLCtCQUErQixDQUFDLENBQUE7SUFFdEYsK0VBQStFO0lBQy9FLE1BQU0sd0JBQXdCLEdBQUcsS0FBSyxJQUFzQixFQUFFO1FBQzVELGNBQU0sQ0FBQyxJQUFJLENBQUM7MElBQzBILHVCQUF1QjtzSEFDM0Msb0JBQW9CLEdBQUcsQ0FBQyxDQUFBO1FBRTFJLE1BQU0saUJBQWlCLEdBQUcsTUFBTSxRQUFRLENBQUMsUUFBUSxDQUFDLGNBQWMsRUFBRSxDQUFBO1FBQ2xFLE1BQU0sa0JBQWtCLEdBQUcsdUJBQXVCLEdBQUcsb0JBQW9CLENBQUE7UUFDekUsTUFBTSxVQUFVLEdBQUcsSUFBSSxDQUFDLElBQUksQ0FBQyxpQkFBaUIsR0FBRyxrQkFBa0IsQ0FBQyxDQUFBO1FBRXBFLElBQUksTUFBTSxHQUFHLENBQUMsQ0FBQTtRQUNkLElBQUksS0FBSyxHQUFHLENBQUMsQ0FBQTtRQUViLElBQUksT0FBTyxFQUFFLFNBQVMsQ0FBQTtRQUV0QixHQUFHO1lBQ0QsT0FBTyxHQUFHLGlCQUFpQixHQUFHLE1BQU0sQ0FBQTtZQUNwQyxTQUFTLEdBQUcsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDLEVBQUUsT0FBTyxHQUFHLGtCQUFrQixDQUFDLENBQUE7WUFFckQsY0FBTSxDQUFDLE9BQU8sQ0FBQyxTQUFTLEtBQUssT0FBTyxVQUFVLHFCQUFxQixTQUFTLFlBQVksT0FBTyxLQUFLLENBQUMsQ0FBQTtZQUVyRyxNQUFNLFFBQVEsR0FBdUIsRUFBRSxDQUFBO1lBQ3ZDLEtBQUssSUFBSSxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsR0FBRyxvQkFBb0IsRUFBRSxDQUFDLEVBQUUsRUFBRTtnQkFDN0MsTUFBTSxJQUFJLEdBQUcsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDLEVBQUUsT0FBTyxHQUFHLHVCQUF1QixHQUFHLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUE7Z0JBQ3JFLE1BQU0sRUFBRSxHQUFHLE9BQU8sR0FBRyx1QkFBdUIsR0FBRyxDQUFDLENBQUE7Z0JBRWhELFFBQVEsQ0FBQyxJQUFJLENBQUMsaUJBQWlCLENBQUMsV0FBVyxDQUFDLFVBQVUsQ0FBQyxTQUFTLEVBQUUsSUFBSSxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUE7Z0JBRTVFLElBQUksSUFBSSxLQUFLLENBQUM7b0JBQUUsTUFBSzthQUN0QjtZQUNELE1BQU0sTUFBTSxHQUFHLENBQUMsTUFBTSxPQUFPLENBQUMsR0FBRyxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsSUFBSSxFQUFFLENBQUE7WUFFbkQsSUFBSSxNQUFNLENBQUMsTUFBTSxHQUFHLENBQUM7Z0JBQUUsT0FBTyxNQUFNLENBQUE7WUFFcEMsS0FBSyxFQUFFLENBQUE7WUFDUCxNQUFNLElBQUksa0JBQWtCLENBQUE7U0FDN0IsUUFBUSxTQUFTLEdBQUcsQ0FBQyxFQUFDO1FBRXZCLE9BQU8sRUFBRSxDQUFBO0lBQ1gsQ0FBQyxDQUFBO0lBRUQsTUFBTSxNQUFNLEdBQUcsQ0FBQyxDQUFDLFVBQVUsQ0FBQyxXQUFXO1FBQ3JDLENBQUMsQ0FBQyxNQUFNLGlCQUFpQixDQUFDLFdBQVcsQ0FBQyxVQUFVLENBQUMsU0FBUyxFQUFFLFVBQVUsQ0FBQyxXQUFXLEVBQUUsVUFBVSxDQUFDLFdBQVcsQ0FBQztRQUMzRyxDQUFDLENBQUMsTUFBTSx3QkFBd0IsRUFBRSxDQUFBO0lBRXBDLE1BQU0sY0FBYyxHQUFHLFVBQVUsQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxNQUFNLENBQUMsVUFBVSxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUE7SUFFNUYsT0FBTyxjQUFjLENBQUE7QUFDdkIsQ0FBQyxDQUFBO0FBM0RZLFFBQUEsaUJBQWlCLHFCQTJEN0IiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBsb2dnZXIgfSBmcm9tICdAY2hhaW5saW5rL2dhdW50bGV0LWNvcmUvZGlzdC91dGlscydcbmltcG9ydCB7IEVWTVByb3ZpZGVyIH0gZnJvbSAnLi4vZXZtL3Byb3ZpZGVyJ1xuaW1wb3J0IHsgRXZlbnQsIENvbnRyYWN0LCBFdmVudEZpbHRlciB9IGZyb20gJ2V0aGVycydcblxuY29uc3QgREVGQVVMVF9CTE9DS19SQU5HRV9QRVJfRVZFTlRfUVVFUlkgPSAxMF8wMDBcbmNvbnN0IERFRkFVTFRfRVZFTlRfUVVFUklFU19QRVJfQkFUQ0ggPSA1MDBcblxuLypcbk9wdGlvbnMgZm9yIGZpbHRlcmluZyB0aGUgZXZlbnQgcXVlcnkuIFByZSBmaWx0ZXIgY2FuIG9ubHkgZmlsdGVyIG9uIGluZGV4ZWQgZmllbGRzLlxuVGhlIG9wdGlvbmFsIHBvc3QgZmlsdGVyIGlzIG1vcmUgZmxleGlibGUuIFlvdSBjYW4gYWxzbyBzcGVjaWZ5IHRoZSBibG9ja051bWJlciB0aWVkXG50byB5b3VyIGV2ZW50IGlmIHlvdSBrbm93IGl0LlxuKi9cbmV4cG9ydCB0eXBlIEZpbHRlck9wdHMgPSB7XG4gIHByZUZpbHRlcjogRXZlbnRGaWx0ZXJcbiAgcG9zdEZpbHRlcj86IChldmVudDogRXZlbnQpID0+IGJvb2xlYW5cbiAgYmxvY2tOdW1iZXI/OiBudW1iZXIgfCBzdHJpbmdcbn1cblxuLypcbmdldE1hdGNoaW5nRXZlbnRzIHNlYXJjaGVzIGZvciBtYXRjaGluZyBldmVudHMgYmFzZWQgb24gZ2l2ZW4gZmlsdGVyIG9wdGlvbnMuXG5cbllvdSBtYXkgcHJvdmlkZSBhIHByZUZpbHRlciB0aGF0IHRoZSBSUEMgd2lsbCB1c2UgdG8gcmV0dXJuIHJlbGV2YW50IGV2ZW50c1xuYW5kIGEgcG9zdEZpbHRlciB0byBmdXJ0aGVyIG5hcnJvdyB0aGUgcmVzdWx0cyB0aGF0IHlvdSByZWNpZXZlLiBZb3UgY2FuIGFsc29cbnByb3ZpZGUgYSBibG9ja051bWJlciBpZiB5b3Uga25vdyB3aGVyZSB5b3VyIGV2ZW50cyBhcmUuXG5cbklmIG5vIGJsb2NrTnVtYmVyIGlzIHByb3ZpZGVkLCBnZXRNYXRjaGluZ0V2ZW50cyB3aWxsIHNlYXJjaCB0aGUgZW50aXJlIGJsb2NrXG5yYW5nZSBpbiBiYXRjaGVzIGJhc2VkIG9uIHVzZXItZGVmaW5lZCBzcGVjaWZpY2F0aW9ucy4gRWFjaCBuZXR3b3JrIHdpbGwgaGF2ZVxuZGlmZmVyZW50IGxpbWl0cyBoZXJlLiBGb3IgZXhhbXBsZSwgc29tZSBCYXNlIFJQQ3MgbGltaXQgYmxvY2tSYW5nZVBlclF1ZXJ5XG50byAxMGsgYmxvY2tzLiBXZSBoYXZlIHNldCBibG9ja1JhbmdlUGVyUXVlcnk9MTAwMDAgYW5kIHF1ZXJpZXNQZXJCYXRjaD01MDBcbig1TSBibG9ja3MgcGVyIGJhdGNoKSBhcyBkZWZhdWx0cyB0byByZW1haW4gd2l0aGluIHRoaXMgbGltaXQsIHdoaWNoIGlzIHRoZVxubG93ZXN0IHdlIGhhdmUgZW5jb3VudGVyZWQuXG5cbklmIHBvc3NpYmxlLCBwcm92aWRpbmcgYSBibG9ja051bWJlciBpcyByZWNvbW1lbmRlZC4gT3RoZXJ3aXNlLCB3ZSByZWNvbW1lbmRcbnNldHRpbmcgdmFsdWVzIGZvciBibG9ja1JhbmdlUGVyUXVlcnkgYW5kIHF1ZXJpZXNQZXJCYXRjaCB0aGF0IHdvcmsgZm9yXG55b3VyIHRhcmdldCBuZXR3b3JrIChpLmUuIGFzIGVudmlyb25tZW50IHZhcmlhYmxlcykuXG4qL1xuZXhwb3J0IGNvbnN0IGdldE1hdGNoaW5nRXZlbnRzID0gYXN5bmMgKFxuICBjb250cmFjdDogQ29udHJhY3QsXG4gIHByb3ZpZGVyOiBFVk1Qcm92aWRlcixcbiAgZmlsdGVyT3B0czogRmlsdGVyT3B0cyxcbiAgYmxvY2tSYW5nZVBlckV2ZW50UXVlcnk/OiBudW1iZXIsXG4gIGV2ZW50UXVlcmllc1BlckJhdGNoPzogbnVtYmVyLFxuKTogUHJvbWlzZTxFdmVudFtdPiA9PiB7XG4gIGNvbnN0IGNvbm5lY3RlZENvbnRyYWN0ID0gY29udHJhY3QuY29ubmVjdChwcm92aWRlci5wcm92aWRlcilcbiAgYmxvY2tSYW5nZVBlckV2ZW50UXVlcnkgPSBOdW1iZXIoYmxvY2tSYW5nZVBlckV2ZW50UXVlcnkgfHwgREVGQVVMVF9CTE9DS19SQU5HRV9QRVJfRVZFTlRfUVVFUlkpXG4gIGV2ZW50UXVlcmllc1BlckJhdGNoID0gTnVtYmVyKGV2ZW50UXVlcmllc1BlckJhdGNoIHx8IERFRkFVTFRfRVZFTlRfUVVFUklFU19QRVJfQkFUQ0gpXG5cbiAgLy8gSGVscGVyIGZ1bmN0aW9uIHRoYXQgc2VhcmNoZXMgYWxsIGJsb2NrcyBmb3IgZXZlbnRzIHRoYXQgbWF0Y2ggdGhlIHByZUZpbHRlclxuICBjb25zdCBzZWFyY2hBbGxCbG9ja3NGb3JFdmVudHMgPSBhc3luYyAoKTogUHJvbWlzZTxFdmVudFtdPiA9PiB7XG4gICAgbG9nZ2VyLmluZm8oYE5vIGJsb2NrIG51bWJlciBwcm92aWRlZCwgc3RhcnRpbmcgc2VhcmNoIGF0IGxhdGVzdCBibG9jayBudW1iZXJcbiAgICAqIFVzZSBCTE9DS19SQU5HRV9QRVJfRVZFTlRfUVVFUlkgb3IgLS1ibG9ja1JhbmdlUGVyRXZlbnRRdWVyeSB0byB0dW5lIHRoZSBudW1iZXIgb2YgYmxvY2tzIHNlYXJjaGVkIGluIGEgc2luZ2xlIHJlcXVlc3QgKGN1cnJlbnRseSAke2Jsb2NrUmFuZ2VQZXJFdmVudFF1ZXJ5fSlcbiAgICAqIFVzZSBFVkVOVF9RVUVSSUVTX1BFUl9CQVRDSCBvciAtLWV2ZW50UXVlcmllc1BlckJhdGNoIHRvIHR1bmUgdGhlIG51bWJlciBvZiBxdWVyaWVzIHNlbnQgYXQgYSB0aW1lIChjdXJyZW50bHkgJHtldmVudFF1ZXJpZXNQZXJCYXRjaH0pYClcblxuICAgIGNvbnN0IGxhdGVzdEJsb2NrTnVtYmVyID0gYXdhaXQgcHJvdmlkZXIucHJvdmlkZXIuZ2V0QmxvY2tOdW1iZXIoKVxuICAgIGNvbnN0IGJsb2NrUmFuZ2VQZXJCYXRjaCA9IGJsb2NrUmFuZ2VQZXJFdmVudFF1ZXJ5ICogZXZlbnRRdWVyaWVzUGVyQmF0Y2hcbiAgICBjb25zdCBudW1CYXRjaGVzID0gTWF0aC5jZWlsKGxhdGVzdEJsb2NrTnVtYmVyIC8gYmxvY2tSYW5nZVBlckJhdGNoKVxuXG4gICAgbGV0IG9mZnNldCA9IDBcbiAgICBsZXQgYmF0Y2ggPSAxXG5cbiAgICBsZXQgdG9CbG9jaywgZnJvbUJsb2NrXG5cbiAgICBkbyB7XG4gICAgICB0b0Jsb2NrID0gbGF0ZXN0QmxvY2tOdW1iZXIgLSBvZmZzZXRcbiAgICAgIGZyb21CbG9jayA9IE1hdGgubWF4KDAsIHRvQmxvY2sgLSBibG9ja1JhbmdlUGVyQmF0Y2gpXG5cbiAgICAgIGxvZ2dlci5sb2FkaW5nKGBCYXRjaCAke2JhdGNofSBvZiAke251bUJhdGNoZXN9OiBDaGVja2luZyBibG9ja3MgJHtmcm9tQmxvY2t9IHRocm91Z2ggJHt0b0Jsb2NrfS4uLmApXG5cbiAgICAgIGNvbnN0IHByb21pc2VzOiBQcm9taXNlPEV2ZW50W10+W10gPSBbXVxuICAgICAgZm9yIChsZXQgaSA9IDA7IGkgPCBldmVudFF1ZXJpZXNQZXJCYXRjaDsgaSsrKSB7XG4gICAgICAgIGNvbnN0IGZyb20gPSBNYXRoLm1heCgwLCB0b0Jsb2NrIC0gYmxvY2tSYW5nZVBlckV2ZW50UXVlcnkgKiAoaSArIDEpKVxuICAgICAgICBjb25zdCB0byA9IHRvQmxvY2sgLSBibG9ja1JhbmdlUGVyRXZlbnRRdWVyeSAqIGlcblxuICAgICAgICBwcm9taXNlcy5wdXNoKGNvbm5lY3RlZENvbnRyYWN0LnF1ZXJ5RmlsdGVyKGZpbHRlck9wdHMucHJlRmlsdGVyLCBmcm9tLCB0bykpXG5cbiAgICAgICAgaWYgKGZyb20gPT09IDApIGJyZWFrXG4gICAgICB9XG4gICAgICBjb25zdCBldmVudHMgPSAoYXdhaXQgUHJvbWlzZS5hbGwocHJvbWlzZXMpKS5mbGF0KClcblxuICAgICAgaWYgKGV2ZW50cy5sZW5ndGggPiAwKSByZXR1cm4gZXZlbnRzXG5cbiAgICAgIGJhdGNoKytcbiAgICAgIG9mZnNldCArPSBibG9ja1JhbmdlUGVyQmF0Y2hcbiAgICB9IHdoaWxlIChmcm9tQmxvY2sgPiAwKVxuXG4gICAgcmV0dXJuIFtdXG4gIH1cblxuICBjb25zdCBldmVudHMgPSAhIWZpbHRlck9wdHMuYmxvY2tOdW1iZXJcbiAgICA/IGF3YWl0IGNvbm5lY3RlZENvbnRyYWN0LnF1ZXJ5RmlsdGVyKGZpbHRlck9wdHMucHJlRmlsdGVyLCBmaWx0ZXJPcHRzLmJsb2NrTnVtYmVyLCBmaWx0ZXJPcHRzLmJsb2NrTnVtYmVyKVxuICAgIDogYXdhaXQgc2VhcmNoQWxsQmxvY2tzRm9yRXZlbnRzKClcblxuICBjb25zdCBmaWx0ZXJlZEV2ZW50cyA9IGZpbHRlck9wdHMucG9zdEZpbHRlciA/IGV2ZW50cy5maWx0ZXIoZmlsdGVyT3B0cy5wb3N0RmlsdGVyKSA6IGV2ZW50c1xuXG4gIHJldHVybiBmaWx0ZXJlZEV2ZW50c1xufVxuIl19
{
"name": "@chainlink/evm-gauntlet",
"version": "0.0.0-develop-20240131210436",
"version": "0.0.0-develop-20240227131954",
"description": "Gauntlet EVM",

@@ -5,0 +5,0 @@ "keywords": [

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc