@carto/kepler.gl 0.1.0-next.1 → 0.1.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +42 -652
- package/dist/components/common/icons/chevron-right.js +1 -1
- package/dist/components/common/item-selector/item-selector-submenu.js +2 -1
- package/dist/constants/default-settings.js +2 -2
- package/package.json +1 -1
- package/src/components/common/icons/chevron-right.js +1 -1
- package/src/components/common/item-selector/item-selector-submenu.js +1 -0
package/README.md
CHANGED
|
@@ -1,673 +1,63 @@
|
|
|
1
|
-
|
|
2
|
-
<a href="https://npmjs.org/package/kepler.gl">
|
|
3
|
-
<img src="https://img.shields.io/npm/v/kepler.gl.svg?style=flat" alt="version" />
|
|
4
|
-
</a>
|
|
5
|
-
<a href="https://travis-ci.com/keplergl/kepler.gl">
|
|
6
|
-
<img src="https://api.travis-ci.com/keplergl/kepler.gl.svg?branch=master" alt="build" />
|
|
7
|
-
</a>
|
|
8
|
-
<a href="https://github.com/keplergl/kepler.gl">
|
|
9
|
-
<img src="https://img.shields.io/github/stars/keplergl/kepler.gl.svg?style=flat" alt="stars" />
|
|
10
|
-
</a>
|
|
11
|
-
<a href='https://opensource.org/licenses/MIT'>
|
|
12
|
-
<img src='https://img.shields.io/badge/License-MIT-blue.svg' alt='MIT License' />
|
|
13
|
-
</a>
|
|
14
|
-
<a href='https://app.fossa.com/projects/custom%2B4458%2Fgithub.com%2Fkeplergl%2Fkepler.gl?ref=badge_shield'>
|
|
15
|
-
<img src='https://app.fossa.com/api/projects/custom%2B4458%2Fgithub.com%2Fkeplergl%2Fkepler.gl.svg?type=shield' alt='Fossa' />
|
|
16
|
-
</a>
|
|
17
|
-
<a href="https://app.netlify.com/sites/keplergl/deploys" alt="Netlify Status">
|
|
18
|
-
<img src="https://img.shields.io/endpoint.svg?url=https%3A%2F%2Fdeveloper.oswaldlabs.com%2Fnetlify-status%2F0c9b895c-acd0-43fd-8af7-fe960181b686?style=flat" />
|
|
19
|
-
</a>
|
|
20
|
-
</p>
|
|
1
|
+
# CARTO fork of [Kepler.gl](http://www.kepler.gl/)
|
|
21
2
|
|
|
22
|
-
|
|
23
|
-
kepler.gl | <a href="http://kepler.gl">Website</a> | <a href="http://kepler.gl/#/demo">Demo App</a> | <a href="https://docs.kepler.gl/">Docs</a>
|
|
24
|
-
</h1>
|
|
25
|
-
<h3></h3>
|
|
3
|
+
Published as [`@carto/kepler.gl`](https://www.npmjs.com/package/@carto/kepler.gl), used by the Cloud Native app.
|
|
26
4
|
|
|
27
|
-
|
|
5
|
+
## Development process
|
|
28
6
|
|
|
29
|
-
|
|
7
|
+
### Pull request
|
|
30
8
|
|
|
31
|
-
|
|
9
|
+
- Each development should be done in its own feature branch
|
|
10
|
+
- The pull request should be diff-ed with the `main` branch
|
|
11
|
+
- Apart from code changes, the PR should include an entry in the "Not released" section of `CHANGELOG.md` with a link to itself (if the section is not present, re-create it at the top of the file). This facilitates the release process by keeping the changelog always up-to-date with `main`.
|
|
32
12
|
|
|
33
|
-
|
|
13
|
+
Ex:
|
|
34
14
|
|
|
35
|
-
|
|
15
|
+
```md
|
|
16
|
+
## Not released
|
|
36
17
|
|
|
37
|
-
- [
|
|
38
|
-
|
|
39
|
-
- [Examples][examples]
|
|
40
|
-
- [Get Started][get-started]
|
|
41
|
-
- [App User Guide][user-guide]
|
|
42
|
-
- [Jupyter Widget User Guide][user-guide-jupyter]
|
|
43
|
-
- [Tutorial][vis-academy]
|
|
44
|
-
- [Stack Overflow][stack]
|
|
45
|
-
- [Contribution Guidelines][contributing]
|
|
46
|
-
- [Api Reference][api-reference]
|
|
47
|
-
- [Roadmap][roadmap]
|
|
18
|
+
- Support for count aggregation [141](https://github.com/CartoDB/carto-kepler/pull/141)
|
|
19
|
+
```
|
|
48
20
|
|
|
49
|
-
|
|
21
|
+
- After review, merge into the `main` branch by squashing commits, to keep a clean history.
|
|
50
22
|
|
|
51
|
-
|
|
52
|
-
For best results, use [nvm](https://github.com/creationix/nvm) `nvm install`.
|
|
23
|
+
### Developing with Cloud Native
|
|
53
24
|
|
|
54
|
-
|
|
25
|
+
When developing locally, you can use symlinks to connect your local Cloud Native to your local CARTO Kepler:
|
|
55
26
|
|
|
56
|
-
|
|
27
|
+
1. in carto-kepler: `yarn link`
|
|
28
|
+
1. in cloud-native: `yarn link @carto/kepler.gl`
|
|
29
|
+
1. in carto-kepler: `yarn build:watch`
|
|
30
|
+
1. in cloud-native: `yarn start`
|
|
57
31
|
|
|
58
|
-
|
|
59
|
-
npm install --save kepler.gl
|
|
60
|
-
// or
|
|
61
|
-
yarn add kepler.gl
|
|
62
|
-
```
|
|
32
|
+
### Dev prerelease
|
|
63
33
|
|
|
64
|
-
|
|
34
|
+
To be able to test a dev version of carto-kepler from cloud-native on a remote environment (ex: dedicated environments for QA), you need to publish an alpha version of carto-kepler.
|
|
65
35
|
|
|
66
|
-
|
|
67
|
-
|
|
36
|
+
1. Switch to the branch you want to publish. You can use any unmerged dev branch, but make sure it's based on the latest `main` to avoid behavior changes outside the branch scope.
|
|
37
|
+
1. Manually change the version in `package.json`. Use this pattern: `<next-version>-alpha.<feature>`.
|
|
68
38
|
|
|
69
|
-
|
|
70
|
-
<script src="https://unpkg.com/kepler.gl/umd/keplergl.min.js" />
|
|
71
|
-
```
|
|
39
|
+
Ex: `0.0.47-alpha.custom-markers`
|
|
72
40
|
|
|
73
|
-
|
|
41
|
+
1. Build the project with `yarn build`, and ensure there is no error.
|
|
42
|
+
1. Publish the package to NPM as alpha. You need to have the proper rights on the NPM organization.
|
|
43
|
+
```
|
|
44
|
+
npm publish --tag alpha
|
|
45
|
+
```
|
|
46
|
+
1. If the package has been correctly published, then in `cloud-native` install the new version with `yarn add @carto/kepler.gl@<alpha-version-number>`, and open a PR.
|
|
74
47
|
|
|
75
|
-
|
|
76
|
-
<script src="https://unpkg.com/kepler.gl@0.2.2/umd/keplergl.min.js" />
|
|
77
|
-
```
|
|
48
|
+
If you need to change some things later in the code, you will need to republish. Repeat the process by simply adding a suffix to the version number.
|
|
78
49
|
|
|
79
|
-
|
|
50
|
+
Ex: `0.0.47-alpha.custom-markers.2`
|
|
80
51
|
|
|
81
|
-
|
|
52
|
+
## Stable release process
|
|
82
53
|
|
|
83
|
-
|
|
54
|
+
1. Create a branch `release-<next-version>` from the latest changes on `main`.
|
|
55
|
+
1. Modify the `CHANGELOG.md` file, by creating a new section `<next-version>` and moving contents from "Not released" to it. Keep the empty "Not released" section at the top of the file.
|
|
56
|
+
1. Increase version in `package.json` to `<next-version>`
|
|
57
|
+
1. Build the project with `yarn build`, and ensure there is no error.
|
|
58
|
+
1. Commit the changes (`git commit -am "release <next-version>"`), push, open a PR, ask for review and merge.
|
|
59
|
+
1. Finally change to the `main` branch and publish to NPM
|
|
84
60
|
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
Kepler.gl uses Redux to manage its internal state, along with [react-palm][react-palm] middleware to handle side effects.
|
|
90
|
-
|
|
91
|
-
You need to add `taskMiddleware` of `react-palm` to your store too. We are actively working on a solution where
|
|
92
|
-
`react-palm` will not be required, however it is still a very lightweight side effects management tool that is easier to test than react-thunk.
|
|
93
|
-
|
|
94
|
-
```js
|
|
95
|
-
import {createStore, combineReducers, applyMiddleware, compose} from 'redux';
|
|
96
|
-
import keplerGlReducer from 'kepler.gl/reducers';
|
|
97
|
-
import {enhanceReduxMiddleware} from 'kepler.gl/middleware';
|
|
98
|
-
|
|
99
|
-
const initialState = {};
|
|
100
|
-
const reducers = combineReducers({
|
|
101
|
-
// <-- mount kepler.gl reducer in your app
|
|
102
|
-
keplerGl: keplerGlReducer,
|
|
103
|
-
|
|
104
|
-
// Your other reducers here
|
|
105
|
-
app: appReducer
|
|
106
|
-
});
|
|
107
|
-
|
|
108
|
-
// using createStore
|
|
109
|
-
export default createStore(
|
|
110
|
-
reducer,
|
|
111
|
-
initialState,
|
|
112
|
-
applyMiddleware(
|
|
113
|
-
enhanceReduxMiddleware([
|
|
114
|
-
/* Add other middlewares here */
|
|
115
|
-
])
|
|
116
|
-
)
|
|
117
|
-
);
|
|
118
|
-
```
|
|
119
|
-
|
|
120
|
-
Or if use enhancer:
|
|
121
|
-
|
|
122
|
-
```js
|
|
123
|
-
// using enhancers
|
|
124
|
-
const initialState = {};
|
|
125
|
-
const middlewares = enhanceReduxMiddleware([
|
|
126
|
-
// Add other middlewares here
|
|
127
|
-
]);
|
|
128
|
-
const enhancers = [applyMiddleware(...middlewares)];
|
|
129
|
-
|
|
130
|
-
export default createStore(reducer, initialState, compose(...enhancers));
|
|
131
|
-
```
|
|
132
|
-
|
|
133
|
-
If you mount kepler.gl reducer in another address instead of `keplerGl`, or the kepler.gl reducer is not
|
|
134
|
-
mounted at root of your state, you will need to specify the path to it when you mount the component
|
|
135
|
-
with the `getState` prop.
|
|
136
|
-
|
|
137
|
-
Read more about [Reducers][reducers].
|
|
138
|
-
|
|
139
|
-
### 2. Mount Component
|
|
140
|
-
|
|
141
|
-
```js
|
|
142
|
-
import KeplerGl from 'kepler.gl';
|
|
143
|
-
|
|
144
|
-
const Map = props => (
|
|
145
|
-
<KeplerGl
|
|
146
|
-
id="foo"
|
|
147
|
-
width={width}
|
|
148
|
-
mapboxApiAccessToken={token}
|
|
149
|
-
height={height}
|
|
150
|
-
/>
|
|
151
|
-
);
|
|
152
|
-
```
|
|
153
|
-
|
|
154
|
-
#### Props
|
|
155
|
-
|
|
156
|
-
##### `id` (String, required)
|
|
157
|
-
|
|
158
|
-
- Default: `map`
|
|
159
|
-
|
|
160
|
-
The id of this KeplerGl instance. `id` is required if you have multiple
|
|
161
|
-
KeplerGl instances in your app. It defines the prop name of the KeplerGl state that is
|
|
162
|
-
stored in the KeplerGl reducer. For example, the state of the KeplerGl component with id `foo` is
|
|
163
|
-
stored in `state.keplerGl.foo`.
|
|
164
|
-
|
|
165
|
-
In case you create multiple kepler.gl instances using the same id, the kepler.gl state defined by the entry will be
|
|
166
|
-
overridden by the latest instance and reset to a blank state.
|
|
167
|
-
|
|
168
|
-
##### `mapboxApiAccessToken` (String, required*)
|
|
169
|
-
|
|
170
|
-
- Default: `undefined`
|
|
171
|
-
|
|
172
|
-
|
|
173
|
-
By default, kepler.gl uses mapbox-gl.js to render its base maps. You can create a free account at [mapbox][mapbox] and create a token at [www.mapbox.com/account/access-tokens][mapbox-token].
|
|
174
|
-
|
|
175
|
-
If you replaced kepler.gl default map styles with your own, and they are not Mapbox styles. `mapboxApiAccessToken` will not be reuiqred.
|
|
176
|
-
|
|
177
|
-
Read more about [Custom Map Styles][custom-map-styles].
|
|
178
|
-
|
|
179
|
-
##### `getState` (Function, optional)
|
|
180
|
-
|
|
181
|
-
- Default: `state => state.keplerGl`
|
|
182
|
-
|
|
183
|
-
The path to the root keplerGl state in your reducer.
|
|
184
|
-
|
|
185
|
-
##### `width` (Number, optional)
|
|
186
|
-
|
|
187
|
-
- Default: `800`
|
|
188
|
-
|
|
189
|
-
Width of the KeplerGl UI.
|
|
190
|
-
|
|
191
|
-
##### `height` (Number, optional)
|
|
192
|
-
|
|
193
|
-
- Default: `800`
|
|
194
|
-
|
|
195
|
-
##### `appName` (String, optional)
|
|
196
|
-
|
|
197
|
-
- Default: `Kepler.Gl`
|
|
198
|
-
|
|
199
|
-
App name displayed in side panel header
|
|
200
|
-
|
|
201
|
-
##### `version` (String, optional)
|
|
202
|
-
|
|
203
|
-
- Default: `v1.0`
|
|
204
|
-
|
|
205
|
-
version displayed in side panel header
|
|
206
|
-
|
|
207
|
-
##### `onSaveMap` (Function, optional)
|
|
208
|
-
|
|
209
|
-
- Default: `undefined`
|
|
210
|
-
|
|
211
|
-
Action called when click Save Map Url in side panel header.
|
|
212
|
-
|
|
213
|
-
##### `onViewStateChange` (Function, optional)
|
|
214
|
-
|
|
215
|
-
- Default: `undefined`
|
|
216
|
-
- Parameter: `viewState` - An updated view state object containing parameters such as longitude, latitude, zoom etc
|
|
217
|
-
|
|
218
|
-
Action triggered when map viewport is updated.
|
|
219
|
-
|
|
220
|
-
##### `getMapboxRef(mapbox, index)` (Function, optional)
|
|
221
|
-
|
|
222
|
-
- Default: `undefined`
|
|
223
|
-
|
|
224
|
-
Function called when `KeplerGL` adds or removes a `MapContainer` component having an inner Mapbox map.
|
|
225
|
-
|
|
226
|
-
The `mapbox` argument is an [`InteractiveMap`](https://uber.github.io/react-map-gl/#/Documentation/api-reference/interactive-map) when added or `null` when removed.
|
|
227
|
-
|
|
228
|
-
The `index` argument is 0 for a single map or 1 for an additional map (since `KeplerGL` supports an optional split map view).
|
|
229
|
-
|
|
230
|
-
##### `actions` (Object, optional)
|
|
231
|
-
|
|
232
|
-
- Default: `{}`
|
|
233
|
-
|
|
234
|
-
Actions creators to replace default kepler.gl action creator. Only use custom action when you want to modify action payload.
|
|
235
|
-
|
|
236
|
-
##### `mint` (Boolean, optional)
|
|
237
|
-
|
|
238
|
-
- Default: `true`
|
|
239
|
-
|
|
240
|
-
Whether to load a fresh empty state when component is mounted. when parse `mint: true` kepler.gl component will always load a fresh state when re-mount the same component, state inside this component will be destroyed once its unmounted.
|
|
241
|
-
By Parsing `mint: false` kepler.gl will keep the component state in the store even when it is unmounted, and use it as initial state when re-mounted again. This is useful when mounting kepler.gl in a modal, and keep the same map when re-open.
|
|
242
|
-
|
|
243
|
-
Read more about [Components][components].
|
|
244
|
-
|
|
245
|
-
##### `theme` (Object | String, optional)
|
|
246
|
-
|
|
247
|
-
- default: `null`
|
|
248
|
-
|
|
249
|
-
One of `"dark"`, `"light"` or `"base"`
|
|
250
|
-
You can pass theme name or object used to customize Kepler.gl style. Kepler.gl provide an `'light'` theme besides the default 'dark' theme. When pass in a theme object Kepler.gl will use the value passed as input to override values from [theme](https://github.com/keplergl/kepler.gl/blob/master/src/styles/base.js).
|
|
251
|
-
|
|
252
|
-
Read more about [Custom Theme][custom-theme]
|
|
253
|
-
|
|
254
|
-
#### `mapboxApiUrl` (String, optional)
|
|
255
|
-
|
|
256
|
-
- Default: `https://api.mapbox.com`
|
|
257
|
-
|
|
258
|
-
If you are using your own mapbox tile server, you can pass in your own tile server api url.
|
|
259
|
-
|
|
260
|
-
#### `mapStylesReplaceDefault` (Boolean, optional)
|
|
261
|
-
|
|
262
|
-
- Default: `false`
|
|
263
|
-
|
|
264
|
-
kepler.gl provide 4 map styles to choose from. Pass `true` if you want to supply your own `mapStyles`. See Below.
|
|
265
|
-
|
|
266
|
-
#### `mapStyles` (Array, optional)
|
|
267
|
-
|
|
268
|
-
- Default: `[]`
|
|
269
|
-
|
|
270
|
-
You can supply additional map styles to be displayed in [map style selection panel](https://github.com/keplergl/kepler.gl/blob/master/docs/user-guides/f-map-styles/1-base-map-styles.md). By default, additional map styles will be added to default map styles. If pass `mapStylesReplaceDefault: true`, they will replace the default ones. kepler.gl will attempt to group layers of your style based on its `id` naming convention and use it to allow toggle visibility of [base map layers](https://github.com/keplergl/kepler.gl/blob/master/docs/user-guides/f-map-styles/2-map-layers.md). Supply your own `layerGroups` to override default for more accurate layer grouping.
|
|
271
|
-
|
|
272
|
-
Each `mapStyles` should has the following properties:
|
|
273
|
-
|
|
274
|
-
- `id` (String, required) unique string that should **not** be one of these reserved `dark` `light` `muted`. `muted_night`
|
|
275
|
-
- `label` (String, required) name to be displayed in map style selection panel
|
|
276
|
-
- `url` (String, required) mapbox style url or a url pointing to the map style json object written in [Mapbox GL Style Spec](https://docs.mapbox.com/mapbox-gl-js/style-spec/).
|
|
277
|
-
- `icon` (String, optional) image icon of the style, it can be a url, or an [image data url](https://flaviocopes.com/data-urls/#how-does-a-data-url-look)
|
|
278
|
-
- `layerGroups` (Array, optional)
|
|
279
|
-
|
|
280
|
-
```js
|
|
281
|
-
const mapStyles = [
|
|
282
|
-
{
|
|
283
|
-
id: 'my_dark_map',
|
|
284
|
-
label: 'Dark Streets 9',
|
|
285
|
-
url: 'mapbox://styles/mapbox/dark-v9',
|
|
286
|
-
icon: `${apiHost}/styles/v1/mapbox/dark-v9/static/-122.3391,37.7922,9.19,0,0/400x300?access_token=${accessToken}&logo=false&attribution=false`,
|
|
287
|
-
layerGroups: [
|
|
288
|
-
{
|
|
289
|
-
slug: 'label',
|
|
290
|
-
filter: ({id}) => id.match(/(?=(label|place-|poi-))/),
|
|
291
|
-
defaultVisibility: true
|
|
292
|
-
},
|
|
293
|
-
{
|
|
294
|
-
// adding this will keep the 3d building option
|
|
295
|
-
slug: '3d building',
|
|
296
|
-
filter: () => false,
|
|
297
|
-
defaultVisibility: false
|
|
298
|
-
}
|
|
299
|
-
]
|
|
300
|
-
}
|
|
301
|
-
];
|
|
302
|
-
```
|
|
303
|
-
|
|
304
|
-
Read more about [Custom Map Styles][custom-map-styles].
|
|
305
|
-
|
|
306
|
-
#### `initialUiState` (object, optional)
|
|
307
|
-
|
|
308
|
-
- Default: `undefined`
|
|
309
|
-
|
|
310
|
-
Intial UI State applied to uiState reducer, value will be shallow merged with default [`INITIAL_UI_STATE`](https://docs.kepler.gl/docs/api-reference/reducers/ui-state#initial_ui_state)
|
|
311
|
-
|
|
312
|
-
#### `localeMessages` (object, optional)
|
|
313
|
-
|
|
314
|
-
- Default: `undefined` Modify default translation or add new translation
|
|
315
|
-
|
|
316
|
-
Read more about [Localization][localization].
|
|
317
|
-
|
|
318
|
-
### 3. Dispatch custom actions to `keplerGl` reducer.
|
|
319
|
-
|
|
320
|
-
One advantage of using the reducer over React component state to handle keplerGl state is the flexibility
|
|
321
|
-
to customize its behavior. If you only have one `KeplerGl` instance in your app or never intend to dispatch actions to KeplerGl from outside the component itself,
|
|
322
|
-
you don’t need to worry about forwarding dispatch and can move on to the next section. But life is full of customizations, and we want to make yours as enjoyable as possible.
|
|
323
|
-
|
|
324
|
-
There are multiple ways to dispatch actions to a specific `KeplerGl` instance.
|
|
325
|
-
|
|
326
|
-
- In the root reducer, with reducer updaters.
|
|
327
|
-
|
|
328
|
-
Each action is mapped to a reducer updater in kepler.gl. You can import the reducer updater corresponding to a specific action, and call it with the previous state and action payload to get the updated state.
|
|
329
|
-
e.g. `updateVisDataUpdater` is the updater for `ActionTypes.UPDATE_VIS_DATA` (take a look at each reducer `reducers/vis-state.js` for action to updater mapping).
|
|
330
|
-
Here is an example how you can listen to an app action `QUERY_SUCCESS` and call `updateVisDataUpdater` to load data into Kepler.Gl.
|
|
331
|
-
|
|
332
|
-
```js
|
|
333
|
-
import keplerGlReducer, {visStateUpdaters} from 'kepler.gl/reducers';
|
|
334
|
-
|
|
335
|
-
// Root Reducer
|
|
336
|
-
const reducers = combineReducers({
|
|
337
|
-
keplerGl: keplerGlReducer,
|
|
338
|
-
|
|
339
|
-
app: appReducer
|
|
340
|
-
});
|
|
341
|
-
|
|
342
|
-
const composedReducer = (state, action) => {
|
|
343
|
-
switch (action.type) {
|
|
344
|
-
case 'QUERY_SUCCESS':
|
|
345
|
-
return {
|
|
346
|
-
...state,
|
|
347
|
-
keplerGl: {
|
|
348
|
-
...state.keplerGl,
|
|
349
|
-
|
|
350
|
-
// 'map' is the id of the keplerGl instance
|
|
351
|
-
map: {
|
|
352
|
-
...state.keplerGl.map,
|
|
353
|
-
visState: visStateUpdaters.updateVisDataUpdater(
|
|
354
|
-
state.keplerGl.map.visState,
|
|
355
|
-
{datasets: action.payload}
|
|
356
|
-
)
|
|
357
|
-
}
|
|
358
|
-
}
|
|
359
|
-
};
|
|
360
|
-
}
|
|
361
|
-
return reducers(state, action);
|
|
362
|
-
};
|
|
363
|
-
|
|
364
|
-
export default composedReducer;
|
|
365
|
-
```
|
|
366
|
-
|
|
367
|
-
Read more about [using updaters to modify kepler.gl state][using-updaters]
|
|
368
|
-
|
|
369
|
-
- Using redux `connect`
|
|
370
|
-
|
|
371
|
-
You can add a dispatch function to your component that dispatches actions to a specific `keplerGl` component,
|
|
372
|
-
using connect.
|
|
373
|
-
|
|
374
|
-
```js
|
|
375
|
-
// component
|
|
376
|
-
import KeplerGl from 'kepler.gl';
|
|
377
|
-
|
|
378
|
-
// action and forward dispatcher
|
|
379
|
-
import {toggleFullScreen, forwardTo} from 'kepler.gl/actions';
|
|
380
|
-
import {connect} from 'react-redux';
|
|
381
|
-
|
|
382
|
-
const MapContainer = props => (
|
|
383
|
-
<div>
|
|
384
|
-
<button onClick={() => props.keplerGlDispatch(toggleFullScreen())}/>
|
|
385
|
-
<KeplerGl
|
|
386
|
-
id="foo"
|
|
387
|
-
/>
|
|
388
|
-
</div>
|
|
389
|
-
)
|
|
390
|
-
|
|
391
|
-
const mapStateToProps = state => state
|
|
392
|
-
const mapDispatchToProps = (dispatch, props) => ({
|
|
393
|
-
dispatch,
|
|
394
|
-
keplerGlDispatch: forwardTo(‘foo’, dispatch)
|
|
395
|
-
});
|
|
396
|
-
|
|
397
|
-
export default connect(
|
|
398
|
-
mapStateToProps,
|
|
399
|
-
mapDispatchToProps
|
|
400
|
-
)(MapContainer);
|
|
401
|
-
```
|
|
402
|
-
|
|
403
|
-
- Wrap action payload
|
|
404
|
-
|
|
405
|
-
You can also simply wrap an action into a forward action with the `wrapTo` helper
|
|
406
|
-
|
|
407
|
-
```js
|
|
408
|
-
// component
|
|
409
|
-
import KeplerGl from 'kepler.gl';
|
|
410
|
-
|
|
411
|
-
// action and forward dispatcher
|
|
412
|
-
import {toggleFullScreen, wrapTo} from 'kepler.gl/actions';
|
|
413
|
-
|
|
414
|
-
// create a function to wrapper action payload to 'foo'
|
|
415
|
-
const wrapToMap = wrapTo('foo');
|
|
416
|
-
const MapContainer = ({dispatch}) => (
|
|
417
|
-
<div>
|
|
418
|
-
<button onClick={() => dispatch(wrapToMap(toggleFullScreen())} />
|
|
419
|
-
<KeplerGl
|
|
420
|
-
id="foo"
|
|
421
|
-
/>
|
|
422
|
-
</div>
|
|
423
|
-
);
|
|
424
|
-
|
|
425
|
-
```
|
|
426
|
-
|
|
427
|
-
Read more about [forward dispatching actions][forward-actions]
|
|
428
|
-
|
|
429
|
-
### 4. Customize style.
|
|
430
|
-
|
|
431
|
-
Kepler.gl implements css styling using [Styled-Components](https://www.styled-components.com/). By using said framework Kepler.gl offers the ability to customize its style/theme using the following approaches:
|
|
432
|
-
|
|
433
|
-
- Passing a Theme prop
|
|
434
|
-
- Styled-Components ThemeProvider
|
|
435
|
-
|
|
436
|
-
The available properties to customize are listed here [theme](https://github.com/keplergl/kepler.gl/blob/master/src/styles/base.js).
|
|
437
|
-
|
|
438
|
-
[Custom theme example](https://github.com/keplergl/kepler.gl/tree/master/examples/custom-theme).
|
|
439
|
-
|
|
440
|
-
#### Passing a Theme prop.
|
|
441
|
-
|
|
442
|
-
You can customize Kepler.gl theme by passing a **theme** props to Kepler.gl react component as it follows:
|
|
443
|
-
|
|
444
|
-
```javascript
|
|
445
|
-
const white = '#ffffff';
|
|
446
|
-
const customTheme = {
|
|
447
|
-
sidePanelBg: white,
|
|
448
|
-
titleTextColor: '#000000',
|
|
449
|
-
sidePanelHeaderBg: '#f7f7F7',
|
|
450
|
-
subtextColorActive: '#2473bd'
|
|
451
|
-
};
|
|
452
|
-
|
|
453
|
-
return (
|
|
454
|
-
<KeplerGl
|
|
455
|
-
mapboxApiAccessToken={MAPBOX_TOKEN}
|
|
456
|
-
id="map"
|
|
457
|
-
width={800}
|
|
458
|
-
height={800}
|
|
459
|
-
theme={customTheme}
|
|
460
|
-
/>
|
|
461
|
-
);
|
|
462
|
-
```
|
|
463
|
-
|
|
464
|
-
As you can see the customTheme object defines certain properties which will override Kepler.gl default style rules.
|
|
465
|
-
|
|
466
|
-
#### Styled-Components Theme Provider.
|
|
467
|
-
|
|
468
|
-
In order to customize Kepler.gl theme using [ThemeProvider](https://www.styled-components.com/docs/api#themeprovider) you can simply wrap Kepler.gl using ThemeProvider as it follows:
|
|
469
|
-
|
|
470
|
-
```javascript
|
|
471
|
-
import {ThemeProvider} from 'styled-components';
|
|
472
|
-
|
|
473
|
-
const white = '#ffffff';
|
|
474
|
-
const customTheme = {
|
|
475
|
-
sidePanelBg: white,
|
|
476
|
-
titleTextColor: '#000000',
|
|
477
|
-
sidePanelHeaderBg: '#f7f7F7',
|
|
478
|
-
subtextColorActive: '#2473bd'
|
|
479
|
-
};
|
|
480
|
-
|
|
481
|
-
return (
|
|
482
|
-
<ThemeProvider theme={customTheme}>
|
|
483
|
-
<KeplerGl
|
|
484
|
-
mapboxApiAccessToken={MAPBOX_TOKEN}
|
|
485
|
-
id="map"
|
|
486
|
-
width={800}
|
|
487
|
-
height={800}
|
|
488
|
-
/>
|
|
489
|
-
</ThemeProvider>
|
|
490
|
-
);
|
|
491
|
-
```
|
|
492
|
-
|
|
493
|
-
### 5. Render Custom UI components.
|
|
494
|
-
|
|
495
|
-
Everyone wants the flexibility to render custom kepler.gl components. Kepler.gl has a dependency injection system that allow you to inject
|
|
496
|
-
components to KeplerGl replacing existing ones. All you need to do is to create a component factory for the one you want to replace, import the original component factory
|
|
497
|
-
and call `injectComponents` at the root component of your app where `KeplerGl` is mounted.
|
|
498
|
-
Take a look at `examples/demo-app/src/app.js` and see how it renders a custom side panel header in kepler.gl
|
|
499
|
-
|
|
500
|
-
```javascript
|
|
501
|
-
import {injectComponents, PanelHeaderFactory} from 'kepler.gl/components';
|
|
502
|
-
|
|
503
|
-
// define custom header
|
|
504
|
-
const CustomHeader = () => <div>My kepler.gl app</div>;
|
|
505
|
-
const myCustomHeaderFactory = () => CustomHeader;
|
|
506
|
-
|
|
507
|
-
// Inject custom header into Kepler.gl, replacing default
|
|
508
|
-
const KeplerGl = injectComponents([
|
|
509
|
-
[PanelHeaderFactory, myCustomHeaderFactory]
|
|
510
|
-
]);
|
|
511
|
-
|
|
512
|
-
// render KeplerGl, it will render your custom header instead of the default
|
|
513
|
-
const MapContainer = () => (
|
|
514
|
-
<div>
|
|
515
|
-
<KeplerGl id="foo" />
|
|
516
|
-
</div>
|
|
517
|
-
);
|
|
518
|
-
```
|
|
519
|
-
|
|
520
|
-
Using `withState` helper to add reducer state and actions to customized component as additional props.
|
|
521
|
-
|
|
522
|
-
```js
|
|
523
|
-
import {
|
|
524
|
-
withState,
|
|
525
|
-
injectComponents,
|
|
526
|
-
PanelHeaderFactory
|
|
527
|
-
} from 'kepler.gl/components';
|
|
528
|
-
import {visStateLens} from 'kepler.gl/reducers';
|
|
529
|
-
|
|
530
|
-
// custom action wrap to mounted instance
|
|
531
|
-
const addTodo = text =>
|
|
532
|
-
wrapTo('map', {
|
|
533
|
-
type: 'ADD_TODO',
|
|
534
|
-
text
|
|
535
|
-
});
|
|
536
|
-
|
|
537
|
-
// define custom header
|
|
538
|
-
const CustomHeader = ({visState, addTodo}) => (
|
|
539
|
-
<div onClick={() => addTodo('hello')}>{`${
|
|
540
|
-
Object.keys(visState.datasets).length
|
|
541
|
-
} dataset loaded`}</div>
|
|
542
|
-
);
|
|
543
|
-
|
|
544
|
-
// now CustomHeader will receive `visState` and `addTodo` as additional props.
|
|
545
|
-
const myCustomHeaderFactory = () =>
|
|
546
|
-
withState(
|
|
547
|
-
// keplerGl state lenses
|
|
548
|
-
[visStateLens],
|
|
549
|
-
// customMapStateToProps
|
|
550
|
-
headerStateToProps,
|
|
551
|
-
// actions
|
|
552
|
-
{addTodo}
|
|
553
|
-
)(CustomHeader);
|
|
554
|
-
```
|
|
555
|
-
|
|
556
|
-
Read more about [replacing UI component][replace-ui-component]
|
|
557
|
-
|
|
558
|
-
### 6. How to add data to map
|
|
559
|
-
|
|
560
|
-
To interact with a kepler.gl instance and add new data to it, you can dispatch the **`addDataToMap`** action from anywhere inside your app. It adds a dataset or multiple datasets to a kepler.gl instance and updates the full configuration (mapState, mapStyle, visState).
|
|
561
|
-
|
|
562
|
-
#### Parameters
|
|
563
|
-
|
|
564
|
-
- `data` **[Object][40]** **\*required**
|
|
565
|
-
- `datasets` **([Array][41]<[Object][40]> | [Object][40])** **\*required** datasets can be a dataset or an array of datasets
|
|
566
|
-
Each dataset object needs to have `info` and `data` property.
|
|
567
|
-
- `datasets.info` **[Object][40]** \-info of a dataset
|
|
568
|
-
- `datasets.info.id` **[string][42]** id of this dataset. If config is defined, `id` should matches the `dataId` in config.
|
|
569
|
-
- `datasets.info.label` **[string][42]** A display name of this dataset
|
|
570
|
-
- `datasets.data` **[Object][40]** **\*required** The data object, in a tabular format with 2 properties `fields` and `rows`
|
|
571
|
-
- `datasets.data.fields` **[Array][41]<[Object][40]>** **\*required** Array of fields,
|
|
572
|
-
- `datasets.data.fields.name` **[string][42]** **\*required** Name of the field,
|
|
573
|
-
- `datasets.data.rows` **[Array][41]<[Array][41]>** **\*required** Array of rows, in a tabular format with `fields` and `rows`
|
|
574
|
-
- `options` **[Object][40]**
|
|
575
|
-
|
|
576
|
-
- `options.centerMap` **[boolean][43]** `default: true` if `centerMap` is set to `true` kepler.gl will place the map view within the data points boundaries
|
|
577
|
-
- `options.readOnly` **[boolean][43]** `default: false` if `readOnly` is set to `true`
|
|
578
|
-
the left setting panel will be hidden
|
|
579
|
-
- `options.keepExistingConfig` **[boolean][43]** `default: false` whether to keep exiting map config, including layers, filters and splitMaps.
|
|
580
|
-
|
|
581
|
-
- `config` **[Object][40]** this object will contain the full kepler.gl instance configuration {mapState, mapStyle, visState}
|
|
582
|
-
|
|
583
|
-
Kepler.gl provides an easy API `KeplerGlSchema.getConfigToSave` to generate a json blob of the current kepler instance configuration.
|
|
584
|
-
|
|
585
|
-
#### Examples
|
|
586
|
-
|
|
587
|
-
```javascript
|
|
588
|
-
// app.js
|
|
589
|
-
import {addDataToMap} from 'kepler.gl/actions';
|
|
590
|
-
|
|
591
|
-
const sampleTripData = {
|
|
592
|
-
fields: [
|
|
593
|
-
{name: 'tpep_pickup_datetime', format: 'YYYY-M-D H:m:s', type: 'timestamp'},
|
|
594
|
-
{name: 'pickup_longitude', format: '', type: 'real'},
|
|
595
|
-
{name: 'pickup_latitude', format: '', type: 'real'}
|
|
596
|
-
],
|
|
597
|
-
rows: [
|
|
598
|
-
['2015-01-15 19:05:39 +00:00', -73.99389648, 40.75011063],
|
|
599
|
-
['2015-01-15 19:05:39 +00:00', -73.97642517, 40.73981094],
|
|
600
|
-
['2015-01-15 19:05:40 +00:00', -73.96870422, 40.75424576]
|
|
601
|
-
]
|
|
602
|
-
};
|
|
603
|
-
|
|
604
|
-
const sampleConfig = {
|
|
605
|
-
visState: {
|
|
606
|
-
filters: [
|
|
607
|
-
{
|
|
608
|
-
id: 'me',
|
|
609
|
-
dataId: 'test_trip_data',
|
|
610
|
-
name: 'tpep_pickup_datetime',
|
|
611
|
-
type: 'timeRange',
|
|
612
|
-
enlarged: true
|
|
613
|
-
}
|
|
614
|
-
]
|
|
615
|
-
}
|
|
616
|
-
};
|
|
617
|
-
|
|
618
|
-
this.props.dispatch(
|
|
619
|
-
addDataToMap({
|
|
620
|
-
datasets: {
|
|
621
|
-
info: {
|
|
622
|
-
label: 'Sample Taxi Trips in New York City',
|
|
623
|
-
id: 'test_trip_data'
|
|
624
|
-
},
|
|
625
|
-
data: sampleTripData
|
|
626
|
-
},
|
|
627
|
-
option: {
|
|
628
|
-
centerMap: true,
|
|
629
|
-
readOnly: false
|
|
630
|
-
},
|
|
631
|
-
config: sampleConfig
|
|
632
|
-
})
|
|
633
|
-
);
|
|
634
|
-
```
|
|
635
|
-
|
|
636
|
-
Read more about [addDataToMap](./docs/api-reference/actions/actions.md#adddatatomap) and [Saving and loading maps with schema manager][saving-loading-w-schema].
|
|
637
|
-
|
|
638
|
-
[contributing]: contributing/README.md
|
|
639
|
-
[demo-app]: http://kepler.gl/#/demo
|
|
640
|
-
[github]: https://github.com/keplergl/kepler.gl
|
|
641
|
-
[github-pr]: https://help.github.com/articles/creating-a-pull-request/
|
|
642
|
-
[mapbox]: https://www.mapbox.com
|
|
643
|
-
[mapbox-token]: https://www.mapbox.com/help/define-access-token/
|
|
644
|
-
[developers]: contributing/DEVELOPERS.md
|
|
645
|
-
[examples]: https://github.com/keplergl/kepler.gl/tree/master/examples
|
|
646
|
-
[react-palm]: https://github.com/btford/react-palm
|
|
647
|
-
[roadmap]: https://github.com/keplergl/kepler.gl/wiki/Kepler.gl-2019-Roadmap
|
|
648
|
-
[stack]: https://stackoverflow.com/questions/tagged/kepler.gl
|
|
649
|
-
[web]: http://www.kepler.gl/
|
|
650
|
-
[vis-academy]: http://vis.academy/#/kepler.gl/
|
|
651
|
-
[user-guide]: docs/user-guides/README.md
|
|
652
|
-
[user-guide-jupyter]: docs/keplergl-jupyter/README.md
|
|
653
|
-
[api-reference]: docs/api-reference/README.md
|
|
654
|
-
[get-started]: ./docs/api-reference/get-started.md
|
|
655
|
-
[reducers]: docs/api-reference/reducers/README.md
|
|
656
|
-
[components]: docs/api-reference/components/README.md
|
|
657
|
-
[custom-theme]: docs/api-reference/custom-theme/README.md
|
|
658
|
-
[reducers]: docs/api-reference/reducers/README.md
|
|
659
|
-
[actions-updaters]: docs/api-reference/actions/README.md
|
|
660
|
-
[processors]: docs/api-reference/processors/README.md
|
|
661
|
-
[schemas]: docs/api-reference/schemas/README.md
|
|
662
|
-
[using-updaters]: ./docs/api-reference/advanced-usages/using-updaters.md
|
|
663
|
-
[custom-map-styles]: ./docs/api-reference/advanced-usages/custom-map-styles.md
|
|
664
|
-
[forward-actions]: ./docs/api-reference/advanced-usages/forward-actions.md
|
|
665
|
-
[replace-ui-component]: ./docs/api-reference/advanced-usages/replace-ui-component.md
|
|
666
|
-
[saving-loading-w-schema]: ./docs/api-reference/advanced-usages/saving-loading-w-schema.md
|
|
667
|
-
[localization]: ./docs/api-reference/localization/README.md
|
|
668
|
-
[40]: https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Object
|
|
669
|
-
[41]: https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Array
|
|
670
|
-
[42]: https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/String
|
|
671
|
-
[43]: https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Boolean
|
|
672
|
-
[44]: https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Number
|
|
673
|
-
[45]: https://developer.mozilla.org/docs/Web/JavaScript/Reference/Statements/function
|
|
61
|
+
```
|
|
62
|
+
npm publish --access public
|
|
63
|
+
```
|
|
@@ -65,4 +65,4 @@ var ChevronRight = exports["default"] = /*#__PURE__*/function (_Component) {
|
|
|
65
65
|
predefinedClassName: 'data-ex-icons-chevron-right',
|
|
66
66
|
viewBox: '0 0 18 18'
|
|
67
67
|
});
|
|
68
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,
|
|
68
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfcmVhY3QiLCJfaW50ZXJvcFJlcXVpcmVXaWxkY2FyZCIsInJlcXVpcmUiLCJfcHJvcFR5cGVzIiwiX2ludGVyb3BSZXF1aXJlRGVmYXVsdCIsIl9iYXNlIiwiX2dldFJlcXVpcmVXaWxkY2FyZENhY2hlIiwiZSIsIldlYWtNYXAiLCJyIiwidCIsIl9fZXNNb2R1bGUiLCJfdHlwZW9mIiwiaGFzIiwiZ2V0IiwibiIsIl9fcHJvdG9fXyIsImEiLCJPYmplY3QiLCJkZWZpbmVQcm9wZXJ0eSIsImdldE93blByb3BlcnR5RGVzY3JpcHRvciIsInUiLCJoYXNPd25Qcm9wZXJ0eSIsImNhbGwiLCJpIiwic2V0IiwiX2NhbGxTdXBlciIsIm8iLCJfZ2V0UHJvdG90eXBlT2YyIiwiX3Bvc3NpYmxlQ29uc3RydWN0b3JSZXR1cm4yIiwiX2lzTmF0aXZlUmVmbGVjdENvbnN0cnVjdCIsIlJlZmxlY3QiLCJjb25zdHJ1Y3QiLCJjb25zdHJ1Y3RvciIsImFwcGx5IiwiQm9vbGVhbiIsInByb3RvdHlwZSIsInZhbHVlT2YiLCJDaGV2cm9uUmlnaHQiLCJleHBvcnRzIiwiX0NvbXBvbmVudCIsIl9jbGFzc0NhbGxDaGVjazIiLCJhcmd1bWVudHMiLCJfaW5oZXJpdHMyIiwiX2NyZWF0ZUNsYXNzMiIsImtleSIsInZhbHVlIiwicmVuZGVyIiwiY3JlYXRlRWxlbWVudCIsInByb3BzIiwiZCIsImZpbGwiLCJDb21wb25lbnQiLCJfZGVmaW5lUHJvcGVydHkyIiwiaGVpZ2h0IiwiUHJvcFR5cGVzIiwic3RyaW5nIiwicHJlZGVmaW5lZENsYXNzTmFtZSIsInZpZXdCb3giLCJzdHlsZSIsIm9iamVjdCJdLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9jb21wb25lbnRzL2NvbW1vbi9pY29ucy9jaGV2cm9uLXJpZ2h0LmpzIl0sInNvdXJjZXNDb250ZW50IjpbIi8vIENvcHlyaWdodCAoYykgMjAyMSBVYmVyIFRlY2hub2xvZ2llcywgSW5jLlxuLy9cbi8vIFBlcm1pc3Npb24gaXMgaGVyZWJ5IGdyYW50ZWQsIGZyZWUgb2YgY2hhcmdlLCB0byBhbnkgcGVyc29uIG9idGFpbmluZyBhIGNvcHlcbi8vIG9mIHRoaXMgc29mdHdhcmUgYW5kIGFzc29jaWF0ZWQgZG9jdW1lbnRhdGlvbiBmaWxlcyAodGhlIFwiU29mdHdhcmVcIiksIHRvIGRlYWxcbi8vIGluIHRoZSBTb2Z0d2FyZSB3aXRob3V0IHJlc3RyaWN0aW9uLCBpbmNsdWRpbmcgd2l0aG91dCBsaW1pdGF0aW9uIHRoZSByaWdodHNcbi8vIHRvIHVzZSwgY29weSwgbW9kaWZ5LCBtZXJnZSwgcHVibGlzaCwgZGlzdHJpYnV0ZSwgc3VibGljZW5zZSwgYW5kL29yIHNlbGxcbi8vIGNvcGllcyBvZiB0aGUgU29mdHdhcmUsIGFuZCB0byBwZXJtaXQgcGVyc29ucyB0byB3aG9tIHRoZSBTb2Z0d2FyZSBpc1xuLy8gZnVybmlzaGVkIHRvIGRvIHNvLCBzdWJqZWN0IHRvIHRoZSBmb2xsb3dpbmcgY29uZGl0aW9uczpcbi8vXG4vLyBUaGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSBhbmQgdGhpcyBwZXJtaXNzaW9uIG5vdGljZSBzaGFsbCBiZSBpbmNsdWRlZCBpblxuLy8gYWxsIGNvcGllcyBvciBzdWJzdGFudGlhbCBwb3J0aW9ucyBvZiB0aGUgU29mdHdhcmUuXG4vL1xuLy8gVEhFIFNPRlRXQVJFIElTIFBST1ZJREVEIFwiQVMgSVNcIiwgV0lUSE9VVCBXQVJSQU5UWSBPRiBBTlkgS0lORCwgRVhQUkVTUyBPUlxuLy8gSU1QTElFRCwgSU5DTFVESU5HIEJVVCBOT1QgTElNSVRFRCBUTyBUSEUgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFksXG4vLyBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBTkQgTk9OSU5GUklOR0VNRU5ULiBJTiBOTyBFVkVOVCBTSEFMTCBUSEVcbi8vIEFVVEhPUlMgT1IgQ09QWVJJR0hUIEhPTERFUlMgQkUgTElBQkxFIEZPUiBBTlkgQ0xBSU0sIERBTUFHRVMgT1IgT1RIRVJcbi8vIExJQUJJTElUWSwgV0hFVEhFUiBJTiBBTiBBQ1RJT04gT0YgQ09OVFJBQ1QsIFRPUlQgT1IgT1RIRVJXSVNFLCBBUklTSU5HIEZST00sXG4vLyBPVVQgT0YgT1IgSU4gQ09OTkVDVElPTiBXSVRIIFRIRSBTT0ZUV0FSRSBPUiBUSEUgVVNFIE9SIE9USEVSIERFQUxJTkdTIElOXG4vLyBUSEUgU09GVFdBUkUuXG5cbmltcG9ydCBSZWFjdCwge0NvbXBvbmVudH0gZnJvbSAncmVhY3QnO1xuaW1wb3J0IFByb3BUeXBlcyBmcm9tICdwcm9wLXR5cGVzJztcbmltcG9ydCBCYXNlIGZyb20gJy4vYmFzZSc7XG5cbmV4cG9ydCBkZWZhdWx0IGNsYXNzIENoZXZyb25SaWdodCBleHRlbmRzIENvbXBvbmVudCB7XG4gIHN0YXRpYyBwcm9wVHlwZXMgPSB7XG4gICAgLyoqIFNldCB0aGUgaGVpZ2h0IG9mIHRoZSBpY29uLCBleC4gJzE2cHgnICovXG4gICAgaGVpZ2h0OiBQcm9wVHlwZXMuc3RyaW5nLFxuICAgIHByZWRlZmluZWRDbGFzc05hbWU6IFByb3BUeXBlcy5zdHJpbmcsXG4gICAgdmlld0JveDogUHJvcFR5cGVzLnN0cmluZyxcbiAgICBzdHlsZTogUHJvcFR5cGVzLm9iamVjdFxuICB9O1xuXG4gIHN0YXRpYyBkZWZhdWx0UHJvcHMgPSB7XG4gICAgaGVpZ2h0OiAnMTZweCcsXG4gICAgcHJlZGVmaW5lZENsYXNzTmFtZTogJ2RhdGEtZXgtaWNvbnMtY2hldnJvbi1yaWdodCcsXG4gICAgdmlld0JveDogJzAgMCAxOCAxOCdcbiAgfTtcblxuICByZW5kZXIoKSB7XG4gICAgcmV0dXJuIChcbiAgICAgIDxCYXNlIHsuLi50aGlzLnByb3BzfT5cbiAgICAgICAgPHBhdGggZD1cIk03LjEyNSAxMi43NSAxMC44NzUgOWwtMy43NS0zLjc1elwiIGZpbGw9XCIjMkMzMDMyXCIgLz5cbiAgICAgIDwvQmFzZT5cbiAgICApO1xuICB9XG59XG4iXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7O0FBb0JBLElBQUFBLE1BQUEsR0FBQUMsdUJBQUEsQ0FBQUMsT0FBQTtBQUNBLElBQUFDLFVBQUEsR0FBQUMsc0JBQUEsQ0FBQUYsT0FBQTtBQUNBLElBQUFHLEtBQUEsR0FBQUQsc0JBQUEsQ0FBQUYsT0FBQTtBQUEwQixTQUFBSSx5QkFBQUMsQ0FBQSw2QkFBQUMsT0FBQSxtQkFBQUMsQ0FBQSxPQUFBRCxPQUFBLElBQUFFLENBQUEsT0FBQUYsT0FBQSxZQUFBRix3QkFBQSxZQUFBQSx5QkFBQUMsQ0FBQSxXQUFBQSxDQUFBLEdBQUFHLENBQUEsR0FBQUQsQ0FBQSxLQUFBRixDQUFBO0FBQUEsU0FBQU4sd0JBQUFNLENBQUEsRUFBQUUsQ0FBQSxTQUFBQSxDQUFBLElBQUFGLENBQUEsSUFBQUEsQ0FBQSxDQUFBSSxVQUFBLFNBQUFKLENBQUEsZUFBQUEsQ0FBQSxnQkFBQUssT0FBQSxDQUFBTCxDQUFBLDBCQUFBQSxDQUFBLHNCQUFBQSxDQUFBLFFBQUFHLENBQUEsR0FBQUosd0JBQUEsQ0FBQUcsQ0FBQSxPQUFBQyxDQUFBLElBQUFBLENBQUEsQ0FBQUcsR0FBQSxDQUFBTixDQUFBLFVBQUFHLENBQUEsQ0FBQUksR0FBQSxDQUFBUCxDQUFBLE9BQUFRLENBQUEsS0FBQUMsU0FBQSxVQUFBQyxDQUFBLEdBQUFDLE1BQUEsQ0FBQUMsY0FBQSxJQUFBRCxNQUFBLENBQUFFLHdCQUFBLFdBQUFDLENBQUEsSUFBQWQsQ0FBQSxvQkFBQWMsQ0FBQSxPQUFBQyxjQUFBLENBQUFDLElBQUEsQ0FBQWhCLENBQUEsRUFBQWMsQ0FBQSxTQUFBRyxDQUFBLEdBQUFQLENBQUEsR0FBQUMsTUFBQSxDQUFBRSx3QkFBQSxDQUFBYixDQUFBLEVBQUFjLENBQUEsVUFBQUcsQ0FBQSxLQUFBQSxDQUFBLENBQUFWLEdBQUEsSUFBQVUsQ0FBQSxDQUFBQyxHQUFBLElBQUFQLE1BQUEsQ0FBQUMsY0FBQSxDQUFBSixDQUFBLEVBQUFNLENBQUEsRUFBQUcsQ0FBQSxJQUFBVCxDQUFBLENBQUFNLENBQUEsSUFBQWQsQ0FBQSxDQUFBYyxDQUFBLFlBQUFOLENBQUEsY0FBQVIsQ0FBQSxFQUFBRyxDQUFBLElBQUFBLENBQUEsQ0FBQWUsR0FBQSxDQUFBbEIsQ0FBQSxFQUFBUSxDQUFBLEdBQUFBLENBQUE7QUFBQSxTQUFBVyxXQUFBaEIsQ0FBQSxFQUFBaUIsQ0FBQSxFQUFBcEIsQ0FBQSxXQUFBb0IsQ0FBQSxPQUFBQyxnQkFBQSxhQUFBRCxDQUFBLE9BQUFFLDJCQUFBLGFBQUFuQixDQUFBLEVBQUFvQix5QkFBQSxLQUFBQyxPQUFBLENBQUFDLFNBQUEsQ0FBQUwsQ0FBQSxFQUFBcEIsQ0FBQSxZQUFBcUIsZ0JBQUEsYUFBQWxCLENBQUEsRUFBQXVCLFdBQUEsSUFBQU4sQ0FBQSxDQUFBTyxLQUFBLENBQUF4QixDQUFBLEVBQUFILENBQUE7QUFBQSxTQUFBdUIsMEJBQUEsY0FBQXBCLENBQUEsSUFBQXlCLE9BQUEsQ0FBQUMsU0FBQSxDQUFBQyxPQUFBLENBQUFkLElBQUEsQ0FBQVEsT0FBQSxDQUFBQyxTQUFBLENBQUFHLE9BQUEsaUNBQUF6QixDQUFBLGFBQUFvQix5QkFBQSxZQUFBQSwwQkFBQSxhQUFBcEIsQ0FBQSxVQXRCMUI7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFBQSxJQU1xQjRCLFlBQVksR0FBQUMsT0FBQSxxQ0FBQUMsVUFBQTtFQUFBLFNBQUFGLGFBQUE7SUFBQSxJQUFBRyxnQkFBQSxtQkFBQUgsWUFBQTtJQUFBLE9BQUFaLFVBQUEsT0FBQVksWUFBQSxFQUFBSSxTQUFBO0VBQUE7RUFBQSxJQUFBQyxVQUFBLGFBQUFMLFlBQUEsRUFBQUUsVUFBQTtFQUFBLFdBQUFJLGFBQUEsYUFBQU4sWUFBQTtJQUFBTyxHQUFBO0lBQUFDLEtBQUEsRUFlL0IsU0FBQUMsTUFBTUEsQ0FBQSxFQUFHO01BQ1Asb0JBQ0UvQyxNQUFBLFlBQUFnRCxhQUFBLENBQUMzQyxLQUFBLFdBQUksRUFBSyxJQUFJLENBQUM0QyxLQUFLLGVBQ2xCakQsTUFBQSxZQUFBZ0QsYUFBQTtRQUFNRSxDQUFDLEVBQUMsbUNBQW1DO1FBQUNDLElBQUksRUFBQztNQUFTLENBQUUsQ0FDeEQsQ0FBQztJQUVYO0VBQUM7QUFBQSxFQXJCdUNDLGdCQUFTO0FBQUEsSUFBQUMsZ0JBQUEsYUFBOUJmLFlBQVksZUFDWjtFQUNqQjtFQUNBZ0IsTUFBTSxFQUFFQyxxQkFBUyxDQUFDQyxNQUFNO0VBQ3hCQyxtQkFBbUIsRUFBRUYscUJBQVMsQ0FBQ0MsTUFBTTtFQUNyQ0UsT0FBTyxFQUFFSCxxQkFBUyxDQUFDQyxNQUFNO0VBQ3pCRyxLQUFLLEVBQUVKLHFCQUFTLENBQUNLO0FBQ25CLENBQUM7QUFBQSxJQUFBUCxnQkFBQSxhQVBrQmYsWUFBWSxrQkFTVDtFQUNwQmdCLE1BQU0sRUFBRSxNQUFNO0VBQ2RHLG1CQUFtQixFQUFFLDZCQUE2QjtFQUNsREMsT0FBTyxFQUFFO0FBQ1gsQ0FBQyIsImlnbm9yZUxpc3QiOltdfQ==
|
|
@@ -81,8 +81,9 @@ var ItemSelectorSubmenu = /*#__PURE__*/function (_Component) {
|
|
|
81
81
|
}]);
|
|
82
82
|
}(_react.Component);
|
|
83
83
|
(0, _defineProperty2["default"])(ItemSelectorSubmenu, "propTypes", {
|
|
84
|
+
// eslint-disable-next-line react/forbid-prop-types
|
|
84
85
|
options: _propTypes["default"].array,
|
|
85
86
|
onClick: _propTypes["default"].func
|
|
86
87
|
});
|
|
87
88
|
var _default = exports["default"] = ItemSelectorSubmenu;
|
|
88
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfcmVhY3QiLCJfaW50ZXJvcFJlcXVpcmVXaWxkY2FyZCIsInJlcXVpcmUiLCJfcHJvcFR5cGVzIiwiX2ludGVyb3BSZXF1aXJlRGVmYXVsdCIsIl9zdHlsZWRDb21wb25lbnRzIiwiX2l0ZW1TZWxlY3RvciIsIl90ZW1wbGF0ZU9iamVjdCIsIl9nZXRSZXF1aXJlV2lsZGNhcmRDYWNoZSIsImUiLCJXZWFrTWFwIiwiciIsInQiLCJfX2VzTW9kdWxlIiwiX3R5cGVvZiIsImhhcyIsImdldCIsIm4iLCJfX3Byb3RvX18iLCJhIiwiT2JqZWN0IiwiZGVmaW5lUHJvcGVydHkiLCJnZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IiLCJ1IiwiaGFzT3duUHJvcGVydHkiLCJjYWxsIiwiaSIsInNldCIsIl9jYWxsU3VwZXIiLCJvIiwiX2dldFByb3RvdHlwZU9mMiIsIl9wb3NzaWJsZUNvbnN0cnVjdG9yUmV0dXJuMiIsIl9pc05hdGl2ZVJlZmxlY3RDb25zdHJ1Y3QiLCJSZWZsZWN0IiwiY29uc3RydWN0IiwiY29uc3RydWN0b3IiLCJhcHBseSIsIkJvb2xlYW4iLCJwcm90b3R5cGUiLCJ2YWx1ZU9mIiwiSXRlbVNlbGVjdG9yU3VibWVudVN0eWxlZCIsInN0eWxlZCIsImRpdiIsIl90YWdnZWRUZW1wbGF0ZUxpdGVyYWwyIiwicHJvcHMiLCJsaWdodCIsInRoZW1lIiwiZHJvcGRvd25MaXN0QmdkTFQiLCJkcm9wZG93bkxpc3RCZ2QiLCJkcm9wZG93bkxpc3RMVCIsImRyb3Bkb3duTGlzdCIsIkl0ZW1TZWxlY3RvclN1Ym1lbnUiLCJfQ29tcG9uZW50IiwiX3RoaXMiLCJfY2xhc3NDYWxsQ2hlY2syIiwiX2xlbiIsImFyZ3VtZW50cyIsImxlbmd0aCIsImFyZ3MiLCJBcnJheSIsIl9rZXkiLCJjb25jYXQiLCJfZGVmaW5lUHJvcGVydHkyIiwidmVydGljYWxUcmFuc2xhdGlvbiIsImNyZWF0ZVJlZiIsIl9pbmhlcml0czIiLCJfY3JlYXRlQ2xhc3MyIiwia2V5IiwidmFsdWUiLCJyZW5kZXIiLCJfdGhpczIiLCJjcmVhdGVFbGVtZW50IiwicG9zaXRpb24iLCJyZWYiLCJjb250YWluZXIiLCJzdGF0ZSIsIm9wdGlvbnMiLCJtYXAiLCJvcHRpb24iLCJjbGFzc05hbWUiLCJwcmV2ZW50Q2xvc2VTZWxlY3RvciIsIm9uQ2xpY2siLCJkaXNwbGF5TmFtZSIsIkNvbXBvbmVudCIsIlByb3BUeXBlcyIsImFycmF5IiwiZnVuYyIsIl9kZWZhdWx0IiwiZXhwb3J0cyJdLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9jb21wb25lbnRzL2NvbW1vbi9pdGVtLXNlbGVjdG9yL2l0ZW0tc2VsZWN0b3Itc3VibWVudS5qcyJdLCJzb3VyY2VzQ29udGVudCI6WyIvLyBDb3B5cmlnaHQgKGMpIDIwMjEgVWJlciBUZWNobm9sb2dpZXMsIEluYy5cbi8vXG4vLyBQZXJtaXNzaW9uIGlzIGhlcmVieSBncmFudGVkLCBmcmVlIG9mIGNoYXJnZSwgdG8gYW55IHBlcnNvbiBvYnRhaW5pbmcgYSBjb3B5XG4vLyBvZiB0aGlzIHNvZnR3YXJlIGFuZCBhc3NvY2lhdGVkIGRvY3VtZW50YXRpb24gZmlsZXMgKHRoZSBcIlNvZnR3YXJlXCIpLCB0byBkZWFsXG4vLyBpbiB0aGUgU29mdHdhcmUgd2l0aG91dCByZXN0cmljdGlvbiwgaW5jbHVkaW5nIHdpdGhvdXQgbGltaXRhdGlvbiB0aGUgcmlnaHRzXG4vLyB0byB1c2UsIGNvcHksIG1vZGlmeSwgbWVyZ2UsIHB1Ymxpc2gsIGRpc3RyaWJ1dGUsIHN1YmxpY2Vuc2UsIGFuZC9vciBzZWxsXG4vLyBjb3BpZXMgb2YgdGhlIFNvZnR3YXJlLCBhbmQgdG8gcGVybWl0IHBlcnNvbnMgdG8gd2hvbSB0aGUgU29mdHdhcmUgaXNcbi8vIGZ1cm5pc2hlZCB0byBkbyBzbywgc3ViamVjdCB0byB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnM6XG4vL1xuLy8gVGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UgYW5kIHRoaXMgcGVybWlzc2lvbiBub3RpY2Ugc2hhbGwgYmUgaW5jbHVkZWQgaW5cbi8vIGFsbCBjb3BpZXMgb3Igc3Vic3RhbnRpYWwgcG9ydGlvbnMgb2YgdGhlIFNvZnR3YXJlLlxuLy9cbi8vIFRIRSBTT0ZUV0FSRSBJUyBQUk9WSURFRCBcIkFTIElTXCIsIFdJVEhPVVQgV0FSUkFOVFkgT0YgQU5ZIEtJTkQsIEVYUFJFU1MgT1Jcbi8vIElNUExJRUQsIElOQ0xVRElORyBCVVQgTk9UIExJTUlURUQgVE8gVEhFIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZLFxuLy8gRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQU5EIE5PTklORlJJTkdFTUVOVC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFXG4vLyBBVVRIT1JTIE9SIENPUFlSSUdIVCBIT0xERVJTIEJFIExJQUJMRSBGT1IgQU5ZIENMQUlNLCBEQU1BR0VTIE9SIE9USEVSXG4vLyBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQU4gQUNUSU9OIE9GIENPTlRSQUNULCBUT1JUIE9SIE9USEVSV0lTRSwgQVJJU0lORyBGUk9NLFxuLy8gT1VUIE9GIE9SIElOIENPTk5FQ1RJT04gV0lUSCBUSEUgU09GVFdBUkUgT1IgVEhFIFVTRSBPUiBPVEhFUiBERUFMSU5HUyBJTlxuLy8gVEhFIFNPRlRXQVJFLlxuXG5pbXBvcnQgUmVhY3QsIHtDb21wb25lbnQsIGNyZWF0ZVJlZn0gZnJvbSAncmVhY3QnO1xuaW1wb3J0IFByb3BUeXBlcyBmcm9tICdwcm9wLXR5cGVzJztcbmltcG9ydCBzdHlsZWQgZnJvbSAnc3R5bGVkLWNvbXBvbmVudHMnO1xuaW1wb3J0IHtwcmV2ZW50Q2xvc2VTZWxlY3Rvcn0gZnJvbSAnLi9pdGVtLXNlbGVjdG9yJztcblxuY29uc3QgSXRlbVNlbGVjdG9yU3VibWVudVN0eWxlZCA9IHN0eWxlZC5kaXZgXG4gIHBhZGRpbmc6IDVweCAwO1xuICBtaW4td2lkdGg6IDEwMHB4O1xuICBmb250LXdlaWdodDogNTAwO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAke3Byb3BzID0+
|
|
89
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfcmVhY3QiLCJfaW50ZXJvcFJlcXVpcmVXaWxkY2FyZCIsInJlcXVpcmUiLCJfcHJvcFR5cGVzIiwiX2ludGVyb3BSZXF1aXJlRGVmYXVsdCIsIl9zdHlsZWRDb21wb25lbnRzIiwiX2l0ZW1TZWxlY3RvciIsIl90ZW1wbGF0ZU9iamVjdCIsIl9nZXRSZXF1aXJlV2lsZGNhcmRDYWNoZSIsImUiLCJXZWFrTWFwIiwiciIsInQiLCJfX2VzTW9kdWxlIiwiX3R5cGVvZiIsImhhcyIsImdldCIsIm4iLCJfX3Byb3RvX18iLCJhIiwiT2JqZWN0IiwiZGVmaW5lUHJvcGVydHkiLCJnZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IiLCJ1IiwiaGFzT3duUHJvcGVydHkiLCJjYWxsIiwiaSIsInNldCIsIl9jYWxsU3VwZXIiLCJvIiwiX2dldFByb3RvdHlwZU9mMiIsIl9wb3NzaWJsZUNvbnN0cnVjdG9yUmV0dXJuMiIsIl9pc05hdGl2ZVJlZmxlY3RDb25zdHJ1Y3QiLCJSZWZsZWN0IiwiY29uc3RydWN0IiwiY29uc3RydWN0b3IiLCJhcHBseSIsIkJvb2xlYW4iLCJwcm90b3R5cGUiLCJ2YWx1ZU9mIiwiSXRlbVNlbGVjdG9yU3VibWVudVN0eWxlZCIsInN0eWxlZCIsImRpdiIsIl90YWdnZWRUZW1wbGF0ZUxpdGVyYWwyIiwicHJvcHMiLCJsaWdodCIsInRoZW1lIiwiZHJvcGRvd25MaXN0QmdkTFQiLCJkcm9wZG93bkxpc3RCZ2QiLCJkcm9wZG93bkxpc3RMVCIsImRyb3Bkb3duTGlzdCIsIkl0ZW1TZWxlY3RvclN1Ym1lbnUiLCJfQ29tcG9uZW50IiwiX3RoaXMiLCJfY2xhc3NDYWxsQ2hlY2syIiwiX2xlbiIsImFyZ3VtZW50cyIsImxlbmd0aCIsImFyZ3MiLCJBcnJheSIsIl9rZXkiLCJjb25jYXQiLCJfZGVmaW5lUHJvcGVydHkyIiwidmVydGljYWxUcmFuc2xhdGlvbiIsImNyZWF0ZVJlZiIsIl9pbmhlcml0czIiLCJfY3JlYXRlQ2xhc3MyIiwia2V5IiwidmFsdWUiLCJyZW5kZXIiLCJfdGhpczIiLCJjcmVhdGVFbGVtZW50IiwicG9zaXRpb24iLCJyZWYiLCJjb250YWluZXIiLCJzdGF0ZSIsIm9wdGlvbnMiLCJtYXAiLCJvcHRpb24iLCJjbGFzc05hbWUiLCJwcmV2ZW50Q2xvc2VTZWxlY3RvciIsIm9uQ2xpY2siLCJkaXNwbGF5TmFtZSIsIkNvbXBvbmVudCIsIlByb3BUeXBlcyIsImFycmF5IiwiZnVuYyIsIl9kZWZhdWx0IiwiZXhwb3J0cyJdLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9jb21wb25lbnRzL2NvbW1vbi9pdGVtLXNlbGVjdG9yL2l0ZW0tc2VsZWN0b3Itc3VibWVudS5qcyJdLCJzb3VyY2VzQ29udGVudCI6WyIvLyBDb3B5cmlnaHQgKGMpIDIwMjEgVWJlciBUZWNobm9sb2dpZXMsIEluYy5cbi8vXG4vLyBQZXJtaXNzaW9uIGlzIGhlcmVieSBncmFudGVkLCBmcmVlIG9mIGNoYXJnZSwgdG8gYW55IHBlcnNvbiBvYnRhaW5pbmcgYSBjb3B5XG4vLyBvZiB0aGlzIHNvZnR3YXJlIGFuZCBhc3NvY2lhdGVkIGRvY3VtZW50YXRpb24gZmlsZXMgKHRoZSBcIlNvZnR3YXJlXCIpLCB0byBkZWFsXG4vLyBpbiB0aGUgU29mdHdhcmUgd2l0aG91dCByZXN0cmljdGlvbiwgaW5jbHVkaW5nIHdpdGhvdXQgbGltaXRhdGlvbiB0aGUgcmlnaHRzXG4vLyB0byB1c2UsIGNvcHksIG1vZGlmeSwgbWVyZ2UsIHB1Ymxpc2gsIGRpc3RyaWJ1dGUsIHN1YmxpY2Vuc2UsIGFuZC9vciBzZWxsXG4vLyBjb3BpZXMgb2YgdGhlIFNvZnR3YXJlLCBhbmQgdG8gcGVybWl0IHBlcnNvbnMgdG8gd2hvbSB0aGUgU29mdHdhcmUgaXNcbi8vIGZ1cm5pc2hlZCB0byBkbyBzbywgc3ViamVjdCB0byB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnM6XG4vL1xuLy8gVGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UgYW5kIHRoaXMgcGVybWlzc2lvbiBub3RpY2Ugc2hhbGwgYmUgaW5jbHVkZWQgaW5cbi8vIGFsbCBjb3BpZXMgb3Igc3Vic3RhbnRpYWwgcG9ydGlvbnMgb2YgdGhlIFNvZnR3YXJlLlxuLy9cbi8vIFRIRSBTT0ZUV0FSRSBJUyBQUk9WSURFRCBcIkFTIElTXCIsIFdJVEhPVVQgV0FSUkFOVFkgT0YgQU5ZIEtJTkQsIEVYUFJFU1MgT1Jcbi8vIElNUExJRUQsIElOQ0xVRElORyBCVVQgTk9UIExJTUlURUQgVE8gVEhFIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZLFxuLy8gRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQU5EIE5PTklORlJJTkdFTUVOVC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFXG4vLyBBVVRIT1JTIE9SIENPUFlSSUdIVCBIT0xERVJTIEJFIExJQUJMRSBGT1IgQU5ZIENMQUlNLCBEQU1BR0VTIE9SIE9USEVSXG4vLyBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQU4gQUNUSU9OIE9GIENPTlRSQUNULCBUT1JUIE9SIE9USEVSV0lTRSwgQVJJU0lORyBGUk9NLFxuLy8gT1VUIE9GIE9SIElOIENPTk5FQ1RJT04gV0lUSCBUSEUgU09GVFdBUkUgT1IgVEhFIFVTRSBPUiBPVEhFUiBERUFMSU5HUyBJTlxuLy8gVEhFIFNPRlRXQVJFLlxuXG5pbXBvcnQgUmVhY3QsIHtDb21wb25lbnQsIGNyZWF0ZVJlZn0gZnJvbSAncmVhY3QnO1xuaW1wb3J0IFByb3BUeXBlcyBmcm9tICdwcm9wLXR5cGVzJztcbmltcG9ydCBzdHlsZWQgZnJvbSAnc3R5bGVkLWNvbXBvbmVudHMnO1xuaW1wb3J0IHtwcmV2ZW50Q2xvc2VTZWxlY3Rvcn0gZnJvbSAnLi9pdGVtLXNlbGVjdG9yJztcblxuY29uc3QgSXRlbVNlbGVjdG9yU3VibWVudVN0eWxlZCA9IHN0eWxlZC5kaXZgXG4gIHBhZGRpbmc6IDVweCAwO1xuICBtaW4td2lkdGg6IDEwMHB4O1xuICBmb250LXdlaWdodDogNTAwO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAke3Byb3BzID0+XG4gICAgcHJvcHMubGlnaHQgPyBwcm9wcy50aGVtZS5kcm9wZG93bkxpc3RCZ2RMVCA6IHByb3BzLnRoZW1lLmRyb3Bkb3duTGlzdEJnZH07XG4gICR7cHJvcHMgPT4gKHByb3BzLmxpZ2h0ID8gcHJvcHMudGhlbWUuZHJvcGRvd25MaXN0TFQgOiBwcm9wcy50aGVtZS5kcm9wZG93bkxpc3QpfTtcbmA7XG5cbmNsYXNzIEl0ZW1TZWxlY3RvclN1Ym1lbnUgZXh0ZW5kcyBDb21wb25lbnQge1xuICBzdGF0aWMgcHJvcFR5cGVzID0ge1xuICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSByZWFjdC9mb3JiaWQtcHJvcC10eXBlc1xuICAgIG9wdGlvbnM6IFByb3BUeXBlcy5hcnJheSxcbiAgICBvbkNsaWNrOiBQcm9wVHlwZXMuZnVuY1xuICB9O1xuXG4gIHN0YXRlID0ge1xuICAgIHZlcnRpY2FsVHJhbnNsYXRpb246IDBcbiAgfTtcblxuICBjb250YWluZXIgPSBjcmVhdGVSZWYoKTtcblxuICByZW5kZXIoKSB7XG4gICAgcmV0dXJuIChcbiAgICAgIDxJdGVtU2VsZWN0b3JTdWJtZW51U3R5bGVkXG4gICAgICAgIHBvc2l0aW9uPXt0aGlzLnByb3BzLnBvc2l0aW9ufVxuICAgICAgICByZWY9e3RoaXMuY29udGFpbmVyfVxuICAgICAgICB2ZXJ0aWNhbFRyYW5zbGF0aW9uPXt0aGlzLnN0YXRlLnZlcnRpY2FsVHJhbnNsYXRpb259XG4gICAgICA+XG4gICAgICAgIHt0aGlzLnByb3BzLm9wdGlvbnMubWFwKChvcHRpb24sIGkpID0+IChcbiAgICAgICAgICA8ZGl2XG4gICAgICAgICAgICBjbGFzc05hbWU9e2BsaXN0X19pdGVtICR7cHJldmVudENsb3NlU2VsZWN0b3J9YH1cbiAgICAgICAgICAgIGtleT17aX1cbiAgICAgICAgICAgIG9uQ2xpY2s9e2UgPT4gdGhpcy5wcm9wcy5vbkNsaWNrKG9wdGlvbiwgZSl9XG4gICAgICAgICAgPlxuICAgICAgICAgICAge29wdGlvbi5kaXNwbGF5TmFtZX1cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgKSl9XG4gICAgICA8L0l0ZW1TZWxlY3RvclN1Ym1lbnVTdHlsZWQ+XG4gICAgKTtcbiAgfVxufVxuXG5leHBvcnQgZGVmYXVsdCBJdGVtU2VsZWN0b3JTdWJtZW51O1xuIl0sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7QUFvQkEsSUFBQUEsTUFBQSxHQUFBQyx1QkFBQSxDQUFBQyxPQUFBO0FBQ0EsSUFBQUMsVUFBQSxHQUFBQyxzQkFBQSxDQUFBRixPQUFBO0FBQ0EsSUFBQUcsaUJBQUEsR0FBQUQsc0JBQUEsQ0FBQUYsT0FBQTtBQUNBLElBQUFJLGFBQUEsR0FBQUosT0FBQTtBQUFxRCxJQUFBSyxlQUFBLEVBdkJyRDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUFBLFNBQUFDLHlCQUFBQyxDQUFBLDZCQUFBQyxPQUFBLG1CQUFBQyxDQUFBLE9BQUFELE9BQUEsSUFBQUUsQ0FBQSxPQUFBRixPQUFBLFlBQUFGLHdCQUFBLFlBQUFBLHlCQUFBQyxDQUFBLFdBQUFBLENBQUEsR0FBQUcsQ0FBQSxHQUFBRCxDQUFBLEtBQUFGLENBQUE7QUFBQSxTQUFBUix3QkFBQVEsQ0FBQSxFQUFBRSxDQUFBLFNBQUFBLENBQUEsSUFBQUYsQ0FBQSxJQUFBQSxDQUFBLENBQUFJLFVBQUEsU0FBQUosQ0FBQSxlQUFBQSxDQUFBLGdCQUFBSyxPQUFBLENBQUFMLENBQUEsMEJBQUFBLENBQUEsc0JBQUFBLENBQUEsUUFBQUcsQ0FBQSxHQUFBSix3QkFBQSxDQUFBRyxDQUFBLE9BQUFDLENBQUEsSUFBQUEsQ0FBQSxDQUFBRyxHQUFBLENBQUFOLENBQUEsVUFBQUcsQ0FBQSxDQUFBSSxHQUFBLENBQUFQLENBQUEsT0FBQVEsQ0FBQSxLQUFBQyxTQUFBLFVBQUFDLENBQUEsR0FBQUMsTUFBQSxDQUFBQyxjQUFBLElBQUFELE1BQUEsQ0FBQUUs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
|
|
@@ -116,7 +116,7 @@ var KEPLER_GL_NAME = exports.KEPLER_GL_NAME = 'kepler.gl';
|
|
|
116
116
|
// Since we are injecting this during the build process with babel
|
|
117
117
|
// while developing VERSION is not defined, we capture the exception and return
|
|
118
118
|
// an empty string which will allow us to retrieve the latest umd version
|
|
119
|
-
var KEPLER_GL_VERSION = exports.KEPLER_GL_VERSION = "0.1.0
|
|
119
|
+
var KEPLER_GL_VERSION = exports.KEPLER_GL_VERSION = "0.1.0";
|
|
120
120
|
var KEPLER_GL_WEBSITE = exports.KEPLER_GL_WEBSITE = 'http://kepler.gl/';
|
|
121
121
|
var DIMENSIONS = exports.DIMENSIONS = {
|
|
122
122
|
sidePanel: {
|
|
@@ -829,4 +829,4 @@ var ZOOM_LEVEL_LIMITS = exports.ZOOM_LEVEL_LIMITS = {
|
|
|
829
829
|
min: 0,
|
|
830
830
|
max: 21
|
|
831
831
|
};
|
|
832
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfa2V5bWlycm9yIiwiX2ludGVyb3BSZXF1aXJlRGVmYXVsdCIsInJlcXVpcmUiLCJfcmVhY3RNYXBHbERyYXciLCJfZDNTY2FsZSIsIl9pY29ucyIsIl91dGlscyIsIl9jdXN0b21TY2FsZXMiLCJfdG9vbHRpcCIsIl90eXBlcyIsIm93bktleXMiLCJlIiwiciIsInQiLCJPYmplY3QiLCJrZXlzIiwiZ2V0T3duUHJvcGVydHlTeW1ib2xzIiwibyIsImZpbHRlciIsImdldE93blByb3BlcnR5RGVzY3JpcHRvciIsImVudW1lcmFibGUiLCJwdXNoIiwiYXBwbHkiLCJfb2JqZWN0U3ByZWFkIiwiYXJndW1lbnRzIiwibGVuZ3RoIiwiZm9yRWFjaCIsIl9kZWZpbmVQcm9wZXJ0eTIiLCJnZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3JzIiwiZGVmaW5lUHJvcGVydGllcyIsImRlZmluZVByb3BlcnR5IiwiQUNUSU9OX1BSRUZJWCIsImV4cG9ydHMiLCJDTE9VREZST05UIiwiSUNPTl9QUkVGSVgiLCJjb25jYXQiLCJERUZBVUxUX01BUEJPWF9BUElfVVJMIiwiREFUQV9UQUJMRV9JRCIsIkRFTEVURV9EQVRBX0lEIiwiQUREX0RBVEFfSUQiLCJFWFBPUlRfSU1BR0VfSUQiLCJFWFBPUlRfREFUQV9JRCIsIkFERF9NQVBfU1RZTEVfSUQiLCJFWFBPUlRfTUFQX0lEIiwiU0FWRV9NQVBfSUQiLCJPVkVSV1JJVEVfTUFQX0lEIiwiU0hBUkVfTUFQX0lEIiwiS0VQTEVSX0dMX05BTUUiLCJLRVBMRVJfR0xfVkVSU0lPTiIsIktFUExFUl9HTF9XRUJTSVRFIiwiRElNRU5TSU9OUyIsInNpZGVQYW5lbCIsIndpZHRoIiwibWFyZ2luIiwidG9wIiwibGVmdCIsImJvdHRvbSIsInJpZ2h0IiwiaGVhZGVySGVpZ2h0IiwibWFwQ29udHJvbCIsInBhZGRpbmciLCJtYXBMZWdlbmQiLCJwaW5uZWQiLCJUSEVNRSIsImtleU1pcnJvciIsImxpZ2h0IiwiZGFyayIsImJhc2UiLCJTSURFQkFSX1BBTkVMUyIsImlkIiwibGFiZWwiLCJpY29uQ29tcG9uZW50IiwiTGF5ZXJzIiwib25DbGljayIsIkZpbHRlckZ1bm5lbCIsIkN1cnNvckNsaWNrIiwiU2V0dGluZ3MiLCJQQU5FTFMiLCJERUZBVUxUX0xBWUVSX0dST1VQUyIsInNsdWciLCJfcmVmIiwibWF0Y2giLCJkZWZhdWx0VmlzaWJpbGl0eSIsIl9yZWYyIiwiX3JlZjMiLCJfcmVmNCIsIl9yZWY1IiwiX3JlZjYiLCJERUZBVUxUX01BUF9TVFlMRVMiLCJ1cmwiLCJpY29uIiwibGF5ZXJHcm91cHMiLCJHRU9KU09OX0ZJRUxEUyIsImdlb2pzb24iLCJJQ09OX0ZJRUxEUyIsIlRSSVBfUE9JTlRfRklFTERTIiwiVFJJUF9BUkNfRklFTERTIiwibGF0MCIsImxuZzAiLCJsYXQxIiwibG5nMSIsIkZJTFRFUl9UWVBFUyIsInJhbmdlIiwic2VsZWN0IiwiaW5wdXQiLCJ0aW1lUmFuZ2UiLCJtdWx0aVNlbGVjdCIsInBvbHlnb24iLCJTQ0FMRV9UWVBFUyIsIm9yZGluYWwiLCJxdWFudGlsZSIsInF1YW50aXplIiwibGluZWFyIiwic3FydCIsImxvZyIsInBvaW50IiwiY3VzdG9tIiwibG9nYXJpdGhtaWMiLCJpZGVudGl0eSIsIlNDQUxFX0ZVTkMiLCJzY2FsZUxpbmVhciIsInNjYWxlUXVhbnRpemUiLCJzY2FsZVF1YW50aWxlIiwic2NhbGVPcmRpbmFsIiwic2NhbGVTcXJ0Iiwic2NhbGVMb2ciLCJzY2FsZVBvaW50Iiwic2NhbGVUaHJlc2hvbGQiLCJzY2FsZUlkZW50aXR5IiwiQUxMX0ZJRUxEX1RZUEVTIiwiZGF0ZSIsImludGVnZXIiLCJyZWFsIiwic3RyaW5nIiwidGltZXN0YW1wIiwiU09SVF9PUkRFUiIsIkFTQ0VORElORyIsIkRFU0NFTkRJTkciLCJVTlNPUlQiLCJUQUJMRV9PUFRJT04iLCJTT1JUX0FTQyIsIlNPUlRfREVTIiwiUElOIiwiVU5QSU4iLCJDT1BZIiwiVEFCTEVfT1BUSU9OX0xJU1QiLCJ2YWx1ZSIsImRpc3BsYXkiLCJBcnJvd1VwIiwiY29uZGl0aW9uIiwicHJvcHMiLCJzb3J0TW9kZSIsIkFycm93RG93biIsIkNhbmNlbCIsImlzU29ydGVkIiwiUGluIiwiaXNQaW5uZWQiLCJDbGlwYm9hcmQiLCJPUkFOR0UiLCJQSU5LIiwiUFVSUExFIiwiQkxVRSIsIkJMVUUyIiwiQkxVRTMiLCJHUkVFTiIsIlJFRCIsIkZJTEVEX1RZUEVfRElTUExBWSIsImNvbG9yIiwiRklFTERfQ09MT1JTIiwiSElHSExJR0hfQ09MT1JfM0QiLCJDSEFOTkVMX1NDQUxFUyIsInJhZGl1cyIsInNpemUiLCJjdXN0b21NYXJrZXIiLCJjb2xvckFnZ3IiLCJzaXplQWdnciIsIkFHR1JFR0FUSU9OX1RZUEVTIiwiY291bnQiLCJhdmVyYWdlIiwibWF4aW11bSIsIm1pbmltdW0iLCJtZWRpYW4iLCJzdGRldiIsInN1bSIsInZhcmlhbmNlIiwibW9kZSIsImNvdW50VW5pcXVlIiwiYW55VmFsdWUiLCJGSUVMRF9UWVBFU19BR0dSRUdBVE9SUyIsIkZJRUxEX0FHR1JFR0FUT1JTIiwiZGlzcGxheU5hbWUiLCJsaW5lYXJGaWVsZFNjYWxlRnVuY3Rpb25zIiwibGluZWFyRmllbGRBZ2dyU2NhbGVGdW5jdGlvbnMiLCJvcmRpbmFsRmllbGRTY2FsZUZ1bmN0aW9ucyIsIm9yZGluYWxGaWVsZEFnZ3JTY2FsZUZ1bmN0aW9ucyIsIm5vdFN1cHBvcnRlZFNjYWxlT3B0cyIsIm5vdFN1cHBvcnRBZ2dyT3B0cyIsIkRFRkFVTFRfQUdHUkVHQVRJT04iLCJGSUVMRF9PUFRTIiwidHlwZSIsInNjYWxlIiwiZm9ybWF0IiwibGVnZW5kIiwiZCIsInRvb2x0aXAiLCJUT09MVElQX0ZPUk1BVF9UWVBFUyIsIk5PTkUiLCJERUNJTUFMIiwiUEVSQ0VOVEFHRSIsIkRBVEUiLCJEQVRFX1RJTUUiLCJCT09MRUFOIiwiQ0hBTk5FTF9TQ0FMRV9TVVBQT1JURURfRklFTERTIiwicmVkdWNlIiwiYWNjdSIsImtleSIsImZ0IiwiREVGQVVMVF9MQVlFUl9DT0xPUiIsInRyaXBBcmMiLCJiZWdpbnRyaXBfbGF0IiwiZHJvcG9mZl9sYXQiLCJyZXF1ZXN0X2xhdCIsIkRFRkFVTFRfVE9PTFRJUF9GSUVMRFMiLCJOT19WQUxVRV9DT0xPUiIsIlVOS05PV05fQ09MT1IiLCJMQVlFUl9CTEVORElOR1MiLCJhZGRpdGl2ZSIsImJsZW5kRnVuYyIsImJsZW5kRXF1YXRpb24iLCJub3JtYWwiLCJzdWJ0cmFjdGl2ZSIsIk1BWF9ERUZBVUxUX1RPT0xUSVBTIiwiUkVTT0xVVElPTlMiLCJPTkVfWCIsIlRXT19YIiwiRVhQT1JUX0lNR19SQVRJT1MiLCJTQ1JFRU4iLCJGT1VSX0JZX1RIUkVFIiwiU0lYVEVFTl9CWV9OSU5FIiwiQ1VTVE9NIiwiU2NyZWVuUmF0aW9PcHRpb24iLCJnZXRTaXplIiwic2NyZWVuVyIsInNjcmVlbkgiLCJoZWlnaHQiLCJDdXN0b21SYXRpb09wdGlvbiIsImhpZGRlbiIsIm1hcFciLCJtYXBIIiwiRm91ckJ5VGhyZWVSYXRpb09wdGlvbiIsIk1hdGgiLCJyb3VuZCIsIlNpeHRlZW5CeU5pbmVSYXRpb09wdGlvbiIsIkVYUE9SVF9JTUdfUkFUSU9fT1BUSU9OUyIsIk9uZVhSZXNvbHV0aW9uT3B0aW9uIiwiYXZhaWxhYmxlIiwiVHdvWFJlc29sdXRpb25PcHRpb24iLCJFWFBPUlRfSU1HX1JFU09MVVRJT05fT1BUSU9OUyIsIkVYUE9SVF9EQVRBX1RZUEUiLCJDU1YiLCJFWFBPUlRfREFUQV9UWVBFX09QVElPTlMiLCJ0b0xvd2VyQ2FzZSIsIkVYUE9SVF9NQVBfRk9STUFUUyIsIkhUTUwiLCJKU09OIiwiRVhQT1JUX0hUTUxfTUFQX01PREVTIiwiUkVBRCIsIkVESVQiLCJFWFBPUlRfTUFQX0ZPUk1BVF9PUFRJT05TIiwiZW50cmllcyIsIm1hcCIsImVudHJ5IiwiRVhQT1JUX0hUTUxfTUFQX01PREVfT1BUSU9OUyIsImdldEhUTUxNYXBNb2RlVGlsZVVybCIsIkRFRkFVTFRfVVVJRF9DT1VOVCIsIkRFRkFVTFRfTk9USUZJQ0FUSU9OX01FU1NBR0UiLCJERUZBVUxUX05PVElGSUNBVElPTl9UWVBFUyIsImluZm8iLCJlcnJvciIsIndhcm5pbmciLCJzdWNjZXNzIiwiREVGQVVMVF9OT1RJRklDQVRJT05fVE9QSUNTIiwiZ2xvYmFsIiwiZmlsZSIsIlRIUk9UVExFX05PVElGSUNBVElPTl9USU1FIiwiQkFTRV9TUEVFRCIsIkZQUyIsIkFOSU1BVElPTl9XSU5ET1ciLCJmcmVlIiwiaW5jcmVtZW50YWwiLCJpbnRlcnZhbCIsIkRFRkFVTFRfVElNRV9GT1JNQVQiLCJTUEVFRF9DT05UUk9MX1JBTkdFIiwiU1BFRURfQ09OVFJPTF9TVEVQIiwiR0VPQ09ERVJfREFUQVNFVF9OQU1FIiwiR0VPQ09ERVJfTEFZRVJfSUQiLCJHRU9DT0RFUl9HRU9fT0ZGU0VUIiwiR0VPQ09ERVJfSUNPTl9DT0xPUiIsIkdFT0NPREVSX0lDT05fU0laRSIsIkVESVRPUl9NT0RFUyIsIlJFQURfT05MWSIsIkVkaXRvck1vZGVzIiwiRFJBV19QT0xZR09OIiwiRFJBV19SRUNUQU5HTEUiLCJFRElUX1ZFUlRFWCIsIkVESVRPUl9BVkFJTEFCTEVfTEFZRVJTIiwiTEFZRVJfVFlQRVMiLCJoZXhhZ29uIiwiYXJjIiwibGluZSIsImhleGFnb25JZCIsIk1BWF9HUFVfRklMVEVSUyIsIk1BUF9USFVNQk5BSUxfRElNRU5TSU9OIiwiTUFQX0lORk9fQ0hBUkFDVEVSIiwidGl0bGUiLCJkZXNjcmlwdGlvbiIsIkxPQURJTkdfTUVUSE9EUyIsInVwbG9hZCIsInN0b3JhZ2UiLCJEQVRBU0VUX0ZPUk1BVFMiLCJyb3ciLCJjc3YiLCJrZXBsZXJnbCIsIk1BUF9DT05UUk9MUyIsInZpc2libGVMYXllcnMiLCJ0b2dnbGUzZCIsInNwbGl0TWFwIiwibWFwRHJhdyIsIm1hcExvY2FsZSIsIk1BU0tfTEFZRVJfSUQiLCJaT09NX0xFVkVMX0xJTUlUUyIsIm1pbiIsIm1heCJdLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9jb25zdGFudHMvZGVmYXVsdC1zZXR0aW5ncy50cyJdLCJzb3VyY2VzQ29udGVudCI6WyIvLyBDb3B5cmlnaHQgKGMpIDIwMjIgVWJlciBUZWNobm9sb2dpZXMsIEluYy5cbi8vXG4vLyBQZXJtaXNzaW9uIGlzIGhlcmVieSBncmFudGVkLCBmcmVlIG9mIGNoYXJnZSwgdG8gYW55IHBlcnNvbiBvYnRhaW5pbmcgYSBjb3B5XG4vLyBvZiB0aGlzIHNvZnR3YXJlIGFuZCBhc3NvY2lhdGVkIGRvY3VtZW50YXRpb24gZmlsZXMgKHRoZSBcIlNvZnR3YXJlXCIpLCB0byBkZWFsXG4vLyBpbiB0aGUgU29mdHdhcmUgd2l0aG91dCByZXN0cmljdGlvbiwgaW5jbHVkaW5nIHdpdGhvdXQgbGltaXRhdGlvbiB0aGUgcmlnaHRzXG4vLyB0byB1c2UsIGNvcHksIG1vZGlmeSwgbWVyZ2UsIHB1Ymxpc2gsIGRpc3RyaWJ1dGUsIHN1YmxpY2Vuc2UsIGFuZC9vciBzZWxsXG4vLyBjb3BpZXMgb2YgdGhlIFNvZnR3YXJlLCBhbmQgdG8gcGVybWl0IHBlcnNvbnMgdG8gd2hvbSB0aGUgU29mdHdhcmUgaXNcbi8vIGZ1cm5pc2hlZCB0byBkbyBzbywgc3ViamVjdCB0byB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnM6XG4vL1xuLy8gVGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UgYW5kIHRoaXMgcGVybWlzc2lvbiBub3RpY2Ugc2hhbGwgYmUgaW5jbHVkZWQgaW5cbi8vIGFsbCBjb3BpZXMgb3Igc3Vic3RhbnRpYWwgcG9ydGlvbnMgb2YgdGhlIFNvZnR3YXJlLlxuLy9cbi8vIFRIRSBTT0ZUV0FSRSBJUyBQUk9WSURFRCBcIkFTIElTXCIsIFdJVEhPVVQgV0FSUkFOVFkgT0YgQU5ZIEtJTkQsIEVYUFJFU1MgT1Jcbi8vIElNUExJRUQsIElOQ0xVRElORyBCVVQgTk9UIExJTUlURUQgVE8gVEhFIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZLFxuLy8gRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQU5EIE5PTklORlJJTkdFTUVOVC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFXG4vLyBBVVRIT1JTIE9SIENPUFlSSUdIVCBIT0xERVJTIEJFIExJQUJMRSBGT1IgQU5ZIENMQUlNLCBEQU1BR0VTIE9SIE9USEVSXG4vLyBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQU4gQUNUSU9OIE9GIENPTlRSQUNULCBUT1JUIE9SIE9USEVSV0lTRSwgQVJJU0lORyBGUk9NLFxuLy8gT1VUIE9GIE9SIElOIENPTk5FQ1RJT04gV0lUSCBUSEUgU09GVFdBUkUgT1IgVEhFIFVTRSBPUiBPVEhFUiBERUFMSU5HUyBJTlxuLy8gVEhFIFNPRlRXQVJFLlxuXG5pbXBvcnQga2V5TWlycm9yIGZyb20gJ2tleW1pcnJvcic7XG5pbXBvcnQge0VkaXRvck1vZGVzfSBmcm9tICdyZWFjdC1tYXAtZ2wtZHJhdyc7XG5cbmltcG9ydCB7Q29sb3J9IGZyb20gJ0BkZWNrLmdsL2NvcmUnO1xuaW1wb3J0IHtcbiAgc2NhbGVMaW5lYXIsXG4gIHNjYWxlUXVhbnRpemUsXG4gIHNjYWxlUXVhbnRpbGUsXG4gIHNjYWxlT3JkaW5hbCxcbiAgc2NhbGVTcXJ0LFxuICBzY2FsZUxvZyxcbiAgc2NhbGVQb2ludCxcbiAgc2NhbGVUaHJlc2hvbGRcbn0gZnJvbSAnZDMtc2NhbGUnO1xuaW1wb3J0IHtcbiAgTGF5ZXJzLFxuICBGaWx0ZXJGdW5uZWwsXG4gIFNldHRpbmdzLFxuICBDdXJzb3JDbGljayxcbiAgUGluLFxuICBBcnJvd0Rvd24sXG4gIEFycm93VXAsXG4gIENsaXBib2FyZCxcbiAgQ2FuY2VsXG59IGZyb20gJ2NvbXBvbmVudHMvY29tbW9uL2ljb25zJztcbmltcG9ydCB7Z2V0SFRNTE1hcE1vZGVUaWxlVXJsfSBmcm9tICd1dGlscy91dGlscyc7XG5pbXBvcnQge3NjYWxlSWRlbnRpdHl9IGZyb20gJ3V0aWxzL2N1c3RvbS1zY2FsZXMnO1xuaW1wb3J0IHtUT09MVElQX0ZPUk1BVF9UWVBFU30gZnJvbSAnLi90b29sdGlwJztcbmltcG9ydCB7TEFZRVJfVFlQRVN9IGZyb20gJ2xheWVycy90eXBlcyc7XG5pbXBvcnQge1JHQkFDb2xvcn0gZnJvbSAncmVkdWNlcnMnO1xuXG5leHBvcnQgY29uc3QgQUNUSU9OX1BSRUZJWCA9ICdAQGtlcGxlci5nbC8nO1xuZXhwb3J0IGNvbnN0IENMT1VERlJPTlQgPSAnaHR0cHM6Ly9kMWEzZjRzcGF6enJwNC5jbG91ZGZyb250Lm5ldC9rZXBsZXIuZ2wnO1xuZXhwb3J0IGNvbnN0IElDT05fUFJFRklYID0gYCR7Q0xPVURGUk9OVH0vZ2VvZHVkZWA7XG5leHBvcnQgY29uc3QgREVGQVVMVF9NQVBCT1hfQVBJX1VSTCA9ICdodHRwczovL2FwaS5tYXBib3guY29tJztcblxuLy8gTW9kYWwgSWRzXG4vKipcbiAqIE1vZGFsIGlkOiBkYXRhIHRhYmxlXG4gKiBAY29uc3RhbnRcbiAqIEB0eXBlIHtzdHJpbmd9XG4gKiBAcHVibGljXG4gKi9cbmV4cG9ydCBjb25zdCBEQVRBX1RBQkxFX0lEID0gJ2RhdGFUYWJsZSc7XG4vKipcbiAqIE1vZGFsIGlkOiBkZWxldGUgZGF0YXNldCBjb25maXJtIGRpYWxvZ1xuICogQGNvbnN0YW50XG4gKiBAdHlwZSB7c3RyaW5nfVxuICogQHB1YmxpY1xuICovXG5leHBvcnQgY29uc3QgREVMRVRFX0RBVEFfSUQgPSAnZGVsZXRlRGF0YSc7XG4vKipcbiAqIE1vZGFsIGlkOiBhZGQgZGF0YSBtb2RhbFxuICogQGNvbnN0YW50XG4gKiBAdHlwZSB7c3RyaW5nfVxuICogQHB1YmxpY1xuICovXG5leHBvcnQgY29uc3QgQUREX0RBVEFfSUQgPSAnYWRkRGF0YSc7XG4vKipcbiAqIE1vZGFsIGlkOiBleHBvcnQgaW1hZ2UgbW9kYWxcbiAqIEBjb25zdGFudFxuICogQHR5cGUge3N0cmluZ31cbiAqIEBwdWJsaWNcbiAqL1xuZXhwb3J0IGNvbnN0IEVYUE9SVF9JTUFHRV9JRCA9ICdleHBvcnRJbWFnZSc7XG4vKipcbiAqIE1vZGFsIGlkOiBleHBvcnQgZGF0YSBtb2RhbFxuICogQGNvbnN0YW50XG4gKiBAdHlwZSB7c3RyaW5nfVxuICogQHB1YmxpY1xuICovXG5leHBvcnQgY29uc3QgRVhQT1JUX0RBVEFfSUQgPSAnZXhwb3J0RGF0YSc7XG4vKipcbiAqIE1vZGFsIGlkOiBhZGQgY3VzdG9tIG1hcCBzdHlsZSBtb2RhbFxuICogQGNvbnN0YW50XG4gKiBAdHlwZSB7c3RyaW5nfVxuICogQHB1YmxpY1xuICovXG5leHBvcnQgY29uc3QgQUREX01BUF9TVFlMRV9JRCA9ICdhZGRNYXBTdHlsZSc7XG4vKipcbiAqIE1vZGFsIGlkOiBleHBvcnQgbWFwIG1vZGFsXG4gKiBAY29uc3RhbnRcbiAqIEB0eXBlIHtzdHJpbmd9XG4gKiBAcHVibGljXG4gKi9cbmV4cG9ydCBjb25zdCBFWFBPUlRfTUFQX0lEID0gJ2V4cG9ydE1hcCc7XG4vKipcbiAqIE1vZGFsIGlkOiBzYXZlIG1hcCBtb2RhbFxuICogQGNvbnN0YW50XG4gKiBAdHlwZSB7c3RyaW5nfVxuICogQHB1YmxpY1xuICovXG5leHBvcnQgY29uc3QgU0FWRV9NQVBfSUQgPSAnc2F2ZU1hcCc7XG4vKipcbiAqIE1vZGFsIGlkOiBjb25maXJtIHRvIG92ZXJ3cml0ZSBzYXZlZCBtYXBcbiAqIEBjb25zdGFudFxuICogQHR5cGUge3N0cmluZ31cbiAqIEBwdWJsaWNcbiAqL1xuZXhwb3J0IGNvbnN0IE9WRVJXUklURV9NQVBfSUQgPSAnb3ZlcndyaXRlTWFwJztcbi8qKlxuICogTW9kYWwgaWQ6IHNoYXJlIG1hcCB1cmwgbW9kYWxcbiAqIEBjb25zdGFudFxuICogQHR5cGUge3N0cmluZ31cbiAqIEBwdWJsaWNcbiAqL1xuZXhwb3J0IGNvbnN0IFNIQVJFX01BUF9JRCA9ICdzaGFyZU1hcCc7XG5cbmV4cG9ydCBjb25zdCBLRVBMRVJfR0xfTkFNRSA9ICdrZXBsZXIuZ2wnO1xuXG4vLyBfX1BBQ0tBR0VfVkVSU0lPTl9fIGlzIGF1dG9tYXRpY2FsbHkgaW5qZWN0ZWQgYnkgQmFiZWwvV2VicGFjayBkdXJpbmcgdGhlIGJ1aWxkaW5nIHByb2Nlc3Ncbi8vIFNpbmNlIHdlIGFyZSBpbmplY3RpbmcgdGhpcyBkdXJpbmcgdGhlIGJ1aWxkIHByb2Nlc3Mgd2l0aCBiYWJlbFxuLy8gd2hpbGUgZGV2ZWxvcGluZyBWRVJTSU9OIGlzIG5vdCBkZWZpbmVkLCB3ZSBjYXB0dXJlIHRoZSBleGNlcHRpb24gYW5kIHJldHVyblxuLy8gYW4gZW1wdHkgc3RyaW5nIHdoaWNoIHdpbGwgYWxsb3cgdXMgdG8gcmV0cmlldmUgdGhlIGxhdGVzdCB1bWQgdmVyc2lvblxuZXhwb3J0IGNvbnN0IEtFUExFUl9HTF9WRVJTSU9OID0gJ19fUEFDS0FHRV9WRVJTSU9OX18nO1xuZXhwb3J0IGNvbnN0IEtFUExFUl9HTF9XRUJTSVRFID0gJ2h0dHA6Ly9rZXBsZXIuZ2wvJztcblxuZXhwb3J0IGNvbnN0IERJTUVOU0lPTlMgPSB7XG4gIHNpZGVQYW5lbDoge1xuICAgIHdpZHRoOiAzMDAsXG4gICAgbWFyZ2luOiB7dG9wOiAyMCwgbGVmdDogMjAsIGJvdHRvbTogMzAsIHJpZ2h0OiAyMH0sXG4gICAgaGVhZGVySGVpZ2h0OiA5NlxuICB9LFxuICBtYXBDb250cm9sOiB7XG4gICAgd2lkdGg6IDE4NCxcbiAgICBwYWRkaW5nOiAxMixcbiAgICBtYXBMZWdlbmQ6IHtcbiAgICAgIHBpbm5lZDoge1xuICAgICAgICBib3R0b206IDIyLFxuICAgICAgICByaWdodDogMTJcbiAgICAgIH1cbiAgICB9XG4gIH1cbn07XG5cbi8qKlxuICogVGhlbWUgbmFtZSB0aGF0IGNhbiBiZSBwYXNzZWQgdG8gYEtlcGxlckdsYCBgcHJvcC50aGVtZWAuXG4gKiBBdmFpbGFibGUgdGhlbWVzIGFyZSBgVEhFTUUubGlnaHRgIGFuZCBgVEhFTUUuZGFya2AuIERlZmF1bHQgdGhlbWUgaXMgYFRIRU1FLmRhcmtgXG4gKiBAY29uc3RhbnRcbiAqIEB0eXBlIHtvYmplY3R9XG4gKiBAcHVibGljXG4gKiBAZXhhbXBsZVxuICogYGBganNcbiAqIGNvbnN0IE1hcCA9ICgpID0+IDxLZXBsZXJHbCB0aGVtZT17VEhFTUUubGlnaHR9IGlkPVwibWFwXCIvPlxuICogYGBgXG4gKi9cbmV4cG9ydCBjb25zdCBUSEVNRSA9IGtleU1pcnJvcih7XG4gIGxpZ2h0OiBudWxsLFxuICBkYXJrOiBudWxsLFxuICBiYXNlOiBudWxsXG59KTtcblxuZXhwb3J0IGNvbnN0IFNJREVCQVJfUEFORUxTID0gW1xuICB7XG4gICAgaWQ6ICdsYXllcicsXG4gICAgbGFiZWw6ICdzaWRlYmFyLnBhbmVscy5sYXllcicsXG4gICAgaWNvbkNvbXBvbmVudDogTGF5ZXJzLFxuICAgIG9uQ2xpY2s6IG51bGxcbiAgfSxcbiAge1xuICAgIGlkOiAnZmlsdGVyJyxcbiAgICBsYWJlbDogJ3NpZGViYXIucGFuZWxzLmZpbHRlcicsXG4gICAgaWNvbkNvbXBvbmVudDogRmlsdGVyRnVubmVsLFxuICAgIG9uQ2xpY2s6IG51bGxcbiAgfSxcbiAge1xuICAgIGlkOiAnaW50ZXJhY3Rpb24nLFxuICAgIGxhYmVsOiAnc2lkZWJhci5wYW5lbHMuaW50ZXJhY3Rpb24nLFxuICAgIGljb25Db21wb25lbnQ6IEN1cnNvckNsaWNrLFxuICAgIG9uQ2xpY2s6IG51bGxcbiAgfSxcbiAge1xuICAgIGlkOiAnbWFwJyxcbiAgICBsYWJlbDogJ3NpZGViYXIucGFuZWxzLmJhc2VtYXAnLFxuICAgIGljb25Db21wb25lbnQ6IFNldHRpbmdzLFxuICAgIG9uQ2xpY2s6IG51bGxcbiAgfVxuXTtcblxuLy8gYmFja3dhcmQgY29tcGF0aWJpbGl0eVxuZXhwb3J0IGNvbnN0IFBBTkVMUyA9IFNJREVCQVJfUEFORUxTO1xuXG4vLyBNQVAgU1RZTEVTXG5cbnR5cGUgREVGQVVMVF9MQVlFUl9HUk9VUCA9IHtcbiAgc2x1Zzogc3RyaW5nO1xuICBmaWx0ZXI6ICh2YWx1ZSkgPT4gYm9vbGVhbjtcbiAgZGVmYXVsdFZpc2liaWxpdHk6IGJvb2xlYW47XG59O1xuXG5leHBvcnQgY29uc3QgREVGQVVMVF9MQVlFUl9HUk9VUFM6IERFRkFVTFRfTEFZRVJfR1JPVVBbXSA9IFtcbiAge1xuICAgIHNsdWc6ICdsYWJlbCcsXG4gICAgZmlsdGVyOiAoe2lkfSkgPT4gaWQubWF0Y2goLyg/PShsYWJlbHxwbGFjZS18cG9pLSkpLyksXG4gICAgZGVmYXVsdFZpc2liaWxpdHk6IHRydWVcbiAgfSxcbiAge1xuICAgIHNsdWc6ICdyb2FkJyxcbiAgICBmaWx0ZXI6ICh7aWR9KSA9PiBpZC5tYXRjaCgvKD89KHJvYWR8cmFpbHdheXx0dW5uZWx8c3RyZWV0fGJyaWRnZSkpKD8hLipsYWJlbCkvKSxcbiAgICBkZWZhdWx0VmlzaWJpbGl0eTogdHJ1ZVxuICB9LFxuICB7XG4gICAgc2x1ZzogJ2JvcmRlcicsXG4gICAgZmlsdGVyOiAoe2lkfSkgPT4gaWQubWF0Y2goL2JvcmRlcnxib3VuZGFyaWVzLyksXG4gICAgZGVmYXVsdFZpc2liaWxpdHk6IGZhbHNlXG4gIH0sXG4gIHtcbiAgICBzbHVnOiAnYnVpbGRpbmcnLFxuICAgIGZpbHRlcjogKHtpZH0pID0+IGlkLm1hdGNoKC9idWlsZGluZy8pLFxuICAgIGRlZmF1bHRWaXNpYmlsaXR5OiB0cnVlXG4gIH0sXG4gIHtcbiAgICBzbHVnOiAnd2F0ZXInLFxuICAgIGZpbHRlcjogKHtpZH0pID0+IGlkLm1hdGNoKC8oPz0od2F0ZXJ8c3RyZWFtfGZlcnJ5KSkvKSxcbiAgICBkZWZhdWx0VmlzaWJpbGl0eTogdHJ1ZVxuICB9LFxuICB7XG4gICAgc2x1ZzogJ2xhbmQnLFxuICAgIGZpbHRlcjogKHtpZH0pID0+IGlkLm1hdGNoKC8oPz0ocGFya3N8bGFuZGNvdmVyfGluZHVzdHJpYWx8c2FuZHxoaWxsc2hhZGUpKS8pLFxuICAgIGRlZmF1bHRWaXNpYmlsaXR5OiB0cnVlXG4gIH0sXG4gIHtcbiAgICBzbHVnOiAnM2QgYnVpbGRpbmcnLFxuICAgIGZpbHRlcjogKCkgPT4gZmFsc2UsXG4gICAgZGVmYXVsdFZpc2liaWxpdHk6IGZhbHNlXG4gIH1cbl07XG5cbmV4cG9ydCBjb25zdCBERUZBVUxUX01BUF9TVFlMRVMgPSBbXG4gIHtcbiAgICBpZDogJ2RhcmsnLFxuICAgIGxhYmVsOiAnRGFyaycsXG4gICAgdXJsOiAnbWFwYm94Oi8vc3R5bGVzL3ViZXJkYXRhL2Nqb3FiYmY2bDlrMzAyc2w5NnR5dmthMDknLFxuICAgIGljb246IGAke0lDT05fUFJFRklYfS9VQkVSX0RBUktfVjIucG5nYCxcbiAgICBsYXllckdyb3VwczogREVGQVVMVF9MQVlFUl9HUk9VUFNcbiAgfSxcbiAge1xuICAgIGlkOiAnbGlnaHQnLFxuICAgIGxhYmVsOiAnTGlnaHQnLFxuICAgIHVybDogJ21hcGJveDovL3N0eWxlcy91YmVyZGF0YS9jam9xYjlqMzM5azFmMnNsOXQ1aWM1Ym40JyxcbiAgICBpY29uOiBgJHtJQ09OX1BSRUZJWH0vVUJFUl9MSUdIVF9WMi5wbmdgLFxuICAgIGxheWVyR3JvdXBzOiBERUZBVUxUX0xBWUVSX0dST1VQU1xuICB9LFxuICB7XG4gICAgaWQ6ICdtdXRlZCcsXG4gICAgbGFiZWw6ICdNdXRlZCBMaWdodCcsXG4gICAgdXJsOiAnbWFwYm94Oi8vc3R5bGVzL3ViZXJkYXRhL2NqZnlsMDNrcDF0dWwyc21mNXYydGJkZDQnLFxuICAgIGljb246IGAke0lDT05fUFJFRklYfS9VQkVSX01VVEVEX0xJR0hULnBuZ2AsXG4gICAgbGF5ZXJHcm91cHM6IERFRkFVTFRfTEFZRVJfR1JPVVBTXG4gIH0sXG4gIHtcbiAgICBpZDogJ211dGVkX25pZ2h0JyxcbiAgICBsYWJlbDogJ011dGVkIE5pZ2h0JyxcbiAgICB1cmw6ICdtYXBib3g6Ly9zdHlsZXMvdWJlcmRhdGEvY2pmeGhsaWttYWoxYjJzb3l6ZXZueXdncycsXG4gICAgaWNvbjogYCR7SUNPTl9QUkVGSVh9L1VCRVJfTVVURURfTklHSFQucG5nYCxcbiAgICBsYXllckdyb3VwczogREVGQVVMVF9MQVlFUl9HUk9VUFNcbiAgfSxcbiAge1xuICAgIGlkOiAnc2F0ZWxsaXRlJyxcbiAgICBsYWJlbDogJ1NhdGVsbGl0ZScsXG4gICAgdXJsOiBgbWFwYm94Oi8vc3R5bGVzL21hcGJveC9zYXRlbGxpdGUtdjlgLFxuICAgIGljb246IGAke0lDT05fUFJFRklYfS9VQkVSX1NBVEVMTElURS5wbmdgXG4gIH1cbl07XG5cbmV4cG9ydCBjb25zdCBHRU9KU09OX0ZJRUxEUyA9IHtcbiAgZ2VvanNvbjogWydfZ2VvanNvbicsICdhbGxfcG9pbnRzJywgJ2dlb2pzb24nXVxufTtcblxuZXhwb3J0IGNvbnN0IElDT05fRklFTERTID0ge1xuICBpY29uOiBbJ2ljb24nXVxufTtcblxuZXhwb3J0IGNvbnN0IFRSSVBfUE9JTlRfRklFTERTOiBbc3RyaW5nLCBzdHJpbmddW10gPSBbXG4gIFsnbGF0JywgJ2xuZyddLFxuICBbJ2xhdCcsICdsb24nXSxcbiAgWydsYXRpdHVkZScsICdsb25naXR1ZGUnXVxuXTtcblxuZXhwb3J0IGNvbnN0IFRSSVBfQVJDX0ZJRUxEUyA9IHtcbiAgbGF0MDogJ2JlZ2ludHJpcCcsXG4gIGxuZzA6ICdiZWdpbnRyaXAnLFxuICBsYXQxOiAnZHJvcG9mZicsXG4gIGxuZzE6ICdkcm9wb2ZmJ1xufTtcblxuZXhwb3J0IGNvbnN0IEZJTFRFUl9UWVBFUyA9IGtleU1pcnJvcih7XG4gIHJhbmdlOiBudWxsLFxuICBzZWxlY3Q6IG51bGwsXG4gIGlucHV0OiBudWxsLFxuICB0aW1lUmFuZ2U6IG51bGwsXG4gIG11bHRpU2VsZWN0OiBudWxsLFxuICBwb2x5Z29uOiBudWxsXG59KTtcblxuZXhwb3J0IGNvbnN0IFNDQUxFX1RZUEVTID0ga2V5TWlycm9yKHtcbiAgb3JkaW5hbDogbnVsbCxcbiAgcXVhbnRpbGU6IG51bGwsXG4gIHF1YW50aXplOiBudWxsLFxuICBsaW5lYXI6IG51bGwsXG4gIHNxcnQ6IG51bGwsXG4gIGxvZzogbnVsbCxcblxuICAvLyBvcmRpbmFsIGRvbWFpbiB0byBsaW5lYXIgcmFuZ2VcbiAgcG9pbnQ6IG51bGwsXG4gIGN1c3RvbTogbnVsbCxcbiAgLy8gVUktb25seSB0eXBlLCByZXNvbHZpbmcgYXMgY3VzdG9tXG4gIGxvZ2FyaXRobWljOiBudWxsLFxuICBpZGVudGl0eTogbnVsbFxufSk7XG5cbmV4cG9ydCBjb25zdCBTQ0FMRV9GVU5DID0ge1xuICBbU0NBTEVfVFlQRVMubGluZWFyXTogc2NhbGVMaW5lYXIsXG4gIFtTQ0FMRV9UWVBFUy5xdWFudGl6ZV06IHNjYWxlUXVhbnRpemUsXG4gIFtTQ0FMRV9UWVBFUy5xdWFudGlsZV06IHNjYWxlUXVhbnRpbGUsXG4gIFtTQ0FMRV9UWVBFUy5vcmRpbmFsXTogc2NhbGVPcmRpbmFsLFxuICBbU0NBTEVfVFlQRVMuc3FydF06IHNjYWxlU3FydCxcbiAgW1NDQUxFX1RZUEVTLmxvZ106IHNjYWxlTG9nLFxuICBbU0NBTEVfVFlQRVMucG9pbnRdOiBzY2FsZVBvaW50LFxuICBbU0NBTEVfVFlQRVMuY3VzdG9tXTogc2NhbGVUaHJlc2hvbGQsXG4gIFtTQ0FMRV9UWVBFUy5pZGVudGl0eV06IHNjYWxlSWRlbnRpdHlcbn07XG5cbmV4cG9ydCBjb25zdCBBTExfRklFTERfVFlQRVMgPSBrZXlNaXJyb3Ioe1xuICBib29sZWFuOiBudWxsLFxuICBkYXRlOiBudWxsLFxuICBnZW9qc29uOiBudWxsLFxuICBpbnRlZ2VyOiBudWxsLFxuICByZWFsOiBudWxsLFxuICBzdHJpbmc6IG51bGwsXG4gIHRpbWVzdGFtcDogbnVsbCxcbiAgcG9pbnQ6IG51bGxcbn0pO1xuXG4vLyBEYXRhIFRhYmxlXG5leHBvcnQgY29uc3QgU09SVF9PUkRFUiA9IGtleU1pcnJvcih7XG4gIEFTQ0VORElORzogbnVsbCxcbiAgREVTQ0VORElORzogbnVsbCxcbiAgVU5TT1JUOiBudWxsXG59KTtcblxuZXhwb3J0IGNvbnN0IFRBQkxFX09QVElPTiA9IGtleU1pcnJvcih7XG4gIFNPUlRfQVNDOiBudWxsLFxuICBTT1JUX0RFUzogbnVsbCxcbiAgVU5TT1JUOiBudWxsLFxuICBQSU46IG51bGwsXG4gIFVOUElOOiBudWxsLFxuICBDT1BZOiBudWxsXG59KTtcblxuZXhwb3J0IGNvbnN0IFRBQkxFX09QVElPTl9MSVNUID0gW1xuICB7XG4gICAgdmFsdWU6IFRBQkxFX09QVElPTi5TT1JUX0FTQyxcbiAgICBkaXNwbGF5OiAnU29ydCBBc2NlbmRpbmcnLFxuICAgIGljb246IEFycm93VXAsXG4gICAgY29uZGl0aW9uOiBwcm9wcyA9PiBwcm9wcy5zb3J0TW9kZSAhPT0gU09SVF9PUkRFUi5BU0NFTkRJTkdcbiAgfSxcbiAge1xuICAgIHZhbHVlOiBUQUJMRV9PUFRJT04uU09SVF9ERVMsXG4gICAgZGlzcGxheTogJ1NvcnQgRGVzY2VuZGluZycsXG4gICAgaWNvbjogQXJyb3dEb3duLFxuICAgIGNvbmRpdGlvbjogcHJvcHMgPT4gcHJvcHMuc29ydE1vZGUgIT09IFNPUlRfT1JERVIuREVTQ0VORElOR1xuICB9LFxuICB7XG4gICAgdmFsdWU6IFRBQkxFX09QVElPTi5VTlNPUlQsXG4gICAgZGlzcGxheTogJ1Vuc29ydCBDb2x1bW4nLFxuICAgIGljb246IENhbmNlbCxcbiAgICBjb25kaXRpb246IHByb3BzID0+IHByb3BzLmlzU29ydGVkXG4gIH0sXG4gIHt2YWx1ZTogVEFCTEVfT1BUSU9OLlBJTiwgZGlzcGxheTogJ1BpbiBDb2x1bW4nLCBpY29uOiBQaW4sIGNvbmRpdGlvbjogcHJvcHMgPT4gIXByb3BzLmlzUGlubmVkfSxcbiAge1xuICAgIHZhbHVlOiBUQUJMRV9PUFRJT04uVU5QSU4sXG4gICAgZGlzcGxheTogJ1VucGluIENvbHVtbicsXG4gICAgaWNvbjogQ2FuY2VsLFxuICAgIGNvbmRpdGlvbjogcHJvcHMgPT4gcHJvcHMuaXNQaW5uZWRcbiAgfSxcbiAge3ZhbHVlOiBUQUJMRV9PUFRJT04uQ09QWSwgZGlzcGxheTogJ0NvcHkgQ29sdW1uJywgaWNvbjogQ2xpcGJvYXJkfVxuXTtcblxuY29uc3QgT1JBTkdFID0gJzI0OCwgMTk0LCAyOCc7XG5jb25zdCBQSU5LID0gJzIzMSwgMTg5LCAxOTQnO1xuY29uc3QgUFVSUExFID0gJzE2MCwgMTA2LCAyMDYnO1xuY29uc3QgQkxVRSA9ICcxNDAsIDIxMCwgMjA1JztcbmNvbnN0IEJMVUUyID0gJzEwNiwgMTYwLCAyMDYnO1xuY29uc3QgQkxVRTMgPSAnMCwgMTcyLCAyMzcnO1xuY29uc3QgR1JFRU4gPSAnMTA2LCAxNjAsIDU2JztcbmNvbnN0IFJFRCA9ICcyMzcsIDg4LCAxMDYnO1xuXG5leHBvcnQgY29uc3QgRklMRURfVFlQRV9ESVNQTEFZID0ge1xuICBbQUxMX0ZJRUxEX1RZUEVTLmJvb2xlYW5dOiB7XG4gICAgbGFiZWw6ICdib29sJyxcbiAgICBjb2xvcjogUElOS1xuICB9LFxuICBbQUxMX0ZJRUxEX1RZUEVTLmRhdGVdOiB7XG4gICAgbGFiZWw6ICdkYXRlJyxcbiAgICBjb2xvcjogUFVSUExFXG4gIH0sXG4gIFtBTExfRklFTERfVFlQRVMuZ2VvanNvbl06IHtcbiAgICBsYWJlbDogJ2dlbycsXG4gICAgY29sb3I6IEJMVUUyXG4gIH0sXG4gIFtBTExfRklFTERfVFlQRVMuaW50ZWdlcl06IHtcbiAgICBsYWJlbDogJ251bWJlcicsXG4gICAgY29sb3I6IE9SQU5HRVxuICB9LFxuICBbQUxMX0ZJRUxEX1RZUEVTLnJlYWxdOiB7XG4gICAgbGFiZWw6ICdudW1iZXInLFxuICAgIGNvbG9yOiBPUkFOR0VcbiAgfSxcbiAgW0FMTF9GSUVMRF9UWVBFUy5zdHJpbmddOiB7XG4gICAgbGFiZWw6ICdzdHJpbmcnLFxuICAgIGNvbG9yOiBCTFVFXG4gIH0sXG4gIFtBTExfRklFTERfVFlQRVMudGltZXN0YW1wXToge1xuICAgIGxhYmVsOiAndGltZScsXG4gICAgY29sb3I6IEdSRUVOXG4gIH0sXG4gIC8vIGZpZWxkIHBhaXJzXG4gIFtBTExfRklFTERfVFlQRVMucG9pbnRdOiB7XG4gICAgbGFiZWw6ICdwb2ludCcsXG4gICAgY29sb3I6IEJMVUUzXG4gIH1cbn07XG5cbmV4cG9ydCBjb25zdCBGSUVMRF9DT0xPUlMgPSB7XG4gIGRlZmF1bHQ6IFJFRFxufTtcbmV4cG9ydCBjb25zdCBISUdITElHSF9DT0xPUl8zRDogUkdCQUNvbG9yID0gWzI1NSwgMjU1LCAyNTUsIDYwXTtcbmV4cG9ydCBjb25zdCBDSEFOTkVMX1NDQUxFUyA9IGtleU1pcnJvcih7XG4gIGNvbG9yOiBudWxsLFxuICByYWRpdXM6IG51bGwsXG4gIHNpemU6IG51bGwsXG4gIGN1c3RvbU1hcmtlcjogbnVsbCxcbiAgY29sb3JBZ2dyOiBudWxsLFxuICBzaXplQWdncjogbnVsbCxcbiAgaWRlbnRpdHk6IG51bGxcbn0pO1xuXG5leHBvcnQgY29uc3QgQUdHUkVHQVRJT05fVFlQRVM6IHtcbiAgLy8gZGVmYXVsdFxuICBjb3VudDogJ2NvdW50JztcbiAgLy8gbGluZWFyXG4gIGF2ZXJhZ2U6ICdhdmVyYWdlJztcbiAgbWF4aW11bTogJ21heGltdW0nO1xuICBtaW5pbXVtOiAnbWluaW11bSc7XG4gIG1lZGlhbjogJ21lZGlhbic7XG4gIHN0ZGV2OiAnc3RkZXYnO1xuICBzdW06ICdzdW0nO1xuICB2YXJpYW5jZTogJ3ZhcmlhbmNlJztcbiAgLy8gb3JkaW5hbFxuICBtb2RlOiAnbW9kZSc7XG4gIGNvdW50VW5pcXVlOiAnY291bnQgdW5pcXVlJztcbiAgYW55VmFsdWU6ICdhbnlfdmFsdWUnXG59ID0ge1xuICAvLyBkZWZhdWx0XG4gIGNvdW50OiAnY291bnQnLFxuICAvLyBsaW5lYXJcbiAgYXZlcmFnZTogJ2F2ZXJhZ2UnLFxuICBtYXhpbXVtOiAnbWF4aW11bScsXG4gIG1pbmltdW06ICdtaW5pbXVtJyxcbiAgbWVkaWFuOiAnbWVkaWFuJyxcbiAgc3RkZXY6ICdzdGRldicsXG4gIHN1bTogJ3N1bScsXG4gIHZhcmlhbmNlOiAndmFyaWFuY2UnLFxuICAvLyBvcmRpbmFsXG4gIG1vZGU6ICdtb2RlJyxcbiAgY291bnRVbmlxdWU6ICdjb3VudCB1bmlxdWUnLFxuICBhbnlWYWx1ZTogJ2FueV92YWx1ZSdcbn07XG5cbmV4cG9ydCBjb25zdCBGSUVMRF9UWVBFU19BR0dSRUdBVE9SUyA9IHtcbiAgZGF0ZTogbnVsbCxcbiAgZ2VvanNvbjogbnVsbCxcbiAgaW50ZWdlcjogW1xuICAgIEFHR1JFR0FUSU9OX1RZUEVTLmNvdW50LFxuICAgIEFHR1JFR0FUSU9OX1RZUEVTLmF2ZXJhZ2UsXG4gICAgQUdHUkVHQVRJT05fVFlQRVMubWF4aW11bSxcbiAgICBBR0dSRUdBVElPTl9UWVBFUy5taW5pbXVtLFxuICAgIEFHR1JFR0FUSU9OX1RZUEVTLnN0ZGV2LFxuICAgIEFHR1JFR0FUSU9OX1RZUEVTLnN1bSxcbiAgICBBR0dSRUdBVElPTl9UWVBFUy52YXJpYW5jZVxuICBdLFxuICByZWFsOiBbXG4gICAgQUdHUkVHQVRJT05fVFlQRVMuY291bnQsXG4gICAgQUdHUkVHQVRJT05fVFlQRVMuYXZlcmFnZSxcbiAgICBBR0dSRUdBVElPTl9UWVBFUy5tYXhpbXVtLFxuICAgIEFHR1JFR0FUSU9OX1RZUEVTLm1pbmltdW0sXG4gICAgQUdHUkVHQVRJT05fVFlQRVMuc3RkZXYsXG4gICAgQUdHUkVHQVRJT05fVFlQRVMuc3VtLFxuICAgIEFHR1JFR0FUSU9OX1RZUEVTLnZhcmlhbmNlXG4gIF0sXG4gIHN0cmluZzogW0FHR1JFR0FUSU9OX1RZUEVTLm1vZGUsIEFHR1JFR0FUSU9OX1RZUEVTLmFueVZhbHVlXSxcbiAgdGltZXN0YW1wOiBudWxsLFxuICBwb2ludDogbnVsbFxufTtcblxuZXhwb3J0IGNvbnN0IEZJRUxEX0FHR1JFR0FUT1JTID0gW1xuICB7XG4gICAgaWQ6IEFHR1JFR0FUSU9OX1RZUEVTLmNvdW50LFxuICAgIGRpc3BsYXlOYW1lOiAnQ09VTlQnXG4gIH0sXG4gIHtcbiAgICBpZDogQUdHUkVHQVRJT05fVFlQRVMuYXZlcmFnZSxcbiAgICBkaXNwbGF5TmFtZTogJ0FWRydcbiAgfSxcbiAge1xuICAgIGlkOiBBR0dSRUdBVElPTl9UWVBFUy5tYXhpbXVtLFxuICAgIGRpc3BsYXlOYW1lOiAnTUFYJ1xuICB9LFxuICB7XG4gICAgaWQ6IEFHR1JFR0FUSU9OX1RZUEVTLm1pbmltdW0sXG4gICAgZGlzcGxheU5hbWU6ICdNSU4nXG4gIH0sXG4gIHtcbiAgICBpZDogQUdHUkVHQVRJT05fVFlQRVMuc3RkZXYsXG4gICAgZGlzcGxheU5hbWU6ICdTVERFVidcbiAgfSxcbiAge1xuICAgIGlkOiBBR0dSRUdBVElPTl9UWVBFUy5zdW0sXG4gICAgZGlzcGxheU5hbWU6ICdTVU0nXG4gIH0sXG4gIHtcbiAgICBpZDogQUdHUkVHQVRJT05fVFlQRVMudmFyaWFuY2UsXG4gICAgZGlzcGxheU5hbWU6ICdWQVJJQU5DRSdcbiAgfSxcbiAge1xuICAgIGlkOiBBR0dSRUdBVElPTl9UWVBFUy5tb2RlLFxuICAgIGRpc3BsYXlOYW1lOiAnTU9ERSdcbiAgfSxcbiAge1xuICAgIGlkOiBBR0dSRUdBVElPTl9UWVBFUy5hbnlWYWx1ZSxcbiAgICBkaXNwbGF5TmFtZTogJ0FOWSBWQUxVRSdcbiAgfVxuXTtcblxuZXhwb3J0IGNvbnN0IGxpbmVhckZpZWxkU2NhbGVGdW5jdGlvbnMgPSB7XG4gIFtDSEFOTkVMX1NDQUxFUy5jb2xvcl06IFtTQ0FMRV9UWVBFUy5xdWFudGl6ZSwgU0NBTEVfVFlQRVMucXVhbnRpbGUsIFNDQUxFX1RZUEVTLmN1c3RvbV0sXG4gIFtDSEFOTkVMX1NDQUxFUy5yYWRpdXNdOiBbU0NBTEVfVFlQRVMuc3FydF0sXG4gIFtDSEFOTkVMX1NDQUxFUy5zaXplXTogW1NDQUxFX1RZUEVTLmxpbmVhciwgU0NBTEVfVFlQRVMuc3FydCwgU0NBTEVfVFlQRVMubG9nXSxcbiAgW0NIQU5ORUxfU0NBTEVTLmN1c3RvbU1hcmtlcl06IFtTQ0FMRV9UWVBFUy5vcmRpbmFsXSxcbiAgW0NIQU5ORUxfU0NBTEVTLmlkZW50aXR5XTogW11cbn07XG5cbmV4cG9ydCBjb25zdCBsaW5lYXJGaWVsZEFnZ3JTY2FsZUZ1bmN0aW9ucyA9IHtcbiAgW0NIQU5ORUxfU0NBTEVTLmNvbG9yQWdncl06IHtcbiAgICBbQUdHUkVHQVRJT05fVFlQRVMuY291bnRdOiBbU0NBTEVfVFlQRVMuY3VzdG9tXSxcbiAgICBbQUdHUkVHQVRJT05fVFlQRVMuYXZlcmFnZV06IFtTQ0FMRV9UWVBFUy5xdWFudGl6ZSwgU0NBTEVfVFlQRVMucXVhbnRpbGUsIFNDQUxFX1RZUEVTLmN1c3RvbV0sXG4gICAgW0FHR1JFR0FUSU9OX1RZUEVTLm1heGltdW1dOiBbU0NBTEVfVFlQRVMucXVhbnRpemUsIFNDQUxFX1RZUEVTLnF1YW50aWxlLCBTQ0FMRV9UWVBFUy5jdXN0b21dLFxuICAgIFtBR0dSRUdBVElPTl9UWVBFUy5taW5pbXVtXTogW1NDQUxFX1RZUEVTLnF1YW50aXplLCBTQ0FMRV9UWVBFUy5xdWFudGlsZSwgU0NBTEVfVFlQRVMuY3VzdG9tXSxcbiAgICBbQUdHUkVHQVRJT05fVFlQRVMubWVkaWFuXTogW1NDQUxFX1RZUEVTLnF1YW50aXplLCBTQ0FMRV9UWVBFUy5xdWFudGlsZSwgU0NBTEVfVFlQRVMuY3VzdG9tXSxcbiAgICBbQUdHUkVHQVRJT05fVFlQRVMuc3RkZXZdOiBbU0NBTEVfVFlQRVMucXVhbnRpemUsIFNDQUxFX1RZUEVTLnF1YW50aWxlLCBTQ0FMRV9UWVBFUy5jdXN0b21dLFxuICAgIFtBR0dSRUdBVElPTl9UWVBFUy5zdW1dOiBbU0NBTEVfVFlQRVMucXVhbnRpemUsIFNDQUxFX1RZUEVTLnF1YW50aWxlLCBTQ0FMRV9UWVBFUy5jdXN0b21dLFxuICAgIFtBR0dSRUdBVElPTl9UWVBFUy52YXJpYW5jZV06IFtTQ0FMRV9UWVBFUy5xdWFudGl6ZSwgU0NBTEVfVFlQRVMucXVhbnRpbGUsIFNDQUxFX1RZUEVTLmN1c3RvbV1cbiAgfSxcblxuICBbQ0hBTk5FTF9TQ0FMRVMuc2l6ZUFnZ3JdOiB7XG4gICAgW0FHR1JFR0FUSU9OX1RZUEVTLmNvdW50XTogW1NDQUxFX1RZUEVTLmxpbmVhciwgU0NBTEVfVFlQRVMuc3FydCwgU0NBTEVfVFlQRVMubG9nXSxcbiAgICBbQUdHUkVHQVRJT05fVFlQRVMuYXZlcmFnZV06IFtTQ0FMRV9UWVBFUy5saW5lYXIsIFNDQUxFX1RZUEVTLnNxcnQsIFNDQUxFX1RZUEVTLmxvZ10sXG4gICAgW0FHR1JFR0FUSU9OX1RZUEVTLm1heGltdW1dOiBbU0NBTEVfVFlQRVMubGluZWFyLCBTQ0FMRV9UWVBFUy5zcXJ0LCBTQ0FMRV9UWVBFUy5sb2ddLFxuICAgIFtBR0dSRUdBVElPTl9UWVBFUy5taW5pbXVtXTogW1NDQUxFX1RZUEVTLmxpbmVhciwgU0NBTEVfVFlQRVMuc3FydCwgU0NBTEVfVFlQRVMubG9nXSxcbiAgICBbQUdHUkVHQVRJT05fVFlQRVMubWVkaWFuXTogW1NDQUxFX1RZUEVTLmxpbmVhciwgU0NBTEVfVFlQRVMuc3FydCwgU0NBTEVfVFlQRVMubG9nXSxcbiAgICBbQUdHUkVHQVRJT05fVFlQRVMuc3RkZXZdOiBbU0NBTEVfVFlQRVMubGluZWFyLCBTQ0FMRV9UWVBFUy5zcXJ0LCBTQ0FMRV9UWVBFUy5sb2ddLFxuICAgIFtBR0dSRUdBVElPTl9UWVBFUy5zdW1dOiBbU0NBTEVfVFlQRVMubGluZWFyLCBTQ0FMRV9UWVBFUy5zcXJ0LCBTQ0FMRV9UWVBFUy5sb2ddLFxuICAgIFtBR0dSRUdBVElPTl9UWVBFUy52YXJpYW5jZV06IFtTQ0FMRV9UWVBFUy5saW5lYXIsIFNDQUxFX1RZUEVTLnNxcnQsIFNDQUxFX1RZUEVTLmxvZ11cbiAgfVxufTtcblxuZXhwb3J0IGNvbnN0IG9yZGluYWxGaWVsZFNjYWxlRnVuY3Rpb25zID0ge1xuICBbQ0hBTk5FTF9TQ0FMRVMuY29sb3JdOiBbU0NBTEVfVFlQRVMub3JkaW5hbF0sXG4gIFtDSEFOTkVMX1NDQUxFUy5yYWRpdXNdOiBbU0NBTEVfVFlQRVMucG9pbnRdLFxuICBbQ0hBTk5FTF9TQ0FMRVMuc2l6ZV06IFtTQ0FMRV9UWVBFUy5wb2ludF0sXG4gIFtDSEFOTkVMX1NDQUxFUy5jdXN0b21NYXJrZXJdOiBbU0NBTEVfVFlQRVMub3JkaW5hbF0sXG4gIFtDSEFOTkVMX1NDQUxFUy5pZGVudGl0eV06IFtdXG59O1xuXG5leHBvcnQgY29uc3Qgb3JkaW5hbEZpZWxkQWdnclNjYWxlRnVuY3Rpb25zID0ge1xuICAvLyBbQ0hBTk5FTF9TQ0FMRVMuY29sb3JBZ2dyXTogW1NDQUxFX1RZUEVTLm9yZGluYWwsIFNDQUxFX1RZUEVTLmxpbmVhcl0sXG4gIFtDSEFOTkVMX1NDQUxFUy5jb2xvckFnZ3JdOiB7XG4gICAgW0FHR1JFR0FUSU9OX1RZUEVTLm1vZGVdOiBbU0NBTEVfVFlQRVMub3JkaW5hbF0sXG4gICAgW0FHR1JFR0FUSU9OX1RZUEVTLmFueVZhbHVlXTogW1NDQUxFX1RZUEVTLm9yZGluYWxdLFxuICAgIFtBR0dSRUdBVElPTl9UWVBFUy5jb3VudFVuaXF1ZV06IFtcbiAgICAgIFNDQUxFX1RZUEVTLnF1YW50aXplLFxuICAgICAgU0NBTEVfVFlQRVMucXVhbnRpbGUsXG4gICAgICBTQ0FMRV9UWVBFUy5jdXN0b21cbiAgICBdXG4gIH0sXG5cbiAgW0NIQU5ORUxfU0NBTEVTLnNpemVBZ2dyXToge1xuICAgIFtBR0dSRUdBVElPTl9UWVBFUy5tb2RlXTogW1NDQUxFX1RZUEVTLm9yZGluYWxdLFxuICAgIFtBR0dSRUdBVElPTl9UWVBFUy5hbnlWYWx1ZV06IFtTQ0FMRV9UWVBFUy5vcmRpbmFsXVxuICB9XG59O1xuXG5leHBvcnQgY29uc3Qgbm90U3VwcG9ydGVkU2NhbGVPcHRzID0ge1xuICBbQ0hBTk5FTF9TQ0FMRVMuY29sb3JdOiBbXSxcbiAgW0NIQU5ORUxfU0NBTEVTLnJhZGl1c106IFtdLFxuICBbQ0hBTk5FTF9TQ0FMRVMuc2l6ZV06IFtdLFxuICBbQ0hBTk5FTF9TQ0FMRVMuY3VzdG9tTWFya2VyXTogW10sXG4gIFtDSEFOTkVMX1NDQUxFUy5pZGVudGl0eV06IFtdXG59O1xuXG5leHBvcnQgY29uc3Qgbm90U3VwcG9ydEFnZ3JPcHRzID0ge1xuICBbQ0hBTk5FTF9TQ0FMRVMuY29sb3JBZ2dyXToge30sXG4gIFtDSEFOTkVMX1NDQUxFUy5zaXplQWdncl06IHt9XG59O1xuXG4vKipcbiAqIERlZmF1bHQgYWdncmVnYXRpb24gYXJlIGJhc2VkIG9uIG9jdW50XG4gKi9cbmV4cG9ydCBjb25zdCBERUZBVUxUX0FHR1JFR0FUSU9OID0ge1xuICBbQ0hBTk5FTF9TQ0FMRVMuY29sb3JBZ2dyXToge1xuICAgIFtBR0dSRUdBVElPTl9UWVBFUy5jb3VudF06IFtTQ0FMRV9UWVBFUy5xdWFudGl6ZSwgU0NBTEVfVFlQRVMucXVhbnRpbGUsIFNDQUxFX1RZUEVTLmN1c3RvbV1cbiAgfSxcbiAgW0NIQU5ORUxfU0NBTEVTLnNpemVBZ2dyXToge1xuICAgIFtBR0dSRUdBVElPTl9UWVBFUy5jb3VudF06IFtTQ0FMRV9UWVBFUy5saW5lYXIsIFNDQUxFX1RZUEVTLnNxcnQsIFNDQUxFX1RZUEVTLmxvZ11cbiAgfVxufTtcblxuLyoqXG4gKiBEZWZpbmUgd2hhdCB0eXBlIG9mIHNjYWxlIG9wZXJhdGlvbiBpcyBhbGxvd2VkIG9uIGVhY2ggdHlwZSBvZiBmaWVsZHNcbiAqL1xuZXhwb3J0IGNvbnN0IEZJRUxEX09QVFMgPSB7XG4gIHN0cmluZzoge1xuICAgIHR5cGU6ICdjYXRlZ29yaWNhbCcsXG4gICAgc2NhbGU6IHtcbiAgICAgIC4uLm9yZGluYWxGaWVsZFNjYWxlRnVuY3Rpb25zLFxuICAgICAgLi4ub3JkaW5hbEZpZWxkQWdnclNjYWxlRnVuY3Rpb25zXG4gICAgfSxcbiAgICBmb3JtYXQ6IHtcbiAgICAgIGxlZ2VuZDogZCA9PiBkLFxuICAgICAgdG9vbHRpcDogW11cbiAgICB9XG4gIH0sXG4gIHJlYWw6IHtcbiAgICB0eXBlOiAnbnVtZXJpY2FsJyxcbiAgICBzY2FsZToge1xuICAgICAgLi4ubGluZWFyRmllbGRTY2FsZUZ1bmN0aW9ucyxcbiAgICAgIC4uLmxpbmVhckZpZWxkQWdnclNjYWxlRnVuY3Rpb25zXG4gICAgfSxcbiAgICBmb3JtYXQ6IHtcbiAgICAgIGxlZ2VuZDogZCA9PiBkLFxuICAgICAgdG9vbHRpcDogW1xuICAgICAgICBUT09MVElQX0ZPUk1BVF9UWVBFUy5OT05FLFxuICAgICAgICBUT09MVElQX0ZPUk1BVF9UWVBFUy5ERUNJTUFMLFxuICAgICAgICBUT09MVElQX0ZPUk1BVF9UWVBFUy5QRVJDRU5UQUdFXG4gICAgICBdXG4gICAgfVxuICB9LFxuICB0aW1lc3RhbXA6IHtcbiAgICB0eXBlOiAndGltZScsXG4gICAgc2NhbGU6IHtcbiAgICAgIC4uLmxpbmVhckZpZWxkU2NhbGVGdW5jdGlvbnMsXG4gICAgICAuLi5ub3RTdXBwb3J0QWdnck9wdHNcbiAgICB9LFxuICAgIGZvcm1hdDoge1xuICAgICAgbGVnZW5kOiBkID0+IGQsXG4gICAgICB0b29sdGlwOiBbXG4gICAgICAgIFRPT0xUSVBfRk9STUFUX1RZUEVTLk5PTkUsXG4gICAgICAgIFRPT0xUSVBfRk9STUFUX1RZUEVTLkRBVEUsXG4gICAgICAgIFRPT0xUSVBfRk9STUFUX1RZUEVTLkRBVEVfVElNRVxuICAgICAgXVxuICAgIH1cbiAgfSxcbiAgaW50ZWdlcjoge1xuICAgIHR5cGU6ICdudW1lcmljYWwnLFxuICAgIHNjYWxlOiB7XG4gICAgICAuLi5saW5lYXJGaWVsZFNjYWxlRnVuY3Rpb25zLFxuICAgICAgLi4ubGluZWFyRmllbGRBZ2dyU2NhbGVGdW5jdGlvbnNcbiAgICB9LFxuICAgIGZvcm1hdDoge1xuICAgICAgbGVnZW5kOiBkID0+IGQsXG4gICAgICB0b29sdGlwOiBbXG4gICAgICAgIFRPT0xUSVBfRk9STUFUX1RZUEVTLk5PTkUsXG4gICAgICAgIFRPT0xUSVBfRk9STUFUX1RZUEVTLkRFQ0lNQUwsXG4gICAgICAgIFRPT0xUSVBfRk9STUFUX1RZUEVTLlBFUkNFTlRBR0VcbiAgICAgIF1cbiAgICB9XG4gIH0sXG4gIGJvb2xlYW46IHtcbiAgICB0eXBlOiAnYm9vbGVhbicsXG4gICAgc2NhbGU6IHtcbiAgICAgIC4uLm9yZGluYWxGaWVsZFNjYWxlRnVuY3Rpb25zLFxuICAgICAgLi4ub3JkaW5hbEZpZWxkQWdnclNjYWxlRnVuY3Rpb25zXG4gICAgfSxcbiAgICBmb3JtYXQ6IHtcbiAgICAgIGxlZ2VuZDogZCA9PiBkLFxuICAgICAgdG9vbHRpcDogW1RPT0xUSVBfRk9STUFUX1RZUEVTLk5PTkUsIFRPT0xUSVBfRk9STUFUX1RZUEVTLkJPT0xFQU5dXG4gICAgfVxuICB9LFxuICBkYXRlOiB7XG4gICAgc2NhbGU6IHtcbiAgICAgIC4uLm9yZGluYWxGaWVsZFNjYWxlRnVuY3Rpb25zLFxuICAgICAgLi4ub3JkaW5hbEZpZWxkQWdnclNjYWxlRnVuY3Rpb25zXG4gICAgfSxcbiAgICBmb3JtYXQ6IHtcbiAgICAgIGxlZ2VuZDogZCA9PiBkLFxuICAgICAgdG9vbHRpcDogW1RPT0xUSVBfRk9STUFUX1RZUEVTLk5PTkUsIFRPT0xUSVBfRk9STUFUX1RZUEVTLkRBVEVdXG4gICAgfVxuICB9LFxuICBnZW9qc29uOiB7XG4gICAgdHlwZTogJ2dlb21ldHJ5JyxcbiAgICBzY2FsZToge1xuICAgICAgLi4ubm90U3VwcG9ydGVkU2NhbGVPcHRzLFxuICAgICAgLi4ubm90U3VwcG9ydEFnZ3JPcHRzXG4gICAgfSxcbiAgICBmb3JtYXQ6IHtcbiAgICAgIGxlZ2VuZDogZCA9PiAnLi4uJyxcbiAgICAgIHRvb2x0aXA6IFtdXG4gICAgfVxuICB9XG59O1xuXG5leHBvcnQgY29uc3QgQ0hBTk5FTF9TQ0FMRV9TVVBQT1JURURfRklFTERTID0gT2JqZWN0LmtleXMoQ0hBTk5FTF9TQ0FMRVMpLnJlZHVjZShcbiAgKGFjY3UsIGtleSkgPT4gKHtcbiAgICAuLi5hY2N1LFxuICAgIFtrZXldOiBPYmplY3Qua2V5cyhGSUVMRF9PUFRTKS5maWx0ZXIoZnQgPT4gT2JqZWN0LmtleXMoRklFTERfT1BUU1tmdF0uc2NhbGVba2V5XSkubGVuZ3RoKVxuICB9KSxcbiAge31cbik7XG5cbmV4cG9ydCBjb25zdCBERUZBVUxUX0xBWUVSX0NPTE9SID0ge1xuICB0cmlwQXJjOiAnIzkyMjZDNicsXG4gIGJlZ2ludHJpcF9sYXQ6ICcjMUU5NkJFJyxcbiAgZHJvcG9mZl9sYXQ6ICcjRkY5OTFGJyxcbiAgcmVxdWVzdF9sYXQ6ICcjNTJBMzUzJ1xufTtcblxuLy8gbGV0IHVzZXIgcGFzcyBpbiBkZWZhdWx0IHRvb2x0aXAgZmllbGRzXG5leHBvcnQgY29uc3QgREVGQVVMVF9UT09MVElQX0ZJRUxEUzogYW55W10gPSBbXTtcblxuZXhwb3J0IGNvbnN0IE5PX1ZBTFVFX0NPTE9SOiBDb2xvciA9IFswLCAwLCAwLCAwXTtcbmV4cG9ydCBjb25zdCBVTktOT1dOX0NPTE9SOiBDb2xvciA9IFsxMzQsIDE0MSwgMTQ1XTtcblxuZXhwb3J0IGNvbnN0IExBWUVSX0JMRU5ESU5HUyA9IHtcbiAgYWRkaXRpdmU6IHtcbiAgICBsYWJlbDogJ2xheWVyQmxlbmRpbmcuYWRkaXRpdmUnLFxuICAgIGJsZW5kRnVuYzogWydTUkNfQUxQSEEnLCAnRFNUX0FMUEhBJ10sXG4gICAgYmxlbmRFcXVhdGlvbjogJ0ZVTkNfQUREJ1xuICB9LFxuICBub3JtYWw6IHtcbiAgICAvLyByZWZlcmVuY2UgdG9cbiAgICAvLyBodHRwczovL2xpbW51LmNvbS93ZWJnbC1ibGVuZGluZy15b3VyZS1wcm9iYWJseS13cm9uZy9cbiAgICBsYWJlbDogJ2xheWVyQmxlbmRpbmcubm9ybWFsJyxcbiAgICBibGVuZEZ1bmM6IFsnU1JDX0FMUEhBJywgJ09ORV9NSU5VU19TUkNfQUxQSEEnLCAnT05FJywgJ09ORV9NSU5VU19TUkNfQUxQSEEnXSxcbiAgICBibGVuZEVxdWF0aW9uOiBbJ0ZVTkNfQUREJywgJ0ZVTkNfQUREJ11cbiAgfSxcbiAgc3VidHJhY3RpdmU6IHtcbiAgICBsYWJlbDogJ2xheWVyQmxlbmRpbmcuc3VidHJhY3RpdmUnLFxuICAgIGJsZW5kRnVuYzogWydPTkUnLCAnT05FX01JTlVTX0RTVF9DT0xPUicsICdTUkNfQUxQSEEnLCAnRFNUX0FMUEhBJ10sXG4gICAgYmxlbmRFcXVhdGlvbjogWydGVU5DX1NVQlRSQUNUJywgJ0ZVTkNfQUREJ11cbiAgfVxufTtcblxuZXhwb3J0IGNvbnN0IE1BWF9ERUZBVUxUX1RPT0xUSVBTID0gNTtcblxuZXhwb3J0IGNvbnN0IFJFU09MVVRJT05TID0ga2V5TWlycm9yKHtcbiAgT05FX1g6IG51bGwsXG4gIFRXT19YOiBudWxsXG59KTtcblxuZXhwb3J0IGNvbnN0IEVYUE9SVF9JTUdfUkFUSU9TID0ga2V5TWlycm9yKHtcbiAgU0NSRUVOOiBudWxsLFxuICBGT1VSX0JZX1RIUkVFOiBudWxsLFxuICBTSVhURUVOX0JZX05JTkU6IG51bGwsXG4gIENVU1RPTTogbnVsbFxufSk7XG5cbmV4cG9ydCB0eXBlIEltYWdlUmF0aW9PcHRpb24gPSB7XG4gIGlkOiBrZXlvZiB0eXBlb2YgRVhQT1JUX0lNR19SQVRJT1M7XG4gIGxhYmVsOiBzdHJpbmc7XG4gIGhpZGRlbj86IGJvb2xlYW47XG4gIGdldFNpemU6IChzY3JlZW5XOiBudW1iZXIsIHNjcmVlbkg6IG51bWJlcikgPT4ge3dpZHRoOiBudW1iZXI7IGhlaWdodDogbnVtYmVyfTtcbn07XG5cbmV4cG9ydCBjb25zdCBTY3JlZW5SYXRpb09wdGlvbjogSW1hZ2VSYXRpb09wdGlvbiA9IHtcbiAgaWQ6IEVYUE9SVF9JTUdfUkFUSU9TLlNDUkVFTixcbiAgbGFiZWw6ICdtb2RhbC5leHBvcnRJbWFnZS5yYXRpb09yaWdpbmFsU2NyZWVuJyxcbiAgZ2V0U2l6ZTogKHNjcmVlblcsIHNjcmVlbkgpID0+ICh7d2lkdGg6IHNjcmVlblcsIGhlaWdodDogc2NyZWVuSH0pXG59O1xuZXhwb3J0IGNvbnN0IEN1c3RvbVJhdGlvT3B0aW9uOiBJbWFnZVJhdGlvT3B0aW9uID0ge1xuICBpZDogRVhQT1JUX0lNR19SQVRJT1MuQ1VTVE9NLFxuICBoaWRkZW46IHRydWUsXG4gIGxhYmVsOiAnbW9kYWwuZXhwb3J0SW1hZ2UucmF0aW9DdXN0b20nLFxuICBnZXRTaXplOiAobWFwVywgbWFwSCkgPT4gKHt3aWR0aDogbWFwVywgaGVpZ2h0OiBtYXBIfSlcbn07XG5leHBvcnQgY29uc3QgRm91ckJ5VGhyZWVSYXRpb09wdGlvbjogSW1hZ2VSYXRpb09wdGlvbiA9IHtcbiAgaWQ6IEVYUE9SVF9JTUdfUkFUSU9TLkZPVVJfQllfVEhSRUUsXG4gIGxhYmVsOiAnbW9kYWwuZXhwb3J0SW1hZ2UucmF0aW80XzMnLFxuICBnZXRTaXplOiAoc2NyZWVuVywgc2NyZWVuSCkgPT4gKHtcbiAgICB3aWR0aDogc2NyZWVuVyxcbiAgICBoZWlnaHQ6IE1hdGgucm91bmQoc2NyZWVuVyAqIDAuNzUpXG4gIH0pXG59O1xuZXhwb3J0IGNvbnN0IFNpeHRlZW5CeU5pbmVSYXRpb09wdGlvbjogSW1hZ2VSYXRpb09wdGlvbiA9IHtcbiAgaWQ6IEVYUE9SVF9JTUdfUkFUSU9TLlNJWFRFRU5fQllfTklORSxcbiAgbGFiZWw6ICdtb2RhbC5leHBvcnRJbWFnZS5yYXRpbzE2XzknLFxuICBnZXRTaXplOiAoc2NyZWVuVywgc2NyZWVuSCkgPT4gKHtcbiAgICB3aWR0aDogc2NyZWVuVyxcbiAgICBoZWlnaHQ6IE1hdGgucm91bmQoc2NyZWVuVyAqIDAuNTYyNSlcbiAgfSlcbn07XG5cbmV4cG9ydCBjb25zdCBFWFBPUlRfSU1HX1JBVElPX09QVElPTlM6IFJlYWRvbmx5QXJyYXk8SW1hZ2VSYXRpb09wdGlvbj4gPSBbXG4gIFNjcmVlblJhdGlvT3B0aW9uLFxuICBDdXN0b21SYXRpb09wdGlvbixcbiAgRm91ckJ5VGhyZWVSYXRpb09wdGlvbixcbiAgU2l4dGVlbkJ5TmluZVJhdGlvT3B0aW9uXG5dO1xuXG5leHBvcnQgdHlwZSBJbWFnZVJlc29sdXRpb25PcHRpb24gPSB7XG4gIGlkOiBrZXlvZiB0eXBlb2YgUkVTT0xVVElPTlM7XG4gIGxhYmVsOiBzdHJpbmc7XG4gIGF2YWlsYWJsZTogYm9vbGVhbjtcbiAgc2NhbGU6IG51bWJlcjtcbiAgZ2V0U2l6ZTogKHNjcmVlblc6IG51bWJlciwgc2NyZWVuSDogbnVtYmVyKSA9PiB7d2lkdGg6IG51bWJlcjsgaGVpZ2h0OiBudW1iZXJ9O1xufTtcblxuZXhwb3J0IGNvbnN0IE9uZVhSZXNvbHV0aW9uT3B0aW9uOiBJbWFnZVJlc29sdXRpb25PcHRpb24gPSB7XG4gIGlkOiBSRVNPTFVUSU9OUy5PTkVfWCxcbiAgbGFiZWw6ICcxeCcsXG4gIGF2YWlsYWJsZTogdHJ1ZSxcbiAgc2NhbGU6IDEsXG4gIGdldFNpemU6IChzY3JlZW5XLCBzY3JlZW5IKSA9PiAoe1xuICAgIHdpZHRoOiBzY3JlZW5XLFxuICAgIGhlaWdodDogc2NyZWVuSFxuICB9KVxufTtcblxuZXhwb3J0IGNvbnN0IFR3b1hSZXNvbHV0aW9uT3B0aW9uOiBJbWFnZVJlc29sdXRpb25PcHRpb24gPSB7XG4gIGlkOiBSRVNPTFVUSU9OUy5UV09fWCxcbiAgbGFiZWw6ICcyeCcsXG4gIGF2YWlsYWJsZTogdHJ1ZSxcbiAgc2NhbGU6IDIsXG4gIGdldFNpemU6IChzY3JlZW5XLCBzY3JlZW5IKSA9PiAoe1xuICAgIHdpZHRoOiBzY3JlZW5XICogMixcbiAgICBoZWlnaHQ6IHNjcmVlbkggKiAyXG4gIH0pXG59O1xuXG5leHBvcnQgY29uc3QgRVhQT1JUX0lNR19SRVNPTFVUSU9OX09QVElPTlM6IFJlYWRvbmx5QXJyYXk8SW1hZ2VSZXNvbHV0aW9uT3B0aW9uPiA9IFtcbiAgT25lWFJlc29sdXRpb25PcHRpb24sXG4gIFR3b1hSZXNvbHV0aW9uT3B0aW9uXG5dO1xuXG5leHBvcnQgY29uc3QgRVhQT1JUX0RBVEFfVFlQRSA9IGtleU1pcnJvcih7XG4gIENTVjogbnVsbFxuICAvLyBTSEFQRUZJTEU6IG51bGwsXG4gIC8vIEpTT046IG51bGwsXG4gIC8vIEdFT0pTT046IG51bGwsXG4gIC8vIFRPUE9KU09OOiBudWxsXG59KTtcblxuZXhwb3J0IGNvbnN0IEVYUE9SVF9EQVRBX1RZUEVfT1BUSU9OUyA9IFtcbiAge1xuICAgIGlkOiBFWFBPUlRfREFUQV9UWVBFLkNTVixcbiAgICBsYWJlbDogRVhQT1JUX0RBVEFfVFlQRS5DU1YudG9Mb3dlckNhc2UoKSxcbiAgICBhdmFpbGFibGU6IHRydWVcbiAgfVxuICAvLyB7XG4gIC8vICAgaWQ6IEVYUE9SVF9EQVRBX1RZUEUuU0hBUEVGSUxFLFxuICAvLyAgIGxhYmVsOiAnc2hhcGVmaWxlJyxcbiAgLy8gICBhdmFpbGFibGU6IGZhbHNlXG4gIC8vIH0sXG4gIC8vIHtcbiAgLy8gICBpZDogRVhQT1JUX0RBVEFfVFlQRS5KU09OLFxuICAvLyAgIGxhYmVsOiAnanNvbicsXG4gIC8vICAgYXZhaWxhYmxlOiBmYWxzZVxuICAvLyB9LFxuICAvLyB7XG4gIC8vICAgaWQ6IEVYUE9SVF9EQVRBX1RZUEUuR0VPSlNPTixcbiAgLy8gICBsYWJlbDogJ2dlb2pzb24nLFxuICAvLyAgIGF2YWlsYWJsZTogZmFsc2VcbiAgLy8gfSxcbiAgLy8ge1xuICAvLyAgIGlkOiBFWFBPUlRfREFUQV9UWVBFLlRPUE9KU09OLFxuICAvLyAgIGxhYmVsOiAndG9wb2pzb24nLFxuICAvLyAgIGF2YWlsYWJsZTogZmFsc2VcbiAgLy8gfVxuXTtcblxuLy8gRXhwb3J0IG1hcCB0eXBlc1xuZXhwb3J0IGNvbnN0IEVYUE9SVF9NQVBfRk9STUFUUyA9IGtleU1pcnJvcih7XG4gIEhUTUw6IG51bGwsXG4gIEpTT046IG51bGxcbn0pO1xuXG5leHBvcnQgY29uc3QgRVhQT1JUX0hUTUxfTUFQX01PREVTID0ga2V5TWlycm9yKHtcbiAgUkVBRDogbnVsbCxcbiAgRURJVDogbnVsbFxufSk7XG5cbi8vIEV4cG9ydCBtYXAgb3B0aW9uc1xuZXhwb3J0IGNvbnN0IEVYUE9SVF9NQVBfRk9STUFUX09QVElPTlMgPSBPYmplY3QuZW50cmllcyhFWFBPUlRfTUFQX0ZPUk1BVFMpLm1hcChcbiAgKGVudHJ5OiBbc3RyaW5nLCBhbnldKSA9PiAoe1xuICAgIGlkOiBlbnRyeVswXSxcbiAgICBsYWJlbDogZW50cnlbMV0udG9Mb3dlckNhc2UoKSxcbiAgICBhdmFpbGFibGU6IHRydWVcbiAgfSlcbik7XG5cbmV4cG9ydCBjb25zdCBFWFBPUlRfSFRNTF9NQVBfTU9ERV9PUFRJT05TID0gT2JqZWN0LmVudHJpZXMoRVhQT1JUX0hUTUxfTUFQX01PREVTKS5tYXAoXG4gIChlbnRyeTogW3N0cmluZywgYW55XSkgPT4gKHtcbiAgICBpZDogZW50cnlbMF0sXG4gICAgbGFiZWw6IGBtb2RhbC5leHBvcnRNYXAuaHRtbC4ke2VudHJ5WzFdLnRvTG93ZXJDYXNlKCl9YCxcbiAgICBhdmFpbGFibGU6IHRydWUsXG4gICAgdXJsOiBnZXRIVE1MTWFwTW9kZVRpbGVVcmwoZW50cnlbMV0pXG4gIH0pXG4pO1xuXG5leHBvcnQgY29uc3QgREVGQVVMVF9VVUlEX0NPVU5UID0gNjtcblxuZXhwb3J0IGNvbnN0IERFRkFVTFRfTk9USUZJQ0FUSU9OX01FU1NBR0UgPSAnTUVTU0FHRV9OT1RfUFJPVklERUQnO1xuXG5leHBvcnQgY29uc3QgREVGQVVMVF9OT1RJRklDQVRJT05fVFlQRVMgPSBrZXlNaXJyb3Ioe1xuICBpbmZvOiBudWxsLFxuICBlcnJvcjogbnVsbCxcbiAgd2FybmluZzogbnVsbCxcbiAgc3VjY2VzczogbnVsbFxufSk7XG5cbmV4cG9ydCBjb25zdCBERUZBVUxUX05PVElGSUNBVElPTl9UT1BJQ1MgPSBrZXlNaXJyb3Ioe1xuICBnbG9iYWw6IG51bGwsXG4gIGZpbGU6IG51bGxcbn0pO1xuXG4vLyBNaW5pbXVtIHRpbWUgYmV0d2VlbiBpZGVudGljYWwgbm90aWZpY2F0aW9ucyBhYm91dCBkZWNrLmdsIGVycm9yc1xuZXhwb3J0IGNvbnN0IFRIUk9UVExFX05PVElGSUNBVElPTl9USU1FID0gMjUwMDtcblxuLy8gQW5pbWF0aW9uXG5leHBvcnQgY29uc3QgQkFTRV9TUEVFRCA9IDYwMDtcbmV4cG9ydCBjb25zdCBGUFMgPSA2MDtcblxuLyoqXG4gKiA0IEFuaW1hdGlvbiBXaW5kb3cgVHlwZXNcbiAqIDEuIGZyZWVcbiAqICB8LT4gIHwtPlxuICogQ3VycmVudCB0aW1lIGlzIGEgZml4ZWQgcmFuZ2UsIGFuaW1hdGlvbiBjb250cm9sbGVyIGNhbGxzIG5leHQgYW5pbWF0aW9uIGZyYW1lcyBjb250aW51b3VzbHkgdG8gYW5pbWF0aW9uIGEgbW92aW5nIHdpbmRvd1xuICogVGhlIGluY3JlbWVudCBpZCBiYXNlZCBvbiBkb21haW4gLyBCQVNFX1NQRUVEICogU1BFRURcbiAqXG4gKiAyLiBpbmNyZW1lbnRhbFxuICogfCAgICB8LT5cbiAqIFNhbWUgYXMgZnJlZSwgY3VycmVudCB0aW1lIGlzIGEgZ3Jvd2luZyByYW5nZSwgb25seSB0aGUgbWF4IHZhbHVlIG9mIHJhbmdlIGluY3JlbWVudCBkdXJpbmcgYW5pbWF0aW9uLlxuICogVGhlIGluY3JlbWVudCBpcyBhbHNvIGJhc2VkIG9uIGRvbWFpbiAvIEJBU0VfU1BFRUQgKiBTUEVFRFxuICpcbiAqIDMuIHBvaW50XG4gKiBvIC0+IG9cbiAqIEN1cnJlbnQgdGltZSBpcyBhIHBvaW50LCBhbmltYXRpb24gY29udHJvbGxlciBjYWxscyBuZXh0IGFuaW1hdGlvbiBmcmFtZSBjb250aW51b3VzbHkgdG8gYW5pbWF0aW9uIGEgbW92aW5nIHBvaW50XG4gKiBUaGUgaW5jcmVtZW50IGlzIGJhc2VkIG9uIGRvbWFpbiAvIEJBU0VfU1BFRUQgKiBTUEVFRFxuICpcbiAqIDQuIGludGVydmFsXG4gKiBvIH4+IG9cbiAqIEN1cnJlbnQgdGltZSBpcyBhIHBvaW50LiBBbiBhcnJheSBvZiBzb3J0ZWQgdGltZSBzdGVwcyBuZWVkIHRvIGJlIHByb3ZpZGVkLlxuICogYW5pbWF0aW9uIGNvbnRyb2xsZXIgY2FsbHMgbmV4dCBhbmltYXRpb24gYXQgYSBpbnRlcnZhbCB3aGVuIHRoZSBwb2ludCBqdW1wcyB0byB0aGUgbmV4dCBzdGVwXG4gKi9cbmV4cG9ydCBjb25zdCBBTklNQVRJT05fV0lORE9XID0ga2V5TWlycm9yKHtcbiAgZnJlZTogbnVsbCxcbiAgaW5jcmVtZW50YWw6IG51bGwsXG4gIHBvaW50OiBudWxsLFxuICBpbnRlcnZhbDogbnVsbFxufSk7XG5leHBvcnQgY29uc3QgREVGQVVMVF9USU1FX0ZPUk1BVCA9ICdNTS9ERC9ZWSBISDptbTpzc2EnO1xuZXhwb3J0IGNvbnN0IFNQRUVEX0NPTlRST0xfUkFOR0U6IFtudW1iZXIsIG51bWJlcl0gPSBbMCwgMTBdO1xuZXhwb3J0IGNvbnN0IFNQRUVEX0NPTlRST0xfU1RFUCA9IDAuMDAxO1xuXG4vLyBHZW9jb2RlclxuZXhwb3J0IGNvbnN0IEdFT0NPREVSX0RBVEFTRVRfTkFNRSA9ICdnZW9jb2Rlcl9kYXRhc2V0JztcbmV4cG9ydCBjb25zdCBHRU9DT0RFUl9MQVlFUl9JRCA9ICdnZW9jb2Rlcl9sYXllcic7XG5leHBvcnQgY29uc3QgR0VPQ09ERVJfR0VPX09GRlNFVCA9IDAuMDU7XG5leHBvcnQgY29uc3QgR0VPQ09ERVJfSUNPTl9DT0xPUjogW251bWJlciwgbnVtYmVyLCBudW1iZXJdID0gWzI1NSwgMCwgMF07XG5leHBvcnQgY29uc3QgR0VPQ09ERVJfSUNPTl9TSVpFID0gODA7XG5cbi8vIFdlIGNvdWxkIHVzZSBkaXJlY3RseSByZWFjdC1tYXAtZ2wtZHJhdyBFZGl0b3JNb2RlIGJ1dCB0aGlzIHdvdWxkXG4vLyBjcmVhdGUgYSBkaXJlY3QgZGVwZW5kZW5jeSB3aXRoIHJlYWN0LW1hcC1nbC1kcmF3XG4vLyBDcmVhdGVkIHRoaXMgbWFwIHRvIGJlIGluZGVwZW5kZW50IGZyb20gcmVhY3QtbWFwLWdsLWRyYXdcbmV4cG9ydCBjb25zdCBFRElUT1JfTU9ERVMgPSB7XG4gIFJFQURfT05MWTogRWRpdG9yTW9kZXMuUkVBRF9PTkxZLFxuICBEUkFXX1BPTFlHT046IEVkaXRvck1vZGVzLkRSQVdfUE9MWUdPTixcbiAgRFJBV19SRUNUQU5HTEU6IEVkaXRvck1vZGVzLkRSQVdfUkVDVEFOR0xFLFxuICBFRElUOiBFZGl0b3JNb2Rlcy5FRElUX1ZFUlRFWFxufTtcblxuZXhwb3J0IGNvbnN0IEVESVRPUl9BVkFJTEFCTEVfTEFZRVJTOiBzdHJpbmdbXSA9IFtcbiAgTEFZRVJfVFlQRVMucG9pbnQsXG4gIExBWUVSX1RZUEVTLmhleGFnb24sXG4gIExBWUVSX1RZUEVTLmFyYyxcbiAgTEFZRVJfVFlQRVMubGluZSxcbiAgTEFZRVJfVFlQRVMuaGV4YWdvbklkXG5dO1xuLy8gR1BVIEZpbHRlcmluZ1xuLyoqXG4gKiBNYXggbnVtYmVyIG9mIGZpbHRlciB2YWx1ZSBidWZmZXJzIHRoYXQgZGVjay5nbCBwcm92aWRlc1xuICovXG5leHBvcnQgY29uc3QgTUFYX0dQVV9GSUxURVJTID0gNDtcbmV4cG9ydCBjb25zdCBNQVBfVEhVTUJOQUlMX0RJTUVOU0lPTiA9IHtcbiAgd2lkdGg6IDMwMCxcbiAgaGVpZ2h0OiAyMDBcbn07XG5cbmV4cG9ydCBjb25zdCBNQVBfSU5GT19DSEFSQUNURVIgPSB7XG4gIHRpdGxlOiAxMDAsXG4gIGRlc2NyaXB0aW9uOiAxMDBcbn07XG5cbi8vIExvYWQgZGF0YVxuZXhwb3J0IGNvbnN0IExPQURJTkdfTUVUSE9EUyA9IGtleU1pcnJvcih7XG4gIHVwbG9hZDogbnVsbCxcbiAgc3RvcmFnZTogbnVsbFxufSk7XG5cbmV4cG9ydCBjb25zdCBEQVRBU0VUX0ZPUk1BVFMgPSBrZXlNaXJyb3Ioe1xuICByb3c6IG51bGwsXG4gIGdlb2pzb246IG51bGwsXG4gIGNzdjogbnVsbCxcbiAga2VwbGVyZ2w6IG51bGxcbn0pO1xuXG5leHBvcnQgY29uc3QgTUFQX0NPTlRST0xTID0ga2V5TWlycm9yKHtcbiAgdmlzaWJsZUxheWVyczogbnVsbCxcbiAgbWFwTGVnZW5kOiBudWxsLFxuICB0b2dnbGUzZDogbnVsbCxcbiAgc3BsaXRNYXA6IG51bGwsXG4gIG1hcERyYXc6IG51bGwsXG4gIG1hcExvY2FsZTogbnVsbFxufSk7XG5cbmV4cG9ydCBjb25zdCBNQVNLX0xBWUVSX0lEID0gJ21hc2tfbGF5ZXInO1xuXG5leHBvcnQgY29uc3QgWk9PTV9MRVZFTF9MSU1JVFMgPSB7XG4gIG1pbjogMCxcbiAgbWF4OiAyMVxufTtcbiJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7QUFvQkEsSUFBQUEsVUFBQSxHQUFBQyxzQkFBQSxDQUFBQyxPQUFBO0FBQ0EsSUFBQUMsZUFBQSxHQUFBRCxPQUFBO0FBR0EsSUFBQUUsUUFBQSxHQUFBRixPQUFBO0FBVUEsSUFBQUcsTUFBQSxHQUFBSCxPQUFBO0FBV0EsSUFBQUksTUFBQSxHQUFBSixPQUFBO0FBQ0EsSUFBQUssYUFBQSxHQUFBTCxPQUFBO0FBQ0EsSUFBQU0sUUFBQSxHQUFBTixPQUFBO0FBQ0EsSUFBQU8sTUFBQSxHQUFBUCxPQUFBO0FBQXlDLFNBQUFRLFFBQUFDLENBQUEsRUFBQUMsQ0FBQSxRQUFBQyxDQUFBLEdBQUFDLE1BQUEsQ0FBQUMsSUFB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QUFXLENBQUNHO0FBQ3BCLENBQUM7QUFFTSxJQUFNQyx1QkFBaUMsR0FBQWpSLE9BQUEsQ0FBQWlSLHVCQUFBLEdBQUcsQ0FDL0NDLGtCQUFXLENBQUMvTCxLQUFLLEVBQ2pCK0wsa0JBQVcsQ0FBQ0MsT0FBTyxFQUNuQkQsa0JBQVcsQ0FBQ0UsR0FBRyxFQUNmRixrQkFBVyxDQUFDRyxJQUFJLEVBQ2hCSCxrQkFBVyxDQUFDSSxTQUFTLENBQ3RCO0FBQ0Q7QUFDQTtBQUNBO0FBQ0E7QUFDTyxJQUFNQyxlQUFlLEdBQUF2UixPQUFBLENBQUF1UixlQUFBLEdBQUcsQ0FBQztBQUN6QixJQUFNQyx1QkFBdUIsR0FBQXhSLE9BQUEsQ0FBQXdSLHVCQUFBLEdBQUc7RUFDckNwUSxLQUFLLEVBQUUsR0FBRztFQUNWZ00sTUFBTSxFQUFFO0FBQ1YsQ0FBQztBQUVNLElBQU1xRSxrQkFBa0IsR0FBQXpSLE9BQUEsQ0FBQXlSLGtCQUFBLEdBQUc7RUFDaENDLEtBQUssRUFBRSxHQUFHO0VBQ1ZDLFdBQVcsRUFBRTtBQUNmLENBQUM7O0FBRUQ7QUFDTyxJQUFNQyxlQUFlLEdBQUE1UixPQUFBLENBQUE0UixlQUFBLEdBQUcsSUFBQTVQLHFCQUFTLEVBQUM7RUFDdkM2UCxNQUFNLEVBQUUsSUFBSTtFQUNaQyxPQUFPLEVBQUU7QUFDWCxDQUFDLENBQUM7QUFFSyxJQUFNQyxlQUFlLEdBQUEvUixPQUFBLENBQUErUixlQUFBLEdBQUcsSUFBQS9QLHFCQUFTLEVBQUM7RUFDdkNnUSxHQUFHLEVBQUUsSUFBSTtFQUNUbk8sT0FBTyxFQUFFLElBQUk7RUFDYm9PLEdBQUcsRUFBRSxJQUFJO0VBQ1RDLFFBQVEsRUFBRTtBQUNaLENBQUMsQ0FBQztBQUVLLElBQU1DLFlBQVksR0FBQW5TLE9BQUEsQ0FBQW1TLFlBQUEsR0FBRyxJQUFBblEscUJBQVMsRUFBQztFQUNwQ29RLGFBQWEsRUFBRSxJQUFJO0VBQ25CdlEsU0FBUyxFQUFFLElBQUk7RUFDZndRLFFBQVEsRUFBRSxJQUFJO0VBQ2RDLFFBQVEsRUFBRSxJQUFJO0VBQ2RDLE9BQU8sRUFBRSxJQUFJO0VBQ2JDLFNBQVMsRUFBRTtBQUNiLENBQUMsQ0FBQztBQUVLLElBQU1DLGFBQWEsR0FBQXpTLE9BQUEsQ0FBQXlTLGFBQUEsR0FBRyxZQUFZO0FBRWxDLElBQU1DLGlCQUFpQixHQUFBMVMsT0FBQSxDQUFBMFMsaUJBQUEsR0FBRztFQUMvQkMsR0FBRyxFQUFFLENBQUM7RUFDTkMsR0FBRyxFQUFFO0FBQ1AsQ0FBQyIsImlnbm9yZUxpc3QiOltdfQ==
|
|
832
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfa2V5bWlycm9yIiwiX2ludGVyb3BSZXF1aXJlRGVmYXVsdCIsInJlcXVpcmUiLCJfcmVhY3RNYXBHbERyYXciLCJfZDNTY2FsZSIsIl9pY29ucyIsIl91dGlscyIsIl9jdXN0b21TY2FsZXMiLCJfdG9vbHRpcCIsIl90eXBlcyIsIm93bktleXMiLCJlIiwiciIsInQiLCJPYmplY3QiLCJrZXlzIiwiZ2V0T3duUHJvcGVydHlTeW1ib2xzIiwibyIsImZpbHRlciIsImdldE93blByb3BlcnR5RGVzY3JpcHRvciIsImVudW1lcmFibGUiLCJwdXNoIiwiYXBwbHkiLCJfb2JqZWN0U3ByZWFkIiwiYXJndW1lbnRzIiwibGVuZ3RoIiwiZm9yRWFjaCIsIl9kZWZpbmVQcm9wZXJ0eTIiLCJnZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3JzIiwiZGVmaW5lUHJvcGVydGllcyIsImRlZmluZVByb3BlcnR5IiwiQUNUSU9OX1BSRUZJWCIsImV4cG9ydHMiLCJDTE9VREZST05UIiwiSUNPTl9QUkVGSVgiLCJjb25jYXQiLCJERUZBVUxUX01BUEJPWF9BUElfVVJMIiwiREFUQV9UQUJMRV9JRCIsIkRFTEVURV9EQVRBX0lEIiwiQUREX0RBVEFfSUQiLCJFWFBPUlRfSU1BR0VfSUQiLCJFWFBPUlRfREFUQV9JRCIsIkFERF9NQVBfU1RZTEVfSUQiLCJFWFBPUlRfTUFQX0lEIiwiU0FWRV9NQVBfSUQiLCJPVkVSV1JJVEVfTUFQX0lEIiwiU0hBUkVfTUFQX0lEIiwiS0VQTEVSX0dMX05BTUUiLCJLRVBMRVJfR0xfVkVSU0lPTiIsIktFUExFUl9HTF9XRUJTSVRFIiwiRElNRU5TSU9OUyIsInNpZGVQYW5lbCIsIndpZHRoIiwibWFyZ2luIiwidG9wIiwibGVmdCIsImJvdHRvbSIsInJpZ2h0IiwiaGVhZGVySGVpZ2h0IiwibWFwQ29udHJvbCIsInBhZGRpbmciLCJtYXBMZWdlbmQiLCJwaW5uZWQiLCJUSEVNRSIsImtleU1pcnJvciIsImxpZ2h0IiwiZGFyayIsImJhc2UiLCJTSURFQkFSX1BBTkVMUyIsImlkIiwibGFiZWwiLCJpY29uQ29tcG9uZW50IiwiTGF5ZXJzIiwib25DbGljayIsIkZpbHRlckZ1bm5lbCIsIkN1cnNvckNsaWNrIiwiU2V0dGluZ3MiLCJQQU5FTFMiLCJERUZBVUxUX0xBWUVSX0dST1VQUyIsInNsdWciLCJfcmVmIiwibWF0Y2giLCJkZWZhdWx0VmlzaWJpbGl0eSIsIl9yZWYyIiwiX3JlZjMiLCJfcmVmNCIsIl9yZWY1IiwiX3JlZjYiLCJERUZBVUxUX01BUF9TVFlMRVMiLCJ1cmwiLCJpY29uIiwibGF5ZXJHcm91cHMiLCJHRU9KU09OX0ZJRUxEUyIsImdlb2pzb24iLCJJQ09OX0ZJRUxEUyIsIlRSSVBfUE9JTlRfRklFTERTIiwiVFJJUF9BUkNfRklFTERTIiwibGF0MCIsImxuZzAiLCJsYXQxIiwibG5nMSIsIkZJTFRFUl9UWVBFUyIsInJhbmdlIiwic2VsZWN0IiwiaW5wdXQiLCJ0aW1lUmFuZ2UiLCJtdWx0aVNlbGVjdCIsInBvbHlnb24iLCJTQ0FMRV9UWVBFUyIsIm9yZGluYWwiLCJxdWFudGlsZSIsInF1YW50aXplIiwibGluZWFyIiwic3FydCIsImxvZyIsInBvaW50IiwiY3VzdG9tIiwibG9nYXJpdGhtaWMiLCJpZGVudGl0eSIsIlNDQUxFX0ZVTkMiLCJzY2FsZUxpbmVhciIsInNjYWxlUXVhbnRpemUiLCJzY2FsZVF1YW50aWxlIiwic2NhbGVPcmRpbmFsIiwic2NhbGVTcXJ0Iiwic2NhbGVMb2ciLCJzY2FsZVBvaW50Iiwic2NhbGVUaHJlc2hvbGQiLCJzY2FsZUlkZW50aXR5IiwiQUxMX0ZJRUxEX1RZUEVTIiwiZGF0ZSIsImludGVnZXIiLCJyZWFsIiwic3RyaW5nIiwidGltZXN0YW1wIiwiU09SVF9PUkRFUiIsIkFTQ0VORElORyIsIkRFU0NFTkRJTkciLCJVTlNPUlQiLCJUQUJMRV9PUFRJT04iLCJTT1JUX0FTQyIsIlNPUlRfREVTIiwiUElOIiwiVU5QSU4iLCJDT1BZIiwiVEFCTEVfT1BUSU9OX0xJU1QiLCJ2YWx1ZSIsImRpc3BsYXkiLCJBcnJvd1VwIiwiY29uZGl0aW9uIiwicHJvcHMiLCJzb3J0TW9kZSIsIkFycm93RG93biIsIkNhbmNlbCIsImlzU29ydGVkIiwiUGluIiwiaXNQaW5uZWQiLCJDbGlwYm9hcmQiLCJPUkFOR0UiLCJQSU5LIiwiUFVSUExFIiwiQkxVRSIsIkJMVUUyIiwiQkxVRTMiLCJHUkVFTiIsIlJFRCIsIkZJTEVEX1RZUEVfRElTUExBWSIsImNvbG9yIiwiRklFTERfQ09MT1JTIiwiSElHSExJR0hfQ09MT1JfM0QiLCJDSEFOTkVMX1NDQUxFUyIsInJhZGl1cyIsInNpemUiLCJjdXN0b21NYXJrZXIiLCJjb2xvckFnZ3IiLCJzaXplQWdnciIsIkFHR1JFR0FUSU9OX1RZUEVTIiwiY291bnQiLCJhdmVyYWdlIiwibWF4aW11bSIsIm1pbmltdW0iLCJtZWRpYW4iLCJzdGRldiIsInN1bSIsInZhcmlhbmNlIiwibW9kZSIsImNvdW50VW5pcXVlIiwiYW55VmFsdWUiLCJGSUVMRF9UWVBFU19BR0dSRUdBVE9SUyIsIkZJRUxEX0FHR1JFR0FUT1JTIiwiZGlzcGxheU5hbWUiLCJsaW5lYXJGaWVsZFNjYWxlRnVuY3Rpb25zIiwibGluZWFyRmllbGRBZ2dyU2NhbGVGdW5jdGlvbnMiLCJvcmRpbmFsRmllbGRTY2FsZUZ1bmN0aW9ucyIsIm9yZGluYWxGaWVsZEFnZ3JTY2FsZUZ1bmN0aW9ucyIsIm5vdFN1cHBvcnRlZFNjYWxlT3B0cyIsIm5vdFN1cHBvcnRBZ2dyT3B0cyIsIkRFRkFVTFRfQUdHUkVHQVRJT04iLCJGSUVMRF9PUFRTIiwidHlwZSIsInNjYWxlIiwiZm9ybWF0IiwibGVnZW5kIiwiZCIsInRvb2x0aXAiLCJUT09MVElQX0ZPUk1BVF9UWVBFUyIsIk5PTkUiLCJERUNJTUFMIiwiUEVSQ0VOVEFHRSIsIkRBVEUiLCJEQVRFX1RJTUUiLCJCT09MRUFOIiwiQ0hBTk5FTF9TQ0FMRV9TVVBQT1JURURfRklFTERTIiwicmVkdWNlIiwiYWNjdSIsImtleSIsImZ0IiwiREVGQVVMVF9MQVlFUl9DT0xPUiIsInRyaXBBcmMiLCJiZWdpbnRyaXBfbGF0IiwiZHJvcG9mZl9sYXQiLCJyZXF1ZXN0X2xhdCIsIkRFRkFVTFRfVE9PTFRJUF9GSUVMRFMiLCJOT19WQUxVRV9DT0xPUiIsIlVOS05PV05fQ09MT1IiLCJMQVlFUl9CTEVORElOR1MiLCJhZGRpdGl2ZSIsImJsZW5kRnVuYyIsImJsZW5kRXF1YXRpb24iLCJub3JtYWwiLCJzdWJ0cmFjdGl2ZSIsIk1BWF9ERUZBVUxUX1RPT0xUSVBTIiwiUkVTT0xVVElPTlMiLCJPTkVfWCIsIlRXT19YIiwiRVhQT1JUX0lNR19SQVRJT1MiLCJTQ1JFRU4iLCJGT1VSX0JZX1RIUkVFIiwiU0lYVEVFTl9CWV9OSU5FIiwiQ1VTVE9NIiwiU2NyZWVuUmF0aW9PcHRpb24iLCJnZXRTaXplIiwic2NyZWVuVyIsInNjcmVlbkgiLCJoZWlnaHQiLCJDdXN0b21SYXRpb09wdGlvbiIsImhpZGRlbiIsIm1hcFciLCJtYXBIIiwiRm91ckJ5VGhyZWVSYXRpb09wdGlvbiIsIk1hdGgiLCJyb3VuZCIsIlNpeHRlZW5CeU5pbmVSYXRpb09wdGlvbiIsIkVYUE9SVF9JTUdfUkFUSU9fT1BUSU9OUyIsIk9uZVhSZXNvbHV0aW9uT3B0aW9uIiwiYXZhaWxhYmxlIiwiVHdvWFJlc29sdXRpb25PcHRpb24iLCJFWFBPUlRfSU1HX1JFU09MVVRJT05fT1BUSU9OUyIsIkVYUE9SVF9EQVRBX1RZUEUiLCJDU1YiLCJFWFBPUlRfREFUQV9UWVBFX09QVElPTlMiLCJ0b0xvd2VyQ2FzZSIsIkVYUE9SVF9NQVBfRk9STUFUUyIsIkhUTUwiLCJKU09OIiwiRVhQT1JUX0hUTUxfTUFQX01PREVTIiwiUkVBRCIsIkVESVQiLCJFWFBPUlRfTUFQX0ZPUk1BVF9PUFRJT05TIiwiZW50cmllcyIsIm1hcCIsImVudHJ5IiwiRVhQT1JUX0hUTUxfTUFQX01PREVfT1BUSU9OUyIsImdldEhUTUxNYXBNb2RlVGlsZVVybCIsIkRFRkFVTFRfVVVJRF9DT1VOVCIsIkRFRkFVTFRfTk9USUZJQ0FUSU9OX01FU1NBR0UiLCJERUZBVUxUX05PVElGSUNBVElPTl9UWVBFUyIsImluZm8iLCJlcnJvciIsIndhcm5pbmciLCJzdWNjZXNzIiwiREVGQVVMVF9OT1RJRklDQVRJT05fVE9QSUNTIiwiZ2xvYmFsIiwiZmlsZSIsIlRIUk9UVExFX05PVElGSUNBVElPTl9USU1FIiwiQkFTRV9TUEVFRCIsIkZQUyIsIkFOSU1BVElPTl9XSU5ET1ciLCJmcmVlIiwiaW5jcmVtZW50YWwiLCJpbnRlcnZhbCIsIkRFRkFVTFRfVElNRV9GT1JNQVQiLCJTUEVFRF9DT05UUk9MX1JBTkdFIiwiU1BFRURfQ09OVFJPTF9TVEVQIiwiR0VPQ09ERVJfREFUQVNFVF9OQU1FIiwiR0VPQ09ERVJfTEFZRVJfSUQiLCJHRU9DT0RFUl9HRU9fT0ZGU0VUIiwiR0VPQ09ERVJfSUNPTl9DT0xPUiIsIkdFT0NPREVSX0lDT05fU0laRSIsIkVESVRPUl9NT0RFUyIsIlJFQURfT05MWSIsIkVkaXRvck1vZGVzIiwiRFJBV19QT0xZR09OIiwiRFJBV19SRUNUQU5HTEUiLCJFRElUX1ZFUlRFWCIsIkVESVRPUl9BVkFJTEFCTEVfTEFZRVJTIiwiTEFZRVJfVFlQRVMiLCJoZXhhZ29uIiwiYXJjIiwibGluZSIsImhleGFnb25JZCIsIk1BWF9HUFVfRklMVEVSUyIsIk1BUF9USFVNQk5BSUxfRElNRU5TSU9OIiwiTUFQX0lORk9fQ0hBUkFDVEVSIiwidGl0bGUiLCJkZXNjcmlwdGlvbiIsIkxPQURJTkdfTUVUSE9EUyIsInVwbG9hZCIsInN0b3JhZ2UiLCJEQVRBU0VUX0ZPUk1BVFMiLCJyb3ciLCJjc3YiLCJrZXBsZXJnbCIsIk1BUF9DT05UUk9MUyIsInZpc2libGVMYXllcnMiLCJ0b2dnbGUzZCIsInNwbGl0TWFwIiwibWFwRHJhdyIsIm1hcExvY2FsZSIsIk1BU0tfTEFZRVJfSUQiLCJaT09NX0xFVkVMX0xJTUlUUyIsIm1pbiIsIm1heCJdLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9jb25zdGFudHMvZGVmYXVsdC1zZXR0aW5ncy50cyJdLCJzb3VyY2VzQ29udGVudCI6WyIvLyBDb3B5cmlnaHQgKGMpIDIwMjIgVWJlciBUZWNobm9sb2dpZXMsIEluYy5cbi8vXG4vLyBQZXJtaXNzaW9uIGlzIGhlcmVieSBncmFudGVkLCBmcmVlIG9mIGNoYXJnZSwgdG8gYW55IHBlcnNvbiBvYnRhaW5pbmcgYSBjb3B5XG4vLyBvZiB0aGlzIHNvZnR3YXJlIGFuZCBhc3NvY2lhdGVkIGRvY3VtZW50YXRpb24gZmlsZXMgKHRoZSBcIlNvZnR3YXJlXCIpLCB0byBkZWFsXG4vLyBpbiB0aGUgU29mdHdhcmUgd2l0aG91dCByZXN0cmljdGlvbiwgaW5jbHVkaW5nIHdpdGhvdXQgbGltaXRhdGlvbiB0aGUgcmlnaHRzXG4vLyB0byB1c2UsIGNvcHksIG1vZGlmeSwgbWVyZ2UsIHB1Ymxpc2gsIGRpc3RyaWJ1dGUsIHN1YmxpY2Vuc2UsIGFuZC9vciBzZWxsXG4vLyBjb3BpZXMgb2YgdGhlIFNvZnR3YXJlLCBhbmQgdG8gcGVybWl0IHBlcnNvbnMgdG8gd2hvbSB0aGUgU29mdHdhcmUgaXNcbi8vIGZ1cm5pc2hlZCB0byBkbyBzbywgc3ViamVjdCB0byB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnM6XG4vL1xuLy8gVGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UgYW5kIHRoaXMgcGVybWlzc2lvbiBub3RpY2Ugc2hhbGwgYmUgaW5jbHVkZWQgaW5cbi8vIGFsbCBjb3BpZXMgb3Igc3Vic3RhbnRpYWwgcG9ydGlvbnMgb2YgdGhlIFNvZnR3YXJlLlxuLy9cbi8vIFRIRSBTT0ZUV0FSRSBJUyBQUk9WSURFRCBcIkFTIElTXCIsIFdJVEhPVVQgV0FSUkFOVFkgT0YgQU5ZIEtJTkQsIEVYUFJFU1MgT1Jcbi8vIElNUExJRUQsIElOQ0xVRElORyBCVVQgTk9UIExJTUlURUQgVE8gVEhFIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZLFxuLy8gRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQU5EIE5PTklORlJJTkdFTUVOVC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFXG4vLyBBVVRIT1JTIE9SIENPUFlSSUdIVCBIT0xERVJTIEJFIExJQUJMRSBGT1IgQU5ZIENMQUlNLCBEQU1BR0VTIE9SIE9USEVSXG4vLyBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQU4gQUNUSU9OIE9GIENPTlRSQUNULCBUT1JUIE9SIE9USEVSV0lTRSwgQVJJU0lORyBGUk9NLFxuLy8gT1VUIE9GIE9SIElOIENPTk5FQ1RJT04gV0lUSCBUSEUgU09GVFdBUkUgT1IgVEhFIFVTRSBPUiBPVEhFUiBERUFMSU5HUyBJTlxuLy8gVEhFIFNPRlRXQVJFLlxuXG5pbXBvcnQga2V5TWlycm9yIGZyb20gJ2tleW1pcnJvcic7XG5pbXBvcnQge0VkaXRvck1vZGVzfSBmcm9tICdyZWFjdC1tYXAtZ2wtZHJhdyc7XG5cbmltcG9ydCB7Q29sb3J9IGZyb20gJ0BkZWNrLmdsL2NvcmUnO1xuaW1wb3J0IHtcbiAgc2NhbGVMaW5lYXIsXG4gIHNjYWxlUXVhbnRpemUsXG4gIHNjYWxlUXVhbnRpbGUsXG4gIHNjYWxlT3JkaW5hbCxcbiAgc2NhbGVTcXJ0LFxuICBzY2FsZUxvZyxcbiAgc2NhbGVQb2ludCxcbiAgc2NhbGVUaHJlc2hvbGRcbn0gZnJvbSAnZDMtc2NhbGUnO1xuaW1wb3J0IHtcbiAgTGF5ZXJzLFxuICBGaWx0ZXJGdW5uZWwsXG4gIFNldHRpbmdzLFxuICBDdXJzb3JDbGljayxcbiAgUGluLFxuICBBcnJvd0Rvd24sXG4gIEFycm93VXAsXG4gIENsaXBib2FyZCxcbiAgQ2FuY2VsXG59IGZyb20gJ2NvbXBvbmVudHMvY29tbW9uL2ljb25zJztcbmltcG9ydCB7Z2V0SFRNTE1hcE1vZGVUaWxlVXJsfSBmcm9tICd1dGlscy91dGlscyc7XG5pbXBvcnQge3NjYWxlSWRlbnRpdHl9IGZyb20gJ3V0aWxzL2N1c3RvbS1zY2FsZXMnO1xuaW1wb3J0IHtUT09MVElQX0ZPUk1BVF9UWVBFU30gZnJvbSAnLi90b29sdGlwJztcbmltcG9ydCB7TEFZRVJfVFlQRVN9IGZyb20gJ2xheWVycy90eXBlcyc7XG5pbXBvcnQge1JHQkFDb2xvcn0gZnJvbSAncmVkdWNlcnMnO1xuXG5leHBvcnQgY29uc3QgQUNUSU9OX1BSRUZJWCA9ICdAQGtlcGxlci5nbC8nO1xuZXhwb3J0IGNvbnN0IENMT1VERlJPTlQgPSAnaHR0cHM6Ly9kMWEzZjRzcGF6enJwNC5jbG91ZGZyb250Lm5ldC9rZXBsZXIuZ2wnO1xuZXhwb3J0IGNvbnN0IElDT05fUFJFRklYID0gYCR7Q0xPVURGUk9OVH0vZ2VvZHVkZWA7XG5leHBvcnQgY29uc3QgREVGQVVMVF9NQVBCT1hfQVBJX1VSTCA9ICdodHRwczovL2FwaS5tYXBib3guY29tJztcblxuLy8gTW9kYWwgSWRzXG4vKipcbiAqIE1vZGFsIGlkOiBkYXRhIHRhYmxlXG4gKiBAY29uc3RhbnRcbiAqIEB0eXBlIHtzdHJpbmd9XG4gKiBAcHVibGljXG4gKi9cbmV4cG9ydCBjb25zdCBEQVRBX1RBQkxFX0lEID0gJ2RhdGFUYWJsZSc7XG4vKipcbiAqIE1vZGFsIGlkOiBkZWxldGUgZGF0YXNldCBjb25maXJtIGRpYWxvZ1xuICogQGNvbnN0YW50XG4gKiBAdHlwZSB7c3RyaW5nfVxuICogQHB1YmxpY1xuICovXG5leHBvcnQgY29uc3QgREVMRVRFX0RBVEFfSUQgPSAnZGVsZXRlRGF0YSc7XG4vKipcbiAqIE1vZGFsIGlkOiBhZGQgZGF0YSBtb2RhbFxuICogQGNvbnN0YW50XG4gKiBAdHlwZSB7c3RyaW5nfVxuICogQHB1YmxpY1xuICovXG5leHBvcnQgY29uc3QgQUREX0RBVEFfSUQgPSAnYWRkRGF0YSc7XG4vKipcbiAqIE1vZGFsIGlkOiBleHBvcnQgaW1hZ2UgbW9kYWxcbiAqIEBjb25zdGFudFxuICogQHR5cGUge3N0cmluZ31cbiAqIEBwdWJsaWNcbiAqL1xuZXhwb3J0IGNvbnN0IEVYUE9SVF9JTUFHRV9JRCA9ICdleHBvcnRJbWFnZSc7XG4vKipcbiAqIE1vZGFsIGlkOiBleHBvcnQgZGF0YSBtb2RhbFxuICogQGNvbnN0YW50XG4gKiBAdHlwZSB7c3RyaW5nfVxuICogQHB1YmxpY1xuICovXG5leHBvcnQgY29uc3QgRVhQT1JUX0RBVEFfSUQgPSAnZXhwb3J0RGF0YSc7XG4vKipcbiAqIE1vZGFsIGlkOiBhZGQgY3VzdG9tIG1hcCBzdHlsZSBtb2RhbFxuICogQGNvbnN0YW50XG4gKiBAdHlwZSB7c3RyaW5nfVxuICogQHB1YmxpY1xuICovXG5leHBvcnQgY29uc3QgQUREX01BUF9TVFlMRV9JRCA9ICdhZGRNYXBTdHlsZSc7XG4vKipcbiAqIE1vZGFsIGlkOiBleHBvcnQgbWFwIG1vZGFsXG4gKiBAY29uc3RhbnRcbiAqIEB0eXBlIHtzdHJpbmd9XG4gKiBAcHVibGljXG4gKi9cbmV4cG9ydCBjb25zdCBFWFBPUlRfTUFQX0lEID0gJ2V4cG9ydE1hcCc7XG4vKipcbiAqIE1vZGFsIGlkOiBzYXZlIG1hcCBtb2RhbFxuICogQGNvbnN0YW50XG4gKiBAdHlwZSB7c3RyaW5nfVxuICogQHB1YmxpY1xuICovXG5leHBvcnQgY29uc3QgU0FWRV9NQVBfSUQgPSAnc2F2ZU1hcCc7XG4vKipcbiAqIE1vZGFsIGlkOiBjb25maXJtIHRvIG92ZXJ3cml0ZSBzYXZlZCBtYXBcbiAqIEBjb25zdGFudFxuICogQHR5cGUge3N0cmluZ31cbiAqIEBwdWJsaWNcbiAqL1xuZXhwb3J0IGNvbnN0IE9WRVJXUklURV9NQVBfSUQgPSAnb3ZlcndyaXRlTWFwJztcbi8qKlxuICogTW9kYWwgaWQ6IHNoYXJlIG1hcCB1cmwgbW9kYWxcbiAqIEBjb25zdGFudFxuICogQHR5cGUge3N0cmluZ31cbiAqIEBwdWJsaWNcbiAqL1xuZXhwb3J0IGNvbnN0IFNIQVJFX01BUF9JRCA9ICdzaGFyZU1hcCc7XG5cbmV4cG9ydCBjb25zdCBLRVBMRVJfR0xfTkFNRSA9ICdrZXBsZXIuZ2wnO1xuXG4vLyBfX1BBQ0tBR0VfVkVSU0lPTl9fIGlzIGF1dG9tYXRpY2FsbHkgaW5qZWN0ZWQgYnkgQmFiZWwvV2VicGFjayBkdXJpbmcgdGhlIGJ1aWxkaW5nIHByb2Nlc3Ncbi8vIFNpbmNlIHdlIGFyZSBpbmplY3RpbmcgdGhpcyBkdXJpbmcgdGhlIGJ1aWxkIHByb2Nlc3Mgd2l0aCBiYWJlbFxuLy8gd2hpbGUgZGV2ZWxvcGluZyBWRVJTSU9OIGlzIG5vdCBkZWZpbmVkLCB3ZSBjYXB0dXJlIHRoZSBleGNlcHRpb24gYW5kIHJldHVyblxuLy8gYW4gZW1wdHkgc3RyaW5nIHdoaWNoIHdpbGwgYWxsb3cgdXMgdG8gcmV0cmlldmUgdGhlIGxhdGVzdCB1bWQgdmVyc2lvblxuZXhwb3J0IGNvbnN0IEtFUExFUl9HTF9WRVJTSU9OID0gJ19fUEFDS0FHRV9WRVJTSU9OX18nO1xuZXhwb3J0IGNvbnN0IEtFUExFUl9HTF9XRUJTSVRFID0gJ2h0dHA6Ly9rZXBsZXIuZ2wvJztcblxuZXhwb3J0IGNvbnN0IERJTUVOU0lPTlMgPSB7XG4gIHNpZGVQYW5lbDoge1xuICAgIHdpZHRoOiAzMDAsXG4gICAgbWFyZ2luOiB7dG9wOiAyMCwgbGVmdDogMjAsIGJvdHRvbTogMzAsIHJpZ2h0OiAyMH0sXG4gICAgaGVhZGVySGVpZ2h0OiA5NlxuICB9LFxuICBtYXBDb250cm9sOiB7XG4gICAgd2lkdGg6IDE4NCxcbiAgICBwYWRkaW5nOiAxMixcbiAgICBtYXBMZWdlbmQ6IHtcbiAgICAgIHBpbm5lZDoge1xuICAgICAgICBib3R0b206IDIyLFxuICAgICAgICByaWdodDogMTJcbiAgICAgIH1cbiAgICB9XG4gIH1cbn07XG5cbi8qKlxuICogVGhlbWUgbmFtZSB0aGF0IGNhbiBiZSBwYXNzZWQgdG8gYEtlcGxlckdsYCBgcHJvcC50aGVtZWAuXG4gKiBBdmFpbGFibGUgdGhlbWVzIGFyZSBgVEhFTUUubGlnaHRgIGFuZCBgVEhFTUUuZGFya2AuIERlZmF1bHQgdGhlbWUgaXMgYFRIRU1FLmRhcmtgXG4gKiBAY29uc3RhbnRcbiAqIEB0eXBlIHtvYmplY3R9XG4gKiBAcHVibGljXG4gKiBAZXhhbXBsZVxuICogYGBganNcbiAqIGNvbnN0IE1hcCA9ICgpID0+IDxLZXBsZXJHbCB0aGVtZT17VEhFTUUubGlnaHR9IGlkPVwibWFwXCIvPlxuICogYGBgXG4gKi9cbmV4cG9ydCBjb25zdCBUSEVNRSA9IGtleU1pcnJvcih7XG4gIGxpZ2h0OiBudWxsLFxuICBkYXJrOiBudWxsLFxuICBiYXNlOiBudWxsXG59KTtcblxuZXhwb3J0IGNvbnN0IFNJREVCQVJfUEFORUxTID0gW1xuICB7XG4gICAgaWQ6ICdsYXllcicsXG4gICAgbGFiZWw6ICdzaWRlYmFyLnBhbmVscy5sYXllcicsXG4gICAgaWNvbkNvbXBvbmVudDogTGF5ZXJzLFxuICAgIG9uQ2xpY2s6IG51bGxcbiAgfSxcbiAge1xuICAgIGlkOiAnZmlsdGVyJyxcbiAgICBsYWJlbDogJ3NpZGViYXIucGFuZWxzLmZpbHRlcicsXG4gICAgaWNvbkNvbXBvbmVudDogRmlsdGVyRnVubmVsLFxuICAgIG9uQ2xpY2s6IG51bGxcbiAgfSxcbiAge1xuICAgIGlkOiAnaW50ZXJhY3Rpb24nLFxuICAgIGxhYmVsOiAnc2lkZWJhci5wYW5lbHMuaW50ZXJhY3Rpb24nLFxuICAgIGljb25Db21wb25lbnQ6IEN1cnNvckNsaWNrLFxuICAgIG9uQ2xpY2s6IG51bGxcbiAgfSxcbiAge1xuICAgIGlkOiAnbWFwJyxcbiAgICBsYWJlbDogJ3NpZGViYXIucGFuZWxzLmJhc2VtYXAnLFxuICAgIGljb25Db21wb25lbnQ6IFNldHRpbmdzLFxuICAgIG9uQ2xpY2s6IG51bGxcbiAgfVxuXTtcblxuLy8gYmFja3dhcmQgY29tcGF0aWJpbGl0eVxuZXhwb3J0IGNvbnN0IFBBTkVMUyA9IFNJREVCQVJfUEFORUxTO1xuXG4vLyBNQVAgU1RZTEVTXG5cbnR5cGUgREVGQVVMVF9MQVlFUl9HUk9VUCA9IHtcbiAgc2x1Zzogc3RyaW5nO1xuICBmaWx0ZXI6ICh2YWx1ZSkgPT4gYm9vbGVhbjtcbiAgZGVmYXVsdFZpc2liaWxpdHk6IGJvb2xlYW47XG59O1xuXG5leHBvcnQgY29uc3QgREVGQVVMVF9MQVlFUl9HUk9VUFM6IERFRkFVTFRfTEFZRVJfR1JPVVBbXSA9IFtcbiAge1xuICAgIHNsdWc6ICdsYWJlbCcsXG4gICAgZmlsdGVyOiAoe2lkfSkgPT4gaWQubWF0Y2goLyg/PShsYWJlbHxwbGFjZS18cG9pLSkpLyksXG4gICAgZGVmYXVsdFZpc2liaWxpdHk6IHRydWVcbiAgfSxcbiAge1xuICAgIHNsdWc6ICdyb2FkJyxcbiAgICBmaWx0ZXI6ICh7aWR9KSA9PiBpZC5tYXRjaCgvKD89KHJvYWR8cmFpbHdheXx0dW5uZWx8c3RyZWV0fGJyaWRnZSkpKD8hLipsYWJlbCkvKSxcbiAgICBkZWZhdWx0VmlzaWJpbGl0eTogdHJ1ZVxuICB9LFxuICB7XG4gICAgc2x1ZzogJ2JvcmRlcicsXG4gICAgZmlsdGVyOiAoe2lkfSkgPT4gaWQubWF0Y2goL2JvcmRlcnxib3VuZGFyaWVzLyksXG4gICAgZGVmYXVsdFZpc2liaWxpdHk6IGZhbHNlXG4gIH0sXG4gIHtcbiAgICBzbHVnOiAnYnVpbGRpbmcnLFxuICAgIGZpbHRlcjogKHtpZH0pID0+IGlkLm1hdGNoKC9idWlsZGluZy8pLFxuICAgIGRlZmF1bHRWaXNpYmlsaXR5OiB0cnVlXG4gIH0sXG4gIHtcbiAgICBzbHVnOiAnd2F0ZXInLFxuICAgIGZpbHRlcjogKHtpZH0pID0+IGlkLm1hdGNoKC8oPz0od2F0ZXJ8c3RyZWFtfGZlcnJ5KSkvKSxcbiAgICBkZWZhdWx0VmlzaWJpbGl0eTogdHJ1ZVxuICB9LFxuICB7XG4gICAgc2x1ZzogJ2xhbmQnLFxuICAgIGZpbHRlcjogKHtpZH0pID0+IGlkLm1hdGNoKC8oPz0ocGFya3N8bGFuZGNvdmVyfGluZHVzdHJpYWx8c2FuZHxoaWxsc2hhZGUpKS8pLFxuICAgIGRlZmF1bHRWaXNpYmlsaXR5OiB0cnVlXG4gIH0sXG4gIHtcbiAgICBzbHVnOiAnM2QgYnVpbGRpbmcnLFxuICAgIGZpbHRlcjogKCkgPT4gZmFsc2UsXG4gICAgZGVmYXVsdFZpc2liaWxpdHk6IGZhbHNlXG4gIH1cbl07XG5cbmV4cG9ydCBjb25zdCBERUZBVUxUX01BUF9TVFlMRVMgPSBbXG4gIHtcbiAgICBpZDogJ2RhcmsnLFxuICAgIGxhYmVsOiAnRGFyaycsXG4gICAgdXJsOiAnbWFwYm94Oi8vc3R5bGVzL3ViZXJkYXRhL2Nqb3FiYmY2bDlrMzAyc2w5NnR5dmthMDknLFxuICAgIGljb246IGAke0lDT05fUFJFRklYfS9VQkVSX0RBUktfVjIucG5nYCxcbiAgICBsYXllckdyb3VwczogREVGQVVMVF9MQVlFUl9HUk9VUFNcbiAgfSxcbiAge1xuICAgIGlkOiAnbGlnaHQnLFxuICAgIGxhYmVsOiAnTGlnaHQnLFxuICAgIHVybDogJ21hcGJveDovL3N0eWxlcy91YmVyZGF0YS9jam9xYjlqMzM5azFmMnNsOXQ1aWM1Ym40JyxcbiAgICBpY29uOiBgJHtJQ09OX1BSRUZJWH0vVUJFUl9MSUdIVF9WMi5wbmdgLFxuICAgIGxheWVyR3JvdXBzOiBERUZBVUxUX0xBWUVSX0dST1VQU1xuICB9LFxuICB7XG4gICAgaWQ6ICdtdXRlZCcsXG4gICAgbGFiZWw6ICdNdXRlZCBMaWdodCcsXG4gICAgdXJsOiAnbWFwYm94Oi8vc3R5bGVzL3ViZXJkYXRhL2NqZnlsMDNrcDF0dWwyc21mNXYydGJkZDQnLFxuICAgIGljb246IGAke0lDT05fUFJFRklYfS9VQkVSX01VVEVEX0xJR0hULnBuZ2AsXG4gICAgbGF5ZXJHcm91cHM6IERFRkFVTFRfTEFZRVJfR1JPVVBTXG4gIH0sXG4gIHtcbiAgICBpZDogJ211dGVkX25pZ2h0JyxcbiAgICBsYWJlbDogJ011dGVkIE5pZ2h0JyxcbiAgICB1cmw6ICdtYXBib3g6Ly9zdHlsZXMvdWJlcmRhdGEvY2pmeGhsaWttYWoxYjJzb3l6ZXZueXdncycsXG4gICAgaWNvbjogYCR7SUNPTl9QUkVGSVh9L1VCRVJfTVVURURfTklHSFQucG5nYCxcbiAgICBsYXllckdyb3VwczogREVGQVVMVF9MQVlFUl9HUk9VUFNcbiAgfSxcbiAge1xuICAgIGlkOiAnc2F0ZWxsaXRlJyxcbiAgICBsYWJlbDogJ1NhdGVsbGl0ZScsXG4gICAgdXJsOiBgbWFwYm94Oi8vc3R5bGVzL21hcGJveC9zYXRlbGxpdGUtdjlgLFxuICAgIGljb246IGAke0lDT05fUFJFRklYfS9VQkVSX1NBVEVMTElURS5wbmdgXG4gIH1cbl07XG5cbmV4cG9ydCBjb25zdCBHRU9KU09OX0ZJRUxEUyA9IHtcbiAgZ2VvanNvbjogWydfZ2VvanNvbicsICdhbGxfcG9pbnRzJywgJ2dlb2pzb24nXVxufTtcblxuZXhwb3J0IGNvbnN0IElDT05fRklFTERTID0ge1xuICBpY29uOiBbJ2ljb24nXVxufTtcblxuZXhwb3J0IGNvbnN0IFRSSVBfUE9JTlRfRklFTERTOiBbc3RyaW5nLCBzdHJpbmddW10gPSBbXG4gIFsnbGF0JywgJ2xuZyddLFxuICBbJ2xhdCcsICdsb24nXSxcbiAgWydsYXRpdHVkZScsICdsb25naXR1ZGUnXVxuXTtcblxuZXhwb3J0IGNvbnN0IFRSSVBfQVJDX0ZJRUxEUyA9IHtcbiAgbGF0MDogJ2JlZ2ludHJpcCcsXG4gIGxuZzA6ICdiZWdpbnRyaXAnLFxuICBsYXQxOiAnZHJvcG9mZicsXG4gIGxuZzE6ICdkcm9wb2ZmJ1xufTtcblxuZXhwb3J0IGNvbnN0IEZJTFRFUl9UWVBFUyA9IGtleU1pcnJvcih7XG4gIHJhbmdlOiBudWxsLFxuICBzZWxlY3Q6IG51bGwsXG4gIGlucHV0OiBudWxsLFxuICB0aW1lUmFuZ2U6IG51bGwsXG4gIG11bHRpU2VsZWN0OiBudWxsLFxuICBwb2x5Z29uOiBudWxsXG59KTtcblxuZXhwb3J0IGNvbnN0IFNDQUxFX1RZUEVTID0ga2V5TWlycm9yKHtcbiAgb3JkaW5hbDogbnVsbCxcbiAgcXVhbnRpbGU6IG51bGwsXG4gIHF1YW50aXplOiBudWxsLFxuICBsaW5lYXI6IG51bGwsXG4gIHNxcnQ6IG51bGwsXG4gIGxvZzogbnVsbCxcblxuICAvLyBvcmRpbmFsIGRvbWFpbiB0byBsaW5lYXIgcmFuZ2VcbiAgcG9pbnQ6IG51bGwsXG4gIGN1c3RvbTogbnVsbCxcbiAgLy8gVUktb25seSB0eXBlLCByZXNvbHZpbmcgYXMgY3VzdG9tXG4gIGxvZ2FyaXRobWljOiBudWxsLFxuICBpZGVudGl0eTogbnVsbFxufSk7XG5cbmV4cG9ydCBjb25zdCBTQ0FMRV9GVU5DID0ge1xuICBbU0NBTEVfVFlQRVMubGluZWFyXTogc2NhbGVMaW5lYXIsXG4gIFtTQ0FMRV9UWVBFUy5xdWFudGl6ZV06IHNjYWxlUXVhbnRpemUsXG4gIFtTQ0FMRV9UWVBFUy5xdWFudGlsZV06IHNjYWxlUXVhbnRpbGUsXG4gIFtTQ0FMRV9UWVBFUy5vcmRpbmFsXTogc2NhbGVPcmRpbmFsLFxuICBbU0NBTEVfVFlQRVMuc3FydF06IHNjYWxlU3FydCxcbiAgW1NDQUxFX1RZUEVTLmxvZ106IHNjYWxlTG9nLFxuICBbU0NBTEVfVFlQRVMucG9pbnRdOiBzY2FsZVBvaW50LFxuICBbU0NBTEVfVFlQRVMuY3VzdG9tXTogc2NhbGVUaHJlc2hvbGQsXG4gIFtTQ0FMRV9UWVBFUy5pZGVudGl0eV06IHNjYWxlSWRlbnRpdHlcbn07XG5cbmV4cG9ydCBjb25zdCBBTExfRklFTERfVFlQRVMgPSBrZXlNaXJyb3Ioe1xuICBib29sZWFuOiBudWxsLFxuICBkYXRlOiBudWxsLFxuICBnZW9qc29uOiBudWxsLFxuICBpbnRlZ2VyOiBudWxsLFxuICByZWFsOiBudWxsLFxuICBzdHJpbmc6IG51bGwsXG4gIHRpbWVzdGFtcDogbnVsbCxcbiAgcG9pbnQ6IG51bGxcbn0pO1xuXG4vLyBEYXRhIFRhYmxlXG5leHBvcnQgY29uc3QgU09SVF9PUkRFUiA9IGtleU1pcnJvcih7XG4gIEFTQ0VORElORzogbnVsbCxcbiAgREVTQ0VORElORzogbnVsbCxcbiAgVU5TT1JUOiBudWxsXG59KTtcblxuZXhwb3J0IGNvbnN0IFRBQkxFX09QVElPTiA9IGtleU1pcnJvcih7XG4gIFNPUlRfQVNDOiBudWxsLFxuICBTT1JUX0RFUzogbnVsbCxcbiAgVU5TT1JUOiBudWxsLFxuICBQSU46IG51bGwsXG4gIFVOUElOOiBudWxsLFxuICBDT1BZOiBudWxsXG59KTtcblxuZXhwb3J0IGNvbnN0IFRBQkxFX09QVElPTl9MSVNUID0gW1xuICB7XG4gICAgdmFsdWU6IFRBQkxFX09QVElPTi5TT1JUX0FTQyxcbiAgICBkaXNwbGF5OiAnU29ydCBBc2NlbmRpbmcnLFxuICAgIGljb246IEFycm93VXAsXG4gICAgY29uZGl0aW9uOiBwcm9wcyA9PiBwcm9wcy5zb3J0TW9kZSAhPT0gU09SVF9PUkRFUi5BU0NFTkRJTkdcbiAgfSxcbiAge1xuICAgIHZhbHVlOiBUQUJMRV9PUFRJT04uU09SVF9ERVMsXG4gICAgZGlzcGxheTogJ1NvcnQgRGVzY2VuZGluZycsXG4gICAgaWNvbjogQXJyb3dEb3duLFxuICAgIGNvbmRpdGlvbjogcHJvcHMgPT4gcHJvcHMuc29ydE1vZGUgIT09IFNPUlRfT1JERVIuREVTQ0VORElOR1xuICB9LFxuICB7XG4gICAgdmFsdWU6IFRBQkxFX09QVElPTi5VTlNPUlQsXG4gICAgZGlzcGxheTogJ1Vuc29ydCBDb2x1bW4nLFxuICAgIGljb246IENhbmNlbCxcbiAgICBjb25kaXRpb246IHByb3BzID0+IHByb3BzLmlzU29ydGVkXG4gIH0sXG4gIHt2YWx1ZTogVEFCTEVfT1BUSU9OLlBJTiwgZGlzcGxheTogJ1BpbiBDb2x1bW4nLCBpY29uOiBQaW4sIGNvbmRpdGlvbjogcHJvcHMgPT4gIXByb3BzLmlzUGlubmVkfSxcbiAge1xuICAgIHZhbHVlOiBUQUJMRV9PUFRJT04uVU5QSU4sXG4gICAgZGlzcGxheTogJ1VucGluIENvbHVtbicsXG4gICAgaWNvbjogQ2FuY2VsLFxuICAgIGNvbmRpdGlvbjogcHJvcHMgPT4gcHJvcHMuaXNQaW5uZWRcbiAgfSxcbiAge3ZhbHVlOiBUQUJMRV9PUFRJT04uQ09QWSwgZGlzcGxheTogJ0NvcHkgQ29sdW1uJywgaWNvbjogQ2xpcGJvYXJkfVxuXTtcblxuY29uc3QgT1JBTkdFID0gJzI0OCwgMTk0LCAyOCc7XG5jb25zdCBQSU5LID0gJzIzMSwgMTg5LCAxOTQnO1xuY29uc3QgUFVSUExFID0gJzE2MCwgMTA2LCAyMDYnO1xuY29uc3QgQkxVRSA9ICcxNDAsIDIxMCwgMjA1JztcbmNvbnN0IEJMVUUyID0gJzEwNiwgMTYwLCAyMDYnO1xuY29uc3QgQkxVRTMgPSAnMCwgMTcyLCAyMzcnO1xuY29uc3QgR1JFRU4gPSAnMTA2LCAxNjAsIDU2JztcbmNvbnN0IFJFRCA9ICcyMzcsIDg4LCAxMDYnO1xuXG5leHBvcnQgY29uc3QgRklMRURfVFlQRV9ESVNQTEFZID0ge1xuICBbQUxMX0ZJRUxEX1RZUEVTLmJvb2xlYW5dOiB7XG4gICAgbGFiZWw6ICdib29sJyxcbiAgICBjb2xvcjogUElOS1xuICB9LFxuICBbQUxMX0ZJRUxEX1RZUEVTLmRhdGVdOiB7XG4gICAgbGFiZWw6ICdkYXRlJyxcbiAgICBjb2xvcjogUFVSUExFXG4gIH0sXG4gIFtBTExfRklFTERfVFlQRVMuZ2VvanNvbl06IHtcbiAgICBsYWJlbDogJ2dlbycsXG4gICAgY29sb3I6IEJMVUUyXG4gIH0sXG4gIFtBTExfRklFTERfVFlQRVMuaW50ZWdlcl06IHtcbiAgICBsYWJlbDogJ251bWJlcicsXG4gICAgY29sb3I6IE9SQU5HRVxuICB9LFxuICBbQUxMX0ZJRUxEX1RZUEVTLnJlYWxdOiB7XG4gICAgbGFiZWw6ICdudW1iZXInLFxuICAgIGNvbG9yOiBPUkFOR0VcbiAgfSxcbiAgW0FMTF9GSUVMRF9UWVBFUy5zdHJpbmddOiB7XG4gICAgbGFiZWw6ICdzdHJpbmcnLFxuICAgIGNvbG9yOiBCTFVFXG4gIH0sXG4gIFtBTExfRklFTERfVFlQRVMudGltZXN0YW1wXToge1xuICAgIGxhYmVsOiAndGltZScsXG4gICAgY29sb3I6IEdSRUVOXG4gIH0sXG4gIC8vIGZpZWxkIHBhaXJzXG4gIFtBTExfRklFTERfVFlQRVMucG9pbnRdOiB7XG4gICAgbGFiZWw6ICdwb2ludCcsXG4gICAgY29sb3I6IEJMVUUzXG4gIH1cbn07XG5cbmV4cG9ydCBjb25zdCBGSUVMRF9DT0xPUlMgPSB7XG4gIGRlZmF1bHQ6IFJFRFxufTtcbmV4cG9ydCBjb25zdCBISUdITElHSF9DT0xPUl8zRDogUkdCQUNvbG9yID0gWzI1NSwgMjU1LCAyNTUsIDYwXTtcbmV4cG9ydCBjb25zdCBDSEFOTkVMX1NDQUxFUyA9IGtleU1pcnJvcih7XG4gIGNvbG9yOiBudWxsLFxuICByYWRpdXM6IG51bGwsXG4gIHNpemU6IG51bGwsXG4gIGN1c3RvbU1hcmtlcjogbnVsbCxcbiAgY29sb3JBZ2dyOiBudWxsLFxuICBzaXplQWdncjogbnVsbCxcbiAgaWRlbnRpdHk6IG51bGxcbn0pO1xuXG5leHBvcnQgY29uc3QgQUdHUkVHQVRJT05fVFlQRVM6IHtcbiAgLy8gZGVmYXVsdFxuICBjb3VudDogJ2NvdW50JztcbiAgLy8gbGluZWFyXG4gIGF2ZXJhZ2U6ICdhdmVyYWdlJztcbiAgbWF4aW11bTogJ21heGltdW0nO1xuICBtaW5pbXVtOiAnbWluaW11bSc7XG4gIG1lZGlhbjogJ21lZGlhbic7XG4gIHN0ZGV2OiAnc3RkZXYnO1xuICBzdW06ICdzdW0nO1xuICB2YXJpYW5jZTogJ3ZhcmlhbmNlJztcbiAgLy8gb3JkaW5hbFxuICBtb2RlOiAnbW9kZSc7XG4gIGNvdW50VW5pcXVlOiAnY291bnQgdW5pcXVlJztcbiAgYW55VmFsdWU6ICdhbnlfdmFsdWUnXG59ID0ge1xuICAvLyBkZWZhdWx0XG4gIGNvdW50OiAnY291bnQnLFxuICAvLyBsaW5lYXJcbiAgYXZlcmFnZTogJ2F2ZXJhZ2UnLFxuICBtYXhpbXVtOiAnbWF4aW11bScsXG4gIG1pbmltdW06ICdtaW5pbXVtJyxcbiAgbWVkaWFuOiAnbWVkaWFuJyxcbiAgc3RkZXY6ICdzdGRldicsXG4gIHN1bTogJ3N1bScsXG4gIHZhcmlhbmNlOiAndmFyaWFuY2UnLFxuICAvLyBvcmRpbmFsXG4gIG1vZGU6ICdtb2RlJyxcbiAgY291bnRVbmlxdWU6ICdjb3VudCB1bmlxdWUnLFxuICBhbnlWYWx1ZTogJ2FueV92YWx1ZSdcbn07XG5cbmV4cG9ydCBjb25zdCBGSUVMRF9UWVBFU19BR0dSRUdBVE9SUyA9IHtcbiAgZGF0ZTogbnVsbCxcbiAgZ2VvanNvbjogbnVsbCxcbiAgaW50ZWdlcjogW1xuICAgIEFHR1JFR0FUSU9OX1RZUEVTLmNvdW50LFxuICAgIEFHR1JFR0FUSU9OX1RZUEVTLmF2ZXJhZ2UsXG4gICAgQUdHUkVHQVRJT05fVFlQRVMubWF4aW11bSxcbiAgICBBR0dSRUdBVElPTl9UWVBFUy5taW5pbXVtLFxuICAgIEFHR1JFR0FUSU9OX1RZUEVTLnN0ZGV2LFxuICAgIEFHR1JFR0FUSU9OX1RZUEVTLnN1bSxcbiAgICBBR0dSRUdBVElPTl9UWVBFUy52YXJpYW5jZVxuICBdLFxuICByZWFsOiBbXG4gICAgQUdHUkVHQVRJT05fVFlQRVMuY291bnQsXG4gICAgQUdHUkVHQVRJT05fVFlQRVMuYXZlcmFnZSxcbiAgICBBR0dSRUdBVElPTl9UWVBFUy5tYXhpbXVtLFxuICAgIEFHR1JFR0FUSU9OX1RZUEVTLm1pbmltdW0sXG4gICAgQUdHUkVHQVRJT05fVFlQRVMuc3RkZXYsXG4gICAgQUdHUkVHQVRJT05fVFlQRVMuc3VtLFxuICAgIEFHR1JFR0FUSU9OX1RZUEVTLnZhcmlhbmNlXG4gIF0sXG4gIHN0cmluZzogW0FHR1JFR0FUSU9OX1RZUEVTLm1vZGUsIEFHR1JFR0FUSU9OX1RZUEVTLmFueVZhbHVlXSxcbiAgdGltZXN0YW1wOiBudWxsLFxuICBwb2ludDogbnVsbFxufTtcblxuZXhwb3J0IGNvbnN0IEZJRUxEX0FHR1JFR0FUT1JTID0gW1xuICB7XG4gICAgaWQ6IEFHR1JFR0FUSU9OX1RZUEVTLmNvdW50LFxuICAgIGRpc3BsYXlOYW1lOiAnQ09VTlQnXG4gIH0sXG4gIHtcbiAgICBpZDogQUdHUkVHQVRJT05fVFlQRVMuYXZlcmFnZSxcbiAgICBkaXNwbGF5TmFtZTogJ0FWRydcbiAgfSxcbiAge1xuICAgIGlkOiBBR0dSRUdBVElPTl9UWVBFUy5tYXhpbXVtLFxuICAgIGRpc3BsYXlOYW1lOiAnTUFYJ1xuICB9LFxuICB7XG4gICAgaWQ6IEFHR1JFR0FUSU9OX1RZUEVTLm1pbmltdW0sXG4gICAgZGlzcGxheU5hbWU6ICdNSU4nXG4gIH0sXG4gIHtcbiAgICBpZDogQUdHUkVHQVRJT05fVFlQRVMuc3RkZXYsXG4gICAgZGlzcGxheU5hbWU6ICdTVERFVidcbiAgfSxcbiAge1xuICAgIGlkOiBBR0dSRUdBVElPTl9UWVBFUy5zdW0sXG4gICAgZGlzcGxheU5hbWU6ICdTVU0nXG4gIH0sXG4gIHtcbiAgICBpZDogQUdHUkVHQVRJT05fVFlQRVMudmFyaWFuY2UsXG4gICAgZGlzcGxheU5hbWU6ICdWQVJJQU5DRSdcbiAgfSxcbiAge1xuICAgIGlkOiBBR0dSRUdBVElPTl9UWVBFUy5tb2RlLFxuICAgIGRpc3BsYXlOYW1lOiAnTU9ERSdcbiAgfSxcbiAge1xuICAgIGlkOiBBR0dSRUdBVElPTl9UWVBFUy5hbnlWYWx1ZSxcbiAgICBkaXNwbGF5TmFtZTogJ0FOWSBWQUxVRSdcbiAgfVxuXTtcblxuZXhwb3J0IGNvbnN0IGxpbmVhckZpZWxkU2NhbGVGdW5jdGlvbnMgPSB7XG4gIFtDSEFOTkVMX1NDQUxFUy5jb2xvcl06IFtTQ0FMRV9UWVBFUy5xdWFudGl6ZSwgU0NBTEVfVFlQRVMucXVhbnRpbGUsIFNDQUxFX1RZUEVTLmN1c3RvbV0sXG4gIFtDSEFOTkVMX1NDQUxFUy5yYWRpdXNdOiBbU0NBTEVfVFlQRVMuc3FydF0sXG4gIFtDSEFOTkVMX1NDQUxFUy5zaXplXTogW1NDQUxFX1RZUEVTLmxpbmVhciwgU0NBTEVfVFlQRVMuc3FydCwgU0NBTEVfVFlQRVMubG9nXSxcbiAgW0NIQU5ORUxfU0NBTEVTLmN1c3RvbU1hcmtlcl06IFtTQ0FMRV9UWVBFUy5vcmRpbmFsXSxcbiAgW0NIQU5ORUxfU0NBTEVTLmlkZW50aXR5XTogW11cbn07XG5cbmV4cG9ydCBjb25zdCBsaW5lYXJGaWVsZEFnZ3JTY2FsZUZ1bmN0aW9ucyA9IHtcbiAgW0NIQU5ORUxfU0NBTEVTLmNvbG9yQWdncl06IHtcbiAgICBbQUdHUkVHQVRJT05fVFlQRVMuY291bnRdOiBbU0NBTEVfVFlQRVMuY3VzdG9tXSxcbiAgICBbQUdHUkVHQVRJT05fVFlQRVMuYXZlcmFnZV06IFtTQ0FMRV9UWVBFUy5xdWFudGl6ZSwgU0NBTEVfVFlQRVMucXVhbnRpbGUsIFNDQUxFX1RZUEVTLmN1c3RvbV0sXG4gICAgW0FHR1JFR0FUSU9OX1RZUEVTLm1heGltdW1dOiBbU0NBTEVfVFlQRVMucXVhbnRpemUsIFNDQUxFX1RZUEVTLnF1YW50aWxlLCBTQ0FMRV9UWVBFUy5jdXN0b21dLFxuICAgIFtBR0dSRUdBVElPTl9UWVBFUy5taW5pbXVtXTogW1NDQUxFX1RZUEVTLnF1YW50aXplLCBTQ0FMRV9UWVBFUy5xdWFudGlsZSwgU0NBTEVfVFlQRVMuY3VzdG9tXSxcbiAgICBbQUdHUkVHQVRJT05fVFlQRVMubWVkaWFuXTogW1NDQUxFX1RZUEVTLnF1YW50aXplLCBTQ0FMRV9UWVBFUy5xdWFudGlsZSwgU0NBTEVfVFlQRVMuY3VzdG9tXSxcbiAgICBbQUdHUkVHQVRJT05fVFlQRVMuc3RkZXZdOiBbU0NBTEVfVFlQRVMucXVhbnRpemUsIFNDQUxFX1RZUEVTLnF1YW50aWxlLCBTQ0FMRV9UWVBFUy5jdXN0b21dLFxuICAgIFtBR0dSRUdBVElPTl9UWVBFUy5zdW1dOiBbU0NBTEVfVFlQRVMucXVhbnRpemUsIFNDQUxFX1RZUEVTLnF1YW50aWxlLCBTQ0FMRV9UWVBFUy5jdXN0b21dLFxuICAgIFtBR0dSRUdBVElPTl9UWVBFUy52YXJpYW5jZV06IFtTQ0FMRV9UWVBFUy5xdWFudGl6ZSwgU0NBTEVfVFlQRVMucXVhbnRpbGUsIFNDQUxFX1RZUEVTLmN1c3RvbV1cbiAgfSxcblxuICBbQ0hBTk5FTF9TQ0FMRVMuc2l6ZUFnZ3JdOiB7XG4gICAgW0FHR1JFR0FUSU9OX1RZUEVTLmNvdW50XTogW1NDQUxFX1RZUEVTLmxpbmVhciwgU0NBTEVfVFlQRVMuc3FydCwgU0NBTEVfVFlQRVMubG9nXSxcbiAgICBbQUdHUkVHQVRJT05fVFlQRVMuYXZlcmFnZV06IFtTQ0FMRV9UWVBFUy5saW5lYXIsIFNDQUxFX1RZUEVTLnNxcnQsIFNDQUxFX1RZUEVTLmxvZ10sXG4gICAgW0FHR1JFR0FUSU9OX1RZUEVTLm1heGltdW1dOiBbU0NBTEVfVFlQRVMubGluZWFyLCBTQ0FMRV9UWVBFUy5zcXJ0LCBTQ0FMRV9UWVBFUy5sb2ddLFxuICAgIFtBR0dSRUdBVElPTl9UWVBFUy5taW5pbXVtXTogW1NDQUxFX1RZUEVTLmxpbmVhciwgU0NBTEVfVFlQRVMuc3FydCwgU0NBTEVfVFlQRVMubG9nXSxcbiAgICBbQUdHUkVHQVRJT05fVFlQRVMubWVkaWFuXTogW1NDQUxFX1RZUEVTLmxpbmVhciwgU0NBTEVfVFlQRVMuc3FydCwgU0NBTEVfVFlQRVMubG9nXSxcbiAgICBbQUdHUkVHQVRJT05fVFlQRVMuc3RkZXZdOiBbU0NBTEVfVFlQRVMubGluZWFyLCBTQ0FMRV9UWVBFUy5zcXJ0LCBTQ0FMRV9UWVBFUy5sb2ddLFxuICAgIFtBR0dSRUdBVElPTl9UWVBFUy5zdW1dOiBbU0NBTEVfVFlQRVMubGluZWFyLCBTQ0FMRV9UWVBFUy5zcXJ0LCBTQ0FMRV9UWVBFUy5sb2ddLFxuICAgIFtBR0dSRUdBVElPTl9UWVBFUy52YXJpYW5jZV06IFtTQ0FMRV9UWVBFUy5saW5lYXIsIFNDQUxFX1RZUEVTLnNxcnQsIFNDQUxFX1RZUEVTLmxvZ11cbiAgfVxufTtcblxuZXhwb3J0IGNvbnN0IG9yZGluYWxGaWVsZFNjYWxlRnVuY3Rpb25zID0ge1xuICBbQ0hBTk5FTF9TQ0FMRVMuY29sb3JdOiBbU0NBTEVfVFlQRVMub3JkaW5hbF0sXG4gIFtDSEFOTkVMX1NDQUxFUy5yYWRpdXNdOiBbU0NBTEVfVFlQRVMucG9pbnRdLFxuICBbQ0hBTk5FTF9TQ0FMRVMuc2l6ZV06IFtTQ0FMRV9UWVBFUy5wb2ludF0sXG4gIFtDSEFOTkVMX1NDQUxFUy5jdXN0b21NYXJrZXJdOiBbU0NBTEVfVFlQRVMub3JkaW5hbF0sXG4gIFtDSEFOTkVMX1NDQUxFUy5pZGVudGl0eV06IFtdXG59O1xuXG5leHBvcnQgY29uc3Qgb3JkaW5hbEZpZWxkQWdnclNjYWxlRnVuY3Rpb25zID0ge1xuICAvLyBbQ0hBTk5FTF9TQ0FMRVMuY29sb3JBZ2dyXTogW1NDQUxFX1RZUEVTLm9yZGluYWwsIFNDQUxFX1RZUEVTLmxpbmVhcl0sXG4gIFtDSEFOTkVMX1NDQUxFUy5jb2xvckFnZ3JdOiB7XG4gICAgW0FHR1JFR0FUSU9OX1RZUEVTLm1vZGVdOiBbU0NBTEVfVFlQRVMub3JkaW5hbF0sXG4gICAgW0FHR1JFR0FUSU9OX1RZUEVTLmFueVZhbHVlXTogW1NDQUxFX1RZUEVTLm9yZGluYWxdLFxuICAgIFtBR0dSRUdBVElPTl9UWVBFUy5jb3VudFVuaXF1ZV06IFtcbiAgICAgIFNDQUxFX1RZUEVTLnF1YW50aXplLFxuICAgICAgU0NBTEVfVFlQRVMucXVhbnRpbGUsXG4gICAgICBTQ0FMRV9UWVBFUy5jdXN0b21cbiAgICBdXG4gIH0sXG5cbiAgW0NIQU5ORUxfU0NBTEVTLnNpemVBZ2dyXToge1xuICAgIFtBR0dSRUdBVElPTl9UWVBFUy5tb2RlXTogW1NDQUxFX1RZUEVTLm9yZGluYWxdLFxuICAgIFtBR0dSRUdBVElPTl9UWVBFUy5hbnlWYWx1ZV06IFtTQ0FMRV9UWVBFUy5vcmRpbmFsXVxuICB9XG59O1xuXG5leHBvcnQgY29uc3Qgbm90U3VwcG9ydGVkU2NhbGVPcHRzID0ge1xuICBbQ0hBTk5FTF9TQ0FMRVMuY29sb3JdOiBbXSxcbiAgW0NIQU5ORUxfU0NBTEVTLnJhZGl1c106IFtdLFxuICBbQ0hBTk5FTF9TQ0FMRVMuc2l6ZV06IFtdLFxuICBbQ0hBTk5FTF9TQ0FMRVMuY3VzdG9tTWFya2VyXTogW10sXG4gIFtDSEFOTkVMX1NDQUxFUy5pZGVudGl0eV06IFtdXG59O1xuXG5leHBvcnQgY29uc3Qgbm90U3VwcG9ydEFnZ3JPcHRzID0ge1xuICBbQ0hBTk5FTF9TQ0FMRVMuY29sb3JBZ2dyXToge30sXG4gIFtDSEFOTkVMX1NDQUxFUy5zaXplQWdncl06IHt9XG59O1xuXG4vKipcbiAqIERlZmF1bHQgYWdncmVnYXRpb24gYXJlIGJhc2VkIG9uIG9jdW50XG4gKi9cbmV4cG9ydCBjb25zdCBERUZBVUxUX0FHR1JFR0FUSU9OID0ge1xuICBbQ0hBTk5FTF9TQ0FMRVMuY29sb3JBZ2dyXToge1xuICAgIFtBR0dSRUdBVElPTl9UWVBFUy5jb3VudF06IFtTQ0FMRV9UWVBFUy5xdWFudGl6ZSwgU0NBTEVfVFlQRVMucXVhbnRpbGUsIFNDQUxFX1RZUEVTLmN1c3RvbV1cbiAgfSxcbiAgW0NIQU5ORUxfU0NBTEVTLnNpemVBZ2dyXToge1xuICAgIFtBR0dSRUdBVElPTl9UWVBFUy5jb3VudF06IFtTQ0FMRV9UWVBFUy5saW5lYXIsIFNDQUxFX1RZUEVTLnNxcnQsIFNDQUxFX1RZUEVTLmxvZ11cbiAgfVxufTtcblxuLyoqXG4gKiBEZWZpbmUgd2hhdCB0eXBlIG9mIHNjYWxlIG9wZXJhdGlvbiBpcyBhbGxvd2VkIG9uIGVhY2ggdHlwZSBvZiBmaWVsZHNcbiAqL1xuZXhwb3J0IGNvbnN0IEZJRUxEX09QVFMgPSB7XG4gIHN0cmluZzoge1xuICAgIHR5cGU6ICdjYXRlZ29yaWNhbCcsXG4gICAgc2NhbGU6IHtcbiAgICAgIC4uLm9yZGluYWxGaWVsZFNjYWxlRnVuY3Rpb25zLFxuICAgICAgLi4ub3JkaW5hbEZpZWxkQWdnclNjYWxlRnVuY3Rpb25zXG4gICAgfSxcbiAgICBmb3JtYXQ6IHtcbiAgICAgIGxlZ2VuZDogZCA9PiBkLFxuICAgICAgdG9vbHRpcDogW11cbiAgICB9XG4gIH0sXG4gIHJlYWw6IHtcbiAgICB0eXBlOiAnbnVtZXJpY2FsJyxcbiAgICBzY2FsZToge1xuICAgICAgLi4ubGluZWFyRmllbGRTY2FsZUZ1bmN0aW9ucyxcbiAgICAgIC4uLmxpbmVhckZpZWxkQWdnclNjYWxlRnVuY3Rpb25zXG4gICAgfSxcbiAgICBmb3JtYXQ6IHtcbiAgICAgIGxlZ2VuZDogZCA9PiBkLFxuICAgICAgdG9vbHRpcDogW1xuICAgICAgICBUT09MVElQX0ZPUk1BVF9UWVBFUy5OT05FLFxuICAgICAgICBUT09MVElQX0ZPUk1BVF9UWVBFUy5ERUNJTUFMLFxuICAgICAgICBUT09MVElQX0ZPUk1BVF9UWVBFUy5QRVJDRU5UQUdFXG4gICAgICBdXG4gICAgfVxuICB9LFxuICB0aW1lc3RhbXA6IHtcbiAgICB0eXBlOiAndGltZScsXG4gICAgc2NhbGU6IHtcbiAgICAgIC4uLmxpbmVhckZpZWxkU2NhbGVGdW5jdGlvbnMsXG4gICAgICAuLi5ub3RTdXBwb3J0QWdnck9wdHNcbiAgICB9LFxuICAgIGZvcm1hdDoge1xuICAgICAgbGVnZW5kOiBkID0+IGQsXG4gICAgICB0b29sdGlwOiBbXG4gICAgICAgIFRPT0xUSVBfRk9STUFUX1RZUEVTLk5PTkUsXG4gICAgICAgIFRPT0xUSVBfRk9STUFUX1RZUEVTLkRBVEUsXG4gICAgICAgIFRPT0xUSVBfRk9STUFUX1RZUEVTLkRBVEVfVElNRVxuICAgICAgXVxuICAgIH1cbiAgfSxcbiAgaW50ZWdlcjoge1xuICAgIHR5cGU6ICdudW1lcmljYWwnLFxuICAgIHNjYWxlOiB7XG4gICAgICAuLi5saW5lYXJGaWVsZFNjYWxlRnVuY3Rpb25zLFxuICAgICAgLi4ubGluZWFyRmllbGRBZ2dyU2NhbGVGdW5jdGlvbnNcbiAgICB9LFxuICAgIGZvcm1hdDoge1xuICAgICAgbGVnZW5kOiBkID0+IGQsXG4gICAgICB0b29sdGlwOiBbXG4gICAgICAgIFRPT0xUSVBfRk9STUFUX1RZUEVTLk5PTkUsXG4gICAgICAgIFRPT0xUSVBfRk9STUFUX1RZUEVTLkRFQ0lNQUwsXG4gICAgICAgIFRPT0xUSVBfRk9STUFUX1RZUEVTLlBFUkNFTlRBR0VcbiAgICAgIF1cbiAgICB9XG4gIH0sXG4gIGJvb2xlYW46IHtcbiAgICB0eXBlOiAnYm9vbGVhbicsXG4gICAgc2NhbGU6IHtcbiAgICAgIC4uLm9yZGluYWxGaWVsZFNjYWxlRnVuY3Rpb25zLFxuICAgICAgLi4ub3JkaW5hbEZpZWxkQWdnclNjYWxlRnVuY3Rpb25zXG4gICAgfSxcbiAgICBmb3JtYXQ6IHtcbiAgICAgIGxlZ2VuZDogZCA9PiBkLFxuICAgICAgdG9vbHRpcDogW1RPT0xUSVBfRk9STUFUX1RZUEVTLk5PTkUsIFRPT0xUSVBfRk9STUFUX1RZUEVTLkJPT0xFQU5dXG4gICAgfVxuICB9LFxuICBkYXRlOiB7XG4gICAgc2NhbGU6IHtcbiAgICAgIC4uLm9yZGluYWxGaWVsZFNjYWxlRnVuY3Rpb25zLFxuICAgICAgLi4ub3JkaW5hbEZpZWxkQWdnclNjYWxlRnVuY3Rpb25zXG4gICAgfSxcbiAgICBmb3JtYXQ6IHtcbiAgICAgIGxlZ2VuZDogZCA9PiBkLFxuICAgICAgdG9vbHRpcDogW1RPT0xUSVBfRk9STUFUX1RZUEVTLk5PTkUsIFRPT0xUSVBfRk9STUFUX1RZUEVTLkRBVEVdXG4gICAgfVxuICB9LFxuICBnZW9qc29uOiB7XG4gICAgdHlwZTogJ2dlb21ldHJ5JyxcbiAgICBzY2FsZToge1xuICAgICAgLi4ubm90U3VwcG9ydGVkU2NhbGVPcHRzLFxuICAgICAgLi4ubm90U3VwcG9ydEFnZ3JPcHRzXG4gICAgfSxcbiAgICBmb3JtYXQ6IHtcbiAgICAgIGxlZ2VuZDogZCA9PiAnLi4uJyxcbiAgICAgIHRvb2x0aXA6IFtdXG4gICAgfVxuICB9XG59O1xuXG5leHBvcnQgY29uc3QgQ0hBTk5FTF9TQ0FMRV9TVVBQT1JURURfRklFTERTID0gT2JqZWN0LmtleXMoQ0hBTk5FTF9TQ0FMRVMpLnJlZHVjZShcbiAgKGFjY3UsIGtleSkgPT4gKHtcbiAgICAuLi5hY2N1LFxuICAgIFtrZXldOiBPYmplY3Qua2V5cyhGSUVMRF9PUFRTKS5maWx0ZXIoZnQgPT4gT2JqZWN0LmtleXMoRklFTERfT1BUU1tmdF0uc2NhbGVba2V5XSkubGVuZ3RoKVxuICB9KSxcbiAge31cbik7XG5cbmV4cG9ydCBjb25zdCBERUZBVUxUX0xBWUVSX0NPTE9SID0ge1xuICB0cmlwQXJjOiAnIzkyMjZDNicsXG4gIGJlZ2ludHJpcF9sYXQ6ICcjMUU5NkJFJyxcbiAgZHJvcG9mZl9sYXQ6ICcjRkY5OTFGJyxcbiAgcmVxdWVzdF9sYXQ6ICcjNTJBMzUzJ1xufTtcblxuLy8gbGV0IHVzZXIgcGFzcyBpbiBkZWZhdWx0IHRvb2x0aXAgZmllbGRzXG5leHBvcnQgY29uc3QgREVGQVVMVF9UT09MVElQX0ZJRUxEUzogYW55W10gPSBbXTtcblxuZXhwb3J0IGNvbnN0IE5PX1ZBTFVFX0NPTE9SOiBDb2xvciA9IFswLCAwLCAwLCAwXTtcbmV4cG9ydCBjb25zdCBVTktOT1dOX0NPTE9SOiBDb2xvciA9IFsxMzQsIDE0MSwgMTQ1XTtcblxuZXhwb3J0IGNvbnN0IExBWUVSX0JMRU5ESU5HUyA9IHtcbiAgYWRkaXRpdmU6IHtcbiAgICBsYWJlbDogJ2xheWVyQmxlbmRpbmcuYWRkaXRpdmUnLFxuICAgIGJsZW5kRnVuYzogWydTUkNfQUxQSEEnLCAnRFNUX0FMUEhBJ10sXG4gICAgYmxlbmRFcXVhdGlvbjogJ0ZVTkNfQUREJ1xuICB9LFxuICBub3JtYWw6IHtcbiAgICAvLyByZWZlcmVuY2UgdG9cbiAgICAvLyBodHRwczovL2xpbW51LmNvbS93ZWJnbC1ibGVuZGluZy15b3VyZS1wcm9iYWJseS13cm9uZy9cbiAgICBsYWJlbDogJ2xheWVyQmxlbmRpbmcubm9ybWFsJyxcbiAgICBibGVuZEZ1bmM6IFsnU1JDX0FMUEhBJywgJ09ORV9NSU5VU19TUkNfQUxQSEEnLCAnT05FJywgJ09ORV9NSU5VU19TUkNfQUxQSEEnXSxcbiAgICBibGVuZEVxdWF0aW9uOiBbJ0ZVTkNfQUREJywgJ0ZVTkNfQUREJ11cbiAgfSxcbiAgc3VidHJhY3RpdmU6IHtcbiAgICBsYWJlbDogJ2xheWVyQmxlbmRpbmcuc3VidHJhY3RpdmUnLFxuICAgIGJsZW5kRnVuYzogWydPTkUnLCAnT05FX01JTlVTX0RTVF9DT0xPUicsICdTUkNfQUxQSEEnLCAnRFNUX0FMUEhBJ10sXG4gICAgYmxlbmRFcXVhdGlvbjogWydGVU5DX1NVQlRSQUNUJywgJ0ZVTkNfQUREJ11cbiAgfVxufTtcblxuZXhwb3J0IGNvbnN0IE1BWF9ERUZBVUxUX1RPT0xUSVBTID0gNTtcblxuZXhwb3J0IGNvbnN0IFJFU09MVVRJT05TID0ga2V5TWlycm9yKHtcbiAgT05FX1g6IG51bGwsXG4gIFRXT19YOiBudWxsXG59KTtcblxuZXhwb3J0IGNvbnN0IEVYUE9SVF9JTUdfUkFUSU9TID0ga2V5TWlycm9yKHtcbiAgU0NSRUVOOiBudWxsLFxuICBGT1VSX0JZX1RIUkVFOiBudWxsLFxuICBTSVhURUVOX0JZX05JTkU6IG51bGwsXG4gIENVU1RPTTogbnVsbFxufSk7XG5cbmV4cG9ydCB0eXBlIEltYWdlUmF0aW9PcHRpb24gPSB7XG4gIGlkOiBrZXlvZiB0eXBlb2YgRVhQT1JUX0lNR19SQVRJT1M7XG4gIGxhYmVsOiBzdHJpbmc7XG4gIGhpZGRlbj86IGJvb2xlYW47XG4gIGdldFNpemU6IChzY3JlZW5XOiBudW1iZXIsIHNjcmVlbkg6IG51bWJlcikgPT4ge3dpZHRoOiBudW1iZXI7IGhlaWdodDogbnVtYmVyfTtcbn07XG5cbmV4cG9ydCBjb25zdCBTY3JlZW5SYXRpb09wdGlvbjogSW1hZ2VSYXRpb09wdGlvbiA9IHtcbiAgaWQ6IEVYUE9SVF9JTUdfUkFUSU9TLlNDUkVFTixcbiAgbGFiZWw6ICdtb2RhbC5leHBvcnRJbWFnZS5yYXRpb09yaWdpbmFsU2NyZWVuJyxcbiAgZ2V0U2l6ZTogKHNjcmVlblcsIHNjcmVlbkgpID0+ICh7d2lkdGg6IHNjcmVlblcsIGhlaWdodDogc2NyZWVuSH0pXG59O1xuZXhwb3J0IGNvbnN0IEN1c3RvbVJhdGlvT3B0aW9uOiBJbWFnZVJhdGlvT3B0aW9uID0ge1xuICBpZDogRVhQT1JUX0lNR19SQVRJT1MuQ1VTVE9NLFxuICBoaWRkZW46IHRydWUsXG4gIGxhYmVsOiAnbW9kYWwuZXhwb3J0SW1hZ2UucmF0aW9DdXN0b20nLFxuICBnZXRTaXplOiAobWFwVywgbWFwSCkgPT4gKHt3aWR0aDogbWFwVywgaGVpZ2h0OiBtYXBIfSlcbn07XG5leHBvcnQgY29uc3QgRm91ckJ5VGhyZWVSYXRpb09wdGlvbjogSW1hZ2VSYXRpb09wdGlvbiA9IHtcbiAgaWQ6IEVYUE9SVF9JTUdfUkFUSU9TLkZPVVJfQllfVEhSRUUsXG4gIGxhYmVsOiAnbW9kYWwuZXhwb3J0SW1hZ2UucmF0aW80XzMnLFxuICBnZXRTaXplOiAoc2NyZWVuVywgc2NyZWVuSCkgPT4gKHtcbiAgICB3aWR0aDogc2NyZWVuVyxcbiAgICBoZWlnaHQ6IE1hdGgucm91bmQoc2NyZWVuVyAqIDAuNzUpXG4gIH0pXG59O1xuZXhwb3J0IGNvbnN0IFNpeHRlZW5CeU5pbmVSYXRpb09wdGlvbjogSW1hZ2VSYXRpb09wdGlvbiA9IHtcbiAgaWQ6IEVYUE9SVF9JTUdfUkFUSU9TLlNJWFRFRU5fQllfTklORSxcbiAgbGFiZWw6ICdtb2RhbC5leHBvcnRJbWFnZS5yYXRpbzE2XzknLFxuICBnZXRTaXplOiAoc2NyZWVuVywgc2NyZWVuSCkgPT4gKHtcbiAgICB3aWR0aDogc2NyZWVuVyxcbiAgICBoZWlnaHQ6IE1hdGgucm91bmQoc2NyZWVuVyAqIDAuNTYyNSlcbiAgfSlcbn07XG5cbmV4cG9ydCBjb25zdCBFWFBPUlRfSU1HX1JBVElPX09QVElPTlM6IFJlYWRvbmx5QXJyYXk8SW1hZ2VSYXRpb09wdGlvbj4gPSBbXG4gIFNjcmVlblJhdGlvT3B0aW9uLFxuICBDdXN0b21SYXRpb09wdGlvbixcbiAgRm91ckJ5VGhyZWVSYXRpb09wdGlvbixcbiAgU2l4dGVlbkJ5TmluZVJhdGlvT3B0aW9uXG5dO1xuXG5leHBvcnQgdHlwZSBJbWFnZVJlc29sdXRpb25PcHRpb24gPSB7XG4gIGlkOiBrZXlvZiB0eXBlb2YgUkVTT0xVVElPTlM7XG4gIGxhYmVsOiBzdHJpbmc7XG4gIGF2YWlsYWJsZTogYm9vbGVhbjtcbiAgc2NhbGU6IG51bWJlcjtcbiAgZ2V0U2l6ZTogKHNjcmVlblc6IG51bWJlciwgc2NyZWVuSDogbnVtYmVyKSA9PiB7d2lkdGg6IG51bWJlcjsgaGVpZ2h0OiBudW1iZXJ9O1xufTtcblxuZXhwb3J0IGNvbnN0IE9uZVhSZXNvbHV0aW9uT3B0aW9uOiBJbWFnZVJlc29sdXRpb25PcHRpb24gPSB7XG4gIGlkOiBSRVNPTFVUSU9OUy5PTkVfWCxcbiAgbGFiZWw6ICcxeCcsXG4gIGF2YWlsYWJsZTogdHJ1ZSxcbiAgc2NhbGU6IDEsXG4gIGdldFNpemU6IChzY3JlZW5XLCBzY3JlZW5IKSA9PiAoe1xuICAgIHdpZHRoOiBzY3JlZW5XLFxuICAgIGhlaWdodDogc2NyZWVuSFxuICB9KVxufTtcblxuZXhwb3J0IGNvbnN0IFR3b1hSZXNvbHV0aW9uT3B0aW9uOiBJbWFnZVJlc29sdXRpb25PcHRpb24gPSB7XG4gIGlkOiBSRVNPTFVUSU9OUy5UV09fWCxcbiAgbGFiZWw6ICcyeCcsXG4gIGF2YWlsYWJsZTogdHJ1ZSxcbiAgc2NhbGU6IDIsXG4gIGdldFNpemU6IChzY3JlZW5XLCBzY3JlZW5IKSA9PiAoe1xuICAgIHdpZHRoOiBzY3JlZW5XICogMixcbiAgICBoZWlnaHQ6IHNjcmVlbkggKiAyXG4gIH0pXG59O1xuXG5leHBvcnQgY29uc3QgRVhQT1JUX0lNR19SRVNPTFVUSU9OX09QVElPTlM6IFJlYWRvbmx5QXJyYXk8SW1hZ2VSZXNvbHV0aW9uT3B0aW9uPiA9IFtcbiAgT25lWFJlc29sdXRpb25PcHRpb24sXG4gIFR3b1hSZXNvbHV0aW9uT3B0aW9uXG5dO1xuXG5leHBvcnQgY29uc3QgRVhQT1JUX0RBVEFfVFlQRSA9IGtleU1pcnJvcih7XG4gIENTVjogbnVsbFxuICAvLyBTSEFQRUZJTEU6IG51bGwsXG4gIC8vIEpTT046IG51bGwsXG4gIC8vIEdFT0pTT046IG51bGwsXG4gIC8vIFRPUE9KU09OOiBudWxsXG59KTtcblxuZXhwb3J0IGNvbnN0IEVYUE9SVF9EQVRBX1RZUEVfT1BUSU9OUyA9IFtcbiAge1xuICAgIGlkOiBFWFBPUlRfREFUQV9UWVBFLkNTVixcbiAgICBsYWJlbDogRVhQT1JUX0RBVEFfVFlQRS5DU1YudG9Mb3dlckNhc2UoKSxcbiAgICBhdmFpbGFibGU6IHRydWVcbiAgfVxuICAvLyB7XG4gIC8vICAgaWQ6IEVYUE9SVF9EQVRBX1RZUEUuU0hBUEVGSUxFLFxuICAvLyAgIGxhYmVsOiAnc2hhcGVmaWxlJyxcbiAgLy8gICBhdmFpbGFibGU6IGZhbHNlXG4gIC8vIH0sXG4gIC8vIHtcbiAgLy8gICBpZDogRVhQT1JUX0RBVEFfVFlQRS5KU09OLFxuICAvLyAgIGxhYmVsOiAnanNvbicsXG4gIC8vICAgYXZhaWxhYmxlOiBmYWxzZVxuICAvLyB9LFxuICAvLyB7XG4gIC8vICAgaWQ6IEVYUE9SVF9EQVRBX1RZUEUuR0VPSlNPTixcbiAgLy8gICBsYWJlbDogJ2dlb2pzb24nLFxuICAvLyAgIGF2YWlsYWJsZTogZmFsc2VcbiAgLy8gfSxcbiAgLy8ge1xuICAvLyAgIGlkOiBFWFBPUlRfREFUQV9UWVBFLlRPUE9KU09OLFxuICAvLyAgIGxhYmVsOiAndG9wb2pzb24nLFxuICAvLyAgIGF2YWlsYWJsZTogZmFsc2VcbiAgLy8gfVxuXTtcblxuLy8gRXhwb3J0IG1hcCB0eXBlc1xuZXhwb3J0IGNvbnN0IEVYUE9SVF9NQVBfRk9STUFUUyA9IGtleU1pcnJvcih7XG4gIEhUTUw6IG51bGwsXG4gIEpTT046IG51bGxcbn0pO1xuXG5leHBvcnQgY29uc3QgRVhQT1JUX0hUTUxfTUFQX01PREVTID0ga2V5TWlycm9yKHtcbiAgUkVBRDogbnVsbCxcbiAgRURJVDogbnVsbFxufSk7XG5cbi8vIEV4cG9ydCBtYXAgb3B0aW9uc1xuZXhwb3J0IGNvbnN0IEVYUE9SVF9NQVBfRk9STUFUX09QVElPTlMgPSBPYmplY3QuZW50cmllcyhFWFBPUlRfTUFQX0ZPUk1BVFMpLm1hcChcbiAgKGVudHJ5OiBbc3RyaW5nLCBhbnldKSA9PiAoe1xuICAgIGlkOiBlbnRyeVswXSxcbiAgICBsYWJlbDogZW50cnlbMV0udG9Mb3dlckNhc2UoKSxcbiAgICBhdmFpbGFibGU6IHRydWVcbiAgfSlcbik7XG5cbmV4cG9ydCBjb25zdCBFWFBPUlRfSFRNTF9NQVBfTU9ERV9PUFRJT05TID0gT2JqZWN0LmVudHJpZXMoRVhQT1JUX0hUTUxfTUFQX01PREVTKS5tYXAoXG4gIChlbnRyeTogW3N0cmluZywgYW55XSkgPT4gKHtcbiAgICBpZDogZW50cnlbMF0sXG4gICAgbGFiZWw6IGBtb2RhbC5leHBvcnRNYXAuaHRtbC4ke2VudHJ5WzFdLnRvTG93ZXJDYXNlKCl9YCxcbiAgICBhdmFpbGFibGU6IHRydWUsXG4gICAgdXJsOiBnZXRIVE1MTWFwTW9kZVRpbGVVcmwoZW50cnlbMV0pXG4gIH0pXG4pO1xuXG5leHBvcnQgY29uc3QgREVGQVVMVF9VVUlEX0NPVU5UID0gNjtcblxuZXhwb3J0IGNvbnN0IERFRkFVTFRfTk9USUZJQ0FUSU9OX01FU1NBR0UgPSAnTUVTU0FHRV9OT1RfUFJPVklERUQnO1xuXG5leHBvcnQgY29uc3QgREVGQVVMVF9OT1RJRklDQVRJT05fVFlQRVMgPSBrZXlNaXJyb3Ioe1xuICBpbmZvOiBudWxsLFxuICBlcnJvcjogbnVsbCxcbiAgd2FybmluZzogbnVsbCxcbiAgc3VjY2VzczogbnVsbFxufSk7XG5cbmV4cG9ydCBjb25zdCBERUZBVUxUX05PVElGSUNBVElPTl9UT1BJQ1MgPSBrZXlNaXJyb3Ioe1xuICBnbG9iYWw6IG51bGwsXG4gIGZpbGU6IG51bGxcbn0pO1xuXG4vLyBNaW5pbXVtIHRpbWUgYmV0d2VlbiBpZGVudGljYWwgbm90aWZpY2F0aW9ucyBhYm91dCBkZWNrLmdsIGVycm9yc1xuZXhwb3J0IGNvbnN0IFRIUk9UVExFX05PVElGSUNBVElPTl9USU1FID0gMjUwMDtcblxuLy8gQW5pbWF0aW9uXG5leHBvcnQgY29uc3QgQkFTRV9TUEVFRCA9IDYwMDtcbmV4cG9ydCBjb25zdCBGUFMgPSA2MDtcblxuLyoqXG4gKiA0IEFuaW1hdGlvbiBXaW5kb3cgVHlwZXNcbiAqIDEuIGZyZWVcbiAqICB8LT4gIHwtPlxuICogQ3VycmVudCB0aW1lIGlzIGEgZml4ZWQgcmFuZ2UsIGFuaW1hdGlvbiBjb250cm9sbGVyIGNhbGxzIG5leHQgYW5pbWF0aW9uIGZyYW1lcyBjb250aW51b3VzbHkgdG8gYW5pbWF0aW9uIGEgbW92aW5nIHdpbmRvd1xuICogVGhlIGluY3JlbWVudCBpZCBiYXNlZCBvbiBkb21haW4gLyBCQVNFX1NQRUVEICogU1BFRURcbiAqXG4gKiAyLiBpbmNyZW1lbnRhbFxuICogfCAgICB8LT5cbiAqIFNhbWUgYXMgZnJlZSwgY3VycmVudCB0aW1lIGlzIGEgZ3Jvd2luZyByYW5nZSwgb25seSB0aGUgbWF4IHZhbHVlIG9mIHJhbmdlIGluY3JlbWVudCBkdXJpbmcgYW5pbWF0aW9uLlxuICogVGhlIGluY3JlbWVudCBpcyBhbHNvIGJhc2VkIG9uIGRvbWFpbiAvIEJBU0VfU1BFRUQgKiBTUEVFRFxuICpcbiAqIDMuIHBvaW50XG4gKiBvIC0+IG9cbiAqIEN1cnJlbnQgdGltZSBpcyBhIHBvaW50LCBhbmltYXRpb24gY29udHJvbGxlciBjYWxscyBuZXh0IGFuaW1hdGlvbiBmcmFtZSBjb250aW51b3VzbHkgdG8gYW5pbWF0aW9uIGEgbW92aW5nIHBvaW50XG4gKiBUaGUgaW5jcmVtZW50IGlzIGJhc2VkIG9uIGRvbWFpbiAvIEJBU0VfU1BFRUQgKiBTUEVFRFxuICpcbiAqIDQuIGludGVydmFsXG4gKiBvIH4+IG9cbiAqIEN1cnJlbnQgdGltZSBpcyBhIHBvaW50LiBBbiBhcnJheSBvZiBzb3J0ZWQgdGltZSBzdGVwcyBuZWVkIHRvIGJlIHByb3ZpZGVkLlxuICogYW5pbWF0aW9uIGNvbnRyb2xsZXIgY2FsbHMgbmV4dCBhbmltYXRpb24gYXQgYSBpbnRlcnZhbCB3aGVuIHRoZSBwb2ludCBqdW1wcyB0byB0aGUgbmV4dCBzdGVwXG4gKi9cbmV4cG9ydCBjb25zdCBBTklNQVRJT05fV0lORE9XID0ga2V5TWlycm9yKHtcbiAgZnJlZTogbnVsbCxcbiAgaW5jcmVtZW50YWw6IG51bGwsXG4gIHBvaW50OiBudWxsLFxuICBpbnRlcnZhbDogbnVsbFxufSk7XG5leHBvcnQgY29uc3QgREVGQVVMVF9USU1FX0ZPUk1BVCA9ICdNTS9ERC9ZWSBISDptbTpzc2EnO1xuZXhwb3J0IGNvbnN0IFNQRUVEX0NPTlRST0xfUkFOR0U6IFtudW1iZXIsIG51bWJlcl0gPSBbMCwgMTBdO1xuZXhwb3J0IGNvbnN0IFNQRUVEX0NPTlRST0xfU1RFUCA9IDAuMDAxO1xuXG4vLyBHZW9jb2RlclxuZXhwb3J0IGNvbnN0IEdFT0NPREVSX0RBVEFTRVRfTkFNRSA9ICdnZW9jb2Rlcl9kYXRhc2V0JztcbmV4cG9ydCBjb25zdCBHRU9DT0RFUl9MQVlFUl9JRCA9ICdnZW9jb2Rlcl9sYXllcic7XG5leHBvcnQgY29uc3QgR0VPQ09ERVJfR0VPX09GRlNFVCA9IDAuMDU7XG5leHBvcnQgY29uc3QgR0VPQ09ERVJfSUNPTl9DT0xPUjogW251bWJlciwgbnVtYmVyLCBudW1iZXJdID0gWzI1NSwgMCwgMF07XG5leHBvcnQgY29uc3QgR0VPQ09ERVJfSUNPTl9TSVpFID0gODA7XG5cbi8vIFdlIGNvdWxkIHVzZSBkaXJlY3RseSByZWFjdC1tYXAtZ2wtZHJhdyBFZGl0b3JNb2RlIGJ1dCB0aGlzIHdvdWxkXG4vLyBjcmVhdGUgYSBkaXJlY3QgZGVwZW5kZW5jeSB3aXRoIHJlYWN0LW1hcC1nbC1kcmF3XG4vLyBDcmVhdGVkIHRoaXMgbWFwIHRvIGJlIGluZGVwZW5kZW50IGZyb20gcmVhY3QtbWFwLWdsLWRyYXdcbmV4cG9ydCBjb25zdCBFRElUT1JfTU9ERVMgPSB7XG4gIFJFQURfT05MWTogRWRpdG9yTW9kZXMuUkVBRF9PTkxZLFxuICBEUkFXX1BPTFlHT046IEVkaXRvck1vZGVzLkRSQVdfUE9MWUdPTixcbiAgRFJBV19SRUNUQU5HTEU6IEVkaXRvck1vZGVzLkRSQVdfUkVDVEFOR0xFLFxuICBFRElUOiBFZGl0b3JNb2Rlcy5FRElUX1ZFUlRFWFxufTtcblxuZXhwb3J0IGNvbnN0IEVESVRPUl9BVkFJTEFCTEVfTEFZRVJTOiBzdHJpbmdbXSA9IFtcbiAgTEFZRVJfVFlQRVMucG9pbnQsXG4gIExBWUVSX1RZUEVTLmhleGFnb24sXG4gIExBWUVSX1RZUEVTLmFyYyxcbiAgTEFZRVJfVFlQRVMubGluZSxcbiAgTEFZRVJfVFlQRVMuaGV4YWdvbklkXG5dO1xuLy8gR1BVIEZpbHRlcmluZ1xuLyoqXG4gKiBNYXggbnVtYmVyIG9mIGZpbHRlciB2YWx1ZSBidWZmZXJzIHRoYXQgZGVjay5nbCBwcm92aWRlc1xuICovXG5leHBvcnQgY29uc3QgTUFYX0dQVV9GSUxURVJTID0gNDtcbmV4cG9ydCBjb25zdCBNQVBfVEhVTUJOQUlMX0RJTUVOU0lPTiA9IHtcbiAgd2lkdGg6IDMwMCxcbiAgaGVpZ2h0OiAyMDBcbn07XG5cbmV4cG9ydCBjb25zdCBNQVBfSU5GT19DSEFSQUNURVIgPSB7XG4gIHRpdGxlOiAxMDAsXG4gIGRlc2NyaXB0aW9uOiAxMDBcbn07XG5cbi8vIExvYWQgZGF0YVxuZXhwb3J0IGNvbnN0IExPQURJTkdfTUVUSE9EUyA9IGtleU1pcnJvcih7XG4gIHVwbG9hZDogbnVsbCxcbiAgc3RvcmFnZTogbnVsbFxufSk7XG5cbmV4cG9ydCBjb25zdCBEQVRBU0VUX0ZPUk1BVFMgPSBrZXlNaXJyb3Ioe1xuICByb3c6IG51bGwsXG4gIGdlb2pzb246IG51bGwsXG4gIGNzdjogbnVsbCxcbiAga2VwbGVyZ2w6IG51bGxcbn0pO1xuXG5leHBvcnQgY29uc3QgTUFQX0NPTlRST0xTID0ga2V5TWlycm9yKHtcbiAgdmlzaWJsZUxheWVyczogbnVsbCxcbiAgbWFwTGVnZW5kOiBudWxsLFxuICB0b2dnbGUzZDogbnVsbCxcbiAgc3BsaXRNYXA6IG51bGwsXG4gIG1hcERyYXc6IG51bGwsXG4gIG1hcExvY2FsZTogbnVsbFxufSk7XG5cbmV4cG9ydCBjb25zdCBNQVNLX0xBWUVSX0lEID0gJ21hc2tfbGF5ZXInO1xuXG5leHBvcnQgY29uc3QgWk9PTV9MRVZFTF9MSU1JVFMgPSB7XG4gIG1pbjogMCxcbiAgbWF4OiAyMVxufTtcbiJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7QUFvQkEsSUFBQUEsVUFBQSxHQUFBQyxzQkFBQSxDQUFBQyxPQUFBO0FBQ0EsSUFBQUMsZUFBQSxHQUFBRCxPQUFBO0FBR0EsSUFBQUUsUUFBQSxHQUFBRixPQUFBO0FBVUEsSUFBQUcsTUFBQSxHQUFBSCxPQUFBO0FBV0EsSUFBQUksTUFBQSxHQUFBSixPQUFBO0FBQ0EsSUFBQUssYUFBQSxHQUFBTCxPQUFBO0FBQ0EsSUFBQU0sUUFBQSxHQUFBTixPQUFBO0FBQ0EsSUFBQU8sTUFBQSxHQUFBUCxPQUFBO0FBQXlDLFNBQUFRLFFBQUFDLENBQUEsRUFBQUMsQ0FBQSxRQUFBQyxDQUFBLEdBQUFDLE1BQUEsQ0FBQUMsSUFB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QUFXLENBQUNHO0FBQ3BCLENBQUM7QUFFTSxJQUFNQyx1QkFBaUMsR0FBQWpSLE9BQUEsQ0FBQWlSLHVCQUFBLEdBQUcsQ0FDL0NDLGtCQUFXLENBQUMvTCxLQUFLLEVBQ2pCK0wsa0JBQVcsQ0FBQ0MsT0FBTyxFQUNuQkQsa0JBQVcsQ0FBQ0UsR0FBRyxFQUNmRixrQkFBVyxDQUFDRyxJQUFJLEVBQ2hCSCxrQkFBVyxDQUFDSSxTQUFTLENBQ3RCO0FBQ0Q7QUFDQTtBQUNBO0FBQ0E7QUFDTyxJQUFNQyxlQUFlLEdBQUF2UixPQUFBLENBQUF1UixlQUFBLEdBQUcsQ0FBQztBQUN6QixJQUFNQyx1QkFBdUIsR0FBQXhSLE9BQUEsQ0FBQXdSLHVCQUFBLEdBQUc7RUFDckNwUSxLQUFLLEVBQUUsR0FBRztFQUNWZ00sTUFBTSxFQUFFO0FBQ1YsQ0FBQztBQUVNLElBQU1xRSxrQkFBa0IsR0FBQXpSLE9BQUEsQ0FBQXlSLGtCQUFBLEdBQUc7RUFDaENDLEtBQUssRUFBRSxHQUFHO0VBQ1ZDLFdBQVcsRUFBRTtBQUNmLENBQUM7O0FBRUQ7QUFDTyxJQUFNQyxlQUFlLEdBQUE1UixPQUFBLENBQUE0UixlQUFBLEdBQUcsSUFBQTVQLHFCQUFTLEVBQUM7RUFDdkM2UCxNQUFNLEVBQUUsSUFBSTtFQUNaQyxPQUFPLEVBQUU7QUFDWCxDQUFDLENBQUM7QUFFSyxJQUFNQyxlQUFlLEdBQUEvUixPQUFBLENBQUErUixlQUFBLEdBQUcsSUFBQS9QLHFCQUFTLEVBQUM7RUFDdkNnUSxHQUFHLEVBQUUsSUFBSTtFQUNUbk8sT0FBTyxFQUFFLElBQUk7RUFDYm9PLEdBQUcsRUFBRSxJQUFJO0VBQ1RDLFFBQVEsRUFBRTtBQUNaLENBQUMsQ0FBQztBQUVLLElBQU1DLFlBQVksR0FBQW5TLE9BQUEsQ0FBQW1TLFlBQUEsR0FBRyxJQUFBblEscUJBQVMsRUFBQztFQUNwQ29RLGFBQWEsRUFBRSxJQUFJO0VBQ25CdlEsU0FBUyxFQUFFLElBQUk7RUFDZndRLFFBQVEsRUFBRSxJQUFJO0VBQ2RDLFFBQVEsRUFBRSxJQUFJO0VBQ2RDLE9BQU8sRUFBRSxJQUFJO0VBQ2JDLFNBQVMsRUFBRTtBQUNiLENBQUMsQ0FBQztBQUVLLElBQU1DLGFBQWEsR0FBQXpTLE9BQUEsQ0FBQXlTLGFBQUEsR0FBRyxZQUFZO0FBRWxDLElBQU1DLGlCQUFpQixHQUFBMVMsT0FBQSxDQUFBMFMsaUJBQUEsR0FBRztFQUMvQkMsR0FBRyxFQUFFLENBQUM7RUFDTkMsR0FBRyxFQUFFO0FBQ1AsQ0FBQyIsImlnbm9yZUxpc3QiOltdfQ==
|
package/package.json
CHANGED
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
"name": "@carto/kepler.gl",
|
|
3
3
|
"author": "CARTO",
|
|
4
4
|
"homepage": "https://github.com/CartoDB/carto-kepler#readme",
|
|
5
|
-
"version": "0.1.0
|
|
5
|
+
"version": "0.1.0",
|
|
6
6
|
"description": "kepler.gl is a webgl based application to visualize large scale location data in the browser",
|
|
7
7
|
"license": "MIT",
|
|
8
8
|
"type": "commonjs",
|