@zcomb/programs-sdk 1.11.0 → 1.11.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1,23 +1 @@
1
- "use strict";
2
- /*
3
- * Constants for the Futarchy program.
4
- * Parsed from the generated IDL to stay in sync with the Rust program.
5
- */
6
- Object.defineProperty(exports, "__esModule", { value: true });
7
- exports.MINT_CREATE_KEY_SEED = exports.SQUADS_PROGRAM_ID = exports.MIN_OPTIONS = exports.MAX_OPTIONS = exports.PROPOSAL_SEED = exports.MODERATOR_SEED = exports.DAO_SEED = exports.PROGRAM_ID = void 0;
8
- const web3_js_1 = require("@solana/web3.js");
9
- const idls_1 = require("../generated/idls");
10
- const utils_1 = require("../utils");
11
- /* Program ID */
12
- exports.PROGRAM_ID = new web3_js_1.PublicKey(idls_1.FutarchyIDL.address);
13
- /* PDA Seeds */
14
- exports.DAO_SEED = (0, utils_1.parseIdlBytes)((0, utils_1.getIdlConstant)(idls_1.FutarchyIDL, "DAO_SEED"));
15
- exports.MODERATOR_SEED = (0, utils_1.parseIdlBytes)((0, utils_1.getIdlConstant)(idls_1.FutarchyIDL, "MODERATOR_SEED"));
16
- exports.PROPOSAL_SEED = (0, utils_1.parseIdlBytes)((0, utils_1.getIdlConstant)(idls_1.FutarchyIDL, "PROPOSAL_SEED"));
17
- /* Numeric Constants */
18
- exports.MAX_OPTIONS = Number((0, utils_1.getIdlConstant)(idls_1.FutarchyIDL, "MAX_OPTIONS"));
19
- exports.MIN_OPTIONS = Number((0, utils_1.getIdlConstant)(idls_1.FutarchyIDL, "MIN_OPTIONS"));
20
- /* Squads Integration */
21
- exports.SQUADS_PROGRAM_ID = new web3_js_1.PublicKey("SQDS4ep65T869zMMBKyuUq6aD6EgTu8psMjkvj52pCf");
22
- exports.MINT_CREATE_KEY_SEED = (0, utils_1.parseIdlBytes)((0, utils_1.getIdlConstant)(idls_1.FutarchyIDL, "MINT_CREATE_KEY_SEED"));
23
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29uc3RhbnRzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL2Z1dGFyY2h5L2NvbnN0YW50cy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUE7OztHQUdHOzs7QUFFSCw2Q0FBNEM7QUFDNUMsNENBQWdEO0FBQ2hELG9DQUF5RDtBQUV6RCxnQkFBZ0I7QUFFSCxRQUFBLFVBQVUsR0FBRyxJQUFJLG1CQUFTLENBQUMsa0JBQVcsQ0FBQyxPQUFPLENBQUMsQ0FBQztBQUU3RCxlQUFlO0FBRUYsUUFBQSxRQUFRLEdBQUcsSUFBQSxxQkFBYSxFQUFDLElBQUEsc0JBQWMsRUFBQyxrQkFBVyxFQUFFLFVBQVUsQ0FBQyxDQUFDLENBQUM7QUFDbEUsUUFBQSxjQUFjLEdBQUcsSUFBQSxxQkFBYSxFQUFDLElBQUEsc0JBQWMsRUFBQyxrQkFBVyxFQUFFLGdCQUFnQixDQUFDLENBQUMsQ0FBQztBQUM5RSxRQUFBLGFBQWEsR0FBRyxJQUFBLHFCQUFhLEVBQUMsSUFBQSxzQkFBYyxFQUFDLGtCQUFXLEVBQUUsZUFBZSxDQUFDLENBQUMsQ0FBQztBQUV6Rix1QkFBdUI7QUFFVixRQUFBLFdBQVcsR0FBRyxNQUFNLENBQUMsSUFBQSxzQkFBYyxFQUFDLGtCQUFXLEVBQUUsYUFBYSxDQUFDLENBQUMsQ0FBQztBQUNqRSxRQUFBLFdBQVcsR0FBRyxNQUFNLENBQUMsSUFBQSxzQkFBYyxFQUFDLGtCQUFXLEVBQUUsYUFBYSxDQUFDLENBQUMsQ0FBQztBQUU5RSx3QkFBd0I7QUFFWCxRQUFBLGlCQUFpQixHQUFHLElBQUksbUJBQVMsQ0FBQyw2Q0FBNkMsQ0FBQyxDQUFDO0FBQ2pGLFFBQUEsb0JBQW9CLEdBQUcsSUFBQSxxQkFBYSxFQUFDLElBQUEsc0JBQWMsRUFBQyxrQkFBVyxFQUFFLHNCQUFzQixDQUFDLENBQUMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8qXG4gKiBDb25zdGFudHMgZm9yIHRoZSBGdXRhcmNoeSBwcm9ncmFtLlxuICogUGFyc2VkIGZyb20gdGhlIGdlbmVyYXRlZCBJREwgdG8gc3RheSBpbiBzeW5jIHdpdGggdGhlIFJ1c3QgcHJvZ3JhbS5cbiAqL1xuXG5pbXBvcnQgeyBQdWJsaWNLZXkgfSBmcm9tIFwiQHNvbGFuYS93ZWIzLmpzXCI7XG5pbXBvcnQgeyBGdXRhcmNoeUlETCB9IGZyb20gXCIuLi9nZW5lcmF0ZWQvaWRsc1wiO1xuaW1wb3J0IHsgcGFyc2VJZGxCeXRlcywgZ2V0SWRsQ29uc3RhbnQgfSBmcm9tIFwiLi4vdXRpbHNcIjtcblxuLyogUHJvZ3JhbSBJRCAqL1xuXG5leHBvcnQgY29uc3QgUFJPR1JBTV9JRCA9IG5ldyBQdWJsaWNLZXkoRnV0YXJjaHlJREwuYWRkcmVzcyk7XG5cbi8qIFBEQSBTZWVkcyAqL1xuXG5leHBvcnQgY29uc3QgREFPX1NFRUQgPSBwYXJzZUlkbEJ5dGVzKGdldElkbENvbnN0YW50KEZ1dGFyY2h5SURMLCBcIkRBT19TRUVEXCIpKTtcbmV4cG9ydCBjb25zdCBNT0RFUkFUT1JfU0VFRCA9IHBhcnNlSWRsQnl0ZXMoZ2V0SWRsQ29uc3RhbnQoRnV0YXJjaHlJREwsIFwiTU9ERVJBVE9SX1NFRURcIikpO1xuZXhwb3J0IGNvbnN0IFBST1BPU0FMX1NFRUQgPSBwYXJzZUlkbEJ5dGVzKGdldElkbENvbnN0YW50KEZ1dGFyY2h5SURMLCBcIlBST1BPU0FMX1NFRURcIikpO1xuXG4vKiBOdW1lcmljIENvbnN0YW50cyAqL1xuXG5leHBvcnQgY29uc3QgTUFYX09QVElPTlMgPSBOdW1iZXIoZ2V0SWRsQ29uc3RhbnQoRnV0YXJjaHlJREwsIFwiTUFYX09QVElPTlNcIikpO1xuZXhwb3J0IGNvbnN0IE1JTl9PUFRJT05TID0gTnVtYmVyKGdldElkbENvbnN0YW50KEZ1dGFyY2h5SURMLCBcIk1JTl9PUFRJT05TXCIpKTtcblxuLyogU3F1YWRzIEludGVncmF0aW9uICovXG5cbmV4cG9ydCBjb25zdCBTUVVBRFNfUFJPR1JBTV9JRCA9IG5ldyBQdWJsaWNLZXkoXCJTUURTNGVwNjVUODY5ek1NQkt5dVVxNmFENkVnVHU4cHNNamt2ajUycENmXCIpO1xuZXhwb3J0IGNvbnN0IE1JTlRfQ1JFQVRFX0tFWV9TRUVEID0gcGFyc2VJZGxCeXRlcyhnZXRJZGxDb25zdGFudChGdXRhcmNoeUlETCwgXCJNSU5UX0NSRUFURV9LRVlfU0VFRFwiKSk7XG4iXX0=
1
+ "use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.MINT_CREATE_KEY_SEED=exports.SQUADS_PROGRAM_ID=exports.MIN_OPTIONS=exports.MAX_OPTIONS=exports.PROPOSAL_SEED=exports.MODERATOR_SEED=exports.DAO_SEED=exports.PROGRAM_ID=void 0;const web3_js_1=require("@solana/web3.js"),idls_1=require("../generated/idls"),utils_1=require("../utils");exports.PROGRAM_ID=new web3_js_1.PublicKey(idls_1.FutarchyIDL.address),exports.DAO_SEED=(0,utils_1.parseIdlBytes)((0,utils_1.getIdlConstant)(idls_1.FutarchyIDL,"DAO_SEED")),exports.MODERATOR_SEED=(0,utils_1.parseIdlBytes)((0,utils_1.getIdlConstant)(idls_1.FutarchyIDL,"MODERATOR_SEED")),exports.PROPOSAL_SEED=(0,utils_1.parseIdlBytes)((0,utils_1.getIdlConstant)(idls_1.FutarchyIDL,"PROPOSAL_SEED")),exports.MAX_OPTIONS=Number((0,utils_1.getIdlConstant)(idls_1.FutarchyIDL,"MAX_OPTIONS")),exports.MIN_OPTIONS=Number((0,utils_1.getIdlConstant)(idls_1.FutarchyIDL,"MIN_OPTIONS")),exports.SQUADS_PROGRAM_ID=new web3_js_1.PublicKey("SQDS4ep65T869zMMBKyuUq6aD6EgTu8psMjkvj52pCf"),exports.MINT_CREATE_KEY_SEED=(0,utils_1.parseIdlBytes)((0,utils_1.getIdlConstant)(idls_1.FutarchyIDL,"MINT_CREATE_KEY_SEED"));
@@ -1,22 +1 @@
1
- "use strict";
2
- var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
- if (k2 === undefined) k2 = k;
4
- var desc = Object.getOwnPropertyDescriptor(m, k);
5
- if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
- desc = { enumerable: true, get: function() { return m[k]; } };
7
- }
8
- Object.defineProperty(o, k2, desc);
9
- }) : (function(o, m, k, k2) {
10
- if (k2 === undefined) k2 = k;
11
- o[k2] = m[k];
12
- }));
13
- var __exportStar = (this && this.__exportStar) || function(m, exports) {
14
- for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
15
- };
16
- Object.defineProperty(exports, "__esModule", { value: true });
17
- __exportStar(require("./constants"), exports);
18
- __exportStar(require("./types"), exports);
19
- __exportStar(require("./utils"), exports);
20
- __exportStar(require("./instructions"), exports);
21
- __exportStar(require("./client"), exports);
22
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvZnV0YXJjaHkvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7OztBQUFBLDhDQUE0QjtBQUM1QiwwQ0FBd0I7QUFDeEIsMENBQXdCO0FBQ3hCLGlEQUErQjtBQUMvQiwyQ0FBeUIiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgKiBmcm9tIFwiLi9jb25zdGFudHNcIjtcbmV4cG9ydCAqIGZyb20gXCIuL3R5cGVzXCI7XG5leHBvcnQgKiBmcm9tIFwiLi91dGlsc1wiO1xuZXhwb3J0ICogZnJvbSBcIi4vaW5zdHJ1Y3Rpb25zXCI7XG5leHBvcnQgKiBmcm9tIFwiLi9jbGllbnRcIjtcbiJdfQ==
1
+ "use strict";var __createBinding=this&&this.__createBinding||(Object.create?function(e,t,r,i){void 0===i&&(i=r);var o=Object.getOwnPropertyDescriptor(t,r);o&&!("get"in o?!t.__esModule:o.writable||o.configurable)||(o={enumerable:!0,get:function(){return t[r]}}),Object.defineProperty(e,i,o)}:function(e,t,r,i){void 0===i&&(i=r),e[i]=t[r]}),__exportStar=this&&this.__exportStar||function(e,t){for(var r in e)"default"===r||Object.prototype.hasOwnProperty.call(t,r)||__createBinding(t,e,r)};Object.defineProperty(exports,"__esModule",{value:!0}),__exportStar(require("./constants"),exports),__exportStar(require("./types"),exports),__exportStar(require("./utils"),exports),__exportStar(require("./instructions"),exports),__exportStar(require("./client"),exports);
@@ -1,162 +1 @@
1
- "use strict";
2
- /*
3
- * Low-level instruction builders for the Futarchy program.
4
- * These are thin wrappers around the program methods - use FutarchyClient for higher-level operations.
5
- */
6
- Object.defineProperty(exports, "__esModule", { value: true });
7
- exports.initializeModerator = initializeModerator;
8
- exports.initializeProposal = initializeProposal;
9
- exports.addOption = addOption;
10
- exports.launchProposal = launchProposal;
11
- exports.finalizeProposal = finalizeProposal;
12
- exports.redeemLiquidity = redeemLiquidity;
13
- exports.addHistoricalProposal = addHistoricalProposal;
14
- exports.initializeParentDAO = initializeParentDAO;
15
- exports.initializeChildDAO = initializeChildDAO;
16
- exports.upgradeDAO = upgradeDAO;
17
- exports.addHistoricalParentDAO = addHistoricalParentDAO;
18
- exports.transferAdmin = transferAdmin;
19
- const anchor_1 = require("@coral-xyz/anchor");
20
- /* Instruction Builders */
21
- function initializeModerator(program, admin, baseMint, quoteMint, moderator, name) {
22
- return program.methods.initializeModerator(name).accountsPartial({
23
- admin,
24
- baseMint,
25
- quoteMint,
26
- moderator,
27
- });
28
- }
29
- function initializeProposal(program, creator, moderator, proposal, proposalParams, metadata, remainingAccounts) {
30
- return program.methods
31
- .initializeProposal(proposalParams, metadata)
32
- .accountsPartial({
33
- creator,
34
- moderator,
35
- proposal,
36
- })
37
- .remainingAccounts(remainingAccounts);
38
- }
39
- function addOption(program, creator, proposal, remainingAccounts) {
40
- return program.methods
41
- .addOption()
42
- .accountsPartial({
43
- creator,
44
- proposal,
45
- })
46
- .remainingAccounts(remainingAccounts);
47
- }
48
- function launchProposal(program, creator, proposal, vault, baseAmount, quoteAmount, remainingAccounts) {
49
- const baseAmountBN = typeof baseAmount === "number" ? new anchor_1.BN(baseAmount) : baseAmount;
50
- const quoteAmountBN = typeof quoteAmount === "number" ? new anchor_1.BN(quoteAmount) : quoteAmount;
51
- return program.methods
52
- .launchProposal(baseAmountBN, quoteAmountBN)
53
- .accountsPartial({
54
- creator,
55
- proposal,
56
- vault,
57
- })
58
- .remainingAccounts(remainingAccounts);
59
- }
60
- function finalizeProposal(program, signer, proposal, vault, remainingAccounts) {
61
- return program.methods
62
- .finalizeProposal()
63
- .accountsPartial({
64
- signer,
65
- proposal,
66
- vault,
67
- })
68
- .remainingAccounts(remainingAccounts);
69
- }
70
- function redeemLiquidity(program, creator, proposal, vault, pool, remainingAccounts) {
71
- return program.methods
72
- .redeemLiquidity()
73
- .accountsPartial({
74
- creator,
75
- proposal,
76
- vault,
77
- pool,
78
- })
79
- .remainingAccounts(remainingAccounts);
80
- }
81
- function addHistoricalProposal(program, admin, moderator, proposal, numOptions, winningIdx, length, createdAt, metadata) {
82
- const createdAtBN = typeof createdAt === "number" ? new anchor_1.BN(createdAt) : createdAt;
83
- return program.methods
84
- .addHistoricalProposal(numOptions, winningIdx, length, createdAtBN, metadata)
85
- .accountsPartial({
86
- admin,
87
- moderator,
88
- proposal,
89
- });
90
- }
91
- /* DAO Instruction Builders */
92
- function initializeParentDAO(program, admin, parentAdmin, dao, moderator, baseMint, quoteMint, programConfig, programConfigTreasury, treasuryMultisig, mintMultisig, mintCreateKey, squadsProgram, name, treasuryCosigner, pool, poolType) {
93
- return program.methods
94
- .initializeParentDao(name, treasuryCosigner, pool, poolType)
95
- .accountsPartial({
96
- admin,
97
- parentAdmin,
98
- dao,
99
- moderator,
100
- baseMint,
101
- quoteMint,
102
- programConfig,
103
- programConfigTreasury,
104
- treasuryMultisig,
105
- mintMultisig,
106
- mintCreateKey,
107
- squadsProgram,
108
- });
109
- }
110
- function initializeChildDAO(program, admin, parentAdmin, dao, parentDao, tokenMint, programConfig, programConfigTreasury, treasuryMultisig, mintMultisig, mintCreateKey, squadsProgram, name, treasuryCosigner) {
111
- return program.methods
112
- .initializeChildDao(name, treasuryCosigner)
113
- .accountsPartial({
114
- admin,
115
- parentAdmin,
116
- dao,
117
- parentDao,
118
- tokenMint,
119
- programConfig,
120
- programConfigTreasury,
121
- treasuryMultisig,
122
- mintMultisig,
123
- mintCreateKey,
124
- squadsProgram,
125
- });
126
- }
127
- function upgradeDAO(program, admin, parentAdmin, dao, parentDao, moderator, baseMint, quoteMint, pool, poolType) {
128
- return program.methods
129
- .upgradeDao(pool, poolType)
130
- .accountsPartial({
131
- admin,
132
- parentAdmin,
133
- dao,
134
- parentDao,
135
- moderator,
136
- baseMint,
137
- quoteMint,
138
- });
139
- }
140
- function addHistoricalParentDAO(program, admin, dao, moderator, treasuryMultisig, mintAuthMultisig, baseMint, quoteMint, name, cosigner, pool, poolType, proposalIdCounter, adminPubkey) {
141
- return program.methods
142
- .addHistoricalParentDao(name, cosigner, pool, poolType, proposalIdCounter, adminPubkey)
143
- .accountsPartial({
144
- admin,
145
- dao,
146
- moderator,
147
- treasuryMultisig,
148
- mintAuthMultisig,
149
- baseMint,
150
- quoteMint,
151
- });
152
- }
153
- function transferAdmin(program, admin, dao, moderator, newAdmin) {
154
- return program.methods
155
- .transferAdmin(newAdmin)
156
- .accountsPartial({
157
- admin,
158
- dao,
159
- moderator,
160
- });
161
- }
162
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5zdHJ1Y3Rpb25zLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL2Z1dGFyY2h5L2luc3RydWN0aW9ucy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUE7OztHQUdHOztBQVFILGtEQWNDO0FBRUQsZ0RBaUJDO0FBRUQsOEJBYUM7QUFFRCx3Q0FvQkM7QUFFRCw0Q0FlQztBQUVELDBDQWlCQztBQUVELHNEQW1CQztBQUlELGtEQW1DQztBQUVELGdEQStCQztBQUVELGdDQXVCQztBQUVELHdEQTJCQztBQUVELHNDQWNDO0FBblJELDhDQUFnRDtBQUloRCwwQkFBMEI7QUFFMUIsU0FBZ0IsbUJBQW1CLENBQ2pDLE9BQTBCLEVBQzFCLEtBQWdCLEVBQ2hCLFFBQW1CLEVBQ25CLFNBQW9CLEVBQ3BCLFNBQW9CLEVBQ3BCLElBQVk7SUFFWixPQUFPLE9BQU8sQ0FBQyxPQUFPLENBQUMsbUJBQW1CLENBQUMsSUFBSSxDQUFDLENBQUMsZUFBZSxDQUFDO1FBQy9ELEtBQUs7UUFDTCxRQUFRO1FBQ1IsU0FBUztRQUNULFNBQVM7S0FDVixDQUFDLENBQUM7QUFDTCxDQUFDO0FBRUQsU0FBZ0Isa0JBQWtCLENBQ2hDLE9BQTBCLEVBQzFCLE9BQWtCLEVBQ2xCLFNBQW9CLEVBQ3BCLFFBQW1CLEVBQ25CLGNBQThCLEVBQzlCLFFBQXVCLEVBQ3ZCLGlCQUFrRjtJQUVsRixPQUFPLE9BQU8sQ0FBQyxPQUFPO1NBQ25CLGtCQUFrQixDQUFDLGNBQWMsRUFBRSxRQUFRLENBQUM7U0FDNUMsZUFBZSxDQUFDO1FBQ2YsT0FBTztRQUNQLFNBQVM7UUFDVCxRQUFRO0tBQ1QsQ0FBQztTQUNELGlCQUFpQixDQUFDLGlCQUFpQixDQUFDLENBQUM7QUFDMUMsQ0FBQztBQUVELFNBQWdCLFNBQVMsQ0FDdkIsT0FBMEIsRUFDMUIsT0FBa0IsRUFDbEIsUUFBbUIsRUFDbkIsaUJBQWtGO0lBRWxGLE9BQU8sT0FBTyxDQUFDLE9BQU87U0FDbkIsU0FBUyxFQUFFO1NBQ1gsZUFBZSxDQUFDO1FBQ2YsT0FBTztRQUNQLFFBQVE7S0FDVCxDQUFDO1NBQ0QsaUJBQWlCLENBQUMsaUJBQWlCLENBQUMsQ0FBQztBQUMxQyxDQUFDO0FBRUQsU0FBZ0IsY0FBYyxDQUM1QixPQUEwQixFQUMxQixPQUFrQixFQUNsQixRQUFtQixFQUNuQixLQUFnQixFQUNoQixVQUF1QixFQUN2QixXQUF3QixFQUN4QixpQkFBa0Y7SUFFbEYsTUFBTSxZQUFZLEdBQUcsT0FBTyxVQUFVLEtBQUssUUFBUSxDQUFDLENBQUMsQ0FBQyxJQUFJLFdBQUUsQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDLENBQUMsVUFBVSxDQUFDO0lBQ3RGLE1BQU0sYUFBYSxHQUFHLE9BQU8sV0FBVyxLQUFLLFFBQVEsQ0FBQyxDQUFDLENBQUMsSUFBSSxXQUFFLENBQUMsV0FBVyxDQUFDLENBQUMsQ0FBQyxDQUFDLFdBQVcsQ0FBQztJQUUxRixPQUFPLE9BQU8sQ0FBQyxPQUFPO1NBQ25CLGNBQWMsQ0FBQyxZQUFZLEVBQUUsYUFBYSxDQUFDO1NBQzNDLGVBQWUsQ0FBQztRQUNmLE9BQU87UUFDUCxRQUFRO1FBQ1IsS0FBSztLQUNOLENBQUM7U0FDRCxpQkFBaUIsQ0FBQyxpQkFBaUIsQ0FBQyxDQUFDO0FBQzFDLENBQUM7QUFFRCxTQUFnQixnQkFBZ0IsQ0FDOUIsT0FBMEIsRUFDMUIsTUFBaUIsRUFDakIsUUFBbUIsRUFDbkIsS0FBZ0IsRUFDaEIsaUJBQWtGO0lBRWxGLE9BQU8sT0FBTyxDQUFDLE9BQU87U0FDbkIsZ0JBQWdCLEVBQUU7U0FDbEIsZUFBZSxDQUFDO1FBQ2YsTUFBTTtRQUNOLFFBQVE7UUFDUixLQUFLO0tBQ04sQ0FBQztTQUNELGlCQUFpQixDQUFDLGlCQUFpQixDQUFDLENBQUM7QUFDMUMsQ0FBQztBQUVELFNBQWdCLGVBQWUsQ0FDN0IsT0FBMEIsRUFDMUIsT0FBa0IsRUFDbEIsUUFBbUIsRUFDbkIsS0FBZ0IsRUFDaEIsSUFBZSxFQUNmLGlCQUFrRjtJQUVsRixPQUFPLE9BQU8sQ0FBQyxPQUFPO1NBQ25CLGVBQWUsRUFBRTtTQUNqQixlQUFlLENBQUM7UUFDZixPQUFPO1FBQ1AsUUFBUTtRQUNSLEtBQUs7UUFDTCxJQUFJO0tBQ0wsQ0FBQztTQUNELGlCQUFpQixDQUFDLGlCQUFpQixDQUFDLENBQUM7QUFDMUMsQ0FBQztBQUVELFNBQWdCLHFCQUFxQixDQUNuQyxPQUEwQixFQUMxQixLQUFnQixFQUNoQixTQUFvQixFQUNwQixRQUFtQixFQUNuQixVQUFrQixFQUNsQixVQUFrQixFQUNsQixNQUFjLEVBQ2QsU0FBc0IsRUFDdEIsUUFBZ0I7SUFFaEIsTUFBTSxXQUFXLEdBQUcsT0FBTyxTQUFTLEtBQUssUUFBUSxDQUFDLENBQUMsQ0FBQyxJQUFJLFdBQUUsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDO0lBQ2xGLE9BQU8sT0FBTyxDQUFDLE9BQU87U0FDbkIscUJBQXFCLENBQUMsVUFBVSxFQUFFLFVBQVUsRUFBRSxNQUFNLEVBQUUsV0FBVyxFQUFFLFFBQVEsQ0FBQztTQUM1RSxlQUFlLENBQUM7UUFDZixLQUFLO1FBQ0wsU0FBUztRQUNULFFBQVE7S0FDVCxDQUFDLENBQUM7QUFDUCxDQUFDO0FBRUQsOEJBQThCO0FBRTlCLFNBQWdCLG1CQUFtQixDQUNqQyxPQUEwQixFQUMxQixLQUFnQixFQUNoQixXQUFzQixFQUN0QixHQUFjLEVBQ2QsU0FBb0IsRUFDcEIsUUFBbUIsRUFDbkIsU0FBb0IsRUFDcEIsYUFBd0IsRUFDeEIscUJBQWdDLEVBQ2hDLGdCQUEyQixFQUMzQixZQUF1QixFQUN2QixhQUF3QixFQUN4QixhQUF3QixFQUN4QixJQUFZLEVBQ1osZ0JBQTJCLEVBQzNCLElBQWUsRUFDZixRQUFrQjtJQUVsQixPQUFPLE9BQU8sQ0FBQyxPQUFPO1NBQ25CLG1CQUFtQixDQUFDLElBQUksRUFBRSxnQkFBZ0IsRUFBRSxJQUFJLEVBQUUsUUFBUSxDQUFDO1NBQzNELGVBQWUsQ0FBQztRQUNmLEtBQUs7UUFDTCxXQUFXO1FBQ1gsR0FBRztRQUNILFNBQVM7UUFDVCxRQUFRO1FBQ1IsU0FBUztRQUNULGFBQWE7UUFDYixxQkFBcUI7UUFDckIsZ0JBQWdCO1FBQ2hCLFlBQVk7UUFDWixhQUFhO1FBQ2IsYUFBYTtLQUNkLENBQUMsQ0FBQztBQUNQLENBQUM7QUFFRCxTQUFnQixrQkFBa0IsQ0FDaEMsT0FBMEIsRUFDMUIsS0FBZ0IsRUFDaEIsV0FBc0IsRUFDdEIsR0FBYyxFQUNkLFNBQW9CLEVBQ3BCLFNBQW9CLEVBQ3BCLGFBQXdCLEVBQ3hCLHFCQUFnQyxFQUNoQyxnQkFBMkIsRUFDM0IsWUFBdUIsRUFDdkIsYUFBd0IsRUFDeEIsYUFBd0IsRUFDeEIsSUFBWSxFQUNaLGdCQUEyQjtJQUUzQixPQUFPLE9BQU8sQ0FBQyxPQUFPO1NBQ25CLGtCQUFrQixDQUFDLElBQUksRUFBRSxnQkFBZ0IsQ0FBQztTQUMxQyxlQUFlLENBQUM7UUFDZixLQUFLO1FBQ0wsV0FBVztRQUNYLEdBQUc7UUFDSCxTQUFTO1FBQ1QsU0FBUztRQUNULGFBQWE7UUFDYixxQkFBcUI7UUFDckIsZ0JBQWdCO1FBQ2hCLFlBQVk7UUFDWixhQUFhO1FBQ2IsYUFBYTtLQUNkLENBQUMsQ0FBQztBQUNQLENBQUM7QUFFRCxTQUFnQixVQUFVLENBQ3hCLE9BQTBCLEVBQzFCLEtBQWdCLEVBQ2hCLFdBQXNCLEVBQ3RCLEdBQWMsRUFDZCxTQUFvQixFQUNwQixTQUFvQixFQUNwQixRQUFtQixFQUNuQixTQUFvQixFQUNwQixJQUFlLEVBQ2YsUUFBa0I7SUFFbEIsT0FBTyxPQUFPLENBQUMsT0FBTztTQUNuQixVQUFVLENBQUMsSUFBSSxFQUFFLFFBQVEsQ0FBQztTQUMxQixlQUFlLENBQUM7UUFDZixLQUFLO1FBQ0wsV0FBVztRQUNYLEdBQUc7UUFDSCxTQUFTO1FBQ1QsU0FBUztRQUNULFFBQVE7UUFDUixTQUFTO0tBQ1YsQ0FBQyxDQUFDO0FBQ1AsQ0FBQztBQUVELFNBQWdCLHNCQUFzQixDQUNwQyxPQUEwQixFQUMxQixLQUFnQixFQUNoQixHQUFjLEVBQ2QsU0FBb0IsRUFDcEIsZ0JBQTJCLEVBQzNCLGdCQUEyQixFQUMzQixRQUFtQixFQUNuQixTQUFvQixFQUNwQixJQUFZLEVBQ1osUUFBbUIsRUFDbkIsSUFBZSxFQUNmLFFBQWtCLEVBQ2xCLGlCQUF5QixFQUN6QixXQUFzQjtJQUV0QixPQUFPLE9BQU8sQ0FBQyxPQUFPO1NBQ25CLHNCQUFzQixDQUFDLElBQUksRUFBRSxRQUFRLEVBQUUsSUFBSSxFQUFFLFFBQVEsRUFBRSxpQkFBaUIsRUFBRSxXQUFXLENBQUM7U0FDdEYsZUFBZSxDQUFDO1FBQ2YsS0FBSztRQUNMLEdBQUc7UUFDSCxTQUFTO1FBQ1QsZ0JBQWdCO1FBQ2hCLGdCQUFnQjtRQUNoQixRQUFRO1FBQ1IsU0FBUztLQUNWLENBQUMsQ0FBQztBQUNQLENBQUM7QUFFRCxTQUFnQixhQUFhLENBQzNCLE9BQTBCLEVBQzFCLEtBQWdCLEVBQ2hCLEdBQWMsRUFDZCxTQUFvQixFQUNwQixRQUFtQjtJQUVuQixPQUFPLE9BQU8sQ0FBQyxPQUFPO1NBQ25CLGFBQWEsQ0FBQyxRQUFRLENBQUM7U0FDdkIsZUFBZSxDQUFDO1FBQ2YsS0FBSztRQUNMLEdBQUc7UUFDSCxTQUFTO0tBQ1YsQ0FBQyxDQUFDO0FBQ1AsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8qXG4gKiBMb3ctbGV2ZWwgaW5zdHJ1Y3Rpb24gYnVpbGRlcnMgZm9yIHRoZSBGdXRhcmNoeSBwcm9ncmFtLlxuICogVGhlc2UgYXJlIHRoaW4gd3JhcHBlcnMgYXJvdW5kIHRoZSBwcm9ncmFtIG1ldGhvZHMgLSB1c2UgRnV0YXJjaHlDbGllbnQgZm9yIGhpZ2hlci1sZXZlbCBvcGVyYXRpb25zLlxuICovXG5cbmltcG9ydCB7IFByb2dyYW0sIEJOIH0gZnJvbSBcIkBjb3JhbC14eXovYW5jaG9yXCI7XG5pbXBvcnQgeyBQdWJsaWNLZXkgfSBmcm9tIFwiQHNvbGFuYS93ZWIzLmpzXCI7XG5pbXBvcnQgeyBGdXRhcmNoeSwgUHJvcG9zYWxQYXJhbXMsIFBvb2xUeXBlIH0gZnJvbSBcIi4vdHlwZXNcIjtcblxuLyogSW5zdHJ1Y3Rpb24gQnVpbGRlcnMgKi9cblxuZXhwb3J0IGZ1bmN0aW9uIGluaXRpYWxpemVNb2RlcmF0b3IoXG4gIHByb2dyYW06IFByb2dyYW08RnV0YXJjaHk+LFxuICBhZG1pbjogUHVibGljS2V5LFxuICBiYXNlTWludDogUHVibGljS2V5LFxuICBxdW90ZU1pbnQ6IFB1YmxpY0tleSxcbiAgbW9kZXJhdG9yOiBQdWJsaWNLZXksXG4gIG5hbWU6IHN0cmluZ1xuKSB7XG4gIHJldHVybiBwcm9ncmFtLm1ldGhvZHMuaW5pdGlhbGl6ZU1vZGVyYXRvcihuYW1lKS5hY2NvdW50c1BhcnRpYWwoe1xuICAgIGFkbWluLFxuICAgIGJhc2VNaW50LFxuICAgIHF1b3RlTWludCxcbiAgICBtb2RlcmF0b3IsXG4gIH0pO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gaW5pdGlhbGl6ZVByb3Bvc2FsKFxuICBwcm9ncmFtOiBQcm9ncmFtPEZ1dGFyY2h5PixcbiAgY3JlYXRvcjogUHVibGljS2V5LFxuICBtb2RlcmF0b3I6IFB1YmxpY0tleSxcbiAgcHJvcG9zYWw6IFB1YmxpY0tleSxcbiAgcHJvcG9zYWxQYXJhbXM6IFByb3Bvc2FsUGFyYW1zLFxuICBtZXRhZGF0YTogc3RyaW5nIHwgbnVsbCxcbiAgcmVtYWluaW5nQWNjb3VudHM6IHsgcHVia2V5OiBQdWJsaWNLZXk7IGlzU2lnbmVyOiBib29sZWFuOyBpc1dyaXRhYmxlOiBib29sZWFuIH1bXVxuKSB7XG4gIHJldHVybiBwcm9ncmFtLm1ldGhvZHNcbiAgICAuaW5pdGlhbGl6ZVByb3Bvc2FsKHByb3Bvc2FsUGFyYW1zLCBtZXRhZGF0YSlcbiAgICAuYWNjb3VudHNQYXJ0aWFsKHtcbiAgICAgIGNyZWF0b3IsXG4gICAgICBtb2RlcmF0b3IsXG4gICAgICBwcm9wb3NhbCxcbiAgICB9KVxuICAgIC5yZW1haW5pbmdBY2NvdW50cyhyZW1haW5pbmdBY2NvdW50cyk7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBhZGRPcHRpb24oXG4gIHByb2dyYW06IFByb2dyYW08RnV0YXJjaHk+LFxuICBjcmVhdG9yOiBQdWJsaWNLZXksXG4gIHByb3Bvc2FsOiBQdWJsaWNLZXksXG4gIHJlbWFpbmluZ0FjY291bnRzOiB7IHB1YmtleTogUHVibGljS2V5OyBpc1NpZ25lcjogYm9vbGVhbjsgaXNXcml0YWJsZTogYm9vbGVhbiB9W11cbikge1xuICByZXR1cm4gcHJvZ3JhbS5tZXRob2RzXG4gICAgLmFkZE9wdGlvbigpXG4gICAgLmFjY291bnRzUGFydGlhbCh7XG4gICAgICBjcmVhdG9yLFxuICAgICAgcHJvcG9zYWwsXG4gICAgfSlcbiAgICAucmVtYWluaW5nQWNjb3VudHMocmVtYWluaW5nQWNjb3VudHMpO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gbGF1bmNoUHJvcG9zYWwoXG4gIHByb2dyYW06IFByb2dyYW08RnV0YXJjaHk+LFxuICBjcmVhdG9yOiBQdWJsaWNLZXksXG4gIHByb3Bvc2FsOiBQdWJsaWNLZXksXG4gIHZhdWx0OiBQdWJsaWNLZXksXG4gIGJhc2VBbW91bnQ6IEJOIHwgbnVtYmVyLFxuICBxdW90ZUFtb3VudDogQk4gfCBudW1iZXIsXG4gIHJlbWFpbmluZ0FjY291bnRzOiB7IHB1YmtleTogUHVibGljS2V5OyBpc1NpZ25lcjogYm9vbGVhbjsgaXNXcml0YWJsZTogYm9vbGVhbiB9W11cbikge1xuICBjb25zdCBiYXNlQW1vdW50Qk4gPSB0eXBlb2YgYmFzZUFtb3VudCA9PT0gXCJudW1iZXJcIiA/IG5ldyBCTihiYXNlQW1vdW50KSA6IGJhc2VBbW91bnQ7XG4gIGNvbnN0IHF1b3RlQW1vdW50Qk4gPSB0eXBlb2YgcXVvdGVBbW91bnQgPT09IFwibnVtYmVyXCIgPyBuZXcgQk4ocXVvdGVBbW91bnQpIDogcXVvdGVBbW91bnQ7XG5cbiAgcmV0dXJuIHByb2dyYW0ubWV0aG9kc1xuICAgIC5sYXVuY2hQcm9wb3NhbChiYXNlQW1vdW50Qk4sIHF1b3RlQW1vdW50Qk4pXG4gICAgLmFjY291bnRzUGFydGlhbCh7XG4gICAgICBjcmVhdG9yLFxuICAgICAgcHJvcG9zYWwsXG4gICAgICB2YXVsdCxcbiAgICB9KVxuICAgIC5yZW1haW5pbmdBY2NvdW50cyhyZW1haW5pbmdBY2NvdW50cyk7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBmaW5hbGl6ZVByb3Bvc2FsKFxuICBwcm9ncmFtOiBQcm9ncmFtPEZ1dGFyY2h5PixcbiAgc2lnbmVyOiBQdWJsaWNLZXksXG4gIHByb3Bvc2FsOiBQdWJsaWNLZXksXG4gIHZhdWx0OiBQdWJsaWNLZXksXG4gIHJlbWFpbmluZ0FjY291bnRzOiB7IHB1YmtleTogUHVibGljS2V5OyBpc1NpZ25lcjogYm9vbGVhbjsgaXNXcml0YWJsZTogYm9vbGVhbiB9W11cbikge1xuICByZXR1cm4gcHJvZ3JhbS5tZXRob2RzXG4gICAgLmZpbmFsaXplUHJvcG9zYWwoKVxuICAgIC5hY2NvdW50c1BhcnRpYWwoe1xuICAgICAgc2lnbmVyLFxuICAgICAgcHJvcG9zYWwsXG4gICAgICB2YXVsdCxcbiAgICB9KVxuICAgIC5yZW1haW5pbmdBY2NvdW50cyhyZW1haW5pbmdBY2NvdW50cyk7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiByZWRlZW1MaXF1aWRpdHkoXG4gIHByb2dyYW06IFByb2dyYW08RnV0YXJjaHk+LFxuICBjcmVhdG9yOiBQdWJsaWNLZXksXG4gIHByb3Bvc2FsOiBQdWJsaWNLZXksXG4gIHZhdWx0OiBQdWJsaWNLZXksXG4gIHBvb2w6IFB1YmxpY0tleSxcbiAgcmVtYWluaW5nQWNjb3VudHM6IHsgcHVia2V5OiBQdWJsaWNLZXk7IGlzU2lnbmVyOiBib29sZWFuOyBpc1dyaXRhYmxlOiBib29sZWFuIH1bXVxuKSB7XG4gIHJldHVybiBwcm9ncmFtLm1ldGhvZHNcbiAgICAucmVkZWVtTGlxdWlkaXR5KClcbiAgICAuYWNjb3VudHNQYXJ0aWFsKHtcbiAgICAgIGNyZWF0b3IsXG4gICAgICBwcm9wb3NhbCxcbiAgICAgIHZhdWx0LFxuICAgICAgcG9vbCxcbiAgICB9KVxuICAgIC5yZW1haW5pbmdBY2NvdW50cyhyZW1haW5pbmdBY2NvdW50cyk7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBhZGRIaXN0b3JpY2FsUHJvcG9zYWwoXG4gIHByb2dyYW06IFByb2dyYW08RnV0YXJjaHk+LFxuICBhZG1pbjogUHVibGljS2V5LFxuICBtb2RlcmF0b3I6IFB1YmxpY0tleSxcbiAgcHJvcG9zYWw6IFB1YmxpY0tleSxcbiAgbnVtT3B0aW9uczogbnVtYmVyLFxuICB3aW5uaW5nSWR4OiBudW1iZXIsXG4gIGxlbmd0aDogbnVtYmVyLFxuICBjcmVhdGVkQXQ6IEJOIHwgbnVtYmVyLFxuICBtZXRhZGF0YTogc3RyaW5nXG4pIHtcbiAgY29uc3QgY3JlYXRlZEF0Qk4gPSB0eXBlb2YgY3JlYXRlZEF0ID09PSBcIm51bWJlclwiID8gbmV3IEJOKGNyZWF0ZWRBdCkgOiBjcmVhdGVkQXQ7XG4gIHJldHVybiBwcm9ncmFtLm1ldGhvZHNcbiAgICAuYWRkSGlzdG9yaWNhbFByb3Bvc2FsKG51bU9wdGlvbnMsIHdpbm5pbmdJZHgsIGxlbmd0aCwgY3JlYXRlZEF0Qk4sIG1ldGFkYXRhKVxuICAgIC5hY2NvdW50c1BhcnRpYWwoe1xuICAgICAgYWRtaW4sXG4gICAgICBtb2RlcmF0b3IsXG4gICAgICBwcm9wb3NhbCxcbiAgICB9KTtcbn1cblxuLyogREFPIEluc3RydWN0aW9uIEJ1aWxkZXJzICovXG5cbmV4cG9ydCBmdW5jdGlvbiBpbml0aWFsaXplUGFyZW50REFPKFxuICBwcm9ncmFtOiBQcm9ncmFtPEZ1dGFyY2h5PixcbiAgYWRtaW46IFB1YmxpY0tleSxcbiAgcGFyZW50QWRtaW46IFB1YmxpY0tleSxcbiAgZGFvOiBQdWJsaWNLZXksXG4gIG1vZGVyYXRvcjogUHVibGljS2V5LFxuICBiYXNlTWludDogUHVibGljS2V5LFxuICBxdW90ZU1pbnQ6IFB1YmxpY0tleSxcbiAgcHJvZ3JhbUNvbmZpZzogUHVibGljS2V5LFxuICBwcm9ncmFtQ29uZmlnVHJlYXN1cnk6IFB1YmxpY0tleSxcbiAgdHJlYXN1cnlNdWx0aXNpZzogUHVibGljS2V5LFxuICBtaW50TXVsdGlzaWc6IFB1YmxpY0tleSxcbiAgbWludENyZWF0ZUtleTogUHVibGljS2V5LFxuICBzcXVhZHNQcm9ncmFtOiBQdWJsaWNLZXksXG4gIG5hbWU6IHN0cmluZyxcbiAgdHJlYXN1cnlDb3NpZ25lcjogUHVibGljS2V5LFxuICBwb29sOiBQdWJsaWNLZXksXG4gIHBvb2xUeXBlOiBQb29sVHlwZVxuKSB7XG4gIHJldHVybiBwcm9ncmFtLm1ldGhvZHNcbiAgICAuaW5pdGlhbGl6ZVBhcmVudERhbyhuYW1lLCB0cmVhc3VyeUNvc2lnbmVyLCBwb29sLCBwb29sVHlwZSlcbiAgICAuYWNjb3VudHNQYXJ0aWFsKHtcbiAgICAgIGFkbWluLFxuICAgICAgcGFyZW50QWRtaW4sXG4gICAgICBkYW8sXG4gICAgICBtb2RlcmF0b3IsXG4gICAgICBiYXNlTWludCxcbiAgICAgIHF1b3RlTWludCxcbiAgICAgIHByb2dyYW1Db25maWcsXG4gICAgICBwcm9ncmFtQ29uZmlnVHJlYXN1cnksXG4gICAgICB0cmVhc3VyeU11bHRpc2lnLFxuICAgICAgbWludE11bHRpc2lnLFxuICAgICAgbWludENyZWF0ZUtleSxcbiAgICAgIHNxdWFkc1Byb2dyYW0sXG4gICAgfSk7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBpbml0aWFsaXplQ2hpbGREQU8oXG4gIHByb2dyYW06IFByb2dyYW08RnV0YXJjaHk+LFxuICBhZG1pbjogUHVibGljS2V5LFxuICBwYXJlbnRBZG1pbjogUHVibGljS2V5LFxuICBkYW86IFB1YmxpY0tleSxcbiAgcGFyZW50RGFvOiBQdWJsaWNLZXksXG4gIHRva2VuTWludDogUHVibGljS2V5LFxuICBwcm9ncmFtQ29uZmlnOiBQdWJsaWNLZXksXG4gIHByb2dyYW1Db25maWdUcmVhc3VyeTogUHVibGljS2V5LFxuICB0cmVhc3VyeU11bHRpc2lnOiBQdWJsaWNLZXksXG4gIG1pbnRNdWx0aXNpZzogUHVibGljS2V5LFxuICBtaW50Q3JlYXRlS2V5OiBQdWJsaWNLZXksXG4gIHNxdWFkc1Byb2dyYW06IFB1YmxpY0tleSxcbiAgbmFtZTogc3RyaW5nLFxuICB0cmVhc3VyeUNvc2lnbmVyOiBQdWJsaWNLZXlcbikge1xuICByZXR1cm4gcHJvZ3JhbS5tZXRob2RzXG4gICAgLmluaXRpYWxpemVDaGlsZERhbyhuYW1lLCB0cmVhc3VyeUNvc2lnbmVyKVxuICAgIC5hY2NvdW50c1BhcnRpYWwoe1xuICAgICAgYWRtaW4sXG4gICAgICBwYXJlbnRBZG1pbixcbiAgICAgIGRhbyxcbiAgICAgIHBhcmVudERhbyxcbiAgICAgIHRva2VuTWludCxcbiAgICAgIHByb2dyYW1Db25maWcsXG4gICAgICBwcm9ncmFtQ29uZmlnVHJlYXN1cnksXG4gICAgICB0cmVhc3VyeU11bHRpc2lnLFxuICAgICAgbWludE11bHRpc2lnLFxuICAgICAgbWludENyZWF0ZUtleSxcbiAgICAgIHNxdWFkc1Byb2dyYW0sXG4gICAgfSk7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiB1cGdyYWRlREFPKFxuICBwcm9ncmFtOiBQcm9ncmFtPEZ1dGFyY2h5PixcbiAgYWRtaW46IFB1YmxpY0tleSxcbiAgcGFyZW50QWRtaW46IFB1YmxpY0tleSxcbiAgZGFvOiBQdWJsaWNLZXksXG4gIHBhcmVudERhbzogUHVibGljS2V5LFxuICBtb2RlcmF0b3I6IFB1YmxpY0tleSxcbiAgYmFzZU1pbnQ6IFB1YmxpY0tleSxcbiAgcXVvdGVNaW50OiBQdWJsaWNLZXksXG4gIHBvb2w6IFB1YmxpY0tleSxcbiAgcG9vbFR5cGU6IFBvb2xUeXBlXG4pIHtcbiAgcmV0dXJuIHByb2dyYW0ubWV0aG9kc1xuICAgIC51cGdyYWRlRGFvKHBvb2wsIHBvb2xUeXBlKVxuICAgIC5hY2NvdW50c1BhcnRpYWwoe1xuICAgICAgYWRtaW4sXG4gICAgICBwYXJlbnRBZG1pbixcbiAgICAgIGRhbyxcbiAgICAgIHBhcmVudERhbyxcbiAgICAgIG1vZGVyYXRvcixcbiAgICAgIGJhc2VNaW50LFxuICAgICAgcXVvdGVNaW50LFxuICAgIH0pO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gYWRkSGlzdG9yaWNhbFBhcmVudERBTyhcbiAgcHJvZ3JhbTogUHJvZ3JhbTxGdXRhcmNoeT4sXG4gIGFkbWluOiBQdWJsaWNLZXksXG4gIGRhbzogUHVibGljS2V5LFxuICBtb2RlcmF0b3I6IFB1YmxpY0tleSxcbiAgdHJlYXN1cnlNdWx0aXNpZzogUHVibGljS2V5LFxuICBtaW50QXV0aE11bHRpc2lnOiBQdWJsaWNLZXksXG4gIGJhc2VNaW50OiBQdWJsaWNLZXksXG4gIHF1b3RlTWludDogUHVibGljS2V5LFxuICBuYW1lOiBzdHJpbmcsXG4gIGNvc2lnbmVyOiBQdWJsaWNLZXksXG4gIHBvb2w6IFB1YmxpY0tleSxcbiAgcG9vbFR5cGU6IFBvb2xUeXBlLFxuICBwcm9wb3NhbElkQ291bnRlcjogbnVtYmVyLFxuICBhZG1pblB1YmtleTogUHVibGljS2V5XG4pIHtcbiAgcmV0dXJuIHByb2dyYW0ubWV0aG9kc1xuICAgIC5hZGRIaXN0b3JpY2FsUGFyZW50RGFvKG5hbWUsIGNvc2lnbmVyLCBwb29sLCBwb29sVHlwZSwgcHJvcG9zYWxJZENvdW50ZXIsIGFkbWluUHVia2V5KVxuICAgIC5hY2NvdW50c1BhcnRpYWwoe1xuICAgICAgYWRtaW4sXG4gICAgICBkYW8sXG4gICAgICBtb2RlcmF0b3IsXG4gICAgICB0cmVhc3VyeU11bHRpc2lnLFxuICAgICAgbWludEF1dGhNdWx0aXNpZyxcbiAgICAgIGJhc2VNaW50LFxuICAgICAgcXVvdGVNaW50LFxuICAgIH0pO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gdHJhbnNmZXJBZG1pbihcbiAgcHJvZ3JhbTogUHJvZ3JhbTxGdXRhcmNoeT4sXG4gIGFkbWluOiBQdWJsaWNLZXksXG4gIGRhbzogUHVibGljS2V5LFxuICBtb2RlcmF0b3I6IFB1YmxpY0tleSxcbiAgbmV3QWRtaW46IFB1YmxpY0tleVxuKSB7XG4gIHJldHVybiBwcm9ncmFtLm1ldGhvZHNcbiAgICAudHJhbnNmZXJBZG1pbihuZXdBZG1pbilcbiAgICAuYWNjb3VudHNQYXJ0aWFsKHtcbiAgICAgIGFkbWluLFxuICAgICAgZGFvLFxuICAgICAgbW9kZXJhdG9yLFxuICAgIH0pO1xufVxuIl19
1
+ "use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.initializeModerator=initializeModerator,exports.initializeProposal=initializeProposal,exports.addOption=addOption,exports.launchProposal=launchProposal,exports.finalizeProposal=finalizeProposal,exports.redeemLiquidity=redeemLiquidity,exports.addHistoricalProposal=addHistoricalProposal,exports.initializeParentDAO=initializeParentDAO,exports.initializeChildDAO=initializeChildDAO,exports.upgradeDAO=upgradeDAO,exports.addHistoricalParentDAO=addHistoricalParentDAO,exports.transferAdmin=transferAdmin;const anchor_1=require("@coral-xyz/anchor");function initializeModerator(a,i,t,r,o,n){return a.methods.initializeModerator(n).accountsPartial({admin:i,baseMint:t,quoteMint:r,moderator:o})}function initializeProposal(a,i,t,r,o,n,e){return a.methods.initializeProposal(o,n).accountsPartial({creator:i,moderator:t,proposal:r}).remainingAccounts(e)}function addOption(a,i,t,r){return a.methods.addOption().accountsPartial({creator:i,proposal:t}).remainingAccounts(r)}function launchProposal(a,i,t,r,o,n,e){const s="number"==typeof o?new anchor_1.BN(o):o,d="number"==typeof n?new anchor_1.BN(n):n;return a.methods.launchProposal(s,d).accountsPartial({creator:i,proposal:t,vault:r}).remainingAccounts(e)}function finalizeProposal(a,i,t,r,o){return a.methods.finalizeProposal().accountsPartial({signer:i,proposal:t,vault:r}).remainingAccounts(o)}function redeemLiquidity(a,i,t,r,o,n){return a.methods.redeemLiquidity().accountsPartial({creator:i,proposal:t,vault:r,pool:o}).remainingAccounts(n)}function addHistoricalProposal(a,i,t,r,o,n,e,s,d){const l="number"==typeof s?new anchor_1.BN(s):s;return a.methods.addHistoricalProposal(o,n,e,l,d).accountsPartial({admin:i,moderator:t,proposal:r})}function initializeParentDAO(a,i,t,r,o,n,e,s,d,l,u,c,p,m,P,f,g){return a.methods.initializeParentDao(m,P,f,g).accountsPartial({admin:i,parentAdmin:t,dao:r,moderator:o,baseMint:n,quoteMint:e,programConfig:s,programConfigTreasury:d,treasuryMultisig:l,mintMultisig:u,mintCreateKey:c,squadsProgram:p})}function initializeChildDAO(a,i,t,r,o,n,e,s,d,l,u,c,p,m){return a.methods.initializeChildDao(p,m).accountsPartial({admin:i,parentAdmin:t,dao:r,parentDao:o,tokenMint:n,programConfig:e,programConfigTreasury:s,treasuryMultisig:d,mintMultisig:l,mintCreateKey:u,squadsProgram:c})}function upgradeDAO(a,i,t,r,o,n,e,s,d,l){return a.methods.upgradeDao(d,l).accountsPartial({admin:i,parentAdmin:t,dao:r,parentDao:o,moderator:n,baseMint:e,quoteMint:s})}function addHistoricalParentDAO(a,i,t,r,o,n,e,s,d,l,u,c,p,m){return a.methods.addHistoricalParentDao(d,l,u,c,p,m).accountsPartial({admin:i,dao:t,moderator:r,treasuryMultisig:o,mintAuthMultisig:n,baseMint:e,quoteMint:s})}function transferAdmin(a,i,t,r,o){return a.methods.transferAdmin(o).accountsPartial({admin:i,dao:t,moderator:r})}
@@ -1,15 +1 @@
1
- "use strict";
2
- /*
3
- * Type definitions for the Futarchy program.
4
- * Derived from the generated IDL types.
5
- */
6
- Object.defineProperty(exports, "__esModule", { value: true });
7
- exports.ProposalState = void 0;
8
- /* Enums */
9
- var ProposalState;
10
- (function (ProposalState) {
11
- ProposalState["Setup"] = "setup";
12
- ProposalState["Pending"] = "pending";
13
- ProposalState["Resolved"] = "resolved";
14
- })(ProposalState || (exports.ProposalState = ProposalState = {}));
15
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHlwZXMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvZnV0YXJjaHkvdHlwZXMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBOzs7R0FHRzs7O0FBZ0NILFdBQVc7QUFFWCxJQUFZLGFBSVg7QUFKRCxXQUFZLGFBQWE7SUFDdkIsZ0NBQWUsQ0FBQTtJQUNmLG9DQUFtQixDQUFBO0lBQ25CLHNDQUFxQixDQUFBO0FBQ3ZCLENBQUMsRUFKVyxhQUFhLDZCQUFiLGFBQWEsUUFJeEIiLCJzb3VyY2VzQ29udGVudCI6WyIvKlxuICogVHlwZSBkZWZpbml0aW9ucyBmb3IgdGhlIEZ1dGFyY2h5IHByb2dyYW0uXG4gKiBEZXJpdmVkIGZyb20gdGhlIGdlbmVyYXRlZCBJREwgdHlwZXMuXG4gKi9cblxuaW1wb3J0IHsgSWRsQWNjb3VudHMsIElkbEV2ZW50cywgSWRsVHlwZXMgfSBmcm9tIFwiQGNvcmFsLXh5ei9hbmNob3JcIjtcblxuLy8gUmUtZXhwb3J0IHRoZSBnZW5lcmF0ZWQgSURMIHR5cGVcbmV4cG9ydCB7IEZ1dGFyY2h5IH0gZnJvbSBcIi4uL2dlbmVyYXRlZC90eXBlc1wiO1xuaW1wb3J0IHR5cGUgeyBGdXRhcmNoeSB9IGZyb20gXCIuLi9nZW5lcmF0ZWQvdHlwZXNcIjtcblxuLyogQWNjb3VudCBUeXBlcyAqL1xuXG5leHBvcnQgdHlwZSBEQU9BY2NvdW50ID0gSWRsQWNjb3VudHM8RnV0YXJjaHk+W1wiZGFvQWNjb3VudFwiXTtcbmV4cG9ydCB0eXBlIE1vZGVyYXRvckFjY291bnQgPSBJZGxBY2NvdW50czxGdXRhcmNoeT5bXCJtb2RlcmF0b3JBY2NvdW50XCJdO1xuZXhwb3J0IHR5cGUgUHJvcG9zYWxBY2NvdW50ID0gSWRsQWNjb3VudHM8RnV0YXJjaHk+W1wicHJvcG9zYWxBY2NvdW50XCJdO1xuXG4vKiBJREwgVHlwZXMgKi9cblxuZXhwb3J0IHR5cGUgUHJvcG9zYWxQYXJhbXMgPSBJZGxUeXBlczxGdXRhcmNoeT5bXCJwcm9wb3NhbFBhcmFtc1wiXTtcbmV4cG9ydCB0eXBlIFByb3Bvc2FsU3RhdGVSYXcgPSBJZGxUeXBlczxGdXRhcmNoeT5bXCJwcm9wb3NhbFN0YXRlXCJdO1xuZXhwb3J0IHR5cGUgREFPVHlwZSA9IElkbFR5cGVzPEZ1dGFyY2h5PltcImRhb1R5cGVcIl07XG5leHBvcnQgdHlwZSBQb29sVHlwZSA9IElkbFR5cGVzPEZ1dGFyY2h5PltcInBvb2xUeXBlXCJdO1xuXG4vKiBFdmVudCBUeXBlcyAqL1xuXG5leHBvcnQgdHlwZSBEQU9Jbml0aWFsaXplZEV2ZW50ID0gSWRsRXZlbnRzPEZ1dGFyY2h5PltcImRhb0luaXRpYWxpemVkXCJdO1xuZXhwb3J0IHR5cGUgREFPVXBncmFkZWRFdmVudCA9IElkbEV2ZW50czxGdXRhcmNoeT5bXCJkYW9VcGdyYWRlZFwiXTtcbmV4cG9ydCB0eXBlIE1vZGVyYXRvckluaXRpYWxpemVkRXZlbnQgPSBJZGxFdmVudHM8RnV0YXJjaHk+W1wibW9kZXJhdG9ySW5pdGlhbGl6ZWRcIl07XG5leHBvcnQgdHlwZSBQcm9wb3NhbEluaXRpYWxpemVkRXZlbnQgPSBJZGxFdmVudHM8RnV0YXJjaHk+W1wicHJvcG9zYWxJbml0aWFsaXplZFwiXTtcbmV4cG9ydCB0eXBlIFByb3Bvc2FsTGF1bmNoZWRFdmVudCA9IElkbEV2ZW50czxGdXRhcmNoeT5bXCJwcm9wb3NhbExhdW5jaGVkXCJdO1xuZXhwb3J0IHR5cGUgT3B0aW9uQWRkZWRFdmVudCA9IElkbEV2ZW50czxGdXRhcmNoeT5bXCJvcHRpb25BZGRlZFwiXTtcbmV4cG9ydCB0eXBlIFByb3Bvc2FsRmluYWxpemVkRXZlbnQgPSBJZGxFdmVudHM8RnV0YXJjaHk+W1wicHJvcG9zYWxGaW5hbGl6ZWRcIl07XG5leHBvcnQgdHlwZSBMaXF1aWRpdHlSZWRlZW1lZEV2ZW50ID0gSWRsRXZlbnRzPEZ1dGFyY2h5PltcImxpcXVpZGl0eVJlZGVlbWVkXCJdO1xuXG4vKiBFbnVtcyAqL1xuXG5leHBvcnQgZW51bSBQcm9wb3NhbFN0YXRlIHtcbiAgU2V0dXAgPSBcInNldHVwXCIsXG4gIFBlbmRpbmcgPSBcInBlbmRpbmdcIixcbiAgUmVzb2x2ZWQgPSBcInJlc29sdmVkXCIsXG59XG5cbi8qIEV2ZW50IFVuaW9uIFR5cGUgKi9cblxuZXhwb3J0IHR5cGUgRnV0YXJjaHlFdmVudCA9XG4gIHwgeyBuYW1lOiBcIkRBT0luaXRpYWxpemVkXCI7IGRhdGE6IERBT0luaXRpYWxpemVkRXZlbnQgfVxuICB8IHsgbmFtZTogXCJEQU9VcGdyYWRlZFwiOyBkYXRhOiBEQU9VcGdyYWRlZEV2ZW50IH1cbiAgfCB7IG5hbWU6IFwiTW9kZXJhdG9ySW5pdGlhbGl6ZWRcIjsgZGF0YTogTW9kZXJhdG9ySW5pdGlhbGl6ZWRFdmVudCB9XG4gIHwgeyBuYW1lOiBcIlByb3Bvc2FsSW5pdGlhbGl6ZWRcIjsgZGF0YTogUHJvcG9zYWxJbml0aWFsaXplZEV2ZW50IH1cbiAgfCB7IG5hbWU6IFwiUHJvcG9zYWxMYXVuY2hlZFwiOyBkYXRhOiBQcm9wb3NhbExhdW5jaGVkRXZlbnQgfVxuICB8IHsgbmFtZTogXCJPcHRpb25BZGRlZFwiOyBkYXRhOiBPcHRpb25BZGRlZEV2ZW50IH1cbiAgfCB7IG5hbWU6IFwiUHJvcG9zYWxGaW5hbGl6ZWRcIjsgZGF0YTogUHJvcG9zYWxGaW5hbGl6ZWRFdmVudCB9XG4gIHwgeyBuYW1lOiBcIkxpcXVpZGl0eVJlZGVlbWVkXCI7IGRhdGE6IExpcXVpZGl0eVJlZGVlbWVkRXZlbnQgfTtcbiJdfQ==
1
+ "use strict";var ProposalState;Object.defineProperty(exports,"__esModule",{value:!0}),exports.ProposalState=void 0,function(e){e.Setup="setup",e.Pending="pending",e.Resolved="resolved"}(ProposalState||(exports.ProposalState=ProposalState={}));
@@ -1,70 +1 @@
1
- "use strict";
2
- /*
3
- * Utility functions for the Futarchy program.
4
- * Includes PDA derivation, parsers, and fetch helpers.
5
- */
6
- Object.defineProperty(exports, "__esModule", { value: true });
7
- exports.deriveDAOPDA = deriveDAOPDA;
8
- exports.deriveModeratorPDA = deriveModeratorPDA;
9
- exports.deriveProposalPDA = deriveProposalPDA;
10
- exports.deriveMintCreateKeyPDA = deriveMintCreateKeyPDA;
11
- exports.parseProposalState = parseProposalState;
12
- exports.fetchDAOAccount = fetchDAOAccount;
13
- exports.fetchModeratorAccount = fetchModeratorAccount;
14
- exports.fetchProposalAccount = fetchProposalAccount;
15
- exports.isProposalExpired = isProposalExpired;
16
- exports.getTimeRemaining = getTimeRemaining;
17
- const web3_js_1 = require("@solana/web3.js");
18
- const constants_1 = require("./constants");
19
- const types_1 = require("./types");
20
- /* PDA Derivation */
21
- function deriveDAOPDA(name, programId = constants_1.PROGRAM_ID) {
22
- return web3_js_1.PublicKey.findProgramAddressSync([constants_1.DAO_SEED, Buffer.from(name)], programId);
23
- }
24
- function deriveModeratorPDA(name, programId = constants_1.PROGRAM_ID) {
25
- return web3_js_1.PublicKey.findProgramAddressSync([constants_1.MODERATOR_SEED, Buffer.from(name)], programId);
26
- }
27
- function deriveProposalPDA(moderator, proposalId, programId = constants_1.PROGRAM_ID) {
28
- const proposalIdBuffer = Buffer.alloc(2);
29
- proposalIdBuffer.writeUInt16LE(proposalId);
30
- return web3_js_1.PublicKey.findProgramAddressSync([constants_1.PROPOSAL_SEED, moderator.toBuffer(), proposalIdBuffer], programId);
31
- }
32
- function deriveMintCreateKeyPDA(daoPda, name, programId = constants_1.PROGRAM_ID) {
33
- return web3_js_1.PublicKey.findProgramAddressSync([daoPda.toBuffer(), constants_1.MINT_CREATE_KEY_SEED, Buffer.from(name)], programId);
34
- }
35
- /* Parsers */
36
- function parseProposalState(state) {
37
- if ("setup" in state) {
38
- return { state: types_1.ProposalState.Setup, winningIdx: null };
39
- }
40
- if ("pending" in state) {
41
- return { state: types_1.ProposalState.Pending, winningIdx: null };
42
- }
43
- if ("resolved" in state) {
44
- const winningIdx = state.resolved[0] ?? state.resolved;
45
- return { state: types_1.ProposalState.Resolved, winningIdx };
46
- }
47
- throw new Error("Unknown proposal state");
48
- }
49
- /* Fetchers */
50
- async function fetchDAOAccount(program, daoPda) {
51
- return program.account.daoAccount.fetch(daoPda);
52
- }
53
- async function fetchModeratorAccount(program, moderatorPda) {
54
- return program.account.moderatorAccount.fetch(moderatorPda);
55
- }
56
- async function fetchProposalAccount(program, proposalPda) {
57
- return program.account.proposalAccount.fetch(proposalPda);
58
- }
59
- /* Proposal Helpers */
60
- function isProposalExpired(proposal, currentTime) {
61
- const now = currentTime ?? Math.floor(Date.now() / 1000);
62
- const endTime = proposal.createdAt.toNumber() + proposal.config.length * 60; // length is in minutes
63
- return now >= endTime;
64
- }
65
- function getTimeRemaining(proposal, currentTime) {
66
- const now = currentTime ?? Math.floor(Date.now() / 1000);
67
- const endTime = proposal.createdAt.toNumber() + proposal.config.length * 60; // length is in minutes
68
- return Math.max(0, endTime - now);
69
- }
70
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXRpbHMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvZnV0YXJjaHkvdXRpbHMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBOzs7R0FHRzs7QUFTSCxvQ0FRQztBQUVELGdEQVFDO0FBRUQsOENBV0M7QUFFRCx3REFTQztBQUlELGdEQVlDO0FBSUQsMENBS0M7QUFFRCxzREFLQztBQUVELG9EQUtDO0FBSUQsOENBSUM7QUFFRCw0Q0FJQztBQXJHRCw2Q0FBNEM7QUFDNUMsMkNBQXdHO0FBQ3hHLG1DQUFpRztBQUVqRyxvQkFBb0I7QUFFcEIsU0FBZ0IsWUFBWSxDQUMxQixJQUFZLEVBQ1osWUFBdUIsc0JBQVU7SUFFakMsT0FBTyxtQkFBUyxDQUFDLHNCQUFzQixDQUNyQyxDQUFDLG9CQUFRLEVBQUUsTUFBTSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQyxFQUM3QixTQUFTLENBQ1YsQ0FBQztBQUNKLENBQUM7QUFFRCxTQUFnQixrQkFBa0IsQ0FDaEMsSUFBWSxFQUNaLFlBQXVCLHNCQUFVO0lBRWpDLE9BQU8sbUJBQVMsQ0FBQyxzQkFBc0IsQ0FDckMsQ0FBQywwQkFBYyxFQUFFLE1BQU0sQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUMsRUFDbkMsU0FBUyxDQUNWLENBQUM7QUFDSixDQUFDO0FBRUQsU0FBZ0IsaUJBQWlCLENBQy9CLFNBQW9CLEVBQ3BCLFVBQWtCLEVBQ2xCLFlBQXVCLHNCQUFVO0lBRWpDLE1BQU0sZ0JBQWdCLEdBQUcsTUFBTSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQztJQUN6QyxnQkFBZ0IsQ0FBQyxhQUFhLENBQUMsVUFBVSxDQUFDLENBQUM7SUFDM0MsT0FBTyxtQkFBUyxDQUFDLHNCQUFzQixDQUNyQyxDQUFDLHlCQUFhLEVBQUUsU0FBUyxDQUFDLFFBQVEsRUFBRSxFQUFFLGdCQUFnQixDQUFDLEVBQ3ZELFNBQVMsQ0FDVixDQUFDO0FBQ0osQ0FBQztBQUVELFNBQWdCLHNCQUFzQixDQUNwQyxNQUFpQixFQUNqQixJQUFZLEVBQ1osWUFBdUIsc0JBQVU7SUFFakMsT0FBTyxtQkFBUyxDQUFDLHNCQUFzQixDQUNyQyxDQUFDLE1BQU0sQ0FBQyxRQUFRLEVBQUUsRUFBRSxnQ0FBb0IsRUFBRSxNQUFNLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDLEVBQzVELFNBQVMsQ0FDVixDQUFDO0FBQ0osQ0FBQztBQUVELGFBQWE7QUFFYixTQUFnQixrQkFBa0IsQ0FBQyxLQUFVO0lBQzNDLElBQUksT0FBTyxJQUFJLEtBQUssRUFBRSxDQUFDO1FBQ3JCLE9BQU8sRUFBRSxLQUFLLEVBQUUscUJBQWEsQ0FBQyxLQUFLLEVBQUUsVUFBVSxFQUFFLElBQUksRUFBRSxDQUFDO0lBQzFELENBQUM7SUFDRCxJQUFJLFNBQVMsSUFBSSxLQUFLLEVBQUUsQ0FBQztRQUN2QixPQUFPLEVBQUUsS0FBSyxFQUFFLHFCQUFhLENBQUMsT0FBTyxFQUFFLFVBQVUsRUFBRSxJQUFJLEVBQUUsQ0FBQztJQUM1RCxDQUFDO0lBQ0QsSUFBSSxVQUFVLElBQUksS0FBSyxFQUFFLENBQUM7UUFDeEIsTUFBTSxVQUFVLEdBQUcsS0FBSyxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsSUFBSSxLQUFLLENBQUMsUUFBUSxDQUFDO1FBQ3ZELE9BQU8sRUFBRSxLQUFLLEVBQUUscUJBQWEsQ0FBQyxRQUFRLEVBQUUsVUFBVSxFQUFFLENBQUM7SUFDdkQsQ0FBQztJQUNELE1BQU0sSUFBSSxLQUFLLENBQUMsd0JBQXdCLENBQUMsQ0FBQztBQUM1QyxDQUFDO0FBRUQsY0FBYztBQUVQLEtBQUssVUFBVSxlQUFlLENBQ25DLE9BQTBCLEVBQzFCLE1BQWlCO0lBRWpCLE9BQU8sT0FBTyxDQUFDLE9BQU8sQ0FBQyxVQUFVLENBQUMsS0FBSyxDQUFDLE1BQU0sQ0FBQyxDQUFDO0FBQ2xELENBQUM7QUFFTSxLQUFLLFVBQVUscUJBQXFCLENBQ3pDLE9BQTBCLEVBQzFCLFlBQXVCO0lBRXZCLE9BQU8sT0FBTyxDQUFDLE9BQU8sQ0FBQyxnQkFBZ0IsQ0FBQyxLQUFLLENBQUMsWUFBWSxDQUFDLENBQUM7QUFDOUQsQ0FBQztBQUVNLEtBQUssVUFBVSxvQkFBb0IsQ0FDeEMsT0FBMEIsRUFDMUIsV0FBc0I7SUFFdEIsT0FBTyxPQUFPLENBQUMsT0FBTyxDQUFDLGVBQWUsQ0FBQyxLQUFLLENBQUMsV0FBVyxDQUFDLENBQUM7QUFDNUQsQ0FBQztBQUVELHNCQUFzQjtBQUV0QixTQUFnQixpQkFBaUIsQ0FBQyxRQUF5QixFQUFFLFdBQW9CO0lBQy9FLE1BQU0sR0FBRyxHQUFHLFdBQVcsSUFBSSxJQUFJLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxHQUFHLEVBQUUsR0FBRyxJQUFJLENBQUMsQ0FBQztJQUN6RCxNQUFNLE9BQU8sR0FBRyxRQUFRLENBQUMsU0FBUyxDQUFDLFFBQVEsRUFBRSxHQUFHLFFBQVEsQ0FBQyxNQUFNLENBQUMsTUFBTSxHQUFHLEVBQUUsQ0FBQyxDQUFDLHVCQUF1QjtJQUNwRyxPQUFPLEdBQUcsSUFBSSxPQUFPLENBQUM7QUFDeEIsQ0FBQztBQUVELFNBQWdCLGdCQUFnQixDQUFDLFFBQXlCLEVBQUUsV0FBb0I7SUFDOUUsTUFBTSxHQUFHLEdBQUcsV0FBVyxJQUFJLElBQUksQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLEdBQUcsRUFBRSxHQUFHLElBQUksQ0FBQyxDQUFDO0lBQ3pELE1BQU0sT0FBTyxHQUFHLFFBQVEsQ0FBQyxTQUFTLENBQUMsUUFBUSxFQUFFLEdBQUcsUUFBUSxDQUFDLE1BQU0sQ0FBQyxNQUFNLEdBQUcsRUFBRSxDQUFDLENBQUMsdUJBQXVCO0lBQ3BHLE9BQU8sSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDLEVBQUUsT0FBTyxHQUFHLEdBQUcsQ0FBQyxDQUFDO0FBQ3BDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvKlxuICogVXRpbGl0eSBmdW5jdGlvbnMgZm9yIHRoZSBGdXRhcmNoeSBwcm9ncmFtLlxuICogSW5jbHVkZXMgUERBIGRlcml2YXRpb24sIHBhcnNlcnMsIGFuZCBmZXRjaCBoZWxwZXJzLlxuICovXG5cbmltcG9ydCB7IFByb2dyYW0gfSBmcm9tIFwiQGNvcmFsLXh5ei9hbmNob3JcIjtcbmltcG9ydCB7IFB1YmxpY0tleSB9IGZyb20gXCJAc29sYW5hL3dlYjMuanNcIjtcbmltcG9ydCB7IERBT19TRUVELCBNT0RFUkFUT1JfU0VFRCwgUFJPUE9TQUxfU0VFRCwgTUlOVF9DUkVBVEVfS0VZX1NFRUQsIFBST0dSQU1fSUQgfSBmcm9tIFwiLi9jb25zdGFudHNcIjtcbmltcG9ydCB7IEZ1dGFyY2h5LCBEQU9BY2NvdW50LCBNb2RlcmF0b3JBY2NvdW50LCBQcm9wb3NhbEFjY291bnQsIFByb3Bvc2FsU3RhdGUgfSBmcm9tIFwiLi90eXBlc1wiO1xuXG4vKiBQREEgRGVyaXZhdGlvbiAqL1xuXG5leHBvcnQgZnVuY3Rpb24gZGVyaXZlREFPUERBKFxuICBuYW1lOiBzdHJpbmcsXG4gIHByb2dyYW1JZDogUHVibGljS2V5ID0gUFJPR1JBTV9JRFxuKTogW1B1YmxpY0tleSwgbnVtYmVyXSB7XG4gIHJldHVybiBQdWJsaWNLZXkuZmluZFByb2dyYW1BZGRyZXNzU3luYyhcbiAgICBbREFPX1NFRUQsIEJ1ZmZlci5mcm9tKG5hbWUpXSxcbiAgICBwcm9ncmFtSWRcbiAgKTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGRlcml2ZU1vZGVyYXRvclBEQShcbiAgbmFtZTogc3RyaW5nLFxuICBwcm9ncmFtSWQ6IFB1YmxpY0tleSA9IFBST0dSQU1fSURcbik6IFtQdWJsaWNLZXksIG51bWJlcl0ge1xuICByZXR1cm4gUHVibGljS2V5LmZpbmRQcm9ncmFtQWRkcmVzc1N5bmMoXG4gICAgW01PREVSQVRPUl9TRUVELCBCdWZmZXIuZnJvbShuYW1lKV0sXG4gICAgcHJvZ3JhbUlkXG4gICk7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBkZXJpdmVQcm9wb3NhbFBEQShcbiAgbW9kZXJhdG9yOiBQdWJsaWNLZXksXG4gIHByb3Bvc2FsSWQ6IG51bWJlcixcbiAgcHJvZ3JhbUlkOiBQdWJsaWNLZXkgPSBQUk9HUkFNX0lEXG4pOiBbUHVibGljS2V5LCBudW1iZXJdIHtcbiAgY29uc3QgcHJvcG9zYWxJZEJ1ZmZlciA9IEJ1ZmZlci5hbGxvYygyKTtcbiAgcHJvcG9zYWxJZEJ1ZmZlci53cml0ZVVJbnQxNkxFKHByb3Bvc2FsSWQpO1xuICByZXR1cm4gUHVibGljS2V5LmZpbmRQcm9ncmFtQWRkcmVzc1N5bmMoXG4gICAgW1BST1BPU0FMX1NFRUQsIG1vZGVyYXRvci50b0J1ZmZlcigpLCBwcm9wb3NhbElkQnVmZmVyXSxcbiAgICBwcm9ncmFtSWRcbiAgKTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGRlcml2ZU1pbnRDcmVhdGVLZXlQREEoXG4gIGRhb1BkYTogUHVibGljS2V5LFxuICBuYW1lOiBzdHJpbmcsXG4gIHByb2dyYW1JZDogUHVibGljS2V5ID0gUFJPR1JBTV9JRFxuKTogW1B1YmxpY0tleSwgbnVtYmVyXSB7XG4gIHJldHVybiBQdWJsaWNLZXkuZmluZFByb2dyYW1BZGRyZXNzU3luYyhcbiAgICBbZGFvUGRhLnRvQnVmZmVyKCksIE1JTlRfQ1JFQVRFX0tFWV9TRUVELCBCdWZmZXIuZnJvbShuYW1lKV0sXG4gICAgcHJvZ3JhbUlkXG4gICk7XG59XG5cbi8qIFBhcnNlcnMgKi9cblxuZXhwb3J0IGZ1bmN0aW9uIHBhcnNlUHJvcG9zYWxTdGF0ZShzdGF0ZTogYW55KTogeyBzdGF0ZTogUHJvcG9zYWxTdGF0ZTsgd2lubmluZ0lkeDogbnVtYmVyIHwgbnVsbCB9IHtcbiAgaWYgKFwic2V0dXBcIiBpbiBzdGF0ZSkge1xuICAgIHJldHVybiB7IHN0YXRlOiBQcm9wb3NhbFN0YXRlLlNldHVwLCB3aW5uaW5nSWR4OiBudWxsIH07XG4gIH1cbiAgaWYgKFwicGVuZGluZ1wiIGluIHN0YXRlKSB7XG4gICAgcmV0dXJuIHsgc3RhdGU6IFByb3Bvc2FsU3RhdGUuUGVuZGluZywgd2lubmluZ0lkeDogbnVsbCB9O1xuICB9XG4gIGlmIChcInJlc29sdmVkXCIgaW4gc3RhdGUpIHtcbiAgICBjb25zdCB3aW5uaW5nSWR4ID0gc3RhdGUucmVzb2x2ZWRbMF0gPz8gc3RhdGUucmVzb2x2ZWQ7XG4gICAgcmV0dXJuIHsgc3RhdGU6IFByb3Bvc2FsU3RhdGUuUmVzb2x2ZWQsIHdpbm5pbmdJZHggfTtcbiAgfVxuICB0aHJvdyBuZXcgRXJyb3IoXCJVbmtub3duIHByb3Bvc2FsIHN0YXRlXCIpO1xufVxuXG4vKiBGZXRjaGVycyAqL1xuXG5leHBvcnQgYXN5bmMgZnVuY3Rpb24gZmV0Y2hEQU9BY2NvdW50KFxuICBwcm9ncmFtOiBQcm9ncmFtPEZ1dGFyY2h5PixcbiAgZGFvUGRhOiBQdWJsaWNLZXlcbik6IFByb21pc2U8REFPQWNjb3VudD4ge1xuICByZXR1cm4gcHJvZ3JhbS5hY2NvdW50LmRhb0FjY291bnQuZmV0Y2goZGFvUGRhKTtcbn1cblxuZXhwb3J0IGFzeW5jIGZ1bmN0aW9uIGZldGNoTW9kZXJhdG9yQWNjb3VudChcbiAgcHJvZ3JhbTogUHJvZ3JhbTxGdXRhcmNoeT4sXG4gIG1vZGVyYXRvclBkYTogUHVibGljS2V5XG4pOiBQcm9taXNlPE1vZGVyYXRvckFjY291bnQ+IHtcbiAgcmV0dXJuIHByb2dyYW0uYWNjb3VudC5tb2RlcmF0b3JBY2NvdW50LmZldGNoKG1vZGVyYXRvclBkYSk7XG59XG5cbmV4cG9ydCBhc3luYyBmdW5jdGlvbiBmZXRjaFByb3Bvc2FsQWNjb3VudChcbiAgcHJvZ3JhbTogUHJvZ3JhbTxGdXRhcmNoeT4sXG4gIHByb3Bvc2FsUGRhOiBQdWJsaWNLZXlcbik6IFByb21pc2U8UHJvcG9zYWxBY2NvdW50PiB7XG4gIHJldHVybiBwcm9ncmFtLmFjY291bnQucHJvcG9zYWxBY2NvdW50LmZldGNoKHByb3Bvc2FsUGRhKTtcbn1cblxuLyogUHJvcG9zYWwgSGVscGVycyAqL1xuXG5leHBvcnQgZnVuY3Rpb24gaXNQcm9wb3NhbEV4cGlyZWQocHJvcG9zYWw6IFByb3Bvc2FsQWNjb3VudCwgY3VycmVudFRpbWU/OiBudW1iZXIpOiBib29sZWFuIHtcbiAgY29uc3Qgbm93ID0gY3VycmVudFRpbWUgPz8gTWF0aC5mbG9vcihEYXRlLm5vdygpIC8gMTAwMCk7XG4gIGNvbnN0IGVuZFRpbWUgPSBwcm9wb3NhbC5jcmVhdGVkQXQudG9OdW1iZXIoKSArIHByb3Bvc2FsLmNvbmZpZy5sZW5ndGggKiA2MDsgLy8gbGVuZ3RoIGlzIGluIG1pbnV0ZXNcbiAgcmV0dXJuIG5vdyA+PSBlbmRUaW1lO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gZ2V0VGltZVJlbWFpbmluZyhwcm9wb3NhbDogUHJvcG9zYWxBY2NvdW50LCBjdXJyZW50VGltZT86IG51bWJlcik6IG51bWJlciB7XG4gIGNvbnN0IG5vdyA9IGN1cnJlbnRUaW1lID8/IE1hdGguZmxvb3IoRGF0ZS5ub3coKSAvIDEwMDApO1xuICBjb25zdCBlbmRUaW1lID0gcHJvcG9zYWwuY3JlYXRlZEF0LnRvTnVtYmVyKCkgKyBwcm9wb3NhbC5jb25maWcubGVuZ3RoICogNjA7IC8vIGxlbmd0aCBpcyBpbiBtaW51dGVzXG4gIHJldHVybiBNYXRoLm1heCgwLCBlbmRUaW1lIC0gbm93KTtcbn1cbiJdfQ==
1
+ "use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.deriveDAOPDA=deriveDAOPDA,exports.deriveModeratorPDA=deriveModeratorPDA,exports.deriveProposalPDA=deriveProposalPDA,exports.deriveMintCreateKeyPDA=deriveMintCreateKeyPDA,exports.parseProposalState=parseProposalState,exports.fetchDAOAccount=fetchDAOAccount,exports.fetchModeratorAccount=fetchModeratorAccount,exports.fetchProposalAccount=fetchProposalAccount,exports.isProposalExpired=isProposalExpired,exports.getTimeRemaining=getTimeRemaining;const web3_js_1=require("@solana/web3.js"),constants_1=require("./constants"),types_1=require("./types");function deriveDAOPDA(e,t=constants_1.PROGRAM_ID){return web3_js_1.PublicKey.findProgramAddressSync([constants_1.DAO_SEED,Buffer.from(e)],t)}function deriveModeratorPDA(e,t=constants_1.PROGRAM_ID){return web3_js_1.PublicKey.findProgramAddressSync([constants_1.MODERATOR_SEED,Buffer.from(e)],t)}function deriveProposalPDA(e,t,r=constants_1.PROGRAM_ID){const o=Buffer.alloc(2);return o.writeUInt16LE(t),web3_js_1.PublicKey.findProgramAddressSync([constants_1.PROPOSAL_SEED,e.toBuffer(),o],r)}function deriveMintCreateKeyPDA(e,t,r=constants_1.PROGRAM_ID){return web3_js_1.PublicKey.findProgramAddressSync([e.toBuffer(),constants_1.MINT_CREATE_KEY_SEED,Buffer.from(t)],r)}function parseProposalState(e){if("setup"in e)return{state:types_1.ProposalState.Setup,winningIdx:null};if("pending"in e)return{state:types_1.ProposalState.Pending,winningIdx:null};if("resolved"in e){const t=e.resolved[0]??e.resolved;return{state:types_1.ProposalState.Resolved,winningIdx:t}}throw new Error("Unknown proposal state")}async function fetchDAOAccount(e,t){return e.account.daoAccount.fetch(t)}async function fetchModeratorAccount(e,t){return e.account.moderatorAccount.fetch(t)}async function fetchProposalAccount(e,t){return e.account.proposalAccount.fetch(t)}function isProposalExpired(e,t){return(t??Math.floor(Date.now()/1e3))>=e.createdAt.toNumber()+60*e.config.length}function getTimeRemaining(e,t){const r=t??Math.floor(Date.now()/1e3),o=e.createdAt.toNumber()+60*e.config.length;return Math.max(0,o-r)}
@@ -1,15 +1 @@
1
- "use strict";
2
- var __importDefault = (this && this.__importDefault) || function (mod) {
3
- return (mod && mod.__esModule) ? mod : { "default": mod };
4
- };
5
- Object.defineProperty(exports, "__esModule", { value: true });
6
- exports.SvaultIDL = exports.VaultIDL = exports.FutarchyIDL = exports.AmmIDL = void 0;
7
- var amm_json_1 = require("./amm.json");
8
- Object.defineProperty(exports, "AmmIDL", { enumerable: true, get: function () { return __importDefault(amm_json_1).default; } });
9
- var futarchy_json_1 = require("./futarchy.json");
10
- Object.defineProperty(exports, "FutarchyIDL", { enumerable: true, get: function () { return __importDefault(futarchy_json_1).default; } });
11
- var vault_json_1 = require("./vault.json");
12
- Object.defineProperty(exports, "VaultIDL", { enumerable: true, get: function () { return __importDefault(vault_json_1).default; } });
13
- var svault_json_1 = require("./svault.json");
14
- Object.defineProperty(exports, "SvaultIDL", { enumerable: true, get: function () { return __importDefault(svault_json_1).default; } });
15
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvZ2VuZXJhdGVkL2lkbHMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7O0FBQUEsdUNBQStDO0FBQXRDLG1IQUFBLE9BQU8sT0FBVTtBQUMxQixpREFBeUQ7QUFBaEQsNkhBQUEsT0FBTyxPQUFlO0FBQy9CLDJDQUFtRDtBQUExQyx1SEFBQSxPQUFPLE9BQVk7QUFDNUIsNkNBQXFEO0FBQTVDLHlIQUFBLE9BQU8sT0FBYSIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCB7IGRlZmF1bHQgYXMgQW1tSURMIH0gZnJvbSBcIi4vYW1tLmpzb25cIjtcbmV4cG9ydCB7IGRlZmF1bHQgYXMgRnV0YXJjaHlJREwgfSBmcm9tIFwiLi9mdXRhcmNoeS5qc29uXCI7XG5leHBvcnQgeyBkZWZhdWx0IGFzIFZhdWx0SURMIH0gZnJvbSBcIi4vdmF1bHQuanNvblwiO1xuZXhwb3J0IHsgZGVmYXVsdCBhcyBTdmF1bHRJREwgfSBmcm9tIFwiLi9zdmF1bHQuanNvblwiO1xuIl19
1
+ "use strict";var __importDefault=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(exports,"__esModule",{value:!0}),exports.SvaultIDL=exports.VaultIDL=exports.FutarchyIDL=exports.AmmIDL=void 0;var amm_json_1=require("./amm.json");Object.defineProperty(exports,"AmmIDL",{enumerable:!0,get:function(){return __importDefault(amm_json_1).default}});var futarchy_json_1=require("./futarchy.json");Object.defineProperty(exports,"FutarchyIDL",{enumerable:!0,get:function(){return __importDefault(futarchy_json_1).default}});var vault_json_1=require("./vault.json");Object.defineProperty(exports,"VaultIDL",{enumerable:!0,get:function(){return __importDefault(vault_json_1).default}});var svault_json_1=require("./svault.json");Object.defineProperty(exports,"SvaultIDL",{enumerable:!0,get:function(){return __importDefault(svault_json_1).default}});
@@ -1,3 +1 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYW1tLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2dlbmVyYXRlZC90eXBlcy9hbW0udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogUHJvZ3JhbSBJREwgaW4gY2FtZWxDYXNlIGZvcm1hdCBpbiBvcmRlciB0byBiZSB1c2VkIGluIEpTL1RTLlxuICpcbiAqIE5vdGUgdGhhdCB0aGlzIGlzIG9ubHkgYSB0eXBlIGhlbHBlciBhbmQgaXMgbm90IHRoZSBhY3R1YWwgSURMLiBUaGUgb3JpZ2luYWxcbiAqIElETCBjYW4gYmUgZm91bmQgYXQgYHRhcmdldC9pZGwvYW1tLmpzb25gLlxuICovXG5leHBvcnQgdHlwZSBBbW0gPSB7XG4gIFwiYWRkcmVzc1wiOiBcIkFNTVNndG50dEFLeDVBZDJZMXNvY0tKM0NjUVlDQjJjdGc4VTJTQUhjVkV4XCIsXG4gIFwibWV0YWRhdGFcIjoge1xuICAgIFwibmFtZVwiOiBcImFtbVwiLFxuICAgIFwidmVyc2lvblwiOiBcIjAuMS4wXCIsXG4gICAgXCJzcGVjXCI6IFwiMC4xLjBcIixcbiAgICBcImRlc2NyaXB0aW9uXCI6IFwiQ3JlYXRlZCB3aXRoIEFuY2hvclwiXG4gIH0sXG4gIFwiaW5zdHJ1Y3Rpb25zXCI6IFtcbiAgICB7XG4gICAgICBcIm5hbWVcIjogXCJhZGRMaXF1aWRpdHlcIixcbiAgICAgIFwiZGlzY3JpbWluYXRvclwiOiBbXG4gICAgICAgIDE4MSxcbiAgICAgICAgMTU3LFxuICAgICAgICA4OSxcbiAgICAgICAgNjcsXG4gICAgICAgIDE0MyxcbiAgICAgICAgMTgyLFxuICAgICAgICA1MixcbiAgICAgICAgNzJcbiAgICAgIF0sXG4gICAgICBcImFjY291bnRzXCI6IFtcbiAgICAgICAge1xuICAgICAgICAgIFwibmFtZVwiOiBcImRlcG9zaXRvclwiLFxuICAgICAgICAgIFwic2lnbmVyXCI6IHRydWVcbiAgICAgICAgfSxcbiAgICAgICAge1xuICAgICAgICAgIFwibmFtZVwiOiBcInBvb2xcIixcbiAgICAgICAgICBcInBkYVwiOiB7XG4gICAgICAgICAgICBcInNlZWRzXCI6IFtcbiAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgIFwia2luZFwiOiBcImNvbnN0XCIsXG4gICAgICAgICAgICAgICAgXCJ2YWx1ZVwiOiBbXG4gICAgICAgICAgICAgICAgICAxMTIsXG4gICAgICAgICAgICAgICAgICAxMTEsXG4gICAgICAgICAgICAgICAgICAxMTEsXG4gICAgICAgICAgICAgICAgICAxMDhcbiAgICAgICAgICAgICAgICBdXG4gICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICBcImtpbmRcIjogXCJhY2NvdW50XCIsXG4gICAgICAgICAgICAgICAgXCJwYXRoXCI6IFwicG9vbC5hZG1pblwiLFxuICAgICAgICAgICAgICAgIFwiYWNjb3VudFwiOiBcInBvb2xBY2NvdW50XCJcbiAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgIFwia2luZFwiOiBcImFjY291bnRcIixcbiAgICAgICAgICAgICAgICBcInBhdGhcIjogXCJwb29sLm1pbnRfYVwiLFxuICAgICAgICAgICAgICAgIFwiYWNjb3VudFwiOiBcInBvb2xBY2NvdW50XCJcbiAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgIFwia2luZFwiOiBcImFjY291bnRcIixcbiAgICAgICAgICAgICAgICBcInBhdGhcIjogXCJwb29sLm1pbnRfYlwiLFxuICAgICAgICAgICAgICAgIFwiYWNjb3VudFwiOiBcInBvb2xBY2NvdW50XCJcbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgXVxuICAgICAgICAgIH1cbiAgICAgICAgfSxcbiAgICAgICAge1xuICAgICAgICAgIFwibmFtZVwiOiBcInJlc2VydmVBXCIsXG4gICAgICAgICAgXCJ3cml0YWJsZVwiOiB0cnVlLFxuICAgICAgICAgIFwicGRhXCI6IHtcbiAgICAgICAgICAgIFwic2VlZHNcIjogW1xuICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgXCJraW5kXCI6IFwiY29uc3RcIixcbiAgICAgICAgICAgICAgICBcInZhbHVlXCI6IFtcbiAgICAgICAgICAgICAgICAgIDExNCxcbiAgICAgICAgICAgICAgICAgIDEwMSxcbiAgICAgICAgICAgICAgICAgIDExNSxcbiAgICAgICAgICAgICAgICAgIDEwMSxcbiAgICAgICAgICAgICAgICAgIDExNCxcbiAgICAgICAgICAgICAgICAgIDExOCxcbiAgICAgICAgICAgICAgICAgIDEwMVxuICAgICAgICAgICAgICAgIF1cbiAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgIFwia2luZFwiOiBcImFjY291bnRcIixcbiAgICAgICAgICAgICAgICBcInBhdGhcIjogXCJwb29sXCJcbiAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgIFwia2luZFwiOiBcImFjY291bnRcIixcbiAgICAgICAgICAgICAgICBcInBhdGhcIjogXCJwb29sLm1pbnRfYVwiLFxuICAgICAgICAgICAgICAgIFwiYWNjb3VudFwiOiBcInBvb2xBY2NvdW50XCJcbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgXVxuICAgICAgICAgIH1cbiAgICAgICAgfSxcbiAgICAgICAge1xuICAgICAgICAgIFwibmFtZVwiOiBcInJlc2VydmVCXCIsXG4gICAgICAgICAgXCJ3cml0YWJsZVwiOiB0cnVlLFxuICAgICAgICAgIFwicGRhXCI6IHtcbiAgICAgICAgICAgIFwic2VlZHNcIjogW1xuICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgXCJraW5kXCI6IFwiY29uc3RcIixcbiAgICAgICAgICAgICAgICBcInZhbHVlXCI6IFtcbiAgICAgICAgICAgICAgICAgIDExNCxcbiAgICAgICAgICAgICAgICAgIDEwMSxcbiAgICAgICAgICAgICAgICAgIDExNSxcbiAgICAgICAgICAgICAgICAgIDEwMSxcbiAgICAgICAgICAgICAgICAgIDExNCxcbiAgICAgICAgICAgICAgICAgIDExOCxcbiAgICAgICAgICAgICAgICAgIDEwMVxuICAgICAgICAgICAgICAgIF1cbiAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgIFwia2luZFwiOiBcImFjY291bnRcIixcbiAgICAgICAgICAgICAgICBcInBhdGhcIjogXCJwb29sXCJcbiAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgIFwia2luZFwiOiBcImFjY291bnRcIixcbiAgICAgICAgICAgICAgICBcInBhdGhcIjogXCJwb29sLm1pbnRfYlwiLFxuICAgICAgICAgICAgICAgIFwiYWNjb3VudFwiOiBcInBvb2xBY2NvdW50XCJcbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgXVxuICAgICAgICAgIH1cbiAgICAgICAgfSxcbiAgICAgICAge1xuICAgICAgICAgIFwibmFtZVwiOiBcImRlcG9zaXRvclRva2VuQWNjQVwiLFxuICAgICAgICAgIFwid3JpdGFibGVcIjogdHJ1ZVxuICAgICAgICB9LFxuICAgICAgICB7XG4gICAgICAgICAgXCJuYW1lXCI6IFwiZGVwb3NpdG9yVG9rZW5BY2NCXCIsXG4gICAgICAgICAgXCJ3cml0YWJsZVwiOiB0cnVlXG4gICAgICAgIH0sXG4gICAgICAgIHtcbiAgICAgICAgICBcIm5hbWVcIjogXCJ0b2tlblByb2dyYW1cIixcbiAgICAgICAgICBcImFkZHJlc3NcIjogXCJUb2tlbmtlZ1FmZVp5aU53QUpiTmJHS1BGWENXdUJ2ZjlTczYyM1ZRNURBXCJcbiAgICAgICAgfVxuICAgICAgXSxcbiAgICAgIFwiYXJnc1wiOiBbXG4gICAgICAgIHtcbiAgICAgICAgICBcIm5hbWVcIjogXCJhbW91bnRBXCIsXG4gICAgICAgICAgXCJ0eXBlXCI6IFwidTY0XCJcbiAgICAgICAgfSxcbiAgICAgICAge1xuICAgICAgICAgIFwibmFtZVwiOiBcImFtb3VudEJcIixcbiAgICAgICAgICBcInR5cGVcIjogXCJ1NjRcIlxuICAgICAgICB9XG4gICAgICBdXG4gICAgfSxcbiAgICB7XG4gICAgICBcIm5hbWVcIjogXCJjZWFzZVRyYWRpbmdcIixcbiAgICAgIFwiZGlzY3JpbWluYXRvclwiOiBbXG4gICAgICAgIDE4NyxcbiAgICAgICAgMTQwLFxuICAgICAgICA3MyxcbiAgICAgICAgODQsXG4gICAgICAgIDExOSxcbiAgICAgICAgMjQ5LFxuICAgICAgICAzOCxcbiAgICAgICAgMjEyXG4gICAgICBdLFxuICAgICAgXCJhY2NvdW50c1wiOiBbXG4gICAgICAgIHtcbiAgICAgICAgICBcIm5hbWVcIjogXCJhZG1pblwiLFxuICAgICAgICAgIFwic2lnbmVyXCI6IHRydWVcbiAgICAgICAgfSxcbiAgICAgICAge1xuICAgICAgICAgIFwibmFtZVwiOiBcInBvb2xcIixcbiAgICAgICAgICBcIndyaXRhYmxlXCI6IHRydWUsXG4gICAgICAgICAgXCJwZGFcIjoge1xuICAgICAgICAgICAgXCJzZWVkc1wiOiBbXG4gICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICBcImtpbmRcIjogXCJjb25zdFwiLFxuICAgICAgICAgICAgICAgIFwidmFsdWVcIjogW1xuICAgICAgICAgICAgICAgICAgMTEyLFxuICAgICAgICAgICAgICAgICAgMTExLFxuICAgICAgICAgICAgICAgICAgMTExLFxuICAgICAgICAgICAgICAgICAgMTA4XG4gICAgICAgICAgICAgICAgXVxuICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgXCJraW5kXCI6IFwiYWNjb3VudFwiLFxuICAgICAgICAgICAgICAgIFwicGF0aFwiOiBcInBvb2wuYWRtaW5cIixcbiAgICAgICAgICAgICAgICBcImFjY291bnRcIjogXCJwb29sQWNjb3VudFwiXG4gICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICBcImtpbmRcIjogXCJhY2NvdW50XCIsXG4gICAgICAgICAgICAgICAgXCJwYXRoXCI6IFwicG9vbC5taW50X2FcIixcbiAgICAgICAgICAgICAgICBcImFjY291bnRcIjogXCJwb29sQWNjb3VudFwiXG4gICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICBcImtpbmRcIjogXCJhY2NvdW50XCIsXG4gICAgICAgICAgICAgICAgXCJwYXRoXCI6IFwicG9vbC5taW50X2JcIixcbiAgICAgICAgICAgICAgICBcImFjY291bnRcIjogXCJwb29sQWNjb3VudFwiXG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIF1cbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIF0sXG4gICAgICBcImFyZ3NcIjogW11cbiAgICB9LFxuICAgIHtcbiAgICAgIFwibmFtZVwiOiBcImNyYW5rVHdhcFwiLFxuICAgICAgXCJkaXNjcmltaW5hdG9yXCI6IFtcbiAgICAgICAgNDMsXG4gICAgICAgIDEyNyxcbiAgICAgICAgMTc3LFxuICAgICAgICAyMzcsXG4gICAgICAgIDI0MyxcbiAgICAgICAgMTUzLFxuICAgICAgICAzMSxcbiAgICAgICAgMTYyXG4gICAgICBdLFxuICAgICAgXCJhY2NvdW50c1wiOiBbXG4gICAgICAgIHtcbiAgICAgICAgICBcIm5hbWVcIjogXCJwb29sXCIsXG4gICAgICAgICAgXCJ3cml0YWJsZVwiOiB0cnVlLFxuICAgICAgICAgIFwicGRhXCI6IHtcbiAgICAgICAgICAgIFwic2VlZHNcIjogW1xuICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgXCJraW5kXCI6IFwiY29uc3RcIixcbiAgICAgICAgICAgICAgICBcInZhbHVlXCI6IFtcbiAgICAgICAgICAgICAgICAgIDExMixcbiAgICAgICAgICAgICAgICAgIDExMSxcbiAgICAgICAgICAgICAgICAgIDExMSxcbiAgICAgICAgICAgICAgICAgIDEwOFxuICAgICAgICAgICAgICAgIF1cbiAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgIFwia2luZFwiOiBcImFjY291bnRcIixcbiAgICAgICAgICAgICAgICBcInBhdGhcIjogXCJwb29sLmFkbWluXCIsXG4gICAgICAgICAgICAgICAgXCJhY2NvdW50XCI6IFwicG9vbEFjY291bnRcIlxuICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgXCJraW5kXCI6IFwiYWNjb3VudFwiLFxuICAgICAgICAgICAgICAgIFwicGF0aFwiOiBcInBvb2wubWludF9hXCIsXG4gICAgICAgICAgICAgICAgXCJhY2NvdW50XCI6IFwicG9vbEFjY291bnRcIlxuICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgXCJraW5kXCI6IFwiYWNjb3VudFwiLFxuICAgICAgICAgICAgICAgIFwicGF0aFwiOiBcInBvb2wubWludF9iXCIsXG4gICAgICAgICAgICAgICAgXCJhY2NvdW50XCI6IFwicG9vbEFjY291bnRcIlxuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICBdXG4gICAgICAgICAgfVxuICAgICAgICB9LFxuICAgICAgICB7XG4gICAgICAgICAgXCJuYW1lXCI6IFwicmVzZXJ2ZUFcIixcbiAgICAgICAgICBcInBkYVwiOiB7XG4gICAgICAgICAgICBcInNlZWRzXCI6IFtcbiAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgIFwia2luZFwiOiBcImNvbnN0XCIsXG4gICAgICAgICAgICAgICAgXCJ2YWx1ZVwiOiBbXG4gICAgICAgICAgICAgICAgICAxMTQsXG4gICAgICAgICAgICAgICAgICAxMDEsXG4gICAgICAgICAgICAgICAgICAxMTUsXG4gICAgICAgICAgICAgICAgICAxMDEsXG4gICAgICAgICAgICAgICAgICAxMTQsXG4gICAgICAgICAgICAgICAgICAxMTgsXG4gICAgICAgICAgICAgICAgICAxMDFcbiAgICAgICAgICAgICAgICBdXG4gICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICBcImtpbmRcIjogXCJhY2NvdW50XCIsXG4gICAgICAgICAgICAgICAgXCJwYXRoXCI6IFwicG9vbFwiXG4gICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICBcImtpbmRcIjogXCJhY2NvdW50XCIsXG4gICAgICAgICAgICAgICAgXCJwYXRoXCI6IFwicG9vbC5taW50X2FcIixcbiAgICAgICAgICAgICAgICBcImFjY291bnRcIjogXCJwb29sQWNjb3VudFwiXG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIF1cbiAgICAgICAgICB9XG4gICAgICAgIH0sXG4gICAgICAgIHtcbiAgICAgICAgICBcIm5hbWVcIjogXCJyZXNlcnZlQlwiLFxuICAgICAgICAgIFwicGRhXCI6IHtcbiAgICAgICAgICAgIFwic2VlZHNcIjogW1xuICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgXCJraW5kXCI6IFwiY29uc3RcIixcbiAgICAgICAgICAgICAgICBcInZhbHVlXCI6IFtcbiAgICAgICAgICAgICAgICAgIDExNCxcbiAgICAgICAgICAgICAgICAgIDEwMSxcbiAgICAgICAgICAgICAgICAgIDExNSxcbiAgICAgICAgICAgICAgICAgIDEwMSxcbiAgICAgICAgICAgICAgICAgIDExNCxcbiAgICAgICAgICAgICAgICAgIDExOCxcbiAgICAgICAgICAgICAgICAgIDEwMVxuICAgICAgICAgICAgICAgIF1cbiAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgIFwia2luZFwiOiBcImFjY291bnRcIixcbiAgICAgICAgICAgICAgICBcInBhdGhcIjogXCJwb29sXCJcbiAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgIFwia2luZFwiOiBcImFjY291bnRcIixcbiAgICAgICAgICAgICAgICBcInBhdGhcIjogXCJwb29sLm1pbnRfYlwiLFxuICAgICAgICAgICAgICAgIFwiYWNjb3VudFwiOiBcInBvb2xBY2NvdW50XCJcbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgXVxuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgXSxcbiAgICAgIFwiYXJnc1wiOiBbXSxcbiAgICAgIFwicmV0dXJuc1wiOiBcInUxMjhcIlxuICAgIH0sXG4gICAge1xuICAgICAgXCJuYW1lXCI6IFwiY3JlYXRlUG9vbFwiLFxuICAgICAgXCJkaXNjcmltaW5hdG9yXCI6IFtcbiAgICAgICAgMjMzLFxuICAgICAgICAxNDYsXG4gICAgICAgIDIwOSxcbiAgICAgICAgMTQyLFxuICAgICAgICAyMDcsXG4gICAgICAgIDEwNCxcbiAgICAgICAgNjQsXG4gICAgICAgIDE4OFxuICAgICAgXSxcbiAgICAgIFwiYWNjb3VudHNcIjogW1xuICAgICAgICB7XG4gICAgICAgICAgXCJuYW1lXCI6IFwicGF5ZXJcIixcbiAgICAgICAgICBcIndyaXRhYmxlXCI6IHRydWUsXG4gICAgICAgICAgXCJzaWduZXJcIjogdHJ1ZVxuICAgICAgICB9LFxuICAgICAgICB7XG4gICAgICAgICAgXCJuYW1lXCI6IFwiYWRtaW5cIixcbiAgICAgICAgICBcInNpZ25lclwiOiB0cnVlXG4gICAgICAgIH0sXG4gICAgICAgIHtcbiAgICAgICAgICBcIm5hbWVcIjogXCJtaW50QVwiXG4gICAgICAgIH0sXG4gICAgICAgIHtcbiAgICAgICAgICBcIm5hbWVcIjogXCJtaW50QlwiXG4gICAgICAgIH0sXG4gICAgICAgIHtcbiAgICAgICAgICBcIm5hbWVcIjogXCJwb29sXCIsXG4gICAgICAgICAgXCJ3cml0YWJsZVwiOiB0cnVlLFxuICAgICAgICAgIFwicGRhXCI6IHtcbiAgICAgICAgICAgIFwic2VlZHNcIjogW1xuICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgXCJraW5kXCI6IFwiY29uc3RcIixcbiAgICAgICAgICAgICAgICBcInZhbHVlXCI6IFtcbiAgICAgICAgICAgICAgICAgIDExMixcbiAgICAgICAgICAgICAgICAgIDExMSxcbiAgICAgICAgICAgICAgICAgIDExMSxcbiAgICAgICAgICAgICAgICAgIDEwOFxuICAgICAgICAgICAgICAgIF1cbiAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgIFwia2luZFwiOiBcImFjY291bnRcIixcbiAgICAgICAgICAgICAgICBcInBhdGhcIjogXCJhZG1pblwiXG4gICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICBcImtpbmRcIjogXCJhY2NvdW50XCIsXG4gICAgICAgICAgICAgICAgXCJwYXRoXCI6IFwibWludEFcIlxuICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgXCJraW5kXCI6IFwiYWNjb3VudFwiLFxuICAgICAgICAgICAgICAgIFwicGF0aFwiOiBcIm1pbnRCXCJcbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgXVxuICAgICAgICAgIH1cbiAgICAgICAgfSxcbiAgICAgICAge1xuICAgICAgICAgIFwibmFtZVwiOiBcInJlc2VydmVBXCIsXG4gICAgICAgICAgXCJ3cml0YWJsZVwiOiB0cnVlLFxuICAgICAgICAgIFwicGRhXCI6IHtcbiAgICAgICAgICAgIFwic2VlZHNcIjogW1xuICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgXCJraW5kXCI6IFwiY29uc3RcIixcbiAgICAgICAgICAgICAgICBcInZhbHVlXCI6IFtcbiAgICAgICAgICAgICAgICAgIDExNCxcbiAgICAgICAgICAgICAgICAgIDEwMSxcbiAgICAgICAgICAgICAgICAgIDExNSxcbiAgICAgICAgICAgICAgICAgIDEwMSxcbiAgICAgICAgICAgICAgICAgIDExNCxcbiAgICAgICAgICAgICAgICAgIDExOCxcbiAgICAgICAgICAgICAgICAgIDEwMVxuICAgICAgICAgICAgICAgIF1cbiAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgIFwia2luZFwiOiBcImFjY291bnRcIixcbiAgICAgICAgICAgICAgICBcInBhdGhcIjogXCJwb29sXCJcbiAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgIFwia2luZFwiOiBcImFjY291bnRcIixcbiAgICAgICAgICAgICAgICBcInBhdGhcIjogXCJtaW50QVwiXG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIF1cbiAgICAgICAgICB9XG4gICAgICAgIH0sXG4gICAgICAgIHtcbiAgICAgICAgICBcIm5hbWVcIjogXCJyZXNlcnZlQlwiLFxuICAgICAgICAgIFwid3JpdGFibGVcIjogdHJ1ZSxcbiAgICAgICAgICBcInBkYVwiOiB7XG4gICAgICAgICAgICBcInNlZWRzXCI6IFtcbiAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgIFwia2luZFwiOiBcImNvbnN0XCIsXG4gICAgICAgICAgICAgICAgXCJ2YWx1ZVwiOiBbXG4gICAgICAgICAgICAgICAgICAxMTQsXG4gICAgICAgICAgICAgICAgICAxMDEsXG4gICAgICAgICAgICAgICAgICAxMTUsXG4gICAgICAgICAgICAgICAgICAxMDEsXG4gICAgICAgICAgICAgICAgICAxMTQsXG4gICAgICAgICAgICAgICAgICAxMTgsXG4gICAgICAgICAgICAgICAgICAxMDFcbiAgICAgICAgICAgICAgICBdXG4gICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICBcImtpbmRcIjogXCJhY2NvdW50XCIsXG4gICAgICAgICAgICAgICAgXCJwYXRoXCI6IFwicG9vbFwiXG4gICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICBcImtpbmRcIjogXCJhY2NvdW50XCIsXG4gICAgICAgICAgICAgICAgXCJwYXRoXCI6IFwibWludEJcIlxuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICBdXG4gICAgICAgICAgfVxuICAgICAgICB9LFxuICAgICAgICB7XG4gICAgICAgICAgXCJuYW1lXCI6IFwiZmVlQXV0aG9yaXR5XCIsXG4gICAgICAgICAgXCJhZGRyZXNzXCI6IFwiRkVFbmtjQ05FMjYyM0xZQ1B0TGY2M0xGelhwQ0ZpZ0JMVHU0cVpvdlJHWkNcIlxuICAgICAgICB9LFxuICAgICAgICB7XG4gICAgICAgICAgXCJuYW1lXCI6IFwiZmVlVmF1bHRcIixcbiAgICAgICAgICBcIndyaXRhYmxlXCI6IHRydWUsXG4gICAgICAgICAgXCJwZGFcIjoge1xuICAgICAgICAgICAgXCJzZWVkc1wiOiBbXG4gICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICBcImtpbmRcIjogXCJjb25zdFwiLFxuICAgICAgICAgICAgICAgIFwidmFsdWVcIjogW1xuICAgICAgICAgICAgICAgICAgMTAyLFxuICAgICAgICAgICAgICAgICAgMTAxLFxuICAgICAgICAgICAgICAgICAgMTAxLFxuICAgICAgICAgICAgICAgICAgOTUsXG4gICAgICAgICAgICAgICAgICAxMTgsXG4gICAgICAgICAgICAgICAgICA5NyxcbiAgICAgICAgICAgICAgICAgIDExNyxcbiAgICAgICAgICAgICAgICAgIDEwOCxcbiAgICAgICAgICAgICAgICAgIDExNlxuICAgICAgICAgICAgICAgIF1cbiAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgIFwia2luZFwiOiBcImFjY291bnRcIixcbiAgICAgICAgICAgICAgICBcInBhdGhcIjogXCJwb29sXCJcbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgXVxuICAgICAgICAgIH1cbiAgICAgICAgfSxcbiAgICAgICAge1xuICAgICAgICAgIFwibmFtZVwiOiBcInRva2VuUHJvZ3JhbVwiLFxuICAgICAgICAgIFwiYWRkcmVzc1wiOiBcIlRva2Vua2VnUWZlWnlpTndBSmJOYkdLUEZYQ1d1QnZmOVNzNjIzVlE1REFcIlxuICAgICAgICB9LFxuICAgICAgICB7XG4gICAgICAgICAgXCJuYW1lXCI6IFwic3lzdGVtUHJvZ3JhbVwiLFxuICAgICAgICAgIFwiYWRkcmVzc1wiOiBcIjExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExXCJcbiAgICAgICAgfVxuICAgICAgXSxcbiAgICAgIFwiYXJnc1wiOiBbXG4gICAgICAgIHtcbiAgICAgICAgICBcIm5hbWVcIjogXCJmZWVcIixcbiAgICAgICAgICBcInR5cGVcIjogXCJ1MTZcIlxuICAgICAgICB9LFxuICAgICAgICB7XG4gICAgICAgICAgXCJuYW1lXCI6IFwic3RhcnRpbmdPYnNlcnZhdGlvblwiLFxuICAgICAgICAgIFwidHlwZVwiOiBcInUxMjhcIlxuICAgICAgICB9LFxuICAgICAgICB7XG4gICAgICAgICAgXCJuYW1lXCI6IFwibWF4T2JzZXJ2YXRpb25EZWx0YVwiLFxuICAgICAgICAgIFwidHlwZVwiOiBcInUxMjhcIlxuICAgICAgICB9LFxuICAgICAgICB7XG4gICAgICAgICAgXCJuYW1lXCI6IFwid2FybXVwRHVyYXRpb25cIixcbiAgICAgICAgICBcInR5cGVcIjogXCJ1MzJcIlxuICAgICAgICB9LFxuICAgICAgICB7XG4gICAgICAgICAgXCJuYW1lXCI6IFwibGlxdWlkaXR5UHJvdmlkZXJcIixcbiAgICAgICAgICBcInR5cGVcIjoge1xuICAgICAgICAgICAgXCJvcHRpb25cIjogXCJwdWJrZXlcIlxuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgXVxuICAgIH0sXG4gICAge1xuICAgICAgXCJuYW1lXCI6IFwicmVtb3ZlTGlxdWlkaXR5XCIsXG4gICAgICBcImRpc2NyaW1pbmF0b3JcIjogW1xuICAgICAgICA4MCxcbiAgICAgICAgODUsXG4gICAgICAgIDIwOSxcbiAgICAgICAgNzIsXG4gICAgICAgIDI0LFxuICAgICAgICAyMDYsXG4gICAgICAgIDE3NyxcbiAgICAgICAgMTA4XG4gICAgICBdLFxuICAgICAgXCJhY2NvdW50c1wiOiBbXG4gICAgICAgIHtcbiAgICAgICAgICBcIm5hbWVcIjogXCJkZXBvc2l0b3JcIixcbiAgICAgICAgICBcInNpZ25lclwiOiB0cnVlXG4gICAgICAgIH0sXG4gICAgICAgIHtcbiAgICAgICAgICBcIm5hbWVcIjogXCJwb29sXCIsXG4gICAgICAgICAgXCJwZGFcIjoge1xuICAgICAgICAgICAgXCJzZWVkc1wiOiBbXG4gICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICBcImtpbmRcIjogXCJjb25zdFwiLFxuICAgICAgICAgICAgICAgIFwidmFsdWVcIjogW1xuICAgICAgICAgICAgICAgICAgMTEyLFxuICAgICAgICAgICAgICAgICAgMTExLFxuICAgICAgICAgICAgICAgICAgMTExLFxuICAgICAgICAgICAgICAgICAgMTA4XG4gICAgICAgICAgICAgICAgXVxuICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgXCJraW5kXCI6IFwiYWNjb3VudFwiLFxuICAgICAgICAgICAgICAgIFwicGF0aFwiOiBcInBvb2wuYWRtaW5cIixcbiAgICAgICAgICAgICAgICBcImFjY291bnRcIjogXCJwb29sQWNjb3VudFwiXG4gICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICBcImtpbmRcIjogXCJhY2NvdW50XCIsXG4gICAgICAgICAgICAgICAgXCJwYXRoXCI6IFwicG9vbC5taW50X2FcIixcbiAgICAgICAgICAgICAgICBcImFjY291bnRcIjogXCJwb29sQWNjb3VudFwiXG4gICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICBcImtpbmRcIjogXCJhY2NvdW50XCIsXG4gICAgICAgICAgICAgICAgXCJwYXRoXCI6IFwicG9vbC5taW50X2JcIixcbiAgICAgICAgICAgICAgICBcImFjY291bnRcIjogXCJwb29sQWNjb3VudFwiXG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIF1cbiAgICAgICAgICB9XG4gICAgICAgIH0sXG4gICAgICAgIHtcbiAgICAgICAgICBcIm5hbWVcIjogXCJyZXNlcnZlQVwiLFxuICAgICAgICAgIFwid3JpdGFibGVcIjogdHJ1ZSxcbiAgICAgICAgICBcInBkYVwiOiB7XG4gICAgICAgICAgICBcInNlZWRzXCI6IFtcbiAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgIFwia2luZFwiOiBcImNvbnN0XCIsXG4gICAgICAgICAgICAgICAgXCJ2YWx1ZVwiOiBbXG4gICAgICAgICAgICAgICAgICAxMTQsXG4gICAgICAgICAgICAgICAgICAxMDEsXG4gICAgICAgICAgICAgICAgICAxMTUsXG4gICAgICAgICAgICAgICAgICAxMDEsXG4gICAgICAgICAgICAgICAgICAxMTQsXG4gICAgICAgICAgICAgICAgICAxMTgsXG4gICAgICAgICAgICAgICAgICAxMDFcbiAgICAgICAgICAgICAgICBdXG4gICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICBcImtpbmRcIjogXCJhY2NvdW50XCIsXG4gICAgICAgICAgICAgICAgXCJwYXRoXCI6IFwicG9vbFwiXG4gICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICBcImtpbmRcIjogXCJhY2NvdW50XCIsXG4gICAgICAgICAgICAgICAgXCJwYXRoXCI6IFwicG9vbC5taW50X2FcIixcbiAgICAgICAgICAgICAgICBcImFjY291bnRcIjogXCJwb29sQWNjb3VudFwiXG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIF1cbiAgICAgICAgICB9XG4gICAgICAgIH0sXG4gICAgICAgIHtcbiAgICAgICAgICBcIm5hbWVcIjogXCJyZXNlcnZlQlwiLFxuICAgICAgICAgIFwid3JpdGFibGVcIjogdHJ1ZSxcbiAgICAgICAgICBcInBkYVwiOiB7XG4gICAgICAgICAgICBcInNlZWRzXCI6IFtcbiAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgIFwia2luZFwiOiBcImNvbnN0XCIsXG4gICAgICAgICAgICAgICAgXCJ2YWx1ZVwiOiBbXG4gICAgICAgICAgICAgICAgICAxMTQsXG4gICAgICAgICAgICAgICAgICAxMDEsXG4gICAgICAgICAgICAgICAgICAxMTUsXG4gICAgICAgICAgICAgICAgICAxMDEsXG4gICAgICAgICAgICAgICAgICAxMTQsXG4gICAgICAgICAgICAgICAgICAxMTgsXG4gICAgICAgICAgICAgICAgICAxMDFcbiAgICAgICAgICAgICAgICBdXG4gICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICBcImtpbmRcIjogXCJhY2NvdW50XCIsXG4gICAgICAgICAgICAgICAgXCJwYXRoXCI6IFwicG9vbFwiXG4gICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICBcImtpbmRcIjogXCJhY2NvdW50XCIsXG4gICAgICAgICAgICAgICAgXCJwYXRoXCI6IFwicG9vbC5taW50X2JcIixcbiAgICAgICAgICAgICAgICBcImFjY291bnRcIjogXCJwb29sQWNjb3VudFwiXG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIF1cbiAgICAgICAgICB9XG4gICAgICAgIH0sXG4gICAgICAgIHtcbiAgICAgICAgICBcIm5hbWVcIjogXCJkZXBvc2l0b3JUb2tlbkFjY0FcIixcbiAgICAgICAgICBcIndyaXRhYmxlXCI6IHRydWVcbiAgICAgICAgfSxcbiAgICAgICAge1xuICAgICAgICAgIFwibmFtZVwiOiBcImRlcG9zaXRvclRva2VuQWNjQlwiLFxuICAgICAgICAgIFwid3JpdGFibGVcIjogdHJ1ZVxuICAgICAgICB9LFxuICAgICAgICB7XG4gICAgICAgICAgXCJuYW1lXCI6IFwidG9rZW5Qcm9ncmFtXCIsXG4gICAgICAgICAgXCJhZGRyZXNzXCI6IFwiVG9rZW5rZWdRZmVaeWlOd0FKYk5iR0tQRlhDV3VCdmY5U3M2MjNWUTVEQVwiXG4gICAgICAgIH1cbiAgICAgIF0sXG4gICAgICBcImFyZ3NcIjogW1xuICAgICAgICB7XG4gICAgICAgICAgXCJuYW1lXCI6IFwiYW1vdW50QVwiLFxuICAgICAgICAgIFwidHlwZVwiOiBcInU2NFwiXG4gICAgICAgIH0sXG4gICAgICAgIHtcbiAgICAgICAgICBcIm5hbWVcIjogXCJhbW91bnRCXCIsXG4gICAgICAgICAgXCJ0eXBlXCI6IFwidTY0XCJcbiAgICAgICAgfVxuICAgICAgXVxuICAgIH0sXG4gICAge1xuICAgICAgXCJuYW1lXCI6IFwic3dhcFwiLFxuICAgICAgXCJkaXNjcmltaW5hdG9yXCI6IFtcbiAgICAgICAgMjQ4LFxuICAgICAgICAxOTgsXG4gICAgICAgIDE1OCxcbiAgICAgICAgMTQ1LFxuICAgICAgICAyMjUsXG4gICAgICAgIDExNyxcbiAgICAgICAgMTM1LFxuICAgICAgICAyMDBcbiAgICAgIF0sXG4gICAgICBcImFjY291bnRzXCI6IFtcbiAgICAgICAge1xuICAgICAgICAgIFwibmFtZVwiOiBcInRyYWRlclwiLFxuICAgICAgICAgIFwic2lnbmVyXCI6IHRydWVcbiAgICAgICAgfSxcbiAgICAgICAge1xuICAgICAgICAgIFwibmFtZVwiOiBcInBvb2xcIixcbiAgICAgICAgICBcIndyaXRhYmxlXCI6IHRydWUsXG4gICAgICAgICAgXCJwZGFcIjoge1xuICAgICAgICAgICAgXCJzZWVkc1wiOiBbXG4gICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICBcImtpbmRcIjogXCJjb25zdFwiLFxuICAgICAgICAgICAgICAgIFwidmFsdWVcIjogW1xuICAgICAgICAgICAgICAgICAgMTEyLFxuICAgICAgICAgICAgICAgICAgMTExLFxuICAgICAgICAgICAgICAgICAgMTExLFxuICAgICAgICAgICAgICAgICAgMTA4XG4gICAgICAgICAgICAgICAgXVxuICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgXCJraW5kXCI6IFwiYWNjb3VudFwiLFxuICAgICAgICAgICAgICAgIFwicGF0aFwiOiBcInBvb2wuYWRtaW5cIixcbiAgICAgICAgICAgICAgICBcImFjY291bnRcIjogXCJwb29sQWNjb3VudFwiXG4gICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICBcImtpbmRcIjogXCJhY2NvdW50XCIsXG4gICAgICAgICAgICAgICAgXCJwYXRoXCI6IFwicG9vbC5taW50X2FcIixcbiAgICAgICAgICAgICAgICBcImFjY291bnRcIjogXCJwb29sQWNjb3VudFwiXG4gICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICBcImtpbmRcIjogXCJhY2NvdW50XCIsXG4gICAgICAgICAgICAgICAgXCJwYXRoXCI6IFwicG9vbC5taW50X2JcIixcbiAgICAgICAgICAgICAgICBcImFjY291bnRcIjogXCJwb29sQWNjb3VudFwiXG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIF1cbiAgICAgICAgICB9XG4gICAgICAgIH0sXG4gICAgICAgIHtcbiAgICAgICAgICBcIm5hbWVcIjogXCJyZXNlcnZlQVwiLFxuICAgICAgICAgIFwid3JpdGFibGVcIjogdHJ1ZSxcbiAgICAgICAgICBcInBkYVwiOiB7XG4gICAgICAgICAgICBcInNlZWRzXCI6IFtcbiAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgIFwia2luZFwiOiBcImNvbnN0XCIsXG4gICAgICAgICAgICAgICAgXCJ2YWx1ZVwiOiBbXG4gICAgICAgICAgICAgICAgICAxMTQsXG4gICAgICAgICAgICAgICAgICAxMDEsXG4gICAgICAgICAgICAgICAgICAxMTUsXG4gICAgICAgICAgICAgICAgICAxMDEsXG4gICAgICAgICAgICAgICAgICAxMTQsXG4gICAgICAgICAgICAgICAgICAxMTgsXG4gICAgICAgICAgICAgICAgICAxMDFcbiAgICAgICAgICAgICAgICBdXG4gICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICBcImtpbmRcIjogXCJhY2NvdW50XCIsXG4gICAgICAgICAgICAgICAgXCJwYXRoXCI6IFwicG9vbFwiXG4gICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICBcImtpbmRcIjogXCJhY2NvdW50XCIsXG4gICAgICAgICAgICAgICAgXCJwYXRoXCI6IFwicG9vbC5taW50X2FcIixcbiAgICAgICAgICAgICAgICBcImFjY291bnRcIjogXCJwb29sQWNjb3VudFwiXG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIF1cbiAgICAgICAgICB9XG4gICAgICAgIH0sXG4gICAgICAgIHtcbiAgICAgICAgICBcIm5hbWVcIjogXCJyZXNlcnZlQlwiLFxuICAgICAgICAgIFwid3JpdGFibGVcIjogdHJ1ZSxcbiAgICAgICAgICBcInBkYVwiOiB7XG4gICAgICAgICAgICBcInNlZWRzXCI6IFtcbiAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgIFwia2luZFwiOiBcImNvbnN0XCIsXG4gICAgICAgICAgICAgICAgXCJ2YWx1ZVwiOiBbXG4gICAgICAgICAgICAgICAgICAxMTQsXG4gICAgICAgICAgICAgICAgICAxMDEsXG4gICAgICAgICAgICAgICAgICAxMTUsXG4gICAgICAgICAgICAgICAgICAxMDEsXG4gICAgICAgICAgICAgICAgICAxMTQsXG4gICAgICAgICAgICAgICAgICAxMTgsXG4gICAgICAgICAgICAgICAgICAxMDFcbiAgICAgICAgICAgICAgICBdXG4gICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICBcImtpbmRcIjogXCJhY2NvdW50XCIsXG4gICAgICAgICAgICAgICAgXCJwYXRoXCI6IFwicG9vbFwiXG4gICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICBcImtpbmRcIjogXCJhY2NvdW50XCIsXG4gICAgICAgICAgICAgICAgXCJwYXRoXCI6IFwicG9vbC5taW50X2JcIixcbiAgICAgICAgICAgICAgICBcImFjY291bnRcIjogXCJwb29sQWNjb3VudFwiXG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIF1cbiAgICAgICAgICB9XG4gICAgICAgIH0sXG4gICAgICAgIHtcbiAgICAgICAgICBcIm5hbWVcIjogXCJmZWVWYXVsdFwiLFxuICAgICAgICAgIFwiZG9jc1wiOiBbXG4gICAgICAgICAgICBcIkZlZSB2YXVsdCB3aXRoIGhhcmRjb2RlZCBmZWUgYXV0aG9yaXR5IHdhbGxldFwiXG4gICAgICAgICAgXSxcbiAgICAgICAgICBcIndyaXRhYmxlXCI6IHRydWUsXG4gICAgICAgICAgXCJwZGFcIjoge1xuICAgICAgICAgICAgXCJzZWVkc1wiOiBbXG4gICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICBcImtpbmRcIjogXCJjb25zdFwiLFxuICAgICAgICAgICAgICAgIFwidmFsdWVcIjogW1xuICAgICAgICAgICAgICAgICAgMTAyLFxuICAgICAgICAgICAgICAgICAgMTAxLFxuICAgICAgICAgICAgICAgICAgMTAxLFxuICAgICAgICAgICAgICAgICAgOTUsXG4gICAgICAgICAgICAgICAgICAxMTgsXG4gICAgICAgICAgICAgICAgICA5NyxcbiAgICAgICAgICAgICAgICAgIDExNyxcbiAgICAgICAgICAgICAgICAgIDEwOCxcbiAgICAgICAgICAgICAgICAgIDExNlxuICAgICAgICAgICAgICAgIF1cbiAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgIFwia2luZFwiOiBcImFjY291bnRcIixcbiAgICAgICAgICAgICAgICBcInBhdGhcIjogXCJwb29sXCJcbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgXVxuICAgICAgICAgIH1cbiAgICAgICAgfSxcbiAgICAgICAge1xuICAgICAgICAgIFwibmFtZVwiOiBcInRyYWRlckFjY291bnRBXCIsXG4gICAgICAgICAgXCJ3cml0YWJsZVwiOiB0cnVlXG4gICAgICAgIH0sXG4gICAgICAgIHtcbiAgICAgICAgICBcIm5hbWVcIjogXCJ0cmFkZXJBY2NvdW50QlwiLFxuICAgICAgICAgIFwid3JpdGFibGVcIjogdHJ1ZVxuICAgICAgICB9LFxuICAgICAgICB7XG4gICAgICAgICAgXCJuYW1lXCI6IFwidG9rZW5Qcm9ncmFtXCIsXG4gICAgICAgICAgXCJhZGRyZXNzXCI6IFwiVG9rZW5rZWdRZmVaeWlOd0FKYk5iR0tQRlhDV3VCdmY5U3M2MjNWUTVEQVwiXG4gICAgICAgIH1cbiAgICAgIF0sXG4gICAgICBcImFyZ3NcIjogW1xuICAgICAgICB7XG4gICAgICAgICAgXCJuYW1lXCI6IFwic3dhcEFUb0JcIixcbiAgICAgICAgICBcInR5cGVcIjogXCJib29sXCJcbiAgICAgICAgfSxcbiAgICAgICAge1xuICAgICAgICAgIFwibmFtZVwiOiBcImlucHV0QW1vdW50XCIsXG4gICAgICAgICAgXCJ0eXBlXCI6IFwidTY0XCJcbiAgICAgICAgfSxcbiAgICAgICAge1xuICAgICAgICAgIFwibmFtZVwiOiBcIm1pbk91dHB1dEFtb3VudFwiLFxuICAgICAgICAgIFwidHlwZVwiOiBcInU2NFwiXG4gICAgICAgIH1cbiAgICAgIF1cbiAgICB9XG4gIF0sXG4gIFwiYWNjb3VudHNcIjogW1xuICAgIHtcbiAgICAgIFwibmFtZVwiOiBcInBvb2xBY2NvdW50XCIsXG4gICAgICBcImRpc2NyaW1pbmF0b3JcIjogW1xuICAgICAgICAxMTYsXG4gICAgICAgIDIxMCxcbiAgICAgICAgMTg3LFxuICAgICAgICAxMTksXG4gICAgICAgIDE5NixcbiAgICAgICAgMTk2LFxuICAgICAgICA1MixcbiAgICAgICAgMTM3XG4gICAgICBdXG4gICAgfVxuICBdLFxuICBcImV2ZW50c1wiOiBbXG4gICAge1xuICAgICAgXCJuYW1lXCI6IFwiY29uZFN3YXBcIixcbiAgICAgIFwiZGlzY3JpbWluYXRvclwiOiBbXG4gICAgICAgIDk5LFxuICAgICAgICAyMyxcbiAgICAgICAgMTY5LFxuICAgICAgICA1NyxcbiAgICAgICAgNzAsXG4gICAgICAgIDIxOCxcbiAgICAgICAgMjQwLFxuICAgICAgICA2OVxuICAgICAgXVxuICAgIH0sXG4gICAge1xuICAgICAgXCJuYW1lXCI6IFwibGlxdWlkaXR5QWRkZWRcIixcbiAgICAgIFwiZGlzY3JpbWluYXRvclwiOiBbXG4gICAgICAgIDE1NCxcbiAgICAgICAgMjYsXG4gICAgICAgIDIyMSxcbiAgICAgICAgMTA4LFxuICAgICAgICAyMzgsXG4gICAgICAgIDY0LFxuICAgICAgICAyMTcsXG4gICAgICAgIDE2MVxuICAgICAgXVxuICAgIH0sXG4gICAge1xuICAgICAgXCJuYW1lXCI6IFwibGlxdWlkaXR5UmVtb3ZlZFwiLFxuICAgICAgXCJkaXNjcmltaW5hdG9yXCI6IFtcbiAgICAgICAgMjI1LFxuICAgICAgICAxMDUsXG4gICAgICAgIDIxNixcbiAgICAgICAgMzksXG4gICAgICAgIDEyNCxcbiAgICAgICAgMTE2LFxuICAgICAgICAxNjksXG4gICAgICAgIDE4OVxuICAgICAgXVxuICAgIH0sXG4gICAge1xuICAgICAgXCJuYW1lXCI6IFwicG9vbENyZWF0ZWRcIixcbiAgICAgIFwiZGlzY3JpbWluYXRvclwiOiBbXG4gICAgICAgIDIwMixcbiAgICAgICAgNDQsXG4gICAgICAgIDQxLFxuICAgICAgICA4OCxcbiAgICAgICAgMTA0LFxuICAgICAgICAyMjAsXG4gICAgICAgIDE1NyxcbiAgICAgICAgODJcbiAgICAgIF1cbiAgICB9LFxuICAgIHtcbiAgICAgIFwibmFtZVwiOiBcInR3YXBVcGRhdGVcIixcbiAgICAgIFwiZGlzY3JpbWluYXRvclwiOiBbXG4gICAgICAgIDQ4LFxuICAgICAgICAyMDksXG4gICAgICAgIDM5LFxuICAgICAgICAxMzUsXG4gICAgICAgIDE4NyxcbiAgICAgICAgNzYsXG4gICAgICAgIDE0NCxcbiAgICAgICAgMzhcbiAgICAgIF1cbiAgICB9XG4gIF0sXG4gIFwiZXJyb3JzXCI6IFtcbiAgICB7XG4gICAgICBcImNvZGVcIjogNjAwMCxcbiAgICAgIFwibmFtZVwiOiBcImludmFsaWRBZG1pblwiLFxuICAgICAgXCJtc2dcIjogXCJJbnZhbGlkIGFkbWluXCJcbiAgICB9LFxuICAgIHtcbiAgICAgIFwiY29kZVwiOiA2MDAxLFxuICAgICAgXCJuYW1lXCI6IFwiaW52YWxpZERlcG9zaXRvclwiLFxuICAgICAgXCJtc2dcIjogXCJJbnZhbGlkIGRlcG9zaXRvclwiXG4gICAgfSxcbiAgICB7XG4gICAgICBcImNvZGVcIjogNjAwMixcbiAgICAgIFwibmFtZVwiOiBcImludmFsaWRTdGF0ZVwiLFxuICAgICAgXCJtc2dcIjogXCJJbnZhbGlkIHN0YXRlXCJcbiAgICB9LFxuICAgIHtcbiAgICAgIFwiY29kZVwiOiA2MDAzLFxuICAgICAgXCJuYW1lXCI6IFwiaW52YWxpZEFtb3VudFwiLFxuICAgICAgXCJtc2dcIjogXCJJbnZhbGlkIGFtb3VudFwiXG4gICAgfSxcbiAgICB7XG4gICAgICBcImNvZGVcIjogNjAwNCxcbiAgICAgIFwibmFtZVwiOiBcInNsaXBwYWdlRXhjZWVkZWRcIixcbiAgICAgIFwibXNnXCI6IFwiU2xpcHBhZ2UgZXhjZWVkZWRcIlxuICAgIH0sXG4gICAge1xuICAgICAgXCJjb2RlXCI6IDYwMDUsXG4gICAgICBcIm5hbWVcIjogXCJpbnZhcmlhbnRWaW9sYXRlZFwiLFxuICAgICAgXCJtc2dcIjogXCJJbnZhcmlhbnQgdmlvbGF0ZWRcIlxuICAgIH0sXG4gICAge1xuICAgICAgXCJjb2RlXCI6IDYwMDYsXG4gICAgICBcIm5hbWVcIjogXCJlbXB0eVBvb2xcIixcbiAgICAgIFwibXNnXCI6IFwiUG9vbCBpcyBlbXB0eVwiXG4gICAgfSxcbiAgICB7XG4gICAgICBcImNvZGVcIjogNjAwNyxcbiAgICAgIFwibmFtZVwiOiBcIm1hdGhPdmVyZmxvd1wiLFxuICAgICAgXCJtc2dcIjogXCJNYXRoIG92ZXJmbG93XCJcbiAgICB9LFxuICAgIHtcbiAgICAgIFwiY29kZVwiOiA2MDA4LFxuICAgICAgXCJuYW1lXCI6IFwibWF0aFVuZGVyZmxvd1wiLFxuICAgICAgXCJtc2dcIjogXCJNYXRoIHVuZGVyZmxvd1wiXG4gICAgfSxcbiAgICB7XG4gICAgICBcImNvZGVcIjogNjAwOSxcbiAgICAgIFwibmFtZVwiOiBcIm91dHB1dFRvb1NtYWxsXCIsXG4gICAgICBcIm1zZ1wiOiBcIk91dHB1dCB0b28gc21hbGxcIlxuICAgIH0sXG4gICAge1xuICAgICAgXCJjb2RlXCI6IDYwMTAsXG4gICAgICBcIm5hbWVcIjogXCJpbnN1ZmZpY2llbnRSZXNlcnZlXCIsXG4gICAgICBcIm1zZ1wiOiBcIkluc3VmZmljaWVudCByZXNlcnZlIGJhbGFuY2VcIlxuICAgIH0sXG4gICAge1xuICAgICAgXCJjb2RlXCI6IDYwMTEsXG4gICAgICBcIm5hbWVcIjogXCJpbnZhbGlkRmVlXCIsXG4gICAgICBcIm1zZ1wiOiBcIkZlZSBleGNlZWRzIG1heGltdW1cIlxuICAgIH1cbiAgXSxcbiAgXCJ0eXBlc1wiOiBbXG4gICAge1xuICAgICAgXCJuYW1lXCI6IFwiY29uZFN3YXBcIixcbiAgICAgIFwidHlwZVwiOiB7XG4gICAgICAgIFwia2luZFwiOiBcInN0cnVjdFwiLFxuICAgICAgICBcImZpZWxkc1wiOiBbXG4gICAgICAgICAge1xuICAgICAgICAgICAgXCJuYW1lXCI6IFwicG9vbFwiLFxuICAgICAgICAgICAgXCJ0eXBlXCI6IFwicHVia2V5XCJcbiAgICAgICAgICB9LFxuICAgICAgICAgIHtcbiAgICAgICAgICAgIFwibmFtZVwiOiBcInRyYWRlclwiLFxuICAgICAgICAgICAgXCJ0eXBlXCI6IFwicHVia2V5XCJcbiAgICAgICAgICB9LFxuICAgICAgICAgIHtcbiAgICAgICAgICAgIFwibmFtZVwiOiBcInN3YXBBVG9CXCIsXG4gICAgICAgICAgICBcInR5cGVcIjogXCJib29sXCJcbiAgICAgICAgICB9LFxuICAgICAgICAgIHtcbiAgICAgICAgICAgIFwibmFtZVwiOiBcImlucHV0QW1vdW50XCIsXG4gICAgICAgICAgICBcInR5cGVcIjogXCJ1NjRcIlxuICAgICAgICAgIH0sXG4gICAgICAgICAge1xuICAgICAgICAgICAgXCJuYW1lXCI6IFwib3V0cHV0QW1vdW50XCIsXG4gICAgICAgICAgICBcInR5cGVcIjogXCJ1NjRcIlxuICAgICAgICAgIH0sXG4gICAgICAgICAge1xuICAgICAgICAgICAgXCJuYW1lXCI6IFwiZmVlQW1vdW50XCIsXG4gICAgICAgICAgICBcInR5cGVcIjogXCJ1NjRcIlxuICAgICAgICAgIH1cbiAgICAgICAgXVxuICAgICAgfVxuICAgIH0sXG4gICAge1xuICAgICAgXCJuYW1lXCI6IFwibGlxdWlkaXR5QWRkZWRcIixcbiAgICAgIFwidHlwZVwiOiB7XG4gICAgICAgIFwia2luZFwiOiBcInN0cnVjdFwiLFxuICAgICAgICBcImZpZWxkc1wiOiBbXG4gICAgICAgICAge1xuICAgICAgICAgICAgXCJuYW1lXCI6IFwicG9vbFwiLFxuICAgICAgICAgICAgXCJ0eXBlXCI6IFwicHVia2V5XCJcbiAgICAgICAgICB9LFxuICAgICAgICAgIHtcbiAgICAgICAgICAgIFwibmFtZVwiOiBcImFtb3VudEFcIixcbiAgICAgICAgICAgIFwidHlwZVwiOiBcInU2NFwiXG4gICAgICAgICAgfSxcbiAgICAgICAgICB7XG4gICAgICAgICAgICBcIm5hbWVcIjogXCJhbW91bnRCXCIsXG4gICAgICAgICAgICBcInR5cGVcIjogXCJ1NjRcIlxuICAgICAgICAgIH1cbiAgICAgICAgXVxuICAgICAgfVxuICAgIH0sXG4gICAge1xuICAgICAgXCJuYW1lXCI6IFwibGlxdWlkaXR5UmVtb3ZlZFwiLFxuICAgICAgXCJ0eXBlXCI6IHtcbiAgICAgICAgXCJraW5kXCI6IFwic3RydWN0XCIsXG4gICAgICAgIFwiZmllbGRzXCI6IFtcbiAgICAgICAgICB7XG4gICAgICAgICAgICBcIm5hbWVcIjogXCJwb29sXCIsXG4gICAgICAgICAgICBcInR5cGVcIjogXCJwdWJrZXlcIlxuICAgICAgICAgIH0sXG4gICAgICAgICAge1xuICAgICAgICAgICAgXCJuYW1lXCI6IFwiYW1vdW50QVwiLFxuICAgICAgICAgICAgXCJ0eXBlXCI6IFwidTY0XCJcbiAgICAgICAgICB9LFxuICAgICAgICAgIHtcbiAgICAgICAgICAgIFwibmFtZVwiOiBcImFtb3VudEJcIixcbiAgICAgICAgICAgIFwidHlwZVwiOiBcInU2NFwiXG4gICAgICAgICAgfVxuICAgICAgICBdXG4gICAgICB9XG4gICAgfSxcbiAgICB7XG4gICAgICBcIm5hbWVcIjogXCJwb29sQWNjb3VudFwiLFxuICAgICAgXCJ0eXBlXCI6IHtcbiAgICAgICAgXCJraW5kXCI6IFwic3RydWN0XCIsXG4gICAgICAgIFwiZmllbGRzXCI6IFtcbiAgICAgICAgICB7XG4gICAgICAgICAgICBcIm5hbWVcIjogXCJ2ZXJzaW9uXCIsXG4gICAgICAgICAgICBcInR5cGVcIjogXCJ1OFwiXG4gICAgICAgICAgfSxcbiAgICAgICAgICB7XG4gICAgICAgICAgICBcIm5hbWVcIjogXCJidW1wc1wiLFxuICAgICAgICAgICAgXCJ0eXBlXCI6IHtcbiAgICAgICAgICAgICAgXCJkZWZpbmVkXCI6IHtcbiAgICAgICAgICAgICAgICBcIm5hbWVcIjogXCJwb29sQnVtcHNcIlxuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfSxcbiAgICAgICAgICB7XG4gICAgICAgICAgICBcIm5hbWVcIjogXCJzdGF0ZVwiLFxuICAgICAgICAgICAgXCJ0eXBlXCI6IHtcbiAgICAgICAgICAgICAgXCJkZWZpbmVkXCI6IHtcbiAgICAgICAgICAgICAgICBcIm5hbWVcIjogXCJwb29sU3RhdGVcIlxuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfSxcbiAgICAgICAgICB7XG4gICAgICAgICAgICBcIm5hbWVcIjogXCJtaW50QVwiLFxuICAgICAgICAgICAgXCJ0eXBlXCI6IFwicHVia2V5XCJcbiAgICAgICAgICB9LFxuICAgICAgICAgIHtcbiAgICAgICAgICAgIFwibmFtZVwiOiBcIm1pbnRCXCIsXG4gICAgICAgICAgICBcInR5cGVcIjogXCJwdWJrZXlcIlxuICAgICAgICAgIH0sXG4gICAgICAgICAge1xuICAgICAgICAgICAgXCJuYW1lXCI6IFwiZmVlXCIsXG4gICAgICAgICAgICBcInR5cGVcIjogXCJ1MTZcIlxuICAgICAgICAgIH0sXG4gICAgICAgICAge1xuICAgICAgICAgICAgXCJuYW1lXCI6IFwiYWRtaW5cIixcbiAgICAgICAgICAgIFwidHlwZVwiOiBcInB1YmtleVwiXG4gICAgICAgICAgfSxcbiAgICAgICAgICB7XG4gICAgICAgICAgICBcIm5hbWVcIjogXCJsaXF1aWRpdHlQcm92aWRlclwiLFxuICAgICAgICAgICAgXCJ0eXBlXCI6IFwicHVia2V5XCJcbiAgICAgICAgICB9LFxuICAgICAgICAgIHtcbiAgICAgICAgICAgIFwibmFtZVwiOiBcIm9yYWNsZVwiLFxuICAgICAgICAgICAgXCJ0eXBlXCI6IHtcbiAgICAgICAgICAgICAgXCJkZWZpbmVkXCI6IHtcbiAgICAgICAgICAgICAgICBcIm5hbWVcIjogXCJ0d2FwT3JhY2xlXCJcbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgXVxuICAgICAgfVxuICAgIH0sXG4gICAge1xuICAgICAgXCJuYW1lXCI6IFwicG9vbEJ1bXBzXCIsXG4gICAgICBcInR5cGVcIjoge1xuICAgICAgICBcImtpbmRcIjogXCJzdHJ1Y3RcIixcbiAgICAgICAgXCJmaWVsZHNcIjogW1xuICAgICAgICAgIHtcbiAgICAgICAgICAgIFwibmFtZVwiOiBcInBvb2xcIixcbiAgICAgICAgICAgIFwidHlwZVwiOiBcInU4XCJcbiAgICAgICAgICB9LFxuICAgICAgICAgIHtcbiAgICAgICAgICAgIFwibmFtZVwiOiBcInJlc2VydmVBXCIsXG4gICAgICAgICAgICBcInR5cGVcIjogXCJ1OFwiXG4gICAgICAgICAgfSxcbiAgICAgICAgICB7XG4gICAgICAgICAgICBcIm5hbWVcIjogXCJyZXNlcnZlQlwiLFxuICAgICAgICAgICAgXCJ0eXBlXCI6IFwidThcIlxuICAgICAgICAgIH0sXG4gICAgICAgICAge1xuICAgICAgICAgICAgXCJuYW1lXCI6IFwiZmVlVmF1bHRcIixcbiAgICAgICAgICAgIFwidHlwZVwiOiBcInU4XCJcbiAgICAgICAgICB9XG4gICAgICAgIF1cbiAgICAgIH1cbiAgICB9LFxuICAgIHtcbiAgICAgIFwibmFtZVwiOiBcInBvb2xDcmVhdGVkXCIsXG4gICAgICBcInR5cGVcIjoge1xuICAgICAgICBcImtpbmRcIjogXCJzdHJ1Y3RcIixcbiAgICAgICAgXCJmaWVsZHNcIjogW1xuICAgICAgICAgIHtcbiAgICAgICAgICAgIFwibmFtZVwiOiBcInZlcnNpb25cIixcbiAgICAgICAgICAgIFwidHlwZVwiOiBcInU4XCJcbiAgICAgICAgICB9LFxuICAgICAgICAgIHtcbiAgICAgICAgICAgIFwibmFtZVwiOiBcInBvb2xcIixcbiAgICAgICAgICAgIFwidHlwZVwiOiBcInB1YmtleVwiXG4gICAgICAgICAgfSxcbiAgICAgICAgICB7XG4gICAgICAgICAgICBcIm5hbWVcIjogXCJtaW50QVwiLFxuICAgICAgICAgICAgXCJ0eXBlXCI6IFwicHVia2V5XCJcbiAgICAgICAgICB9LFxuICAgICAgICAgIHtcbiAgICAgICAgICAgIFwibmFtZVwiOiBcIm1pbnRCXCIsXG4gICAgICAgICAgICBcInR5cGVcIjogXCJwdWJrZXlcIlxuICAgICAgICAgIH0sXG4gICAgICAgICAge1xuICAgICAgICAgICAgXCJuYW1lXCI6IFwiZmVlXCIsXG4gICAgICAgICAgICBcInR5cGVcIjogXCJ1MTZcIlxuICAgICAgICAgIH0sXG4gICAgICAgICAge1xuICAgICAgICAgICAgXCJuYW1lXCI6IFwiYWRtaW5cIixcbiAgICAgICAgICAgIFwidHlwZVwiOiBcInB1YmtleVwiXG4gICAgICAgICAgfVxuICAgICAgICBdXG4gICAgICB9XG4gICAgfSxcbiAgICB7XG4gICAgICBcIm5hbWVcIjogXCJwb29sU3RhdGVcIixcbiAgICAgIFwidHlwZVwiOiB7XG4gICAgICAgIFwia2luZFwiOiBcImVudW1cIixcbiAgICAgICAgXCJ2YXJpYW50c1wiOiBbXG4gICAgICAgICAge1xuICAgICAgICAgICAgXCJuYW1lXCI6IFwidHJhZGluZ1wiXG4gICAgICAgICAgfSxcbiAgICAgICAgICB7XG4gICAgICAgICAgICBcIm5hbWVcIjogXCJmaW5hbGl6ZWRcIlxuICAgICAgICAgIH1cbiAgICAgICAgXVxuICAgICAgfVxuICAgIH0sXG4gICAge1xuICAgICAgXCJuYW1lXCI6IFwidHdhcFVwZGF0ZVwiLFxuICAgICAgXCJ0eXBlXCI6IHtcbiAgICAgICAgXCJraW5kXCI6IFwic3RydWN0XCIsXG4gICAgICAgIFwiZmllbGRzXCI6IFtcbiAgICAgICAgICB7XG4gICAgICAgICAgICBcIm5hbWVcIjogXCJ1bml4VGltZVwiLFxuICAgICAgICAgICAgXCJ0eXBlXCI6IFwiaTY0XCJcbiAgICAgICAgICB9LFxuICAgICAgICAgIHtcbiAgICAgICAgICAgIFwibmFtZVwiOiBcInByaWNlXCIsXG4gICAgICAgICAgICBcInR5cGVcIjogXCJ1MTI4XCJcbiAgICAgICAgICB9LFxuICAgICAgICAgIHtcbiAgICAgICAgICAgIFwibmFtZVwiOiBcIm9ic2VydmF0aW9uXCIsXG4gICAgICAgICAgICBcInR5cGVcIjogXCJ1MTI4XCJcbiAgICAgICAgICB9LFxuICAgICAgICAgIHtcbiAgICAgICAgICAgIFwibmFtZVwiOiBcImN1bXVsYXRpdmVPYnNlcnZhdGlvbnNcIixcbiAgICAgICAgICAgIFwidHlwZVwiOiBcInUxMjhcIlxuICAgICAgICAgIH0sXG4gICAgICAgICAge1xuICAgICAgICAgICAgXCJuYW1lXCI6IFwidHdhcFwiLFxuICAgICAgICAgICAgXCJ0eXBlXCI6IFwidTEyOFwiXG4gICAgICAgICAgfVxuICAgICAgICBdXG4gICAgICB9XG4gICAgfSxcbiAgICB7XG4gICAgICBcIm5hbWVcIjogXCJ0d2FwT3JhY2xlXCIsXG4gICAgICBcImRvY3NcIjogW1xuICAgICAgICBcIlRXQVAgb3JhY2xlIHRoYXQgdHJhY2tzIHRpbWUtd2VpZ2h0ZWQgYXZlcmFnZSBwcmljZXMgd2l0aCBtYW5pcHVsYXRpb24gcmVzaXN0YW5jZS5cIixcbiAgICAgICAgXCJcIixcbiAgICAgICAgXCJPYnNlcnZhdGlvbnMgYXJlIHJhdGUtbGltaXRlZCB0byBwcmV2ZW50IGZsYXNoIGxvYW4gYW5kIHNpbmdsZS1ibG9jayBhdHRhY2tzLlwiLFxuICAgICAgICBcIlRoZSBjdW11bGF0aXZlX29ic2VydmF0aW9ucyBmaWVsZCBhY2N1bXVsYXRlcyAob2JzZXJ2YXRpb24gKiB0aW1lX2VsYXBzZWQpIHdoaWNoXCIsXG4gICAgICAgIFwiY2FuIGJlIGRpdmlkZWQgYnkgdG90YWwgdGltZSB0byBnZXQgdGhlIFRXQVAuXCJcbiAgICAgIF0sXG4gICAgICBcInR5cGVcIjoge1xuICAgICAgICBcImtpbmRcIjogXCJzdHJ1Y3RcIixcbiAgICAgICAgXCJmaWVsZHNcIjogW1xuICAgICAgICAgIHtcbiAgICAgICAgICAgIFwibmFtZVwiOiBcImN1bXVsYXRpdmVPYnNlcnZhdGlvbnNcIixcbiAgICAgICAgICAgIFwiZG9jc1wiOiBbXG4gICAgICAgICAgICAgIFwiUnVubmluZyBzdW0gb2YgKG9ic2VydmF0aW9uICogc2Vjb25kc19lbGFwc2VkKSB1c2VkIGZvciBUV0FQIGNhbGN1bGF0aW9uLlwiLFxuICAgICAgICAgICAgICBcIk9uIG92ZXJmbG93LCB3cmFwcyBiYWNrIHRvIDAgLSBjbGllbnRzIHNob3VsZCBoYW5kbGUgdGhpcyBlZGdlIGNhc2UuXCJcbiAgICAgICAgICAgIF0sXG4gICAgICAgICAgICBcInR5cGVcIjogXCJ1MTI4XCJcbiAgICAgICAgICB9LFxuICAgICAgICAgIHtcbiAgICAgICAgICAgIFwibmFtZVwiOiBcImxhc3RVcGRhdGVVbml4VGltZVwiLFxuICAgICAgICAgICAgXCJkb2NzXCI6IFtcbiAgICAgICAgICAgICAgXCJVbml4IHRpbWVzdGFtcCBvZiB0aGUgbW9zdCByZWNlbnQgcHJpY2UgcmVjb3JkaW5nXCJcbiAgICAgICAgICAgIF0sXG4gICAgICAgICAgICBcInR5cGVcIjogXCJpNjRcIlxuICAgICAgICAgIH0sXG4gICAgICAgICAge1xuICAgICAgICAgICAgXCJuYW1lXCI6IFwiY3JlYXRlZEF0VW5peFRpbWVcIixcbiAgICAgICAgICAgIFwiZG9jc1wiOiBbXG4gICAgICAgICAgICAgIFwiVW5peCB0aW1lc3RhbXAgd2hlbiB0aGlzIG9yYWNsZSB3YXMgaW5pdGlhbGl6ZWRcIlxuICAgICAgICAgICAgXSxcbiAgICAgICAgICAgIFwidHlwZVwiOiBcImk2NFwiXG4gICAgICAgICAgfSxcbiAgICAgICAgICB7XG4gICAgICAgICAgICBcIm5hbWVcIjogXCJsYXN0UHJpY2VcIixcbiAgICAgICAgICAgIFwiZG9jc1wiOiBbXG4gICAgICAgICAgICAgIFwiTW9zdCByZWNlbnQgcmF3IHByaWNlIGZyb20gcG9vbCByZXNlcnZlcyAocmVzZXJ2ZXNfYSAvIHJlc2VydmVzX2IgKiBQUklDRV9TQ0FMRSlcIlxuICAgICAgICAgICAgXSxcbiAgICAgICAgICAgIFwidHlwZVwiOiBcInUxMjhcIlxuICAgICAgICAgIH0sXG4gICAgICAgICAge1xuICAgICAgICAgICAgXCJuYW1lXCI6IFwibGFzdE9ic2VydmF0aW9uXCIsXG4gICAgICAgICAgICBcImRvY3NcIjogW1xuICAgICAgICAgICAgICBcIlJhdGUtbGltaXRlZCBvYnNlcnZhdGlvbiB0aGF0IG1vdmVzIHRvd2FyZCBwcmljZSBib3VuZGVkIGJ5IG1heF9vYnNlcnZhdGlvbl9kZWx0YVwiXG4gICAgICAgICAgICBdLFxuICAgICAgICAgICAgXCJ0eXBlXCI6IFwidTEyOFwiXG4gICAgICAgICAgfSxcbiAgICAgICAgICB7XG4gICAgICAgICAgICBcIm5hbWVcIjogXCJtYXhPYnNlcnZhdGlvbkRlbHRhXCIsXG4gICAgICAgICAgICBcImRvY3NcIjogW1xuICAgICAgICAgICAgICBcIk1heGltdW0gYW1vdW50IG9ic2VydmF0aW9uIGNhbiBjaGFuZ2UgcGVyIGNyYW5rIChtYW5pcHVsYXRpb24gcmVzaXN0YW5jZSlcIlxuICAgICAgICAgICAgXSxcbiAgICAgICAgICAgIFwidHlwZVwiOiBcInUxMjhcIlxuICAgICAgICAgIH0sXG4gICAgICAgICAge1xuICAgICAgICAgICAgXCJuYW1lXCI6IFwic3RhcnRpbmdPYnNlcnZhdGlvblwiLFxuICAgICAgICAgICAgXCJkb2NzXCI6IFtcbiAgICAgICAgICAgICAgXCJJbml0aWFsIHZhbHVlIGZvciBsYXN0X29ic2VydmF0aW9uIHdoZW4gb3JhY2xlIGlzIGNyZWF0ZWRcIlxuICAgICAgICAgICAgXSxcbiAgICAgICAgICAgIFwidHlwZVwiOiBcInUxMjhcIlxuICAgICAgICAgIH0sXG4gICAgICAgICAge1xuICAgICAgICAgICAgXCJuYW1lXCI6IFwid2FybXVwRHVyYXRpb25cIixcbiAgICAgICAgICAgIFwiZG9jc1wiOiBbXG4gICAgICAgICAgICAgIFwiU2Vjb25kcyBhZnRlciBjcmVhdGlvbiBiZWZvcmUgVFdBUCBhY2N1bXVsYXRpb24gYmVnaW5zXCJcbiAgICAgICAgICAgIF0sXG4gICAgICAgICAgICBcInR5cGVcIjogXCJ1MzJcIlxuICAgICAgICAgIH0sXG4gICAgICAgICAge1xuICAgICAgICAgICAgXCJuYW1lXCI6IFwibWluUmVjb3JkaW5nSW50ZXJ2YWxcIixcbiAgICAgICAgICAgIFwiZG9jc1wiOiBbXG4gICAgICAgICAgICAgIFwiTWluaW11bSB0aW1lIGluLWJldHdlZW4gVFdBUCByZWNvcmRpbmdzXCJcbiAgICAgICAgICAgIF0sXG4gICAgICAgICAgICBcInR5cGVcIjogXCJpNjRcIlxuICAgICAgICAgIH1cbiAgICAgICAgXVxuICAgICAgfVxuICAgIH1cbiAgXSxcbiAgXCJjb25zdGFudHNcIjogW1xuICAgIHtcbiAgICAgIFwibmFtZVwiOiBcImFtbVZlcnNpb25cIixcbiAgICAgIFwidHlwZVwiOiBcInU4XCIsXG4gICAgICBcInZhbHVlXCI6IFwiMVwiXG4gICAgfSxcbiAgICB7XG4gICAgICBcIm5hbWVcIjogXCJmZWVBdXRob3JpdHlcIixcbiAgICAgIFwidHlwZVwiOiBcInB1YmtleVwiLFxuICAgICAgXCJ2YWx1ZVwiOiBcIkZFRW5rY0NORTI2MjNMWUNQdExmNjNMRnpYcENGaWdCTFR1NHFab3ZSR1pDXCJcbiAgICB9LFxuICAgIHtcbiAgICAgIFwibmFtZVwiOiBcImZlZVZhdWx0U2VlZFwiLFxuICAgICAgXCJ0eXBlXCI6IFwiYnl0ZXNcIixcbiAgICAgIFwidmFsdWVcIjogXCJbMTAyLCAxMDEsIDEwMSwgOTUsIDExOCwgOTcsIDExNywgMTA4LCAxMTZdXCJcbiAgICB9LFxuICAgIHtcbiAgICAgIFwibmFtZVwiOiBcIm1heEZlZVwiLFxuICAgICAgXCJ0eXBlXCI6IFwidTE2XCIsXG4gICAgICBcInZhbHVlXCI6IFwiNTAwMFwiXG4gICAgfSxcbiAgICB7XG4gICAgICBcIm5hbWVcIjogXCJwb29sU2VlZFwiLFxuICAgICAgXCJ0eXBlXCI6IFwiYnl0ZXNcIixcbiAgICAgIFwidmFsdWVcIjogXCJbMTEyLCAxMTEsIDExMSwgMTA4XVwiXG4gICAgfSxcbiAgICB7XG4gICAgICBcIm5hbWVcIjogXCJyZXNlcnZlU2VlZFwiLFxuICAgICAgXCJ0eXBlXCI6IFwiYnl0ZXNcIixcbiAgICAgIFwidmFsdWVcIjogXCJbMTE0LCAxMDEsIDExNSwgMTAxLCAxMTQsIDExOCwgMTAxXVwiXG4gICAgfVxuICBdXG59O1xuIl19
1
+ "use strict";Object.defineProperty(exports,"__esModule",{value:!0});