gx
chenyc
2025-06-12 7b72ac13a83764a662159d4a49b7fffb90476ecb
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
/**
 * @license
 * Copyright 2022 Google LLC. All Rights Reserved.
 * Licensed under the Apache License, Version 2.0 (the "License");
 * you may not use this file except in compliance with the License.
 * You may obtain a copy of the License at
 *
 * http://www.apache.org/licenses/LICENSE-2.0
 *
 * Unless required by applicable law or agreed to in writing, software
 * distributed under the License is distributed on an "AS IS" BASIS,
 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 * See the License for the specific language governing permissions and
 * limitations under the License.
 * =============================================================================
 */
export const HASH_TABLE_MODEL_V2 = {
    modelTopology: {
        node: [
            {
                name: 'unknown_0',
                op: 'Const',
                attr: {
                    value: { tensor: { dtype: 'DT_INT32', tensorShape: {} } },
                    dtype: { type: 'DT_INT32' }
                }
            },
            {
                name: 'input',
                op: 'Placeholder',
                attr: { shape: { shape: { dim: [{ size: '-1' }] } }, dtype: { type: 'DT_STRING' } }
            },
            {
                name: 'unknown',
                op: 'Placeholder',
                attr: { shape: { shape: {} }, dtype: { type: 'DT_RESOURCE' } }
            },
            {
                name: 'StatefulPartitionedCall/None_Lookup/LookupTableFindV2',
                op: 'LookupTableFindV2',
                input: ['unknown', 'input', 'unknown_0'],
                attr: {
                    Tout: { type: 'DT_INT32' },
                    Tin: { type: 'DT_STRING' },
                    _has_manual_control_dependencies: { b: true }
                }
            },
            {
                name: 'Identity',
                op: 'Identity',
                input: ['StatefulPartitionedCall/None_Lookup/LookupTableFindV2'],
                attr: { T: { type: 'DT_INT32' } }
            }
        ],
        library: {},
        versions: { producer: 1240 }
    },
    format: 'graph-model',
    generatedBy: '2.11.0-dev20220822',
    convertedBy: 'TensorFlow.js Converter v1.7.0',
    weightSpecs: [
        { name: 'unknown_0', shape: [], dtype: 'int32' },
        { name: '114', shape: [2], dtype: 'string' },
        { name: '116', shape: [2], dtype: 'int32' }
    ],
    'weightData': new Uint8Array([
        0xff, 0xff, 0xff, 0xff, 0x01, 0x00, 0x00, 0x00, 0x61, 0x01, 0x00,
        0x00, 0x00, 0x62, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00
    ]).buffer,
    signature: {
        inputs: {
            input: {
                name: 'input:0',
                dtype: 'DT_STRING',
                tensorShape: { dim: [{ size: '-1' }] }
            },
            'unknown:0': {
                name: 'unknown:0',
                dtype: 'DT_RESOURCE',
                tensorShape: {},
                resourceId: 66
            }
        },
        outputs: {
            output_0: {
                name: 'Identity:0',
                dtype: 'DT_INT32',
                tensorShape: { dim: [{ size: '-1' }] }
            }
        }
    },
    modelInitializer: {
        node: [
            {
                name: 'Func/StatefulPartitionedCall/input_control_node/_0',
                op: 'NoOp',
                attr: { _has_manual_control_dependencies: { b: true } }
            },
            {
                name: '114',
                op: 'Const',
                attr: {
                    value: { tensor: { dtype: 'DT_STRING', tensorShape: { dim: [{ size: '2' }] } } },
                    _has_manual_control_dependencies: { b: true },
                    dtype: { type: 'DT_STRING' }
                }
            },
            {
                name: '116',
                op: 'Const',
                attr: {
                    _has_manual_control_dependencies: { b: true },
                    dtype: { type: 'DT_INT32' },
                    value: { tensor: { dtype: 'DT_INT32', tensorShape: { dim: [{ size: '2' }] } } }
                }
            },
            {
                name: 'Func/StatefulPartitionedCall/StatefulPartitionedCall/input_control_node/_9',
                op: 'NoOp',
                input: ['^Func/StatefulPartitionedCall/input_control_node/_0'],
                attr: { _has_manual_control_dependencies: { b: true } }
            },
            {
                name: 'StatefulPartitionedCall/StatefulPartitionedCall/hash_table',
                op: 'HashTableV2',
                input: [
                    '^Func/StatefulPartitionedCall/StatefulPartitionedCall/input_control_node/_9'
                ],
                attr: {
                    container: { s: '' },
                    use_node_name_sharing: { b: true },
                    _has_manual_control_dependencies: { b: true },
                    shared_name: { s: 'OTVfbG9hZF8xXzUy' },
                    value_dtype: { type: 'DT_INT32' },
                    key_dtype: { type: 'DT_STRING' }
                }
            },
            {
                name: 'Func/StatefulPartitionedCall/StatefulPartitionedCall/output_control_node/_11',
                op: 'NoOp',
                input: ['^StatefulPartitionedCall/StatefulPartitionedCall/hash_table'],
                attr: { _has_manual_control_dependencies: { b: true } }
            },
            {
                name: 'Func/StatefulPartitionedCall/output_control_node/_2',
                op: 'NoOp',
                input: [
                    '^Func/StatefulPartitionedCall/StatefulPartitionedCall/output_control_node/_11'
                ],
                attr: { _has_manual_control_dependencies: { b: true } }
            },
            {
                name: 'StatefulPartitionedCall/StatefulPartitionedCall/NoOp',
                op: 'NoOp',
                input: ['^StatefulPartitionedCall/StatefulPartitionedCall/hash_table'],
                attr: {
                    _acd_function_control_output: { b: true },
                    _has_manual_control_dependencies: { b: true }
                }
            },
            {
                name: 'StatefulPartitionedCall/StatefulPartitionedCall/Identity',
                op: 'Identity',
                input: [
                    'StatefulPartitionedCall/StatefulPartitionedCall/hash_table',
                    '^StatefulPartitionedCall/StatefulPartitionedCall/NoOp'
                ],
                attr: { T: { type: 'DT_RESOURCE' } }
            },
            {
                name: 'Func/StatefulPartitionedCall/StatefulPartitionedCall/output/_10',
                op: 'Identity',
                input: ['StatefulPartitionedCall/StatefulPartitionedCall/Identity'],
                attr: { T: { type: 'DT_RESOURCE' } }
            },
            {
                name: 'StatefulPartitionedCall/NoOp',
                op: 'NoOp',
                input: [
                    '^Func/StatefulPartitionedCall/StatefulPartitionedCall/output_control_node/_11'
                ],
                attr: {
                    _has_manual_control_dependencies: { b: true },
                    _acd_function_control_output: { b: true }
                }
            },
            {
                name: 'StatefulPartitionedCall/Identity',
                op: 'Identity',
                input: [
                    'Func/StatefulPartitionedCall/StatefulPartitionedCall/output/_10',
                    '^StatefulPartitionedCall/NoOp'
                ],
                attr: { T: { type: 'DT_RESOURCE' } }
            },
            {
                name: 'Func/StatefulPartitionedCall/output/_1',
                op: 'Identity',
                input: ['StatefulPartitionedCall/Identity'],
                attr: {
                    T: { type: 'DT_RESOURCE' },
                    _has_manual_control_dependencies: { b: true }
                }
            },
            {
                name: 'Func/StatefulPartitionedCall_1/input_control_node/_3',
                op: 'NoOp',
                input: ['^114', '^116', '^Func/StatefulPartitionedCall/output/_1'],
                attr: { _has_manual_control_dependencies: { b: true } }
            },
            {
                name: 'Func/StatefulPartitionedCall_1/input/_4',
                op: 'Identity',
                input: [
                    'Func/StatefulPartitionedCall/output/_1',
                    '^Func/StatefulPartitionedCall_1/input_control_node/_3'
                ],
                attr: { T: { type: 'DT_RESOURCE' } }
            },
            {
                name: 'Func/StatefulPartitionedCall_1/StatefulPartitionedCall/input_control_node/_12',
                op: 'NoOp',
                input: ['^Func/StatefulPartitionedCall_1/input_control_node/_3'],
                attr: { _has_manual_control_dependencies: { b: true } }
            },
            {
                name: 'Func/StatefulPartitionedCall_1/StatefulPartitionedCall/input/_13',
                op: 'Identity',
                input: [
                    'Func/StatefulPartitionedCall_1/input/_4',
                    '^Func/StatefulPartitionedCall_1/StatefulPartitionedCall/input_control_node/_12'
                ],
                attr: { T: { type: 'DT_RESOURCE' } }
            },
            {
                name: 'Func/StatefulPartitionedCall_1/input/_5',
                op: 'Identity',
                input: ['114', '^Func/StatefulPartitionedCall_1/input_control_node/_3'],
                attr: { T: { type: 'DT_STRING' } }
            },
            {
                name: 'Func/StatefulPartitionedCall_1/StatefulPartitionedCall/input/_14',
                op: 'Identity',
                input: [
                    'Func/StatefulPartitionedCall_1/input/_5',
                    '^Func/StatefulPartitionedCall_1/StatefulPartitionedCall/input_control_node/_12'
                ],
                attr: { T: { type: 'DT_STRING' } }
            },
            {
                name: 'Func/StatefulPartitionedCall_1/input/_6',
                op: 'Identity',
                input: ['116', '^Func/StatefulPartitionedCall_1/input_control_node/_3'],
                attr: { T: { type: 'DT_INT32' } }
            },
            {
                name: 'Func/StatefulPartitionedCall_1/StatefulPartitionedCall/input/_15',
                op: 'Identity',
                input: [
                    'Func/StatefulPartitionedCall_1/input/_6',
                    '^Func/StatefulPartitionedCall_1/StatefulPartitionedCall/input_control_node/_12'
                ],
                attr: { T: { type: 'DT_INT32' } }
            },
            {
                name: 'StatefulPartitionedCall_1/StatefulPartitionedCall/key_value_init94/LookupTableImportV2',
                op: 'LookupTableImportV2',
                input: [
                    'Func/StatefulPartitionedCall_1/StatefulPartitionedCall/input/_13',
                    'Func/StatefulPartitionedCall_1/StatefulPartitionedCall/input/_14',
                    'Func/StatefulPartitionedCall_1/StatefulPartitionedCall/input/_15'
                ],
                attr: {
                    Tout: { type: 'DT_INT32' },
                    Tin: { type: 'DT_STRING' },
                    _has_manual_control_dependencies: { b: true }
                }
            },
            {
                name: 'Func/StatefulPartitionedCall_1/StatefulPartitionedCall/output_control_node/_17',
                op: 'NoOp',
                input: [
                    '^StatefulPartitionedCall_1/StatefulPartitionedCall/key_value_init94/LookupTableImportV2'
                ],
                attr: { _has_manual_control_dependencies: { b: true } }
            },
            {
                name: 'Func/StatefulPartitionedCall_1/output_control_node/_8',
                op: 'NoOp',
                input: [
                    '^Func/StatefulPartitionedCall_1/StatefulPartitionedCall/output_control_node/_17'
                ],
                attr: { _has_manual_control_dependencies: { b: true } }
            },
            {
                name: 'NoOp',
                op: 'NoOp',
                input: [
                    '^Func/StatefulPartitionedCall/output_control_node/_2',
                    '^Func/StatefulPartitionedCall_1/output_control_node/_8'
                ],
                attr: {
                    _has_manual_control_dependencies: { b: true },
                    _acd_function_control_output: { b: true }
                }
            },
            {
                name: 'Identity',
                op: 'Identity',
                input: [
                    'Func/StatefulPartitionedCall/output/_1',
                    '^Func/StatefulPartitionedCall_1/output_control_node/_8', '^NoOp'
                ],
                attr: { T: { type: 'DT_RESOURCE' } }
            }
        ],
        versions: { producer: 1240 }
    },
    initializerSignature: {
        outputs: {
            'Identity:0': {
                name: 'Identity:0',
                dtype: 'DT_RESOURCE',
                tensorShape: {},
                resourceId: 66
            }
        }
    }
};
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaGFzaF90YWJsZV92Ml9tb2RlbF9sb2FkZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi90ZmpzLWNvbnZlcnRlci9zcmMvZXhlY3V0b3IvdGVzdF9kYXRhL2hhc2hfdGFibGVfdjJfbW9kZWxfbG9hZGVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOzs7Ozs7Ozs7Ozs7Ozs7R0FlRztBQUNILE1BQU0sQ0FBQyxNQUFNLG1CQUFtQixHQUFHO0lBQ2pDLGFBQWEsRUFBRTtRQUNiLElBQUksRUFBRTtZQUNKO2dCQUNFLElBQUksRUFBRSxXQUFXO2dCQUNqQixFQUFFLEVBQUUsT0FBTztnQkFDWCxJQUFJLEVBQUU7b0JBQ0osS0FBSyxFQUFFLEVBQUMsTUFBTSxFQUFFLEVBQUMsS0FBSyxFQUFFLFVBQVUsRUFBRSxXQUFXLEVBQUUsRUFBRSxFQUFDLEVBQUM7b0JBQ3JELEtBQUssRUFBRSxFQUFDLElBQUksRUFBRSxVQUFVLEVBQUM7aUJBQzFCO2FBQ0Y7WUFDRDtnQkFDRSxJQUFJLEVBQUUsT0FBTztnQkFDYixFQUFFLEVBQUUsYUFBYTtnQkFDakIsSUFBSSxFQUNBLEVBQUMsS0FBSyxFQUFFLEVBQUMsS0FBSyxFQUFFLEVBQUMsR0FBRyxFQUFFLENBQUMsRUFBQyxJQUFJLEVBQUUsSUFBSSxFQUFDLENBQUMsRUFBQyxFQUFDLEVBQUUsS0FBSyxFQUFFLEVBQUMsSUFBSSxFQUFFLFdBQVcsRUFBQyxFQUFDO2FBQ3hFO1lBQ0Q7Z0JBQ0UsSUFBSSxFQUFFLFNBQVM7Z0JBQ2YsRUFBRSxFQUFFLGFBQWE7Z0JBQ2pCLElBQUksRUFBRSxFQUFDLEtBQUssRUFBRSxFQUFDLEtBQUssRUFBRSxFQUFFLEVBQUMsRUFBRSxLQUFLLEVBQUUsRUFBQyxJQUFJLEVBQUUsYUFBYSxFQUFDLEVBQUM7YUFDekQ7WUFDRDtnQkFDRSxJQUFJLEVBQUUsdURBQXVEO2dCQUM3RCxFQUFFLEVBQUUsbUJBQW1CO2dCQUN2QixL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LEVBQUUsT0FBTztpQkFDbEU7Z0JBQ0QsSUFBSSxFQUFFLEVBQUMsQ0FBQyxFQUFFLEVBQUMsSUFBSSxFQUFFLGFBQWEsRUFBQyxFQUFDO2FBQ2pDO1NBQ0Y7UUFDRCxRQUFRLEVBQUUsRUFBQyxRQUFRLEVBQUUsSUFBSSxFQUFDO0tBQzNCO0lBQ0Qsb0JBQW9CLEVBQUU7UUFDcEIsT0FBTyxFQUFFO1lBQ1AsWUFBWSxFQUFFO2dCQUNaLElBQUksRUFBRSxZQUFZO2dCQUNsQixLQUFLLEVBQUUsYUFBYTtnQkFDcEIsV0FBVyxFQUFFLEVBQUU7Z0JBQ2YsVUFBVSxFQUFFLEVBQUU7YUFDZjtTQUNGO0tBQ0Y7Q0FDRixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBAbGljZW5zZVxuICogQ29weXJpZ2h0IDIwMjIgR29vZ2xlIExMQy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC5cbiAqIExpY2Vuc2VkIHVuZGVyIHRoZSBBcGFjaGUgTGljZW5zZSwgVmVyc2lvbiAyLjAgKHRoZSBcIkxpY2Vuc2VcIik7XG4gKiB5b3UgbWF5IG5vdCB1c2UgdGhpcyBmaWxlIGV4Y2VwdCBpbiBjb21wbGlhbmNlIHdpdGggdGhlIExpY2Vuc2UuXG4gKiBZb3UgbWF5IG9idGFpbiBhIGNvcHkgb2YgdGhlIExpY2Vuc2UgYXRcbiAqXG4gKiBodHRwOi8vd3d3LmFwYWNoZS5vcmcvbGljZW5zZXMvTElDRU5TRS0yLjBcbiAqXG4gKiBVbmxlc3MgcmVxdWlyZWQgYnkgYXBwbGljYWJsZSBsYXcgb3IgYWdyZWVkIHRvIGluIHdyaXRpbmcsIHNvZnR3YXJlXG4gKiBkaXN0cmlidXRlZCB1bmRlciB0aGUgTGljZW5zZSBpcyBkaXN0cmlidXRlZCBvbiBhbiBcIkFTIElTXCIgQkFTSVMsXG4gKiBXSVRIT1VUIFdBUlJBTlRJRVMgT1IgQ09ORElUSU9OUyBPRiBBTlkgS0lORCwgZWl0aGVyIGV4cHJlc3Mgb3IgaW1wbGllZC5cbiAqIFNlZSB0aGUgTGljZW5zZSBmb3IgdGhlIHNwZWNpZmljIGxhbmd1YWdlIGdvdmVybmluZyBwZXJtaXNzaW9ucyBhbmRcbiAqIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLlxuICogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAqL1xuZXhwb3J0IGNvbnN0IEhBU0hfVEFCTEVfTU9ERUxfVjIgPSB7XG4gIG1vZGVsVG9wb2xvZ3k6IHtcbiAgICBub2RlOiBbXG4gICAgICB7XG4gICAgICAgIG5hbWU6ICd1bmtub3duXzAnLFxuICAgICAgICBvcDogJ0NvbnN0JyxcbiAgICAgICAgYXR0cjoge1xuICAgICAgICAgIHZhbHVlOiB7dGVuc29yOiB7ZHR5cGU6ICdEVF9JTlQzMicsIHRlbnNvclNoYXBlOiB7fX19LFxuICAgICAgICAgIGR0eXBlOiB7dHlwZTogJ0RUX0lOVDMyJ31cbiAgICAgICAgfVxuICAgICAgfSxcbiAgICAgIHtcbiAgICAgICAgbmFtZTogJ2lucHV0JyxcbiAgICAgICAgb3A6ICdQbGFjZWhvbGRlcicsXG4gICAgICAgIGF0dHI6XG4gICAgICAgICAgICB7c2hhcGU6IHtzaGFwZToge2RpbTogW3tzaXplOiAnLTEnfV19fSwgZHR5cGU6IHt0eXBlOiAnRFRfU1RSSU5HJ319XG4gICAgICB9LFxuICAgICAge1xuICAgICAgICBuYW1lOiAndW5rbm93bicsXG4gICAgICAgIG9wOiAnUGxhY2Vob2xkZXInLFxuICAgICAgICBhdHRyOiB7c2hhcGU6IHtzaGFwZToge319LCBkdHlwZToge3R5cGU6ICdEVF9SRVNPVVJDRSd9fVxuICAgICAgfSxcbiAgICAgIHtcbiAgICAgICAgbmFtZTogJ1N0YXRlZnVsUGFydGl0aW9uZWRDYWxsL05vbmVfTG9va3VwL0xvb2t1cFRhYmxlRmluZFYyJyxcbiAgICAgICAgb3A6ICdMb29rdXBUYWJsZUZpbmRWMicsXG4gICAgICAgIGlucHV0OiBbJ3Vua25vd24nLCAnaW5wdXQnLCAndW5rbm93bl8wJ10sXG4gICAgICAgIGF0dHI6IHtcbiAgICAgICAgICBUb3V0OiB7dHlwZTogJ0RUX0lOVDMyJ30sXG4gICAgICAgICAgVGluOiB7dHlwZTogJ0RUX1NUUklORyd9LFxuICAgICAgICAgIF9oYXNfbWFudWFsX2NvbnRyb2xfZGVwZW5kZW5jaWVzOiB7YjogdHJ1ZX1cbiAgICAgICAgfVxuICAgICAgfSxcbiAgICAgIHtcbiAgICAgICAgbmFtZTogJ0lkZW50aXR5JyxcbiAgICAgICAgb3A6ICdJZGVudGl0eScsXG4gICAgICAgIGlucHV0OiBbJ1N0YXRlZnVsUGFydGl0aW9uZWRDYWxsL05vbmVfTG9va3VwL0xvb2t1cFRhYmxlRmluZFYyJ10sXG4gICAgICAgIGF0dHI6IHtUOiB7dHlwZTogJ0RUX0lOVDMyJ319XG4gICAgICB9XG4gICAgXSxcbiAgICBsaWJyYXJ5OiB7fSxcbiAgICB2ZXJzaW9uczoge3Byb2R1Y2VyOiAxMjQwfVxuICB9LFxuICBmb3JtYXQ6ICdncmFwaC1tb2RlbCcsXG4gIGdlbmVyYXRlZEJ5OiAnMi4xMS4wLWRldjIwMjIwODIyJyxcbiAgY29udmVydGVkQnk6ICdUZW5zb3JGbG93LmpzIENvbnZlcnRlciB2MS43LjAnLFxuICB3ZWlnaHRTcGVjczogW1xuICAgIHtuYW1lOiAndW5rbm93bl8wJywgc2hhcGU6IFtdLCBkdHlwZTogJ2ludDMyJ30sXG4gICAge25hbWU6ICcxMTQnLCBzaGFwZTogWzJdLCBkdHlwZTogJ3N0cmluZyd9LFxuICAgIHtuYW1lOiAnMTE2Jywgc2hhcGU6IFsyXSwgZHR5cGU6ICdpbnQzMid9XG4gIF0sXG4gICd3ZWlnaHREYXRhJzpcbiAgICAgIG5ldyBVaW50OEFycmF5KFtcbiAgICAgICAgMHhmZiwgMHhmZiwgMHhmZiwgMHhmZiwgMHgwMSwgMHgwMCwgMHgwMCwgMHgwMCwgMHg2MSwgMHgwMSwgMHgwMCxcbiAgICAgICAgMHgwMCwgMHgwMCwgMHg2MiwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMSwgMHgwMCwgMHgwMCwgMHgwMFxuICAgICAgXSkuYnVmZmVyLFxuXG4gIHNpZ25hdHVyZToge1xuICAgIGlucHV0czoge1xuICAgICAgaW5wdXQ6IHtcbiAgICAgICAgbmFtZTogJ2lucHV0OjAnLFxuICAgICAgICBkdHlwZTogJ0RUX1NUUklORycsXG4gICAgICAgIHRlbnNvclNoYXBlOiB7ZGltOiBbe3NpemU6ICctMSd9XX1cbiAgICAgIH0sXG4gICAgICAndW5rbm93bjowJzoge1xuICAgICAgICBuYW1lOiAndW5rbm93bjowJyxcbiAgICAgICAgZHR5cGU6ICdEVF9SRVNPVVJDRScsXG4gICAgICAgIHRlbnNvclNoYXBlOiB7fSxcbiAgICAgICAgcmVzb3VyY2VJZDogNjZcbiAgICAgIH1cbiAgICB9LFxuICAgIG91dHB1dHM6IHtcbiAgICAgIG91dHB1dF8wOiB7XG4gICAgICAgIG5hbWU6ICdJZGVudGl0eTowJyxcbiAgICAgICAgZHR5cGU6ICdEVF9JTlQzMicsXG4gICAgICAgIHRlbnNvclNoYXBlOiB7ZGltOiBbe3NpemU6ICctMSd9XX1cbiAgICAgIH1cbiAgICB9XG4gIH0sXG4gIG1vZGVsSW5pdGlhbGl6ZXI6IHtcbiAgICBub2RlOiBbXG4gICAgICB7XG4gICAgICAgIG5hbWU6ICdGdW5jL1N0YXRlZnVsUGFydGl0aW9uZWRDYWxsL2lucHV0X2NvbnRyb2xfbm9kZS9fMCcsXG4gICAgICAgIG9wOiAnTm9PcCcsXG4gICAgICAgIGF0dHI6IHtfaGFzX21hbnVhbF9jb250cm9sX2RlcGVuZGVuY2llczoge2I6IHRydWV9fVxuICAgICAgfSxcbiAgICAgIHtcbiAgICAgICAgbmFtZTogJzExNCcsXG4gICAgICAgIG9wOiAnQ29uc3QnLFxuICAgICAgICBhdHRyOiB7XG4gICAgICAgICAgdmFsdWU6XG4gICAgICAgICAgICAgIHt0ZW5zb3I6IHtkdHlwZTogJ0RUX1NUUklORycsIHRlbnNvclNoYXBlOiB7ZGltOiBbe3NpemU6ICcyJ31dfX19LFxuICAgICAgICAgIF9oYXNfbWFudWFsX2NvbnRyb2xfZGVwZW5kZW5jaWVzOiB7YjogdHJ1ZX0sXG4gICAgICAgICAgZHR5cGU6IHt0eXBlOiAnRFRfU1RSSU5HJ31cbiAgICAgICAgfVxuICAgICAgfSxcbiAgICAgIHtcbiAgICAgICAgbmFtZTogJzExNicsXG4gICAgICAgIG9wOiAnQ29uc3QnLFxuICAgICAgICBhdHRyOiB7XG4gICAgICAgICAgX2hhc19tYW51YWxfY29udHJvbF9kZXBlbmRlbmNpZXM6IHtiOiB0cnVlfSxcbiAgICAgICAgICBkdHlwZToge3R5cGU6ICdEVF9JTlQzMid9LFxuICAgICAgICAgIHZhbHVlOlxuICAgICAgICAgICAgICB7dGVuc29yOiB7ZHR5cGU6ICdEVF9JTlQzMicsIHRlbnNvclNoYXBlOiB7ZGltOiBbe3NpemU6ICcyJ31dfX19XG4gICAgICAgIH1cbiAgICAgIH0sXG4gICAgICB7XG4gICAgICAgIG5hbWU6XG4gICAgICAgICAgICAnRnVuYy9TdGF0ZWZ1bFBhcnRpdGlvbmVkQ2FsbC9TdGF0ZWZ1bFBhcnRpdGlvbmVkQ2FsbC9pbnB1dF9jb250cm9sX25vZGUvXzknLFxuICAgICAgICBvcDogJ05vT3AnLFxuICAgICAgICBpbnB1dDogWydeRnVuYy9TdGF0ZWZ1bFBhcnRpdGlvbmVkQ2FsbC9pbnB1dF9jb250cm9sX25vZGUvXzAnXSxcbiAgICAgICAgYXR0cjoge19oYXNfbWFudWFsX2NvbnRyb2xfZGVwZW5kZW5jaWVzOiB7YjogdHJ1ZX19XG4gICAgICB9LFxuICAgICAge1xuICAgICAgICBuYW1lOiAnU3RhdGVmdWxQYXJ0aXRpb25lZENhbGwvU3RhdGVmdWxQYXJ0aXRpb25lZENhbGwvaGFzaF90YWJsZScsXG4gICAgICAgIG9wOiAnSGFzaFRhYmxlVjInLFxuICAgICAgICBpbnB1dDogW1xuICAgICAgICAgICdeRnVuYy9TdGF0ZWZ1bFBhcnRpdGlvbmVkQ2FsbC9TdGF0ZWZ1bFBhcnRpdGlvbmVkQ2FsbC9pbnB1dF9jb250cm9sX25vZGUvXzknXG4gICAgICAgIF0sXG4gICAgICAgIGF0dHI6IHtcbiAgICAgICAgICBjb250YWluZXI6IHtzOiAnJ30sXG4gICAgICAgICAgdXNlX25vZGVfbmFtZV9zaGFyaW5nOiB7YjogdHJ1ZX0sXG4gICAgICAgICAgX2hhc19tYW51YWxfY29udHJvbF9kZXBlbmRlbmNpZXM6IHtiOiB0cnVlfSxcbiAgICAgICAgICBzaGFyZWRfbmFtZToge3M6ICdPVFZmYkc5aFpGOHhYelV5J30sXG4gICAgICAgICAgdmFsdWVfZHR5cGU6IHt0eXBlOiAnRFRfSU5UMzInfSxcbiAgICAgICAgICBrZXlfZHR5cGU6IHt0eXBlOiAnRFRfU1RSSU5HJ31cbiAgICAgICAgfVxuICAgICAgfSxcbiAgICAgIHtcbiAgICAgICAgbmFtZTpcbiAgICAgICAgICAgICdGdW5jL1N0YXRlZnVsUGFydGl0aW9uZWRDYWxsL1N0YXRlZnVsUGFydGl0aW9uZWRDYWxsL291dHB1dF9jb250cm9sX25vZGUvXzExJyxcbiAgICAgICAgb3A6ICdOb09wJyxcbiAgICAgICAgaW5wdXQ6IFsnXlN0YXRlZnVsUGFydGl0aW9uZWRDYWxsL1N0YXRlZnVsUGFydGl0aW9uZWRDYWxsL2hhc2hfdGFibGUnXSxcbiAgICAgICAgYXR0cjoge19oYXNfbWFudWFsX2NvbnRyb2xfZGVwZW5kZW5jaWVzOiB7YjogdHJ1ZX19XG4gICAgICB9LFxuICAgICAge1xuICAgICAgICBuYW1lOiAnRnVuYy9TdGF0ZWZ1bFBhcnRpdGlvbmVkQ2FsbC9vdXRwdXRfY29udHJvbF9ub2RlL18yJyxcbiAgICAgICAgb3A6ICdOb09wJyxcbiAgICAgICAgaW5wdXQ6IFtcbiAgICAgICAgICAnXkZ1bmMvU3RhdGVmdWxQYXJ0aXRpb25lZENhbGwvU3RhdGVmdWxQYXJ0aXRpb25lZENhbGwvb3V0cHV0X2NvbnRyb2xfbm9kZS9fMTEnXG4gICAgICAgIF0sXG4gICAgICAgIGF0dHI6IHtfaGFzX21hbnVhbF9jb250cm9sX2RlcGVuZGVuY2llczoge2I6IHRydWV9fVxuICAgICAgfSxcbiAgICAgIHtcbiAgICAgICAgbmFtZTogJ1N0YXRlZnVsUGFydGl0aW9uZWRDYWxsL1N0YXRlZnVsUGFydGl0aW9uZWRDYWxsL05vT3AnLFxuICAgICAgICBvcDogJ05vT3AnLFxuICAgICAgICBpbnB1dDogWydeU3RhdGVmdWxQYXJ0aXRpb25lZENhbGwvU3RhdGVmdWxQYXJ0aXRpb25lZENhbGwvaGFzaF90YWJsZSddLFxuICAgICAgICBhdHRyOiB7XG4gICAgICAgICAgX2FjZF9mdW5jdGlvbl9jb250cm9sX291dHB1dDoge2I6IHRydWV9LFxuICAgICAgICAgIF9oYXNfbWFudWFsX2NvbnRyb2xfZGVwZW5kZW5jaWVzOiB7YjogdHJ1ZX1cbiAgICAgICAgfVxuICAgICAgfSxcbiAgICAgIHtcbiAgICAgICAgbmFtZTogJ1N0YXRlZnVsUGFydGl0aW9uZWRDYWxsL1N0YXRlZnVsUGFydGl0aW9uZWRDYWxsL0lkZW50aXR5JyxcbiAgICAgICAgb3A6ICdJZGVudGl0eScsXG4gICAgICAgIGlucHV0OiBbXG4gICAgICAgICAgJ1N0YXRlZnVsUGFydGl0aW9uZWRDYWxsL1N0YXRlZnVsUGFydGl0aW9uZWRDYWxsL2hhc2hfdGFibGUnLFxuICAgICAgICAgICdeU3RhdGVmdWxQYXJ0aXRpb25lZENhbGwvU3RhdGVmdWxQYXJ0aXRpb25lZENhbGwvTm9PcCdcbiAgICAgICAgXSxcbiAgICAgICAgYXR0cjoge1Q6IHt0eXBlOiAnRFRfUkVTT1VSQ0UnfX1cbiAgICAgIH0sXG4gICAgICB7XG4gICAgICAgIG5hbWU6ICdGdW5jL1N0YXRlZnVsUGFydGl0aW9uZWRDYWxsL1N0YXRlZnVsUGFydGl0aW9uZWRDYWxsL291dHB1dC9fMTAnLFxuICAgICAgICBvcDogJ0lkZW50aXR5JyxcbiAgICAgICAgaW5wdXQ6IFsnU3RhdGVmdWxQYXJ0aXRpb25lZENhbGwvU3RhdGVmdWxQYXJ0aXRpb25lZENhbGwvSWRlbnRpdHknXSxcbiAgICAgICAgYXR0cjoge1Q6IHt0eXBlOiAnRFRfUkVTT1VSQ0UnfX1cbiAgICAgIH0sXG4gICAgICB7XG4gICAgICAgIG5hbWU6ICdTdGF0ZWZ1bFBhcnRpdGlvbmVkQ2FsbC9Ob09wJyxcbiAgICAgICAgb3A6ICdOb09wJyxcbiAgICAgICAgaW5wdXQ6IFtcbiAgICAgICAgICAnXkZ1bmMvU3RhdGVmdWxQYXJ0aXRpb25lZENhbGwvU3RhdGVmdWxQYXJ0aXRpb25lZENhbGwvb3V0cHV0X2NvbnRyb2xfbm9kZS9fMTEnXG4gICAgICAgIF0sXG4gICAgICAgIGF0dHI6IHtcbiAgICAgICAgICBfaGFzX21hbnVhbF9jb250cm9sX2RlcGVuZGVuY2llczoge2I6IHRydWV9LFxuICAgICAgICAgIF9hY2RfZnVuY3Rpb25fY29udHJvbF9vdXRwdXQ6IHtiOiB0cnVlfVxuICAgICAgICB9XG4gICAgICB9LFxuICAgICAge1xuICAgICAgICBuYW1lOiAnU3RhdGVmdWxQYXJ0aXRpb25lZENhbGwvSWRlbnRpdHknLFxuICAgICAgICBvcDogJ0lkZW50aXR5JyxcbiAgICAgICAgaW5wdXQ6IFtcbiAgICAgICAgICAnRnVuYy9TdGF0ZWZ1bFBhcnRpdGlvbmVkQ2FsbC9TdGF0ZWZ1bFBhcnRpdGlvbmVkQ2FsbC9vdXRwdXQvXzEwJyxcbiAgICAgICAgICAnXlN0YXRlZnVsUGFydGl0aW9uZWRDYWxsL05vT3AnXG4gICAgICAgIF0sXG4gICAgICAgIGF0dHI6IHtUOiB7dHlwZTogJ0RUX1JFU09VUkNFJ319XG4gICAgICB9LFxuICAgICAge1xuICAgICAgICBuYW1lOiAnRnVuYy9TdGF0ZWZ1bFBhcnRpdGlvbmVkQ2FsbC9vdXRwdXQvXzEnLFxuICAgICAgICBvcDogJ0lkZW50aXR5JyxcbiAgICAgICAgaW5wdXQ6IFsnU3RhdGVmdWxQYXJ0aXRpb25lZENhbGwvSWRlbnRpdHknXSxcbiAgICAgICAgYXR0cjoge1xuICAgICAgICAgIFQ6IHt0eXBlOiAnRFRfUkVTT1VSQ0UnfSxcbiAgICAgICAgICBfaGFzX21hbnVhbF9jb250cm9sX2RlcGVuZGVuY2llczoge2I6IHRydWV9XG4gICAgICAgIH1cbiAgICAgIH0sXG4gICAgICB7XG4gICAgICAgIG5hbWU6ICdGdW5jL1N0YXRlZnVsUGFydGl0aW9uZWRDYWxsXzEvaW5wdXRfY29udHJvbF9ub2RlL18zJyxcbiAgICAgICAgb3A6ICdOb09wJyxcbiAgICAgICAgaW5wdXQ6IFsnXjExNCcsICdeMTE2JywgJ15GdW5jL1N0YXRlZnVsUGFydGl0aW9uZWRDYWxsL291dHB1dC9fMSddLFxuICAgICAgICBhdHRyOiB7X2hhc19tYW51YWxfY29udHJvbF9kZXBlbmRlbmNpZXM6IHtiOiB0cnVlfX1cbiAgICAgIH0sXG4gICAgICB7XG4gICAgICAgIG5hbWU6ICdGdW5jL1N0YXRlZnVsUGFydGl0aW9uZWRDYWxsXzEvaW5wdXQvXzQnLFxuICAgICAgICBvcDogJ0lkZW50aXR5JyxcbiAgICAgICAgaW5wdXQ6IFtcbiAgICAgICAgICAnRnVuYy9TdGF0ZWZ1bFBhcnRpdGlvbmVkQ2FsbC9vdXRwdXQvXzEnLFxuICAgICAgICAgICdeRnVuYy9TdGF0ZWZ1bFBhcnRpdGlvbmVkQ2FsbF8xL2lucHV0X2NvbnRyb2xfbm9kZS9fMydcbiAgICAgICAgXSxcbiAgICAgICAgYXR0cjoge1Q6IHt0eXBlOiAnRFRfUkVTT1VSQ0UnfX1cbiAgICAgIH0sXG4gICAgICB7XG4gICAgICAgIG5hbWU6XG4gICAgICAgICAgICAnRnVuYy9TdGF0ZWZ1bFBhcnRpdGlvbmVkQ2FsbF8xL1N0YXRlZnVsUGFydGl0aW9uZWRDYWxsL2lucHV0X2NvbnRyb2xfbm9kZS9fMTInLFxuICAgICAgICBvcDogJ05vT3AnLFxuICAgICAgICBpbnB1dDogWydeRnVuYy9TdGF0ZWZ1bFBhcnRpdGlvbmVkQ2FsbF8xL2lucHV0X2NvbnRyb2xfbm9kZS9fMyddLFxuICAgICAgICBhdHRyOiB7X2hhc19tYW51YWxfY29udHJvbF9kZXBlbmRlbmNpZXM6IHtiOiB0cnVlfX1cbiAgICAgIH0sXG4gICAgICB7XG4gICAgICAgIG5hbWU6XG4gICAgICAgICAgICAnRnVuYy9TdGF0ZWZ1bFBhcnRpdGlvbmVkQ2FsbF8xL1N0YXRlZnVsUGFydGl0aW9uZWRDYWxsL2lucHV0L18xMycsXG4gICAgICAgIG9wOiAnSWRlbnRpdHknLFxuICAgICAgICBpbnB1dDogW1xuICAgICAgICAgICdGdW5jL1N0YXRlZnVsUGFydGl0aW9uZWRDYWxsXzEvaW5wdXQvXzQnLFxuICAgICAgICAgICdeRnVuYy9TdGF0ZWZ1bFBhcnRpdGlvbmVkQ2FsbF8xL1N0YXRlZnVsUGFydGl0aW9uZWRDYWxsL2lucHV0X2NvbnRyb2xfbm9kZS9fMTInXG4gICAgICAgIF0sXG4gICAgICAgIGF0dHI6IHtUOiB7dHlwZTogJ0RUX1JFU09VUkNFJ319XG4gICAgICB9LFxuICAgICAge1xuICAgICAgICBuYW1lOiAnRnVuYy9TdGF0ZWZ1bFBhcnRpdGlvbmVkQ2FsbF8xL2lucHV0L181JyxcbiAgICAgICAgb3A6ICdJZGVudGl0eScsXG4gICAgICAgIGlucHV0OiBbJzExNCcsICdeRnVuYy9TdGF0ZWZ1bFBhcnRpdGlvbmVkQ2FsbF8xL2lucHV0X2NvbnRyb2xfbm9kZS9fMyddLFxuICAgICAgICBhdHRyOiB7VDoge3R5cGU6ICdEVF9TVFJJTkcnfX1cbiAgICAgIH0sXG4gICAgICB7XG4gICAgICAgIG5hbWU6XG4gICAgICAgICAgICAnRnVuYy9TdGF0ZWZ1bFBhcnRpdGlvbmVkQ2FsbF8xL1N0YXRlZnVsUGFydGl0aW9uZWRDYWxsL2lucHV0L18xNCcsXG4gICAgICAgIG9wOiAnSWRlbnRpdHknLFxuICAgICAgICBpbnB1dDogW1xuICAgICAgICAgICdGdW5jL1N0YXRlZnVsUGFydGl0aW9uZWRDYWxsXzEvaW5wdXQvXzUnLFxuICAgICAgICAgICdeRnVuYy9TdGF0ZWZ1bFBhcnRpdGlvbmVkQ2FsbF8xL1N0YXRlZnVsUGFydGl0aW9uZWRDYWxsL2lucHV0X2NvbnRyb2xfbm9kZS9fMTInXG4gICAgICAgIF0sXG4gICAgICAgIGF0dHI6IHtUOiB7dHlwZTogJ0RUX1NUUklORyd9fVxuICAgICAgfSxcbiAgICAgIHtcbiAgICAgICAgbmFtZTogJ0Z1bmMvU3RhdGVmdWxQYXJ0aXRpb25lZENhbGxfMS9pbnB1dC9fNicsXG4gICAgICAgIG9wOiAnSWRlbnRpdHknLFxuICAgICAgICBpbnB1dDogWycxMTYnLCAnXkZ1bmMvU3RhdGVmdWxQYXJ0aXRpb25lZENhbGxfMS9pbnB1dF9jb250cm9sX25vZGUvXzMnXSxcbiAgICAgICAgYXR0cjoge1Q6IHt0eXBlOiAnRFRfSU5UMzInfX1cbiAgICAgIH0sXG4gICAgICB7XG4gICAgICAgIG5hbWU6XG4gICAgICAgICAgICAnRnVuYy9TdGF0ZWZ1bFBhcnRpdGlvbmVkQ2FsbF8xL1N0YXRlZnVsUGFydGl0aW9uZWRDYWxsL2lucHV0L18xNScsXG4gICAgICAgIG9wOiAnSWRlbnRpdHknLFxuICAgICAgICBpbnB1dDogW1xuICAgICAgICAgICdGdW5jL1N0YXRlZnVsUGFydGl0aW9uZWRDYWxsXzEvaW5wdXQvXzYnLFxuICAgICAgICAgICdeRnVuYy9TdGF0ZWZ1bFBhcnRpdGlvbmVkQ2FsbF8xL1N0YXRlZnVsUGFydGl0aW9uZWRDYWxsL2lucHV0X2NvbnRyb2xfbm9kZS9fMTInXG4gICAgICAgIF0sXG4gICAgICAgIGF0dHI6IHtUOiB7dHlwZTogJ0RUX0lOVDMyJ319XG4gICAgICB9LFxuICAgICAge1xuICAgICAgICBuYW1lOlxuICAgICAgICAgICAgJ1N0YXRlZnVsUGFydGl0aW9uZWRDYWxsXzEvU3RhdGVmdWxQYXJ0aXRpb25lZENhbGwva2V5X3ZhbHVlX2luaXQ5NC9Mb29rdXBUYWJsZUltcG9ydFYyJyxcbiAgICAgICAgb3A6ICdMb29rdXBUYWJsZUltcG9ydFYyJyxcbiAgICAgICAgaW5wdXQ6IFtcbiAgICAgICAgICAnRnVuYy9TdGF0ZWZ1bFBhcnRpdGlvbmVkQ2FsbF8xL1N0YXRlZnVsUGFydGl0aW9uZWRDYWxsL2lucHV0L18xMycsXG4gICAgICAgICAgJ0Z1bmMvU3RhdGVmdWxQYXJ0aXRpb25lZENhbGxfMS9TdGF0ZWZ1bFBhcnRpdGlvbmVkQ2FsbC9pbnB1dC9fMTQnLFxuICAgICAgICAgICdGdW5jL1N0YXRlZnVsUGFydGl0aW9uZWRDYWxsXzEvU3RhdGVmdWxQYXJ0aXRpb25lZENhbGwvaW5wdXQvXzE1J1xuICAgICAgICBdLFxuICAgICAgICBhdHRyOiB7XG4gICAgICAgICAgVG91dDoge3R5cGU6ICdEVF9JTlQzMid9LFxuICAgICAgICAgIFRpbjoge3R5cGU6ICdEVF9TVFJJTkcnfSxcbiAgICAgICAgICBfaGFzX21hbnVhbF9jb250cm9sX2RlcGVuZGVuY2llczoge2I6IHRydWV9XG4gICAgICAgIH1cbiAgICAgIH0sXG4gICAgICB7XG4gICAgICAgIG5hbWU6XG4gICAgICAgICAgICAnRnVuYy9TdGF0ZWZ1bFBhcnRpdGlvbmVkQ2FsbF8xL1N0YXRlZnVsUGFydGl0aW9uZWRDYWxsL291dHB1dF9jb250cm9sX25vZGUvXzE3JyxcbiAgICAgICAgb3A6ICdOb09wJyxcbiAgICAgICAgaW5wdXQ6IFtcbiAgICAgICAgICAnXlN0YXRlZnVsUGFydGl0aW9uZWRDYWxsXzEvU3RhdGVmdWxQYXJ0aXRpb25lZENhbGwva2V5X3ZhbHVlX2luaXQ5NC9Mb29rdXBUYWJsZUltcG9ydFYyJ1xuICAgICAgICBdLFxuICAgICAgICBhdHRyOiB7X2hhc19tYW51YWxfY29udHJvbF9kZXBlbmRlbmNpZXM6IHtiOiB0cnVlfX1cbiAgICAgIH0sXG4gICAgICB7XG4gICAgICAgIG5hbWU6ICdGdW5jL1N0YXRlZnVsUGFydGl0aW9uZWRDYWxsXzEvb3V0cHV0X2NvbnRyb2xfbm9kZS9fOCcsXG4gICAgICAgIG9wOiAnTm9PcCcsXG4gICAgICAgIGlucHV0OiBbXG4gICAgICAgICAgJ15GdW5jL1N0YXRlZnVsUGFydGl0aW9uZWRDYWxsXzEvU3RhdGVmdWxQYXJ0aXRpb25lZENhbGwvb3V0cHV0X2NvbnRyb2xfbm9kZS9fMTcnXG4gICAgICAgIF0sXG4gICAgICAgIGF0dHI6IHtfaGFzX21hbnVhbF9jb250cm9sX2RlcGVuZGVuY2llczoge2I6IHRydWV9fVxuICAgICAgfSxcbiAgICAgIHtcbiAgICAgICAgbmFtZTogJ05vT3AnLFxuICAgICAgICBvcDogJ05vT3AnLFxuICAgICAgICBpbnB1dDogW1xuICAgICAgICAgICdeRnVuYy9TdGF0ZWZ1bFBhcnRpdGlvbmVkQ2FsbC9vdXRwdXRfY29udHJvbF9ub2RlL18yJyxcbiAgICAgICAgICAnXkZ1bmMvU3RhdGVmdWxQYXJ0aXRpb25lZENhbGxfMS9vdXRwdXRfY29udHJvbF9ub2RlL184J1xuICAgICAgICBdLFxuICAgICAgICBhdHRyOiB7XG4gICAgICAgICAgX2hhc19tYW51YWxfY29udHJvbF9kZXBlbmRlbmNpZXM6IHtiOiB0cnVlfSxcbiAgICAgICAgICBfYWNkX2Z1bmN0aW9uX2NvbnRyb2xfb3V0cHV0OiB7YjogdHJ1ZX1cbiAgICAgICAgfVxuICAgICAgfSxcbiAgICAgIHtcbiAgICAgICAgbmFtZTogJ0lkZW50aXR5JyxcbiAgICAgICAgb3A6ICdJZGVudGl0eScsXG4gICAgICAgIGlucHV0OiBbXG4gICAgICAgICAgJ0Z1bmMvU3RhdGVmdWxQYXJ0aXRpb25lZENhbGwvb3V0cHV0L18xJyxcbiAgICAgICAgICAnXkZ1bmMvU3RhdGVmdWxQYXJ0aXRpb25lZENhbGxfMS9vdXRwdXRfY29udHJvbF9ub2RlL184JywgJ15Ob09wJ1xuICAgICAgICBdLFxuICAgICAgICBhdHRyOiB7VDoge3R5cGU6ICdEVF9SRVNPVVJDRSd9fVxuICAgICAgfVxuICAgIF0sXG4gICAgdmVyc2lvbnM6IHtwcm9kdWNlcjogMTI0MH1cbiAgfSxcbiAgaW5pdGlhbGl6ZXJTaWduYXR1cmU6IHtcbiAgICBvdXRwdXRzOiB7XG4gICAgICAnSWRlbnRpdHk6MCc6IHtcbiAgICAgICAgbmFtZTogJ0lkZW50aXR5OjAnLFxuICAgICAgICBkdHlwZTogJ0RUX1JFU09VUkNFJyxcbiAgICAgICAgdGVuc29yU2hhcGU6IHt9LFxuICAgICAgICByZXNvdXJjZUlkOiA2NlxuICAgICAgfVxuICAgIH1cbiAgfVxufTtcbiJdfQ==