UNPKG

bitgo

Version:
165 lines • 36.3 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); /** * @prettier */ const sdk_coin_ada_1 = require("@bitgo/sdk-coin-ada"); const sdk_coin_algo_1 = require("@bitgo/sdk-coin-algo"); const sdk_coin_bcha_1 = require("@bitgo/sdk-coin-bcha"); const sdk_coin_hbar_1 = require("@bitgo/sdk-coin-hbar"); const sdk_coin_near_1 = require("@bitgo/sdk-coin-near"); const sdk_coin_sol_1 = require("@bitgo/sdk-coin-sol"); const sdk_coin_trx_1 = require("@bitgo/sdk-coin-trx"); const sdk_core_1 = require("@bitgo/sdk-core"); const config_1 = require("../config"); const coins_1 = require("./coins"); function registerCoinConstructors(globalCoinFactory) { globalCoinFactory.register('ada', coins_1.Ada.createInstance); globalCoinFactory.register('algo', coins_1.Algo.createInstance); globalCoinFactory.register('arbeth', coins_1.Arbeth.createInstance); globalCoinFactory.register('atom', coins_1.Atom.createInstance); globalCoinFactory.register('avaxc', coins_1.AvaxC.createInstance); globalCoinFactory.register('avaxp', coins_1.AvaxP.createInstance); globalCoinFactory.register('bch', coins_1.Bch.createInstance); globalCoinFactory.register('bcha', sdk_coin_bcha_1.Bcha.createInstance); globalCoinFactory.register('bera', coins_1.Bera.createInstance); globalCoinFactory.register('bld', coins_1.Bld.createInstance); globalCoinFactory.register('bsc', coins_1.Bsc.createInstance); globalCoinFactory.register('bsv', coins_1.Bsv.createInstance); globalCoinFactory.register('btc', coins_1.Btc.createInstance); globalCoinFactory.register('btg', coins_1.Btg.createInstance); globalCoinFactory.register('celo', coins_1.Celo.createInstance); globalCoinFactory.register('coreum', coins_1.Coreum.createInstance); globalCoinFactory.register('cspr', coins_1.Cspr.createInstance); globalCoinFactory.register('dash', coins_1.Dash.createInstance); globalCoinFactory.register('doge', coins_1.Doge.createInstance); globalCoinFactory.register('dot', coins_1.Dot.createInstance); globalCoinFactory.register('eos', coins_1.Eos.createInstance); globalCoinFactory.register('etc', coins_1.Etc.createInstance); globalCoinFactory.register('eth', coins_1.Eth.createInstance); globalCoinFactory.register('eth2', coins_1.Eth2.createInstance); globalCoinFactory.register('ethw', coins_1.Ethw.createInstance); globalCoinFactory.register('fiateur', coins_1.FiatEur.createInstance); globalCoinFactory.register('fiatgbp', coins_1.FiatGBP.createInstance); globalCoinFactory.register('fiatusd', coins_1.FiatUsd.createInstance); globalCoinFactory.register('gteth', coins_1.Gteth.createInstance); globalCoinFactory.register('hash', coins_1.Hash.createInstance); globalCoinFactory.register('hbar', coins_1.Hbar.createInstance); globalCoinFactory.register('hteth', coins_1.Hteth.createInstance); globalCoinFactory.register('ltc', coins_1.Ltc.createInstance); globalCoinFactory.register('injective', coins_1.Injective.createInstance); globalCoinFactory.register('islm', coins_1.Islm.createInstance); globalCoinFactory.register('near', sdk_coin_near_1.Near.createInstance); globalCoinFactory.register('ofc', coins_1.Ofc.createInstance); globalCoinFactory.register('opeth', coins_1.Opeth.createInstance); globalCoinFactory.register('osmo', coins_1.Osmo.createInstance); globalCoinFactory.register('polygon', coins_1.Polygon.createInstance); globalCoinFactory.register('rbtc', coins_1.Rbtc.createInstance); globalCoinFactory.register('sei', coins_1.Sei.createInstance); globalCoinFactory.register('sol', coins_1.Sol.createInstance); globalCoinFactory.register('stx', coins_1.Stx.createInstance); globalCoinFactory.register('sui', coins_1.Sui.createInstance); globalCoinFactory.register('susd', coins_1.Susd.createInstance); globalCoinFactory.register('tia', coins_1.Tia.createInstance); globalCoinFactory.register('ton', coins_1.Ton.createInstance); globalCoinFactory.register('talgo', coins_1.Talgo.createInstance); globalCoinFactory.register('tarbeth', coins_1.Tarbeth.createInstance); globalCoinFactory.register('tada', coins_1.Tada.createInstance); globalCoinFactory.register('tatom', coins_1.Tatom.createInstance); globalCoinFactory.register('tavaxc', coins_1.TavaxC.createInstance); globalCoinFactory.register('tavaxp', coins_1.TavaxP.createInstance); globalCoinFactory.register('tbch', coins_1.Tbch.createInstance); globalCoinFactory.register('tbcha', sdk_coin_bcha_1.Tbcha.createInstance); globalCoinFactory.register('tbera', coins_1.Tbera.createInstance); globalCoinFactory.register('tbld', coins_1.Tbld.createInstance); globalCoinFactory.register('tbsc', coins_1.Tbsc.createInstance); globalCoinFactory.register('tbsv', coins_1.Tbsv.createInstance); globalCoinFactory.register('tbtc', coins_1.Tbtc.createInstance); globalCoinFactory.register('tcelo', coins_1.Tcelo.createInstance); globalCoinFactory.register('tcoreum', coins_1.Tcoreum.createInstance); globalCoinFactory.register('tcspr', coins_1.Tcspr.createInstance); globalCoinFactory.register('tdash', coins_1.Tdash.createInstance); globalCoinFactory.register('tdoge', coins_1.Tdoge.createInstance); globalCoinFactory.register('tdot', coins_1.Tdot.createInstance); globalCoinFactory.register('teos', coins_1.Teos.createInstance); globalCoinFactory.register('tetc', coins_1.Tetc.createInstance); globalCoinFactory.register('teth', coins_1.Teth.createInstance); globalCoinFactory.register('teth2', coins_1.Teth2.createInstance); globalCoinFactory.register('tfiateur', coins_1.TfiatEur.createInstance); globalCoinFactory.register('tfiatgbp', coins_1.TfiatGBP.createInstance); globalCoinFactory.register('tfiatusd', coins_1.TfiatUsd.createInstance); globalCoinFactory.register('thash', coins_1.Thash.createInstance); globalCoinFactory.register('thbar', coins_1.Thbar.createInstance); globalCoinFactory.register('tinjective', coins_1.Tinjective.createInstance); globalCoinFactory.register('tislm', coins_1.Tislm.createInstance); globalCoinFactory.register('tltc', coins_1.Tltc.createInstance); globalCoinFactory.register('tnear', sdk_coin_near_1.TNear.createInstance); globalCoinFactory.register('topeth', coins_1.Topeth.createInstance); globalCoinFactory.register('tosmo', coins_1.Tosmo.createInstance); globalCoinFactory.register('tpolygon', coins_1.Tpolygon.createInstance); globalCoinFactory.register('trbtc', coins_1.Trbtc.createInstance); globalCoinFactory.register('trx', coins_1.Trx.createInstance); globalCoinFactory.register('tsei', coins_1.Tsei.createInstance); globalCoinFactory.register('tsol', coins_1.Tsol.createInstance); globalCoinFactory.register('tstx', coins_1.Tstx.createInstance); globalCoinFactory.register('tsui', coins_1.Tsui.createInstance); globalCoinFactory.register('tsusd', coins_1.Tsusd.createInstance); globalCoinFactory.register('ttia', coins_1.Ttia.createInstance); globalCoinFactory.register('tton', coins_1.Tton.createInstance); globalCoinFactory.register('ttrx', coins_1.Ttrx.createInstance); globalCoinFactory.register('txlm', coins_1.Txlm.createInstance); globalCoinFactory.register('txrp', coins_1.Txrp.createInstance); globalCoinFactory.register('txtz', coins_1.Txtz.createInstance); globalCoinFactory.register('tzec', coins_1.Tzec.createInstance); globalCoinFactory.register('tzeta', coins_1.Tzeta.createInstance); globalCoinFactory.register('xlm', coins_1.Xlm.createInstance); globalCoinFactory.register('xrp', coins_1.Xrp.createInstance); globalCoinFactory.register('xtz', coins_1.Xtz.createInstance); globalCoinFactory.register('zec', coins_1.Zec.createInstance); globalCoinFactory.register('zeta', coins_1.Zeta.createInstance); coins_1.Erc20Token.createTokenConstructors().forEach(({ name, coinConstructor }) => { globalCoinFactory.register(name, coinConstructor); }); coins_1.StellarToken.createTokenConstructors().forEach(({ name, coinConstructor }) => { globalCoinFactory.register(name, coinConstructor); }); for (const ofcToken of [...config_1.tokens.bitcoin.ofc.tokens, ...config_1.tokens.testnet.ofc.tokens]) { const tokenConstructor = coins_1.OfcToken.createTokenConstructor(ofcToken); globalCoinFactory.register(ofcToken.type, tokenConstructor); } coins_1.CeloToken.createTokenConstructors().forEach(({ name, coinConstructor }) => { globalCoinFactory.register(name, coinConstructor); }); coins_1.BscToken.createTokenConstructors().forEach(({ name, coinConstructor }) => { globalCoinFactory.register(name, coinConstructor); }); coins_1.EosToken.createTokenConstructors().forEach(({ name, coinConstructor }) => { globalCoinFactory.register(name, coinConstructor); }); sdk_coin_algo_1.AlgoToken.createTokenConstructors().forEach(({ name, coinConstructor }) => { globalCoinFactory.register(name, coinConstructor); }); coins_1.AvaxCToken.createTokenConstructors().forEach(({ name, coinConstructor }) => { globalCoinFactory.register(name, coinConstructor); }); coins_1.PolygonToken.createTokenConstructors().forEach(({ name, coinConstructor }) => { globalCoinFactory.register(name, coinConstructor); }); coins_1.ArbethToken.createTokenConstructors().forEach(({ name, coinConstructor }) => { globalCoinFactory.register(name, coinConstructor); }); sdk_coin_sol_1.SolToken.createTokenConstructors().forEach(({ name, coinConstructor }) => { globalCoinFactory.register(name, coinConstructor); }); sdk_coin_hbar_1.HbarToken.createTokenConstructors().forEach(({ name, coinConstructor }) => { globalCoinFactory.register(name, coinConstructor); }); sdk_coin_trx_1.TrxToken.createTokenConstructors().forEach(({ name, coinConstructor }) => { globalCoinFactory.register(name, coinConstructor); }); sdk_coin_ada_1.AdaToken.createTokenConstructors().forEach(({ name, coinConstructor }) => globalCoinFactory.register(name, coinConstructor)); } const GlobalCoinFactory = new sdk_core_1.CoinFactory(); registerCoinConstructors(GlobalCoinFactory); exports.default = GlobalCoinFactory; //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29pbkZhY3RvcnkuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvdjIvY29pbkZhY3RvcnkudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7QUFBQTs7R0FFRztBQUNILHNEQUErQztBQUMvQyx3REFBaUQ7QUFDakQsd0RBQW1EO0FBQ25ELHdEQUFpRDtBQUNqRCx3REFBbUQ7QUFDbkQsc0RBQStDO0FBQy9DLHNEQUErQztBQUMvQyw4Q0FBOEM7QUFDOUMsc0NBQW1DO0FBQ25DLG1DQTZHaUI7QUFFakIsU0FBUyx3QkFBd0IsQ0FBQyxpQkFBOEI7SUFDOUQsaUJBQWlCLENBQUMsUUFBUSxDQUFDLEtBQUssRUFBRSxXQUFHLENBQUMsY0FBYyxDQUFDLENBQUM7SUFDdEQsaUJBQWlCLENBQUMsUUFBUSxDQUFDLE1BQU0sRUFBRSxZQUFJLENBQUMsY0FBYyxDQUFDLENBQUM7SUFDeEQsaUJBQWlCLENBQUMsUUFBUSxDQUFDLFFBQVEsRUFBRSxjQUFNLENBQUMsY0FBYyxDQUFDLENBQUM7SUFDNUQsaUJBQWlCLENBQUMsUUFBUSxDQUFDLE1BQU0sRUFBRSxZQUFJLENBQUMsY0FBYyxDQUFDLENBQUM7SUFDeEQsaUJBQWlCLENBQUMsUUFBUSxDQUFDLE9BQU8sRUFBRSxhQUFLLENBQUMsY0FBYyxDQUFDLENBQUM7SUFDMUQsaUJBQWlCLENBQUMsUUFBUSxDQUFDLE9BQU8sRUFBRSxhQUFLLENBQUMsY0FBYyxDQUFDLENBQUM7SUFDMUQsaUJBQWlCLENBQUMsUUFBUSxDQUFDLEtBQUssRUFBRSxXQUFHLENBQUMsY0FBYyxDQUFDLENBQUM7SUFDdEQsaUJBQWlCLENBQUMsUUFBUSxDQUFDLE1BQU0sRUFBRSxvQkFBSSxDQUFDLGNBQWMsQ0FBQyxDQUFDO0lBQ3hELGlCQUFpQixDQUFDLFFBQVEsQ0FBQyxNQUFNLEVBQUUsWUFBSSxDQUFDLGNBQWMsQ0FBQyxDQUFDO0lBQ3hELGlCQUFpQixDQUFDLFFBQVEsQ0FBQyxLQUFLLEVBQUUsV0FBRyxDQUFDLGNBQWMsQ0FBQyxDQUFDO0lBQ3RELGlCQUFpQixDQUFDLFFBQVEsQ0FBQyxLQUFLLEVBQUUsV0FBRyxDQUFDLGNBQWMsQ0FBQyxDQUFDO0lBQ3RELGlCQUFpQixDQUFDLFFBQVEsQ0FBQyxLQUFLLEVBQUUsV0FBRyxDQUFDLGNBQWMsQ0FBQyxDQUFDO0lBQ3RELGlCQUFpQixDQUFDLFFBQVEsQ0FBQyxLQUFLLEVBQUUsV0FBRyxDQUFDLGNBQWMsQ0FBQyxDQUFDO0lBQ3RELGlCQUFpQixDQUFDLFFBQVEsQ0FBQyxLQUFLLEVBQUUsV0FBRyxDQUFDLGNBQWMsQ0FBQyxDQUFDO0lBQ3RELGlCQUFpQixDQUFDLFFBQVEsQ0FBQyxNQUFNLEVBQUUsWUFBSSxDQUFDLGNBQWMsQ0FBQyxDQUFDO0lBQ3hELGlCQUFpQixDQUFDLFFBQVEsQ0FBQyxRQUFRLEVBQUUsY0FBTSxDQUFDLGNBQWMsQ0FBQyxDQUFDO0lBQzVELGlCQUFpQixDQUFDLFFBQVEsQ0FBQyxNQUFNLEVBQUUsWUFBSSxDQUFDLGNBQWMsQ0FBQyxDQUFDO0lBQ3hELGlCQUFpQixDQUFDLFFBQVEsQ0FBQyxNQUFNLEVBQUUsWUFBSSxDQUFDLGNBQWMsQ0FBQyxDQUFDO0lBQ3hELGlCQUFpQixDQUFDLFFBQVEsQ0FBQyxNQUFNLEVBQUUsWUFBSSxDQUFDLGNBQWMsQ0FBQyxDQUFDO0lBQ3hELGlCQUFpQixDQUFDLFFBQVEsQ0FBQyxLQUFLLEVBQUUsV0FBRyxDQUFDLGNBQWMsQ0FBQyxDQUFDO0lBQ3RELGlCQUFpQixDQUFDLFFBQVEsQ0FBQyxLQUFLLEVBQUUsV0FBRyxDQUFDLGNBQWMsQ0FBQyxDQUFDO0lBQ3RELGlCQUFpQixDQUFDLFFBQVEsQ0FBQyxLQUFLLEVBQUUsV0FBRyxDQUFDLGNBQWMsQ0FBQyxDQUFDO0lBQ3RELGlCQUFpQixDQUFDLFFBQVEsQ0FBQyxLQUFLLEVBQUUsV0FBRyxDQUFDLGNBQWMsQ0FBQyxDQUFDO0lBQ3RELGlCQUFpQixDQUFDLFFBQVEsQ0FBQyxNQUFNLEVBQUUsWUFBSSxDQUFDLGNBQWMsQ0FBQyxDQUFDO0lBQ3hELGlCQUFpQixDQUFDLFFBQVEsQ0FBQyxNQUFNLEVBQUUsWUFBSSxDQUFDLGNBQWMsQ0FBQyxDQUFDO0lBQ3hELGlCQUFpQixDQUFDLFFBQVEsQ0FBQyxTQUFTLEVBQUUsZUFBTyxDQUFDLGNBQWMsQ0FBQyxDQUFDO0lBQzlELGlCQUFpQixDQUFDLFFBQVEsQ0FBQyxTQUFTLEVBQUUsZUFBTyxDQUFDLGNBQWMsQ0FBQyxDQUFDO0lBQzlELGlCQUFpQixDQUFDLFFBQVEsQ0FBQyxTQUFTLEVBQUUsZUFBTyxDQUFDLGNBQWMsQ0FBQyxDQUFDO0lBQzlELGlCQUFpQixDQUFDLFFBQVEsQ0FBQyxPQUFPLEVBQUUsYUFBSyxDQUFDLGNBQWMsQ0FBQyxDQUFDO0lBQzFELGlCQUFpQixDQUFDLFFBQVEsQ0FBQyxNQUFNLEVBQUUsWUFBSSxDQUFDLGNBQWMsQ0FBQyxDQUFDO0lBQ3hELGlCQUFpQixDQUFDLFFBQVEsQ0FBQyxNQUFNLEVBQUUsWUFBSSxDQUFDLGNBQWMsQ0FBQyxDQUFDO0lBQ3hELGlCQUFpQixDQUFDLFFBQVEsQ0FBQyxPQUFPLEVBQUUsYUFBSyxDQUFDLGNBQWMsQ0FBQyxDQUFDO0lBQzFELGlCQUFpQixDQUFDLFFBQVEsQ0FBQyxLQUFLLEVBQUUsV0FBRyxDQUFDLGNBQWMsQ0FBQyxDQUFDO0lBQ3RELGlCQUFpQixDQUFDLFFBQVEsQ0FBQyxXQUFXLEVBQUUsaUJBQVMsQ0FBQyxjQUFjLENBQUMsQ0FBQztJQUNsRSxpQkFBaUIsQ0FBQyxRQUFRLENBQUMsTUFBTSxFQUFFLFlBQUksQ0FBQyxjQUFjLENBQUMsQ0FBQztJQUN4RCxpQkFBaUIsQ0FBQyxRQUFRLENBQUMsTUFBTSxFQUFFLG9CQUFJLENBQUMsY0FBYyxDQUFDLENBQUM7SUFDeEQsaUJBQWlCLENBQUMsUUFBUSxDQUFDLEtBQUssRUFBRSxXQUFHLENBQUMsY0FBYyxDQUFDLENBQUM7SUFDdEQsaUJBQWlCLENBQUMsUUFBUSxDQUFDLE9BQU8sRUFBRSxhQUFLLENBQUMsY0FBYyxDQUFDLENBQUM7SUFDMUQsaUJBQWlCLENBQUMsUUFBUSxDQUFDLE1BQU0sRUFBRSxZQUFJLENBQUMsY0FBYyxDQUFDLENBQUM7SUFDeEQsaUJBQWlCLENBQUMsUUFBUSxDQUFDLFNBQVMsRUFBRSxlQUFPLENBQUMsY0FBYyxDQUFDLENBQUM7SUFDOUQsaUJBQWlCLENBQUMsUUFBUSxDQUFDLE1BQU0sRUFBRSxZQUFJLENBQUMsY0FBYyxDQUFDLENBQUM7SUFDeEQsaUJBQWlCLENBQUMsUUFBUSxDQUFDLEtBQUssRUFBRSxXQUFHLENBQUMsY0FBYyxDQUFDLENBQUM7SUFDdEQsaUJBQWlCLENBQUMsUUFBUSxDQUFDLEtBQUssRUFBRSxXQUFHLENBQUMsY0FBYyxDQUFDLENBQUM7SUFDdEQsaUJBQWlCLENBQUMsUUFBUSxDQUFDLEtBQUssRUFBRSxXQUFHLENBQUMsY0FBYyxDQUFDLENBQUM7SUFDdEQsaUJBQWlCLENBQUMsUUFBUSxDQUFDLEtBQUssRUFBRSxXQUFHLENBQUMsY0FBYyxDQUFDLENBQUM7SUFDdEQsaUJBQWlCLENBQUMsUUFBUSxDQUFDLE1BQU0sRUFBRSxZQUFJLENBQUMsY0FBYyxDQUFDLENBQUM7SUFDeEQsaUJBQWlCLENBQUMsUUFBUSxDQUFDLEtBQUssRUFBRSxXQUFHLENBQUMsY0FBYyxDQUFDLENBQUM7SUFDdEQsaUJBQWlCLENBQUMsUUFBUSxDQUFDLEtBQUssRUFBRSxXQUFHLENBQUMsY0FBYyxDQUFDLENBQUM7SUFDdEQsaUJBQWlCLENBQUMsUUFBUSxDQUFDLE9BQU8sRUFBRSxhQUFLLENBQUMsY0FBYyxDQUFDLENBQUM7SUFDMUQsaUJBQWlCLENBQUMsUUFBUSxDQUFDLFNBQVMsRUFBRSxlQUFPLENBQUMsY0FBYyxDQUFDLENBQUM7SUFDOUQsaUJBQWlCLENBQUMsUUFBUSxDQUFDLE1BQU0sRUFBRSxZQUFJLENBQUMsY0FBYyxDQUFDLENBQUM7SUFDeEQsaUJBQWlCLENBQUMsUUFBUSxDQUFDLE9BQU8sRUFBRSxhQUFLLENBQUMsY0FBYyxDQUFDLENBQUM7SUFDMUQsaUJBQWlCLENBQUMsUUFBUSxDQUFDLFFBQVEsRUFBRSxjQUFNLENBQUMsY0FBYyxDQUFDLENBQUM7SUFDNUQsaUJBQWlCLENBQUMsUUFBUSxDQUFDLFFBQVEsRUFBRSxjQUFNLENBQUMsY0FBYyxDQUFDLENBQUM7SUFDNUQsaUJBQWlCLENBQUMsUUFBUSxDQUFDLE1BQU0sRUFBRSxZQUFJLENBQUMsY0FBYyxDQUFDLENBQUM7SUFDeEQsaUJBQWlCLENBQUMsUUFBUSxDQUFDLE9BQU8sRUFBRSxxQkFBSyxDQUFDLGNBQWMsQ0FBQyxDQUFDO0lBQzFELGlCQUFpQixDQUFDLFFBQVEsQ0FBQyxPQUFPLEVBQUUsYUFBSyxDQUFDLGNBQWMsQ0FBQyxDQUFDO0lBQzFELGlCQUFpQixDQUFDLFFBQVEsQ0FBQyxNQUFNLEVBQUUsWUFBSSxDQUFDLGNBQWMsQ0FBQyxDQUFDO0lBQ3hELGlCQUFpQixDQUFDLFFBQVEsQ0FBQyxNQUFNLEVBQUUsWUFBSSxDQUFDLGNBQWMsQ0FBQyxDQUFDO0lBQ3hELGlCQUFpQixDQUFDLFFBQVEsQ0FBQyxNQUFNLEVBQUUsWUFBSSxDQUFDLGNBQWMsQ0FBQyxDQUFDO0lBQ3hELGlCQUFpQixDQUFDLFFBQVEsQ0FBQyxNQUFNLEVBQUUsWUFBSSxDQUFDLGNBQWMsQ0FBQyxDQUFDO0lBQ3hELGlCQUFpQixDQUFDLFFBQVEsQ0FBQyxPQUFPLEVBQUUsYUFBSyxDQUFDLGNBQWMsQ0FBQyxDQUFDO0lBQzFELGlCQUFpQixDQUFDLFFBQVEsQ0FBQyxTQUFTLEVBQUUsZUFBTyxDQUFDLGNBQWMsQ0FBQyxDQUFDO0lBQzlELGlCQUFpQixDQUFDLFFBQVEsQ0FBQyxPQUFPLEVBQUUsYUFBSyxDQUFDLGNBQWMsQ0FBQyxDQUFDO0lBQzFELGlCQUFpQixDQUFDLFFBQVEsQ0FBQyxPQUFPLEVBQUUsYUFBSyxDQUFDLGNBQWMsQ0FBQyxDQUFDO0lBQzFELGlCQUFpQixDQUFDLFFBQVEsQ0FBQyxPQUFPLEVBQUUsYUFBSyxDQUFDLGNBQWMsQ0FBQyxDQUFDO0lBQzFELGlCQUFpQixDQUFDLFFBQVEsQ0FBQyxNQUFNLEVBQUUsWUFBSSxDQUFDLGNBQWMsQ0FBQyxDQUFDO0lBQ3hELGlCQUFpQixDQUFDLFFBQVEsQ0FBQyxNQUFNLEVBQUUsWUFBSSxDQUFDLGNBQWMsQ0FBQyxDQUFDO0lBQ3hELGlCQUFpQixDQUFDLFFBQVEsQ0FBQyxNQUFNLEVBQUUsWUFBSSxDQUFDLGNBQWMsQ0FBQyxDQUFDO0lBQ3hELGlCQUFpQixDQUFDLFFBQVEsQ0FBQyxNQUFNLEVBQUUsWUFBSSxDQUFDLGNBQWMsQ0FBQyxDQUFDO0lBQ3hELGlCQUFpQixDQUFDLFFBQVEsQ0FBQyxPQUFPLEVBQUUsYUFBSyxDQUFDLGNBQWMsQ0FBQyxDQUFDO0lBQzFELGlCQUFpQixDQUFDLFFBQVEsQ0FBQyxVQUFVLEVBQUUsZ0JBQVEsQ0FBQyxjQUFjLENBQUMsQ0FBQztJQUNoRSxpQkFBaUIsQ0FBQyxRQUFRLENBQUMsVUFBVSxFQUFFLGdCQUFRLENBQUMsY0FBYyxDQUFDLENBQUM7SUFDaEUsaUJBQWlCLENBQUMsUUFBUSxDQUFDLFVBQVUsRUFBRSxnQkFBUSxDQUFDLGNBQWMsQ0FBQyxDQUFDO0lBQ2hFLGlCQUFpQixDQUFDLFFBQVEsQ0FBQyxPQUFPLEVBQUUsYUFBSyxDQUFDLGNBQWMsQ0FBQyxDQUFDO0lBQzFELGlCQUFpQixDQUFDLFFBQVEsQ0FBQyxPQUFPLEVBQUUsYUFBSyxDQUFDLGNBQWMsQ0FBQyxDQUFDO0lBQzFELGlCQUFpQixDQUFDLFFBQVEsQ0FBQyxZQUFZLEVBQUUsa0JBQVUsQ0FBQyxjQUFjLENBQUMsQ0FBQztJQUNwRSxpQkFBaUIsQ0FBQyxRQUFRLENBQUMsT0FBTyxFQUFFLGFBQUssQ0FBQyxjQUFjLENBQUMsQ0FBQztJQUMxRCxpQkFBaUIsQ0FBQyxRQUFRLENBQUMsTUFBTSxFQUFFLFlBQUksQ0FBQyxjQUFjLENBQUMsQ0FBQztJQUN4RCxpQkFBaUIsQ0FBQyxRQUFRLENBQUMsT0FBTyxFQUFFLHFCQUFLLENBQUMsY0FBYyxDQUFDLENBQUM7SUFDMUQsaUJBQWlCLENBQUMsUUFBUSxDQUFDLFFBQVEsRUFBRSxjQUFNLENBQUMsY0FBYyxDQUFDLENBQUM7SUFDNUQsaUJBQWlCLENBQUMsUUFBUSxDQUFDLE9BQU8sRUFBRSxhQUFLLENBQUMsY0FBYyxDQUFDLENBQUM7SUFDMUQsaUJBQWlCLENBQUMsUUFBUSxDQUFDLFVBQVUsRUFBRSxnQkFBUSxDQUFDLGNBQWMsQ0FBQyxDQUFDO0lBQ2hFLGlCQUFpQixDQUFDLFFBQVEsQ0FBQyxPQUFPLEVBQUUsYUFBSyxDQUFDLGNBQWMsQ0FBQyxDQUFDO0lBQzFELGlCQUFpQixDQUFDLFFBQVEsQ0FBQyxLQUFLLEVBQUUsV0FBRyxDQUFDLGNBQWMsQ0FBQyxDQUFDO0lBQ3RELGlCQUFpQixDQUFDLFFBQVEsQ0FBQyxNQUFNLEVBQUUsWUFBSSxDQUFDLGNBQWMsQ0FBQyxDQUFDO0lBQ3hELGlCQUFpQixDQUFDLFFBQVEsQ0FBQyxNQUFNLEVBQUUsWUFBSSxDQUFDLGNBQWMsQ0FBQyxDQUFDO0lBQ3hELGlCQUFpQixDQUFDLFFBQVEsQ0FBQyxNQUFNLEVBQUUsWUFBSSxDQUFDLGNBQWMsQ0FBQyxDQUFDO0lBQ3hELGlCQUFpQixDQUFDLFFBQVEsQ0FBQyxNQUFNLEVBQUUsWUFBSSxDQUFDLGNBQWMsQ0FBQyxDQUFDO0lBQ3hELGlCQUFpQixDQUFDLFFBQVEsQ0FBQyxPQUFPLEVBQUUsYUFBSyxDQUFDLGNBQWMsQ0FBQyxDQUFDO0lBQzFELGlCQUFpQixDQUFDLFFBQVEsQ0FBQyxNQUFNLEVBQUUsWUFBSSxDQUFDLGNBQWMsQ0FBQyxDQUFDO0lBQ3hELGlCQUFpQixDQUFDLFFBQVEsQ0FBQyxNQUFNLEVBQUUsWUFBSSxDQUFDLGNBQWMsQ0FBQyxDQUFDO0lBQ3hELGlCQUFpQixDQUFDLFFBQVEsQ0FBQyxNQUFNLEVBQUUsWUFBSSxDQUFDLGNBQWMsQ0FBQyxDQUFDO0lBQ3hELGlCQUFpQixDQUFDLFFBQVEsQ0FBQyxNQUFNLEVBQUUsWUFBSSxDQUFDLGNBQWMsQ0FBQyxDQUFDO0lBQ3hELGlCQUFpQixDQUFDLFFBQVEsQ0FBQyxNQUFNLEVBQUUsWUFBSSxDQUFDLGNBQWMsQ0FBQyxDQUFDO0lBQ3hELGlCQUFp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QWUsRUFBRSxFQUFFLEVBQUUsQ0FDdkUsaUJBQWlCLENBQUMsUUFBUSxDQUFDLElBQUksRUFBRSxlQUFlLENBQUMsQ0FDbEQsQ0FBQztBQUNKLENBQUM7QUFFRCxNQUFNLGlCQUFpQixHQUFnQixJQUFJLHNCQUFXLEVBQUUsQ0FBQztBQUV6RCx3QkFBd0IsQ0FBQyxpQkFBaUIsQ0FBQyxDQUFDO0FBRTVDLGtCQUFlLGlCQUFpQixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBAcHJldHRpZXJcbiAqL1xuaW1wb3J0IHsgQWRhVG9rZW4gfSBmcm9tICdAYml0Z28vc2RrLWNvaW4tYWRhJztcbmltcG9ydCB7IEFsZ29Ub2tlbiB9IGZyb20gJ0BiaXRnby9zZGstY29pbi1hbGdvJztcbmltcG9ydCB7IEJjaGEsIFRiY2hhIH0gZnJvbSAnQGJpdGdvL3Nkay1jb2luLWJjaGEnO1xuaW1wb3J0IHsgSGJhclRva2VuIH0gZnJvbSAnQGJpdGdvL3Nkay1jb2luLWhiYXInO1xuaW1wb3J0IHsgTmVhciwgVE5lYXIgfSBmcm9tICdAYml0Z28vc2RrLWNvaW4tbmVhcic7XG5pbXBvcnQgeyBTb2xUb2tlbiB9IGZyb20gJ0BiaXRnby9zZGstY29pbi1zb2wnO1xuaW1wb3J0IHsgVHJ4VG9rZW4gfSBmcm9tICdAYml0Z28vc2RrLWNvaW4tdHJ4JztcbmltcG9ydCB7IENvaW5GYWN0b3J5IH0gZnJvbSAnQGJpdGdvL3Nkay1jb3JlJztcbmltcG9ydCB7IHRva2VucyB9IGZyb20gJy4uL2NvbmZpZyc7XG5pbXBvcnQge1xuICBBZGEsXG4gIEFsZ28sXG4gIEFyYmV0aCxcbiAgQXJiZXRoVG9rZW4sXG4gIEF0b20sXG4gIEF2YXhDLFxuICBBdmF4Q1Rva2VuLFxuICBBdmF4UCxcbiAgQmNoLFxuICBCZXJhLFxuICBCbGQsXG4gIEJzYyxcbiAgQnNjVG9rZW4sXG4gIEJzdixcbiAgQnRjLFxuICBCdGcsXG4gIENlbG8sXG4gIENlbG9Ub2tlbixcbiAgQ29yZXVtLFxuICBDc3ByLFxuICBEYXNoLFxuICBEb2dlLFxuICBEb3QsXG4gIEVvcyxcbiAgRW9zVG9rZW4sXG4gIEVyYzIwVG9rZW4sXG4gIEV0YyxcbiAgRXRoLFxuICBFdGgyLFxuICBFdGh3LFxuICBGaWF0RXVyLFxuICBGaWF0R0JQLFxuICBGaWF0VXNkLFxuICBHdGV0aCxcbiAgSGFzaCxcbiAgSGJhcixcbiAgSHRldGgsXG4gIEluamVjdGl2ZSxcbiAgSXNsbSxcbiAgTHRjLFxuICBPZmMsXG4gIE9mY1Rva2VuLFxuICBPcGV0aCxcbiAgT3NtbyxcbiAgUG9seWdvbixcbiAgUG9seWdvblRva2VuLFxuICBSYnRjLFxuICBTZWksXG4gIFNvbCxcbiAgU3RlbGxhclRva2VuLFxuICBTdHgsXG4gIFN1aSxcbiAgU3VzZCxcbiAgVG9uLFxuICBUYWRhLFxuICBUYWxnbyxcbiAgVGFyYmV0aCxcbiAgVGF0b20sXG4gIFRhdmF4QyxcbiAgVGF2YXhQLFxuICBUYmNoLFxuICBUYmVyYSxcbiAgVGJsZCxcbiAgVGJzYyxcbiAgVGJzdixcbiAgVGJ0YyxcbiAgVGNlbG8sXG4gIFRjb3JldW0sXG4gIFRjc3ByLFxuICBUZGFzaCxcbiAgVGRvZ2UsXG4gIFRkb3QsXG4gIFRlb3MsXG4gIFRldGMsXG4gIFRldGgsXG4gIFRldGgyLFxuICBUZmlhdEV1cixcbiAgVGZpYXRHQlAsXG4gIFRmaWF0VXNkLFxuICBUaGFzaCxcbiAgVGhiYXIsXG4gIFRpYSxcbiAgVGluamVjdGl2ZSxcbiAgVGlzbG0sXG4gIFRsdGMsXG4gIFRvc21vLFxuICBUb3BldGgsXG4gIFRwb2x5Z29uLFxuICBUcmJ0YyxcbiAgVHJ4LFxuICBUc2VpLFxuICBUc29sLFxuICBUc3R4LFxuICBUc3VpLFxuICBUc3VzZCxcbiAgVHRpYSxcbiAgVHRvbixcbiAgVHRyeCxcbiAgVHhsbSxcbiAgVHhycCxcbiAgVHh0eixcbiAgVHplYyxcbiAgVHpldGEsXG4gIFhsbSxcbiAgWHJwLFxuICBYdHosXG4gIFplYyxcbiAgWmV0YSxcbn0gZnJvbSAnLi9jb2lucyc7XG5cbmZ1bmN0aW9uIHJlZ2lzdGVyQ29pbkNvbnN0cnVjdG9ycyhnbG9iYWxDb2luRmFjdG9yeTogQ29pbkZhY3RvcnkpOiB2b2lkIHtcbiAgZ2xvYmFsQ29pbkZhY3RvcnkucmVnaXN0ZXIoJ2FkYScsIEFkYS5jcmVhdGVJbnN0YW5jZSk7XG4gIGdsb2JhbENvaW5GYWN0b3J5LnJlZ2lzdGVyKCdhbGdvJywgQWxnby5jcmVhdGVJbnN0YW5jZSk7XG4gIGdsb2JhbENvaW5GYWN0b3J5LnJlZ2lzdGVyKCdhcmJldGgnLCBBcmJldGguY3JlYXRlSW5zdGFuY2UpO1xuICBnbG9iYWxDb2luRmFjdG9yeS5yZWdpc3RlcignYXRvbScsIEF0b20uY3JlYXRlSW5zdGFuY2UpO1xuICBnbG9iYWxDb2luRmFjdG9yeS5yZWdpc3RlcignYXZheGMnLCBBdmF4Qy5jcmVhdGVJbnN0YW5jZSk7XG4gIGdsb2JhbENvaW5GYWN0b3J5LnJlZ2lzdGVyKCdhdmF4cCcsIEF2YXhQLmNyZWF0ZUluc3RhbmNlKTtcbiAgZ2xvYmFsQ29pbkZhY3RvcnkucmVnaXN0ZXIoJ2JjaCcsIEJjaC5jcmVhdGVJbnN0YW5jZSk7XG4gIGdsb2JhbENvaW5GYWN0b3J5LnJlZ2lzdGVyKCdiY2hhJywgQmNoYS5jcmVhdGVJbnN0YW5jZSk7XG4gIGdsb2JhbENvaW5GYWN0b3J5LnJlZ2lzdGVyKCdiZXJhJywgQmVyYS5jcmVhdGVJbnN0YW5jZSk7XG4gIGdsb2JhbENvaW5GYWN0b3J5LnJlZ2lzdGVyKCdibGQnLCBCbGQuY3JlYXRlSW5zdGFuY2UpO1xuICBnbG9iYWxDb2luRmFjdG9yeS5yZWdpc3RlcignYnNjJywgQnNjLmNyZWF0ZUluc3RhbmNlKTtcbiAgZ2xvYmFsQ29pbkZhY3RvcnkucmVnaXN0ZXIoJ2JzdicsIEJzdi5jcmVhdGVJbnN0YW5jZSk7XG4gIGdsb2JhbENvaW5GYWN0b3J5LnJlZ2lzdGVyKCdidGMnLCBCdGMuY3JlYXRlSW5zdGFuY2UpO1xuICBnbG9iYWxDb2luRmFjdG9yeS5yZWdpc3RlcignYnRnJywgQnRnLmNyZWF0ZUluc3RhbmNlKTtcbiAgZ2xvYmFsQ29pbkZhY3RvcnkucmVnaXN0ZXIoJ2NlbG8nLCBDZWxvLmNyZWF0ZUluc3RhbmNlKTtcbiAgZ2xvYmFsQ29pbkZhY3RvcnkucmVnaXN0ZXIoJ2NvcmV1bScsIENvcmV1bS5jcmVhdGVJbnN0YW5jZSk7XG4gIGdsb2JhbENvaW5GYWN0b3J5LnJlZ2lzdGVyKCdjc3ByJywgQ3Nwci5jcmVhdGVJbnN0YW5jZSk7XG4gIGdsb2JhbENvaW5GYWN0b3J5LnJlZ2lzdGVyKCdkYXNoJywgRGFzaC5jcmVhdGVJbnN0YW5jZSk7XG4gIGdsb2JhbENvaW5GYWN0b3J5LnJlZ2lzdGVyKCdkb2dlJywgRG9nZS5jcmVhdGVJbnN0YW5jZSk7XG4gIGdsb2JhbENvaW5GYWN0b3J5LnJlZ2lzdGVyKCdkb3QnLCBEb3QuY3JlYXRlSW5zdGFuY2UpO1xuICBnbG9iYWxDb2luRmFjdG9yeS5yZWdpc3RlcignZW9zJywgRW9zLmNyZWF0ZUluc3RhbmNlKTtcbiAgZ2xvYmFsQ29pbkZhY3RvcnkucmVnaXN0ZXIoJ2V0YycsIEV0Yy5jcmVhdGVJbnN0YW5jZSk7XG4gIGdsb2JhbENvaW5GYWN0b3J5LnJlZ2lzdGVyKCdldGgnLCBFdGguY3JlYXRlSW5zdGFuY2UpO1xuICBnbG9iYWxDb2luRmFjdG9yeS5yZWdpc3RlcignZXRoMicsIEV0aDIuY3JlYXRlSW5zdGFuY2UpO1xuICBnbG9iYWxDb2luRmFjdG9yeS5yZWdpc3RlcignZXRodycsIEV0aHcuY3JlYXRlSW5zdGFuY2UpO1xuICBnbG9iYWxDb2luRmFjdG9yeS5yZWdpc3RlcignZmlhdGV1cicsIEZpYXRFdXIuY3JlYXRlSW5zdGFuY2UpO1xuICBnbG9iYWxDb2luRmFjdG9yeS5yZWdpc3RlcignZmlhdGdicCcsIEZpYXRHQlAuY3JlYXRlSW5zdGFuY2UpO1xuICBnbG9iYWxDb2luRmFjdG9yeS5yZWdpc3RlcignZmlhdHVzZCcsIEZpYXRVc2QuY3JlYXRlSW5zdGFuY2UpO1xuICBnbG9iYWxDb2luRmFjdG9yeS5yZWdpc3RlcignZ3RldGgnLCBHdGV0aC5jcmVhdGVJbnN0YW5jZSk7XG4gIGdsb2JhbENvaW5GYWN0b3J5LnJlZ2lzdGVyKCdoYXNoJywgSGFzaC5jcmVhdGVJbnN0YW5jZSk7XG4gIGdsb2JhbENvaW5GYWN0b3J5LnJlZ2lzdGVyKCdoYmFyJywgSGJhci5jcmVhdGVJbnN0YW5jZSk7XG4gIGdsb2JhbENvaW5GYWN0b3J5LnJlZ2lzdGVyKCdodGV0aCcsIEh0ZXRoLmNyZWF0ZUluc3RhbmNlKTtcbiAgZ2xvYmFsQ29pbkZhY3RvcnkucmVnaXN0ZXIoJ2x0YycsIEx0Yy5jcmVhdGVJbnN0YW5jZSk7XG4gIGdsb2JhbENvaW5GYWN0b3J5LnJlZ2lzdGVyKCdpbmplY3RpdmUnLCBJbmplY3RpdmUuY3JlYXRlSW5zdGFuY2UpO1xuICBnbG9iYWxDb2luRmFjdG9yeS5yZWdpc3RlcignaXNsbScsIElzbG0uY3JlYXRlSW5zdGFuY2UpO1xuICBnbG9iYWxDb2luRmFjdG9yeS5yZWdpc3RlcignbmVhcicsIE5lYXIuY3JlYXRlSW5zdGFuY2UpO1xuICBnbG9iYWxDb2luRmFjdG9yeS5yZWdpc3Rlcignb2ZjJywgT2ZjLmNyZWF0ZUluc3RhbmNlKTtcbiAgZ2xvYmFsQ29pbkZhY3RvcnkucmVnaXN0ZXIoJ29wZXRoJywgT3BldGguY3JlYXRlSW5zdGFuY2UpO1xuICBnbG9iYWxDb2luRmFjdG9yeS5yZWdpc3Rlcignb3NtbycsIE9zbW8uY3JlYXRlSW5zdGFuY2UpO1xuICBnbG9iYWxDb2luRmFjdG9yeS5yZWdpc3RlcigncG9seWdvbicsIFBvbHlnb24uY3JlYXRlSW5zdGFuY2UpO1xuICBnbG9iYWxDb2luRmFjdG9yeS5yZWdpc3RlcigncmJ0YycsIFJidGMuY3JlYXRlSW5zdGFuY2UpO1xuICBnbG9iYWxDb2luRmFjdG9yeS5yZWdpc3Rlcignc2VpJywgU2VpLmNyZWF0ZUluc3RhbmNlKTtcbiAgZ2xvYmFsQ29pbkZhY3RvcnkucmVnaXN0ZXIoJ3NvbCcsIFNvbC5jcmVhdGVJbnN0YW5jZSk7XG4gIGdsb2JhbENvaW5GYWN0b3J5LnJlZ2lzdGVyKCdzdHgnLCBTdHguY3JlYXRlSW5zdGFuY2UpO1xuICBnbG9iYWxDb2luRmFjdG9yeS5yZWdpc3Rlcignc3VpJywgU3VpLmNyZWF0ZUluc3RhbmNlKTtcbiAgZ2xvYmFsQ29pbkZhY3RvcnkucmVnaXN0ZXIoJ3N1c2QnLCBTdXNkLmNyZWF0ZUluc3RhbmNlKTtcbiAgZ2xvYmFsQ29pbkZhY3RvcnkucmVnaXN0ZXIoJ3RpYScsIFRpYS5jcmVhdGVJbnN0YW5jZSk7XG4gIGdsb2JhbENvaW5GYWN0b3J5LnJlZ2lzdGVyKCd0b24nLCBUb24uY3JlYXRlSW5zdGFuY2UpO1xuICBnbG9iYWxDb2luRmFjdG9yeS5yZWdpc3RlcigndGFsZ28nLCBUYWxnby5jcmVhdGVJbnN0YW5jZSk7XG4gIGdsb2JhbENvaW5GYWN0b3J5LnJlZ2lzdGVyKCd0YXJiZXRoJywgVGFyYmV0aC5jcmVhdGVJbnN0YW5jZSk7XG4gIGdsb2JhbENvaW5GYWN0b3J5LnJlZ2lzdGVyKCd0YWRhJywgVGFkYS5jcmVhdGVJbnN0YW5jZSk7XG4gIGdsb2JhbENvaW5GYWN0b3J5LnJlZ2lzdGVyKCd0YXRvbScsIFRhdG9tLmNyZWF0ZUluc3RhbmNlKTtcbiAgZ2xvYmFsQ29pbkZhY3RvcnkucmVnaXN0ZXIoJ3RhdmF4YycsIFRhdmF4Qy5jcmVhdGVJbnN0YW5jZSk7XG4gIGdsb2JhbENvaW5GYWN0b3J5LnJlZ2lzdGVyKCd0YXZheHAnLCBUYXZheFAuY3JlYXRlSW5zdGFuY2UpO1xuICBnbG9iYWxDb2luRmFjdG9yeS5yZWdpc3RlcigndGJjaCcsIFRiY2guY3JlYXRlSW5zdGFuY2UpO1xuICBnbG9iYWxDb2luRmFjdG9yeS5yZWdpc3RlcigndGJjaGEnLCBUYmNoYS5jcmVhdGVJbnN0YW5jZSk7XG4gIGdsb2JhbENvaW5GYWN0b3J5LnJlZ2lzdGVyKCd0YmVyYScsIFRiZXJhLmNyZWF0ZUluc3RhbmNlKTtcbiAgZ2xvYmFsQ29pbkZhY3RvcnkucmVnaXN0ZXIoJ3RibGQnLCBUYmxkLmNyZWF0ZUluc3RhbmNlKTtcbiAgZ2xvYmFsQ29pbkZhY3RvcnkucmVnaXN0ZXIoJ3Ric2MnLCBUYnNjLmNyZWF0ZUluc3RhbmNlKTtcbiAgZ2xvYmFsQ29pbkZhY3RvcnkucmVnaXN0ZXIoJ3Ric3YnLCBUYnN2LmNyZWF0ZUluc3RhbmNlKTtcbiAgZ2xvYmFsQ29pbkZhY3RvcnkucmVnaXN0ZXIoJ3RidGMnLCBUYnRjLmNyZWF0ZUluc3RhbmNlKTtcbiAgZ2xvYmFsQ29pbkZhY3RvcnkucmVnaXN0ZXIoJ3RjZWxvJywgVGNlbG8uY3JlYXRlSW5zdGFuY2UpO1xuICBnbG9iYWxDb2luRmFjdG9yeS5yZWdpc3RlcigndGNvcmV1bScsIFRjb3JldW0uY3JlYXRlSW5zdGFuY2UpO1xuICBnbG9iYWxDb2luRmFjdG9yeS5yZWdpc3RlcigndGNzcHInLCBUY3Nwci5jcmVhdGVJbnN0YW5jZSk7XG4gIGdsb2JhbENvaW5GYWN0b3J5LnJlZ2lzdGVyKCd0ZGFzaCcsIFRkYXNoLmNyZWF0ZUluc3RhbmNlKTtcbiAgZ2xvYmFsQ29pbkZhY3RvcnkucmVnaXN0ZXIoJ3Rkb2dlJywgVGRvZ2UuY3JlYXRlSW5zdGFuY2UpO1xuICBnbG9iYWxDb2luRmFjdG9yeS5yZWdpc3RlcigndGRvdCcsIFRkb3QuY3JlYXRlSW5zdGFuY2UpO1xuICBnbG9iYWxDb2luRmFjdG9yeS5yZWdpc3RlcigndGVvcycsIFRlb3MuY3JlYXRlSW5zdGFuY2UpO1xuICBnbG9iYWxDb2luRmFjdG9yeS5yZWdpc3RlcigndGV0YycsIFRldGMuY3JlYXRlSW5zdGFuY2UpO1xuICBnbG9iYWxDb2luRmFjdG9yeS5yZWdpc3RlcigndGV0aCcsIFRldGguY3JlYXRlSW5zdGFuY2UpO1xuICBnbG9iYWxDb2luRmFjdG9yeS5yZWdpc3RlcigndGV0aDInLCBUZXRoMi5jcmVhdGVJbnN0YW5jZSk7XG4gIGdsb2JhbENvaW5GYWN0b3J5LnJlZ2lzdGVyKCd0ZmlhdGV1cicsIFRmaWF0RXVyLmNyZWF0ZUluc3RhbmNlKTtcbiAgZ2xvYmFsQ29pbkZhY3RvcnkucmVnaXN0ZXIoJ3RmaWF0Z2JwJywgVGZpYXRHQlAuY3JlYXRlSW5zdGFuY2UpO1xuICBnbG9iYWxDb2luRmFjdG9yeS5yZWdpc3RlcigndGZpYXR1c2QnLCBUZmlhdFVzZC5jcmVhdGVJbnN0YW5jZSk7XG4gIGdsb2JhbENvaW5GYWN0b3J5LnJlZ2lzdGVyKCd0aGFzaCcsIFRoYXNoLmNyZWF0ZUluc3RhbmNlKTtcbiAgZ2xvYmFsQ29pbkZhY3RvcnkucmVnaXN0ZXIoJ3RoYmFyJywgVGhiYXIuY3JlYXRlSW5zdGFuY2UpO1xuICBnbG9iYWxDb2luRmFjdG9yeS5yZWdpc3RlcigndGluamVjdGl2ZScsIFRpbmplY3RpdmUuY3JlYXRlSW5zdGFuY2UpO1xuICBnbG9iYWxDb2luRmFjdG9yeS5yZWdpc3RlcigndGlzbG0nLCBUaXNsbS5jcmVhdGVJbnN0YW5jZSk7XG4gIGdsb2JhbENvaW5GYWN0b3J5LnJlZ2lzdGVyKCd0bHRjJywgVGx0Yy5jcmVhdGVJbnN0YW5jZSk7XG4gIGdsb2JhbENvaW5GYWN0b3J5LnJlZ2lzdGVyKCd0bmVhcicsIFROZWFyLmNyZWF0ZUluc3RhbmNlKTtcbiAgZ2xvYmFsQ29pbkZhY3RvcnkucmVnaXN0ZXIoJ3RvcGV0aCcsIFRvcGV0aC5jcmVhdGVJbnN0YW5jZSk7XG4gIGdsb2JhbENvaW5GYWN0b3J5LnJlZ2lzdGVyKCd0b3NtbycsIFRvc21vLmNyZWF0ZUluc3RhbmNlKTtcbiAgZ2xvYmFsQ29pbkZhY3RvcnkucmVnaXN0ZXIoJ3Rwb2x5Z29uJywgVHBvbHlnb24uY3JlYXRlSW5zdGFuY2UpO1xuICBnbG9iYWxDb2luRmFjdG9yeS5yZWdpc3RlcigndHJidGMnLCBUcmJ0Yy5jcmVhdGVJbnN0YW5jZSk7XG4gIGdsb2JhbENvaW5GYWN0b3J5LnJlZ2lzdGVyKCd0cngnLCBUcnguY3JlYXRlSW5zdGFuY2UpO1xuICBnbG9iYWxDb2luRmFjdG9yeS5yZWdpc3RlcigndHNlaScsIFRzZWkuY3JlYXRlSW5zdGFuY2UpO1xuICBnbG9iYWxDb2luRmFjdG9yeS5yZWdpc3RlcigndHNvbCcsIFRzb2wuY3JlYXRlSW5zdGFuY2UpO1xuICBnbG9iYWxDb2luRmFjdG9yeS5yZWdpc3RlcigndHN0eCcsIFRzdHguY3JlYXRlSW5zdGFuY2UpO1xuICBnbG9iYWxDb2luRmFjdG9yeS5yZWdpc3RlcigndHN1aScsIFRzdWkuY3JlYXRlSW5zdGFuY2UpO1xuICBnbG9iYWxDb2luRmFjdG9yeS5yZWdpc3RlcigndHN1c2QnLCBUc3VzZC5jcmVhdGVJbnN0YW5jZSk7XG4gIGdsb2JhbENvaW5GYWN0b3J5LnJlZ2lzdGVyKCd0dGlhJywgVHRpYS5jcmVhdGVJbnN0YW5jZSk7XG4gIGdsb2JhbENvaW5GYWN0b3J5LnJlZ2lzdGVyKCd0dG9uJywgVHRvbi5jcmVhdGVJbnN0YW5jZSk7XG4gIGdsb2JhbENvaW5GYWN0b3J5LnJlZ2lzdGVyKCd0dHJ4JywgVHRyeC5jcmVhdGVJbnN0YW5jZSk7XG4gIGdsb2JhbENvaW5GYWN0b3J5LnJlZ2lzdGVyKCd0eGxtJywgVHhsbS5jcmVhdGVJbnN0YW5jZSk7XG4gIGdsb2JhbENvaW5GYWN0b3J5LnJlZ2lzdGVyKCd0eHJwJywgVHhycC5jcmVhdGVJbnN0YW5jZSk7XG4gIGdsb2JhbENvaW5GYWN0b3J5LnJlZ2lzdGVyKCd0eHR6JywgVHh0ei5jcmVhdGVJbnN0YW5jZSk7XG4gIGdsb2JhbENvaW5GYWN0b3J5LnJlZ2lzdGVyKCd0emVjJywgVHplYy5jcmVhdGVJbnN0YW5jZSk7XG4gIGdsb2JhbENvaW5GYWN0b3J5LnJlZ2lzdGVyKCd0emV0YScsIFR6ZXRhLmNyZWF0ZUluc3RhbmNlKTtcbiAgZ2xvYmFsQ29pbkZhY3RvcnkucmVnaXN0ZXIoJ3hsbScsIFhsbS5jcmVhdGVJbnN0YW5jZSk7XG4gIGdsb2JhbENvaW5GYWN0b3J5LnJlZ2lzdGVyKCd4cnAnLCBYcnAuY3JlYXRlSW5zdGFuY2UpO1xuICBnbG9iYWxDb2luRmFjdG9yeS5yZWdpc3RlcigneHR6JywgWHR6LmNyZWF0ZUluc3RhbmNlKTtcbiAgZ2xvYmFsQ29pbkZhY3RvcnkucmVnaXN0ZXIoJ3plYycsIFplYy5jcmVhdGVJbnN0YW5jZSk7XG4gIGdsb2JhbENvaW5GYWN0b3J5LnJlZ2lzdGVyKCd6ZXRhJywgWmV0YS5jcmVhdGVJbnN0YW5jZSk7XG5cbiAgRXJjMjBUb2tlbi5jcmVhdGVUb2tlbkNvbnN0cnVjdG9ycygpLmZvckVhY2goKHsgbmFtZSwgY29pbkNvbnN0cnVjdG9yIH0pID0+IHtcbiAgICBnbG9iYWxDb2luRmFjdG9yeS5yZWdpc3RlcihuYW1lLCBjb2luQ29uc3RydWN0b3IpO1xuICB9KTtcblxuICBTdGVsbGFyVG9rZW4uY3JlYXRlVG9rZW5Db25zdHJ1Y3RvcnMoKS5mb3JFYWNoKCh7IG5hbWUsIGNvaW5Db25zdHJ1Y3RvciB9KSA9PiB7XG4gICAgZ2xvYmFsQ29pbkZhY3RvcnkucmVnaXN0ZXIobmFtZSwgY29pbkNvbnN0cnVjdG9yKTtcbiAgfSk7XG5cbiAgZm9yIChjb25zdCBvZmNUb2tlbiBvZiBbLi4udG9rZW5zLmJpdGNvaW4ub2ZjLnRva2VucywgLi4udG9rZW5zLnRlc3RuZXQub2ZjLnRva2Vuc10pIHtcbiAgICBjb25zdCB0b2tlbkNvbnN0cnVjdG9yID0gT2ZjVG9rZW4uY3JlYXRlVG9rZW5Db25zdHJ1Y3RvcihvZmNUb2tlbik7XG4gICAgZ2xvYmFsQ29pbkZhY3RvcnkucmVnaXN0ZXIob2ZjVG9rZW4udHlwZSwgdG9rZW5Db25zdHJ1Y3Rvcik7XG4gIH1cblxuICBDZWxvVG9rZW4uY3JlYXRlVG9rZW5Db25zdHJ1Y3RvcnMoKS5mb3JFYWNoKCh7IG5hbWUsIGNvaW5Db25zdHJ1Y3RvciB9KSA9PiB7XG4gICAgZ2xvYmFsQ29pbkZhY3RvcnkucmVnaXN0ZXIobmFtZSwgY29pbkNvbnN0cnVjdG9yKTtcbiAgfSk7XG5cbiAgQnNjVG9rZW4uY3JlYXRlVG9rZW5Db25zdHJ1Y3RvcnMoKS5mb3JFYWNoKCh7IG5hbWUsIGNvaW5Db25zdHJ1Y3RvciB9KSA9PiB7XG4gICAgZ2xvYmFsQ29pbkZhY3RvcnkucmVnaXN0ZXIobmFtZSwgY29pbkNvbnN0cnVjdG9yKTtcbiAgfSk7XG5cbiAgRW9zVG9rZW4uY3JlYXRlVG9rZW5Db25zdHJ1Y3RvcnMoKS5mb3JFYWNoKCh7IG5hbWUsIGNvaW5Db25zdHJ1Y3RvciB9KSA9PiB7XG4gICAgZ2xvYmFsQ29pbkZhY3RvcnkucmVnaXN0ZXIobmFtZSwgY29pbkNvbnN0cnVjdG9yKTtcbiAgfSk7XG5cbiAgQWxnb1Rva2VuLmNyZWF0ZVRva2VuQ29uc3RydWN0b3JzKCkuZm9yRWFjaCgoeyBuYW1lLCBjb2luQ29uc3RydWN0b3IgfSkgPT4ge1xuICAgIGdsb2JhbENvaW5GYWN0b3J5LnJlZ2lzdGVyKG5hbWUsIGNvaW5Db25zdHJ1Y3Rvcik7XG4gIH0pO1xuXG4gIEF2YXhDVG9rZW4uY3JlYXRlVG9rZW5Db25zdHJ1Y3RvcnMoKS5mb3JFYWNoKCh7IG5hbWUsIGNvaW5Db25zdHJ1Y3RvciB9KSA9PiB7XG4gICAgZ2xvYmFsQ29pbkZhY3RvcnkucmVnaXN0ZXIobmFtZSwgY29pbkNvbnN0cnVjdG9yKTtcbiAgfSk7XG5cbiAgUG9seWdvblRva2VuLmNyZWF0ZVRva2VuQ29uc3RydWN0b3JzKCkuZm9yRWFjaCgoeyBuYW1lLCBjb2luQ29uc3RydWN0b3IgfSkgPT4ge1xuICAgIGdsb2JhbENvaW5GYWN0b3J5LnJlZ2lzdGVyKG5hbWUsIGNvaW5Db25zdHJ1Y3Rvcik7XG4gIH0pO1xuXG4gIEFyYmV0aFRva2VuLmNyZWF0ZVRva2VuQ29uc3RydWN0b3JzKCkuZm9yRWFjaCgoeyBuYW1lLCBjb2luQ29uc3RydWN0b3IgfSkgPT4ge1xuICAgIGdsb2JhbENvaW5GYWN0b3J5LnJlZ2lzdGVyKG5hbWUsIGNvaW5Db25zdHJ1Y3Rvcik7XG4gIH0pO1xuXG4gIFNvbFRva2VuLmNyZWF0ZVRva2VuQ29uc3RydWN0b3JzKCkuZm9yRWFjaCgoeyBuYW1lLCBjb2luQ29uc3RydWN0b3IgfSkgPT4ge1xuICAgIGdsb2JhbENvaW5GYWN0b3J5LnJlZ2lzdGVyKG5hbWUsIGNvaW5Db25zdHJ1Y3Rvcik7XG4gIH0pO1xuXG4gIEhiYXJUb2tlbi5jcmVhdGVUb2tlbkNvbnN0cnVjdG9ycygpLmZvckVhY2goKHsgbmFtZSwgY29pbkNvbnN0cnVjdG9yIH0pID0+IHtcbiAgICBnbG9iYWxDb2luRmFjdG9yeS5yZWdpc3RlcihuYW1lLCBjb2luQ29uc3RydWN0b3IpO1xuICB9KTtcblxuICBUcnhUb2tlbi5jcmVhdGVUb2tlbkNvbnN0cnVjdG9ycygpLmZvckVhY2goKHsgbmFtZSwgY29pbkNvbnN0cnVjdG9yIH0pID0+IHtcbiAgICBnbG9iYWxDb2luRmFjdG9yeS5yZWdpc3RlcihuYW1lLCBjb2luQ29uc3RydWN0b3IpO1xuICB9KTtcblxuICBBZGFUb2tlbi5jcmVhdGVUb2tlbkNvbnN0cnVjdG9ycygpLmZvckVhY2goKHsgbmFtZSwgY29pbkNvbnN0cnVjdG9yIH0pID0+XG4gICAgZ2xvYmFsQ29pbkZhY3RvcnkucmVnaXN0ZXIobmFtZSwgY29pbkNvbnN0cnVjdG9yKVxuICApO1xufVxuXG5jb25zdCBHbG9iYWxDb2luRmFjdG9yeTogQ29pbkZhY3RvcnkgPSBuZXcgQ29pbkZhY3RvcnkoKTtcblxucmVnaXN0ZXJDb2luQ29uc3RydWN0b3JzKEdsb2JhbENvaW5GYWN0b3J5KTtcblxuZXhwb3J0IGRlZmF1bHQgR2xvYmFsQ29pbkZhY3Rvcnk7XG4iXX0=